Commit Graph

3 Commits (main)

Author SHA1 Message Date
Amir Alexander Abdelbaki 0fcb9fb193 feat(niri): split config into modules and port hyprlua keybinds
Split monolithic config.kdl into modules/ (input, outputs, layout,
animations, environment, autostart, window-rules, binds), mirroring
the hyprlua modular structure.

Keybind additions and fixes:
- Port all missing hyprlua binds (Mod+0, mouse drag/resize, Mod+Ctrl+M,
  Mod+Shift+Return→overview, Mod+Shift+Alt group move aliases)
- Enforce modifier semantics: Shift=move window, Ctrl=workspace,
  Alt=resize across all directional keys
- Add Mod+Ctrl+J/K/Down/Up → focus-workspace-down/up
- Add Mod+Ctrl+Shift+J/K/Down/Up → move-column-to-workspace-down/up
- Fix Mod+Ctrl+K/Up (was toggle-overview, now focus-workspace-up)
- Fix Mod+Ctrl+Shift+Up (was move-to-recent, now move-to-workspace-up)
- Relocate toggle-overview to Mod+Ctrl+Space
- Remove Mod+Shift+Alt+* aliases (violated Alt=resize rule)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 10:25:19 +02:00
Amir Alexander Abdelbaki c8a476d2af fix(niri): correct window opacity rules and align theming to CyberQueer palette
- Replace invalid min-opacity with opacity in niri window rules; reorder
  global rule before per-app overrides so last-match-wins works correctly
- dunst: frame_color #aaaaaa → #5018DD, icon_theme → Papirus-Dark
- eww: bar and slider colors aligned to CyberQueer #D6ABAB text color

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 17:37:11 +02:00
Amir Alexander Abdelbaki 7a40e9baec feat(niri): add Niri as a full desktop environment option
Adds Niri (scrollable-tiling Wayland compositor) as a first-class DE
alongside HyprLua, Hyprland, and Sway.

Config (desktopenvs/niri/):
- niri/config.kdl: full KDL config — input (de/caps:swapescape/
  left-handed), CyberQueer focus-ring colours, spring animations,
  environment vars, autostart, window rules, 100+ keybindings
  translated from binds.lua
- Shared configs (kitty, dunst, wofi, btop, walker, vicinae, etc.)
  symlinked from hyprlua to stay in sync
- EWW bar: three variants (PC/notebook/touch) with niri-native workspace
  widget driven by a niri msg event-stream listener script
- greetd-tuigreet: launches niri instead of Hyprland

Scripts adapted for niri IPC / niri toolchain:
- ewwstart.sh / togglebar.sh: niri msg outputs instead of hyprctl
- monitorhandler.sh: swaybg replaces hyprpaper
- caffeine.sh: swayidle replaces hypridle
- activewindow: niri msg -j focused-window
- unified-rotate.sh: niri msg action set-output-transform
- wallpaper-picker: swaybg-based rewrite
- windowswitcher: niri msg -j windows + wofi
- workspace: event-stream listener for eww literal widget
- drawer.sh / menu.sh: swaylock + niri msg action quit for power actions
- niri-toggle-touchpad.sh: xinput fallback (no niri IPC for touchpad)
- toggle-layout.sh: stub (niri has one scrollable layout)

Installer & integration:
- setup/modules/Desktop-Environments/niri.sh: full installer with
  niri-appropriate packages (swaybg, swaylock, swayidle, xfce-polkit,
  gammastep, nwg-drawer, xdg-desktop-portal-gnome; no nwg-dock-hyprland
  as niri doesn't support wlr-foreign-toplevel-management)
- setup/tui-install.sh: niri added to DE selection dialog
- apply-theme.sh: niri/config.kdl added to USER_FILES for colour theming

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 16:38:47 +02:00