summaryrefslogtreecommitdiff
path: root/dotfiles
AgeCommit message (Collapse)Author
17 hoursfeat(ncmpcpp): bind x to toggle_consume, update calibre stateCraig Jennings
Replaced default crossfade binding with consume toggle. Calibre usage stats updated from normal use.
22 hourschore(calibre): add cover plugins, update configCraig Jennings
Add Apple Books and Kindle hi-res cover plugins. Update GUI state and metadata source config.
22 hoursfeat(archsetup): add loudgain-ffmpeg7, set mpd replaygain to autoCraig Jennings
Add loudgain-ffmpeg7 (AUR) for ReplayGain/EBU R128 scanning. Switch mpd replaygain from "track" to "auto" for album-aware playback.
24 hourschore(calibre): update config, add plugins and tag rulesCraig Jennings
Add Extract ISBN, Favourites Menu, Find Duplicates plugins. Update tag mapping rules, window geometries, and download timestamps.
24 hoursfix(aix): classify windows by project name instead of shell regexCraig Jennings
sort_windows now builds known project basenames from candidate dirs and treats everything else as non-project. Prevents TUI apps (mc, ranger, htop) from being misclassified as project windows.
27 hoursfix(pyprland): use correct config path, resize scratchpadsCraig Jennings
Pyprland 3.x reads ~/.config/pypr/config.toml, not ~/.config/hypr/pyprland.toml. Remove obsolete config, update scratchpad sizes to 50%x60% in the correct file.
28 hoursfeat(archsetup): add rbw Bitwarden CLI, update calibre configCraig Jennings
Add rbw (Rust Bitwarden CLI) to security section. Update calibre config state.
39 hoursfeat(aix): focus newly opened project window after sortCraig Jennings
Move select-window after sort_windows so the first new project gets focus via stable window ID. Also restructure todo.org into flat task list (V2MOM preserved in docs/v2mom.org).
2 daysfix(aix): respect tmux base-index for shell window placementCraig Jennings
Shell window was intermittently shifting to index 1 because sort_windows hardcoded index 0, which conflicts with base-index=1 and renumber-windows.
2 dayschore(dotfiles): add texlive-fontsextra, rebind screenshot keyCraig Jennings
Add texlive-fontsextra to archsetup for fontawesome5 resume icons. Change fullscreen screenshot from $mod+Print to Ctrl+$mod+S.
3 dayschore(calibre): update calibre config stateCraig Jennings
3 daysfix(hyprland): fix focus behavior for swaps and new windowsCraig Jennings
Enable cursor warping on focus change (no_warps=false) so swap-with-master moves cursor to master. Enable float_switch_override_focus so new tiled windows get focus when launched from floating scratchpads.
4 daysfix(waybar): reduce spacing between months in date tooltipCraig Jennings
4 daysfeat(waybar): add day abbreviation to world clock tooltipCraig Jennings
4 daysfeat(hyprland): enable numlock on startupCraig Jennings
4 daysfeat(hyprland): add pyprland config and toggle-scratchpad to stowCraig Jennings
Scratchpads set to 50% width (music at 60%). Adds toggle-scratchpad utility for waybar click handling.
4 daysfeat(dotfiles): add coderman and ucb-lambda images to stowCraig Jennings
5 daysfeat(waybar): split clock into date + world clock modulesCraig Jennings
Replace single clock module with custom/date (calendar tooltip) and custom/worldclock (multi-timezone tooltip from worldclock.conf). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5 daysfeat(aix): sort windows on every attach, add --attach flagCraig Jennings
Sort windows (shells at 0, projects alphabetically from 1) on every session access including --attach. Move --attach check after function definitions so sort_windows is available.
5 daysrefactor(aix): extract helper functions, remove duplicationCraig Jennings
Extract attach_session, create_window, read_selections, and build_candidates functions. Remove unused variable. Simplify new-session window ID capture.
5 daysfeat(aix): sort windows alphabetically, shells last, start from 1Craig Jennings
Windows are reordered after creation and when adding to an existing session. Shell windows (bash/zsh) sort to the end. Window numbering starts at 1. Focus lands on the first selected window.
5 daysfeat(aix): add windows to existing session, fix special char handlingCraig Jennings
Allow calling aix from within the ai tmux session to add new project windows. Already-open projects are filtered from the selection list. Use tmux window IDs instead of names to fix errors with dots in directory names (e.g. chime.el).
5 daysfeat(waybar): SVG workspace circles, improved arch logo, remove mod+0Craig Jennings
Replace per-workspace SVG mapping with hybrid approach: two circle SVGs (active gold, inactive dark) as background-image with text overlay for workspace numbers. Update arch-logo.svg with padded/crisp variant. Remove sysmonitor margin to fix bar height inflation. Remove mod+0 binding to restrict workspaces to 1-9. Sync dupre theme files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5 daysfeat(waybar): add menu module with Arch logo and circular workspace indicatorsCraig Jennings
Add custom/menu module at far left of bar with Arch logo SVG background. Left-click opens fuzzel, right-click opens wlogout. Workspace buttons now use pixel-sized circles (34x32px with border-radius: 50%) instead of pill shapes. Both dupre and hudson theme CSS files synced with new sizing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6 dayschore(dotfiles): update calibre viewer window geometry and recentsCraig Jennings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6 daysfeat(hyprland): add scratchpad refocus on window closeCraig Jennings
IPC listener detects closewindow events and refocuses the visible scratchpad (special workspace) instead of falling to a regular window.
6 daysfeat(dotfiles): manage calibre via directory symlink, add ncmpcpp bindingsCraig Jennings
Calibre does atomic writes that break individual stow symlinks. Exclude calibre from stow and use a directory symlink instead. Add ncmpcpp keybindings for space/pause, arrow seek, playlist add, visualization.
7 daysfeat(archsetup): add zoom, webcam tools, and BRIO udev ruleCraig Jennings
Add zoom (AUR), cameractrls, v4l-utils to archsetup. Add Logitech BRIO udev rule for auto-applying camera settings on connect. Adopt logitech-brio-settings.sh into dotfiles. Remove flatpak (no longer used). Update wallpaper config.
7 daysfeat(archsetup): add slack with Wayland/DWM conditionalCraig Jennings
Add slack-desktop-wayland for Hyprland, slack-desktop for DWM. Update Claude startup prompts, fix Hyprland portal/waybar startup order, add signal-desktop Wayland .desktop override.
8 daysfeat(common): add aix script for fzf-based Claude Code tmux launcherCraig Jennings
Provides flexible alternative to ai-assistants: multi-select project directories via fzf, then open each in a tmux window running Claude. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9 daysfeat(archsetup): add package-inventory script and reconcile packagesCraig Jennings
Add package-inventory script that compares archsetup-declared packages against the live system. Fix awk for-loop parser and dependency filtering. Add 10 missing packages to archsetup (hyprpaper, wev, socat, sshpass, flatpak, solaar, ttf-dejavu, atomicparsley, freetube, tidal-dl-ng). Fix pipx_install function name bug. Change Hyprland follow_mouse to 0 to fix swap focus issue.
9 daysfix(hyprland): fix new window focus with no_warps enabledCraig Jennings
follow_mouse=2 (loose), float_switch_override_focus=0, and mouse_refocus=false prevent focus snap-back when cursor:no_warps is true.
9 dayschore(todo): add monocle layout task and update qalculate historyCraig Jennings
9 daysfeat(hyprland): waybar scratchpad toggles, remove hy3, fix cursor warpCraig Jennings
Waybar modules now toggle pyprland scratchpads on click: sysmonitor group opens btop, netspeed opens nmtui, pulseaudio opens pulsemixer. Consolidated pyprland config to canonical ~/.config/pypr/config.toml. Removed hy3 plugin from all configs and scripts (disabled since crash). Added $mod+N for network scratchpad. Set cursor:no_warps to prevent cursor jumping to window center on focus change.
9 daysfeat(themes): apply hudson theme across configsCraig Jennings
Theme configs updated by set-theme: dunst, foot, fuzzel, hyprlock, waybar CSS.
11 dayschore(waypaper): update default wallpaperCraig Jennings
11 daysfeat(dotfiles): add GPG symmetric encryption scriptsCraig Jennings
encryptfile: encrypt file with AES256, prompt to delete original decryptfile: decrypt to clipboard (wl-copy for Wayland, xclip for X11)
13 dayschore(calibre): adopt current GUI stateCraig Jennings
Window dimensions and JSON key ordering from runtime
13 daysfix(hyprland): remove duplicate fuzzel keybindingCraig Jennings
$mod+P removed; fuzzel already bound elsewhere
13 daysfix(pyprland): move config to new standard locationCraig Jennings
~/.config/pypr/config.toml replaces ~/.config/hypr/pyprland.toml
14 daysfix(yt-dlp): enable remote components for YouTube JS challengesCraig Jennings
14 daysfeat(dotfiles): add resetmimetypes scriptCraig Jennings
Configures default applications for file types via xdg-mime.
14 daysfeat(dotfiles): add notify notification systemCraig Jennings
Script with type-specific icons and sounds for success, fail, alert, question, alarm, info, security, and bug notifications.
2026-02-01feat(hyprland): install plugins on first login via setup scriptCraig Jennings
hyprpm requires running Hyprland to determine version for plugin compilation. Move plugin installation from archsetup to a first-login script (hyprland-plugins-setup) that runs via exec-once. Script checks if plugins are already installed and skips if so. Update validation to check for setup script presence instead of enabled plugins.
2026-02-01fix(hyprland): remove set-theme from startup, sync theme filesCraig Jennings
set-theme was running on every Hyprland startup, overwriting stow symlinks with theme file contents. This caused config changes to revert on login. Removed exec-once call - theme switching is now manual only ($mod+Y). Synced waybar.css theme file to match current config (pulseaudio module, idle_inhibitor styling).
2026-02-01fix(hyprland): dismiss plugin notifications on startupCraig Jennings
Add hyprctl dismissnotify after hyprpm update to clear hardcoded plugin initialization messages. Also document set-theme and plugin notification issues in todo.org.
2026-02-01feat(foot): increase default font size to 14Craig Jennings
2026-02-01fix(dotfiles): prioritize user bin in PATH, add libvterm, remove hyprpaperCraig Jennings
- .profile: Move ~/.local/bin to start of PATH so user scripts take precedence - archsetup: Add libvterm for Emacs vterm package - archsetup: Remove unused hyprpaper (using swww instead)
2026-01-31feat(dotfiles): add alarm.ogg sound fileCraig Jennings
2026-01-31feat(calibre): add dupre color theme and toolbar layoutCraig Jennings