Press and hold, or double press, the WIN/CMD/META (⊞) key to activate the hub:
⊞ + |
|
---|---|
Space |
OPEN a new windowed application. |
Tab |
SWAP between windows (raising them to the top). |
hjkl / Scroll |
NAVIGATE between windows and tabs. |
Drag |
MOVE /resize/tab windows by dragging the left/right/top. |
,. / HScroll |
DESKTOP change. |
<> |
YANK window across desktops, moving with it. |
[] |
LIFT the entire desktop to a new position. |
Enter |
MAXIMIZE to fullscreen (toggle). |
; |
TILE or float the window (toggle). |
' |
SPLIT tiling: span-right/new-column/stack-normally. |
p |
PIN and hold the window above others. |
cv |
COPY and paste. |
Backspace |
CLOSE the selected window. |
Escape |
EXIT to the lock the screen. |
Mini Hint |
---|
⊞ + ⎵ OPEN ⇥hjkl⦺⇕✥ NAV ,.<>[]⦺⇔ DESK ⏎ ⛶ ;' ◫ p ⚲ cv ⎘ ⌫ ⛝ Esc ⏻ |
- Stack of windows distributed across 10 desktops and organised in layers.
- Window layering order:
- Pinned
- Hub (when active)
- Selected
- Hub
- Floating (default state)
- Tiled (and not fullscreen)
- Fullscreen
- Navigating through windows will respect the layering of the stack.
- Navigating horizontally will jump through tabs, and then the columns of tiled mode.
- One pixel borders except when fullscreen (secondary color, or primary if selected).
- Pinning clears tiled and fullscreen states and vice versa.
- Displays attach to desktops and can be moved across them.
- Desktops adjust their resolution to the smallest attached display, and scales for larger displays.
- Displays are arranged and rotated as if in a 3x3 grid.
- Fullscreen windows that are also pinned are drawn across all displays.
- Layout constrints:
- Windows smaller than their hinted minimum window size are scaled.
- There is a minimum windows size across all windows.
- Windows always stay within display boundaries (with configurable padding for curved edges and notches), even when moving.
- Moving windows may resize them to fit but will only permanently resize them at the end of the move operation.
- Windows may have their true position and size outside the display area, if the desktop size decreases, but those windows will still display within the desktop dimensions.
- Windows will be moved to other desktop when dragging, if the mouse travels to a new desktop.
- Launching always opens a new process with windows on the current session and desktop.
- Restarting or loging out does not restore windows.
- Hub sits on each display in the bottom left position.
- Hub contents:
- Launcher: >
- Indicator: 1:[1]234567890 (clicking opens help)
- Status Bar (User + Systems)
- Pressing any of the Desktop switching shortcuts will expand the hub to display thumbnails of the desktops with the selected desktop highlighted.
- Pressing any of the Window switching shortcuts will display wireframes of all windows in the stack.
- Tech stach:
- Zig
- Linux: Wayland
- Tiling:
- Windows stack vertically into columns.
- Windows can split the layout in span or column modes.
- Span makes windows extend to the right, shortening all subsequent columns.
- Column make windows act as column headers for new columns.
- Windows can be moved and resized, with tiling sizes adjusting to window sizes.
- Arranging:
- Move by dragging left side of windows when Hub activated.
- Resize by dragging right side of windows when Hub activated.
- Window auto arranges to new size but doesn't rearrange other windows until release.
- Resizing to the very right activates spanning.
- Moving to the very top activates column header.
- Moving column header to the very bottom collapses the column.
- Tabs:
- Tab by dragging to the top (100th of screen height) of another window.
- Untab by dragging from the tab line.
- 3 sessions, each with their own independent stack of windows and desktops.
- Capslock is remapped to Click.
- Default colors:
- Primary: #defaff
- Secondary: #210a500
- Focus follows mouse mode:
- Can be activated in the configs.
- Mouse position decides which window recieves input events, which may not be the selected window.
[Launcher]
# Curved monitor offset
button=" >"
[Controls]
hub_keys="Ctrl+Alt"
launch="f"
- Taken as a list of executables from inside:
~/.config/defaff/desktop/statusbar/
and/etc/config/defaff/desktop/statusbar/
- They are sorted by name, and then each is launched, and each time a new line is output, it is updated in the status bar.
- Each one is separated by a blank space.
-
Respects keyword search flavor of: https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html (see: https://wiki.archlinux.org/title/Desktop_entries).
-
Search based (all case insensitive, keywords include command etc):
- Start
typing
keywords or the command. - Matches shown above in order:
- Name that matches last word exactly.
- Weightings of:
- Name that begins with the last word +10.
- Keyword matches +10.
- Keyword beginning with word +1.
- Fuzzy word association +1 (may not be implemented).
- Start
-
Options are shown with - (Categories).
-
First match is selected by default.
-
[Up/down arrows]
change selection, andtyping
resets. -
[Enter]
launches selection. -
Integrate file browser for docs??? hmn :/
- The lock screen displays controls to:
- Log back in.
- Select a different Session (still requires unlocking).
- Shut Down.
- Disconnect.
- Restart.
Shutting Down MAY give applications a short chance to cache unsaved data, but MUST NOT abort the shut down process with requests for focus or user input.