Restores the screenrotate centre widget (OSK, prev/next workspace,
rotate CW/CCW, close) that was lost to an external edit, and re-applies
all session changes on top:
- Circular (round) class on OSK, drawer, and all five screenrotate buttons
- Close button uses hyprctl dispatch killactive
- Workspace buttons use focusleft/focusright scripts
- winsworks hexpand + metric/scale hexpand for responsive volume slider
- Clock widget split into icon label + time label with a space between
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Switch font to 16pt with proportionally scaled padding/margins
- Full pill border-radius (999px) on all widgets
- Circular buttons (50%) for OSK, drawer, close, workspace, screen rotation
- Volume slider expands to fill available bar width (hexpand)
- Workspace buttons use focusleft.sh / focusright.sh scripts
- Add space between clock icon and time
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- docs/md/niri.md: full reference for the Niri DE — overview table,
config file map, Niri vs Hyprland comparison, complete keybindings
reference, EWW bar, wallpaper/lock/idle, screen rotation, installer
instructions
- docs/md/index.md: updated tagline (Hyprland → Wayland), added Niri
to the doc index table, updated repo layout tree
- docs/md/installation.md: Niri added to DE list; answerfile example
updated to hyprlua
- docs/md/modules.md: hyprlua and niri added to DE table with links;
hyprlua marked as recommended
- docs/md/hyprland.md: cross-reference to Niri docs added
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
One-by-one pacman/AUR/flatpak updater with a dialog-based package
selector, Arch RSS news matching per package, optional --AI mode that
sends news to Claude and generates a timestamped /updatescript-<ts>.sh,
and kernel-based baseline detection when /updatestate doesn't exist yet.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move hl.device blocks from input.lua into input-device-exceptions.lua
and add mk-device-exception.sh — a dialog-based TUI that pre-populates
fields from any existing block in the target file and replaces or
appends it on save.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expand mk-device-block.sh to list mice alongside keyboards and emit the
pointer-appropriate config block. Add device blocks for the Logitech
Pro 2 and G903 mice in input.lua.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
hl.dsp.*() inside a function callback only constructs a Dispatcher
object — hl.dispatch() is required to actually execute it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
wallpaper-picker now calls write_hyprlock_state() on apply, writing
per-monitor background blocks to ~/.config/hypr/hyprlock-backgrounds.conf.
hyprlock.conf sources that file instead of a hardcoded background block,
with a committed default for first-boot.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds w3m to the install list and appends the text/html mailcap entry
so alot renders HTML emails as plain text via w3m -dump.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The glob path = .../calendars/* was not expanded by khal, so no events
were visible. Now caldav-sync.sh and ics-to-calendarim both generate
explicit [[name]]/path entries per calendar and regenerate the config
on every sync so newly discovered calendars are picked up automatically.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
calendar.vim hangs on Google token errors; khal interactive reads the
same vdirsyncer ICS files directly and provides a working calendar+event TUI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sets g:calendar_google_calendar so calendar.vim attempts to load events,
falling back to the cache populated by ics-to-calendarim.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Runs vdirsyncer sync + ics-to-calendarim in a detached background job
on VimEnter so the calendar.vim cache stays fresh without blocking startup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Installs vdirsyncer + khal, writes vdirsyncer/khal configs, creates
ics-to-calendarim converter to populate calendar.vim local JSON cache,
and sets up a systemd user timer for 15-minute periodic sync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Right column was derived as W - left_w, making it too narrow on smaller
terminals. Now right_w = max(80, 45% of W) and left_w takes the rest.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- BufEnter term://* auto-calls startinsert so alot/abook receive keys
immediately without needing to press i/a first (skips floaterm)
- <C-hjkl> in terminal-insert mode exits to normal then moves window,
matching the existing normal-mode nav mappings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
esc closes the search buffer (exits alot only if it is the last buffer).
/ opens a prompt pre-filled with the current query for regex refinement.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
In the inbox/search view, exit has nowhere to go back to so it quit
alot entirely. Esc is now only bound in thread/taglist/bufferlist where
it navigates back without closing the application.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- x now opens a full-screen overlay: alot left (55%), abook top-right,
calendar bottom-right
- Add esc = exit bindings to alot config for search/thread/taglist/
bufferlist modes, applied to live ~/.config/alot/config and to the
mail-notmuch.sh setup script
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add winhighlight=Normal:Normal to all floats so they inherit the
colorscheme background instead of showing NormalFloat (black)
- Pin abook to min 24 lines; mail/calendar split the remaining height
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
calendar.vim defaults to tabnew, which escaped the floating window.
-position=here makes it edit into the current buffer instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
r now opens three stacked floating windows in a left column (the bar
of the sideward T), leaving the document visible to the right (stem).
Order top→bottom: alot 40%, calendar 30%, abook remainder.
Column is min(90, 45% of screen) cols wide. All sizes are clamped to
≥1 to prevent nvim_open_win errors on small terminals.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace tab/vsplit PIM approach with nvim_open_win floating windows:
r opens a tiled full-screen overlay (alot top, calendar+abook bottom)
n/g/f open individual centered floats with rounded border
- Add setup/modules/optional-Modules/apps/mail-notmuch.sh:
configures mbsync, msmtp, notmuch, alot from interactive prompts
installs a systemd user timer for 5-min periodic mail sync
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>