Skip to content

GUI Editor

Nakanomk edited this page Aug 9, 2026 · 4 revisions

GUI Editor

Language: English · 简体中文

seekey --config-gui opens Seekey's built-in searchable configuration menu. It is implemented inside Seekey; fuzzel is not a runtime dependency.

Live overlay preview

When the real input overlay is not running, opening the GUI starts a sample overlay that renders representative shortcut, typing, and arrow bubbles with the current in-memory settings. It restarts when an unsaved setting changes. If the real overlay is already running, it remains visible and the sample is suppressed, so the menu never creates a second key-rendering frame. Stopping the real overlay from the menu starts the sample; starting the real overlay removes the sample first.

The sample reads a private temporary ini file, does not open evdev, does not save edits, and does not alter the remembered monitor. Closing the menu stops it and removes the temporary file. Only one editor preview can exist per user.

Appearance

The menu follows fuzzel's prompt, counter, selection, fixed-row layout, and spacing. Seekey uses Fuzzel's normal lookup order: the user fuzzel/fuzzel.ini first, then $XDG_CONFIG_DIRS. It reads these keys:

  • font, lines, width, horizontal-pad, vertical-pad, inner-pad
  • [border] width, radius, selection-radius
  • the standard [colors] entries

Fuzzel include= directives using absolute or ~/ paths are loaded recursively. Parent-file values override included values; cycles and nesting beyond 16 levels are ignored.

Missing or malformed fuzzel configuration is ignored and built-in fuzzel defaults are used. Unsafe dimensions are bounded, so an accidental huge value cannot create an unmanageably large window. Matugen-generated colors work when they have already been written into fuzzel.ini.

Controls

  • Type to filter the current list.
  • Up / Down or Ctrl+P / Ctrl+N changes the selection.
  • Enter opens or applies the selected item.
  • Esc goes back; at the root it closes the menu.
  • When the overlay is stopped, Start key overlay saves pending changes and launches Seekey. While it is running, this action changes to Stop key overlay and closes the active overlay without terminating it manually.
  • Use Matugen colors applies the wallpaper palette when Seekey can load a valid colors.json; otherwise the row shows the missing-file status and is disabled.

When no config file was selected, Save configuration writes <cwd>/seekey.ini, matching plain Seekey and the TUI. Desktop launches pass --xdg, so their menu continues to save $XDG_CONFIG_HOME/seekey/config.ini.

When the editor was opened with --matugen <path>, the same path is used by the live preview and by Start key overlay.

The font picker starts with System default, then lists installed Pango font families. font-family=inherit preserves the desktop GTK font; other values control the key bubbles; the menu itself continues to follow the fuzzel font.

Desktop entry

Installation adds dev.seekey.desktop. Its main action runs:

seekey --xdg --desktop-launch

On the first desktop launch, Seekey asks whether later desktop launches should open this menu or start the overlay directly. The choice is stored in $XDG_STATE_HOME/seekey/window.ini. It can be changed under Desktop launcher in the GUI. seekey --config-gui always opens the menu regardless of that preference.

The desktop entry also exposes explicit Open settings and Start key overlay actions.

Desktop compatibility

On niri, Hyprland, Sway, river, Wayfire, and labwc, the menu uses wlr-layer-shell and requests exclusive keyboard input while open. On GNOME, KDE Plasma, or systems without gtk4-layer-shell, it falls back to a centered, undecorated regular GTK window.

Clone this wiki locally