Skip to content

History / The Desktop

Revisions

  • Document synfiles — it has been the default file manager and was in neither the wiki nor the README The gap the Antiquity credit left behind, again: synfiles replaced Dolphin as what a folder opens in, ships on the ISO and is in syn-update's components — and appeared on **no page a user reads**. The only mention of a file manager anywhere in this wiki was a Dolphin context-menu action and a Dolphin Troubleshooting entry. New **Files** page: the window (tabs, split view, the three view modes, thumbnails, tree, drag-and-drop), the keyboard, the trash and undo rules, properties including the new resolution row, service menus, places, volumes, archives, search, settings with their real defaults, `--rec` for scripts, and how to get Dolphin back. - _Sidebar and Home: Files listed under "Using it", beside Software. - Commands: a `synfiles` row; `synui-wine-run` is a right-click action in both file managers, not "a Dolphin context-menu action". - The Desktop: a short section pointing at the page, and what a desktop drop does. - Troubleshooting: which application opens a folder is decided by mimeapps.list and how to change it (including a folder opening in a terminal, which is the same mechanism with no entry set); the Dolphin "Open With" entry now says Files does not use that index; and no resolution for .mkv/.webm/.avi means ffmpeg is not installed. - Development Notes, two entries, both generalisable: - two renderings of one row are two places to forget — drag-and-drop and then rename were each wired into the list delegate only, and a control whose state is set but not drawn reads as a dead button; plus the reverse-paint-order rule for a row-wide MouseArea, and how to drive a quickshell app with no display (and why the probe must be run against the shipped file too). - a bounds check turns a wrong answer into no answer, which is how you find it — validate the parsed value, expect short reads, and decide a format by magic rather than by its extension. Both link checkers pass.

    @velle999 velle999 committed Aug 12, 2026
  • Screen recording, syn resolve, and credit for the Antiquity shell The Antiquity bar has shipped since 0.2.7 and was documented in neither the README nor here, which also meant diinki was uncredited in anything a user reads. The Desktop now covers both shells, `bar_shell`, and the fact that Antiquity is her work under MIT, with the Indian Type Foundry credit clause the bundled faces carry. Recording gained a constant frame rate and a `--edit` mezzanine mode, and `syn resolve` was never listed at all: - Commands: `syn resolve`, and what synui-record now does. - Troubleshooting: three symptom-first entries. The important one is that a recording refusing to open in DaVinci Resolve is not a broken file and not a missing codec — the free edition on Linux decodes neither H.264 nor AAC, so no package fixes it and `syn resolve transcode` is the answer. - Development Notes: two lessons. A container's "frame rate" may be its timebase, which is one field causing three unrelated-looking symptoms; and a validated argument is not a dispatched one, where a build script accepted a component name, built nothing and exited 0. - Building and Packaging: that is a fifth instance of the two-collectors drift, recorded next to the other four. Page links and cross-page anchors checked; nothing here names a machine.

    @velle999 velle999 committed Aug 8, 2026
  • Split synui into the user page and the contributor notes; niri in the layouts synui.md was three audiences stacked on one page: a feature list, ~85 lines of compositor internals, and a config section that mixed "how you configure this" with "change one, change all three". 217 lines down to 160, and the split is by reader rather than by topic. - Header said "Tiling + monocle layouts". There are five. It now names them and points at The-Desktop for what each does. - Features regrouped under Shell / Look / Hardware / AI and security so it can be skimmed, with a what-you-want table at the top. - Every pkgrel reference dropped (154, 163, 183, 192, 197). "Replaced waybar in pkgrel 154" is release history; a reader wants to know the bar is quickshell. - "Hard-won rules for working on synui" moved to Development Notes as "Compositor traps", which is where the cross-cutting ones already lived and where that page already pointed for them. - "Reset signal dispositions" was NOT moved: Development Notes already has "Inherited signal dispositions", same three burns, better written. It was a duplicate, so the page now cross-references instead. - "Session env vars live in three places" went with it — a contributor trap sitting in a user-facing config section. - The state-file rule got the practical form it was missing: if editing synuirc appears to do nothing, a panel has already written that setting. The-Desktop's layout TABLE still had four rows — the prose above it was fixed last time and the table was not, which is the half that gets read. niri now has a row and a section of its own: the strip, the two column moves, and why a column that does not fit is not drawn at all rather than cut off at the edge. Also corrects the geometry note. It said tiling and AI ignore remembered per-app geometry; layout_restore_geometry() gates on tiling, niri AND ai, so three layouts ignore it, not two. Page and anchor links checked.

    @velle999 velle999 committed Aug 7, 2026
  • Add a Nix page; document the niri keys and the shortcut palette Nix.md covers both halves of the optional Nix layer, and says up front which is which because they share a language and nothing else: - Nix + Home Manager beside pacman, for a declarative USER environment. Leads with what it is NOT: this is not NixOS, pacman still owns the system, and "declare the whole machine and rebuild it" is a different product. - facts.nix as the bridge — what the machine actually is, probed rather than remembered, so one home.nix reacts to the box instead of being edited per box. - Install profiles: syn-install --config, in Nix or key=value. Semantic keys rather than menu numbers, unused keys reported by name, and the destructive confirmations spelled out one at a time. The two traps get their own headings because both fail silently: managing synuirc from home.nix makes the control panel revert instead of save (Home Manager's files are read-only store symlinks; synui writes that file live), and /etc/synapseos/nix must not be a git repo (flakes copy only tracked files, so a fresh facts.nix evaluates as missing). Keybindings was missing four real binds — Super+/ (and Super+?), the palette that lists everything else, and Super+, / Super+. , the two column moves that are the whole point of the niri layout. Found by running synui's new tests/readme_binds.sh against this page instead of the README; it now passes against both. The-Desktop said four layouts and named four: niri is the fifth in the Super+Tab cycle. It also said the layout "is not remembered across a restart", which layout_state_save() and tests/layout_persist.sh have both contradicted for a while — it is per desktop and it persists. Page and anchor links checked.

    @velle999 velle999 committed Aug 7, 2026
  • The Layout row is in the control panel too Super+C - Desktop - Layout, added in synui 231: reads the current layout and its desktop, Enter cycles it the same as Super+Tab. Worth naming in the Layouts section because the key is the harder way in if you have not already memorised it, and the control panel is meant to be the front door.

    @velle999 velle999 committed Jul 31, 2026
  • Document the four layouts and what monocle does Super+Tab had one wiki row (Cycle layout) and nothing anywhere explained the four layouts it cycles, so the most-pressed layout key on the system was also the least documented one. The-Desktop gains a Layouts section: the cycle order, that layout is per-desktop and resets at login, a table of the four, the floating/ maximize/snap trap that leaves a tiling desktop with nothing to tile, and a Monocle subsection - one window per monitor, change it with the normal focus keys, floating windows exempt (so Super+F is how you get two things on screen), not fullscreen, remembers per-app geometry. Keybindings: the Super+Tab row now names the cycle and says plainly that it does not switch windows, which is what it reads as next to Alt+Tab two rows above; adds the missing Super+Shift+T retile row. Development-Notes: two pieces of state that must agree, updated from only one side - the monocle visibility bug, why a bug that any later action masks reads as imagined, and deriving at the choke point rather than in each caller.

    @velle999 velle999 committed Jul 31, 2026
  • Document wallpapers end to end, plus the mixer New Wallpapers page: the Super+W picker and its keys, per-monitor scoping and scaling modes, the wallpaper.state-over-synuirc rule, and the whole Wallpaper Engine path — how to get the package, every synui-wpengine command, the files and env vars, what renders and what doesn't, and why synui has to restart the engine after a suspend. Also: the bar's new mixer, wallpaper symptoms in Troubleshooting, the two generalisable lessons in Development Notes (a running process is not a working one; an flock belongs to the open file description), and Home's stale 0.1.x status line.

    @velle999 velle999 committed Jul 27, 2026
  • Make Troubleshooting a user's page; move the engineering history out Troubleshooting had become a development changelog — bugs *we* hit, told as history, with commit hashes and the internal test rigs used to find them. That is not what someone reaches for when their machine is misbehaving, and a lot of it described one particular machine rather than the system. Troubleshooting is now symptom-first and about the reader's computer: no sound from event sounds, an installed cursor theme that won't appear, a giant pointer in one app, the bar gone, a widget eating clicks, games on the wrong monitor, black screen after suspend, being locked out with no VT, pacman 404s, a module that won't load after a kernel upgrade, the AI not answering, Secure Boot enrollment, a LUKS header you didn't back up. Each entry says what to run. The engineering material moves to a new Development-Notes page, which keeps the generalisable rules — a commit is not an install, dkms status is not a health check, /etc units shadow /usr/lib ones, signal dispositions survive exec, tightening a check must handle the values already sitting on the wrong side — without the narrative or the machine it happened on. Also removed personal and machine-specific detail from the pages added in ae733c0: a named USB volume knob, downloaded archive names, which apps had which shadow, screen widths, monitor names, and the private-desktop state that prompted the sound-theme fix. The rules they illustrate all still stand on their own, stated generally. The one home path in Building-and-Packaging is now $HOME. Fixed two dead anchors that predate this batch (synui#game-mode and synui#task-manager pointed at bold text, not headings) and verified every internal link and cross-page anchor resolves.

    @velle999 velle999 committed Jul 26, 2026
  • Document the desktop: sounds, cursors, widgets, the bar and window effects The wiki was last touched at 0.1.8; everything since — the quickshell bar replacing waybar, the cursor and sound managers, desktop widgets and icons, the wlroots 0.20 / scenefx 0.5 port and the glass work — was undocumented. Four new pages: Sound-Themes synui-sound end to end: the ten events and where each is hooked, installing themes from an archive or a plain folder of .oga files, per-event sample picking, and why several spec names resolve to something else. Carries the ghost theme (/usr/share/sounds/alsa silenced a desktop whose switches all said "on") and the `volume` key collision. Cursor-Themes synui-cursor end to end, built around the thing that actually costs people time: opendesktop ships ready-to-use themes and source trees that look identical from outside. Plus the untrusted-archive handling, and the five places a cursor theme has to be written or the desktop disagrees. The-Desktop the bar (and why waybar went), widgets, desktop icons, themes, per-app geometry. Window-Effects the full synuirc knob reference with defaults and ranges, how to tell whose shadow you are looking at, the 50% shadow ceiling shadow_spread lifts, and the seam rule that made the glass halo square on top. Both installers are documented as installers of untrusted archives, because that is what they are: paths re-resolved against the extraction root, and `build` kept CLI-only since it runs the archive's own makefile as you. Keybindings was materially wrong — Super+T has been the theme manager since the task manager lost its second bind, and Alt+Tab, Super+S, Super+Shift+A, Super+Shift+P, Super+V, Super+R, Super+I and the bare media keys were all missing. Regenerated against the bind table in config.c, with the note that a duplicate combo is not a conflict anyone sees, it is the older feature silently going dead. Troubleshooting gains eight entries, all the same shape as the rest of that page: a commit and a pkgrel bump that ship nothing, the ghost sound theme, a nested synui that re-themes the live desktop, quickshell's missing UseQApplication (whose error goes to tty1, not the journal), Nerd Font glyphs silently becoming the empty string, systemd's non-existent inline comments, and `pkill -f` killing the shell that ran it. Also corrected: wlroots 0.19 -> 0.20 and the scenefx fork in Architecture and Building; the collector drift that went four-for-four and is now deduped via <pkg>/mktarball.sh; LUKS2 and dual-boot in Installation, including why /boot stays outside the encrypted root; and the 0.1.5-0.1.9 release history, with the post-0.1.9 work marked unreleased.

    @velle999 velle999 committed Jul 26, 2026