mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-28 07:35:27 -04:00
Improve edge-docked window behavior (#2779)
* Make edge-docked windows resizable
Add draggable resize seams for left and right docked windows.
Keep the main chat area from getting too narrow and remember each window's dock width.
* Show emoji shortcodes as icons by default
Keep text-only emoji mode opt-in so model output like 😊 goes through the normal emoji renderer.
* Fix dock resize seams and left dock layout
Hide the resize seam when another floating modal is open, and keep the left-docked window from covering the chat area.
* Keep narrow modal tabs usable
* Fix split layout with both edge docks
* Fix left snap after right dock
* Enable left edge snap for all windows
* Tighten dock resize handle observers
* Use edge docking for settings window
This commit is contained in:
+4
-6
@@ -2497,7 +2497,7 @@ function initializeEventListeners() {
|
||||
};
|
||||
|
||||
// Keys hidden by default on first run (no localStorage yet)
|
||||
const UI_VIS_DEFAULT_OFF = new Set(['models-section', 'rag-toggle-btn']);
|
||||
const UI_VIS_DEFAULT_OFF = new Set(['models-section', 'rag-toggle-btn', 'text-emojis']);
|
||||
|
||||
// Keys that need admin to toggle off (reserved for future use)
|
||||
const UI_VIS_ADMIN_ONLY = new Set([]);
|
||||
@@ -2525,11 +2525,9 @@ function initializeEventListeners() {
|
||||
document.querySelectorAll('.section[draggable]').forEach(el => {
|
||||
el.setAttribute('draggable', dragEnabled ? 'true' : 'false');
|
||||
});
|
||||
// Text-only emojis toggle. Default is ON (the checkbox defaults to
|
||||
// checked because text-emojis isn't in UI_VIS_DEFAULT_OFF), so treat
|
||||
// an absent value as enabled — otherwise the toggle looked on at
|
||||
// startup but the effect only activated after the user flipped it.
|
||||
applyTextEmojis(state['text-emojis'] !== false);
|
||||
// Text-only emojis toggle. Default is OFF so model-emitted shortcodes
|
||||
// like `:blush:` render through the normal monochrome emoji path.
|
||||
applyTextEmojis(state['text-emojis'] === true);
|
||||
// Hide thinking sections toggle (show-thinking: checked=show, unchecked=hide)
|
||||
document.body.classList.toggle('hide-thinking', state['show-thinking'] === false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user