aboutsummaryrefslogtreecommitdiff
path: root/dotfiles
Commit message (Collapse)AuthorAgeFilesLines
* feat(hyprland): add Civ V fullscreen windowruleCraig Jennings2026-02-151-0/+3
| | | | | Force Civ5XP into real Hyprland fullscreen so waybar is hidden per-workspace instead of requiring manual toggle.
* feat(hyprland): resize term scratchpads, rename term2 to ai-termCraig Jennings2026-02-144-17/+13
| | | | | Term scratchpads now 50x70%, renamed term2 to ai-term with updated app-id. Updated calibre window state.
* feat(ncmpcpp): bind x to toggle_consume, update calibre stateCraig Jennings2026-02-142-3/+3
| | | | | Replaced default crossfade binding with consume toggle. Calibre usage stats updated from normal use.
* chore(calibre): add cover plugins, update configCraig Jennings2026-02-145-38/+206
| | | | | Add Apple Books and Kindle hi-res cover plugins. Update GUI state and metadata source config.
* feat(archsetup): add loudgain-ffmpeg7, set mpd replaygain to autoCraig Jennings2026-02-141-1/+1
| | | | | Add loudgain-ffmpeg7 (AUR) for ReplayGain/EBU R128 scanning. Switch mpd replaygain from "track" to "auto" for album-aware playback.
* chore(calibre): update config, add plugins and tag rulesCraig Jennings2026-02-1414-59/+514
| | | | | Add Extract ISBN, Favourites Menu, Find Duplicates plugins. Update tag mapping rules, window geometries, and download timestamps.
* fix(aix): classify windows by project name instead of shell regexCraig Jennings2026-02-141-8/+28
| | | | | | 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.
* fix(pyprland): use correct config path, resize scratchpadsCraig Jennings2026-02-142-65/+10
| | | | | | 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.
* feat(archsetup): add rbw Bitwarden CLI, update calibre configCraig Jennings2026-02-142-9/+1
| | | | | Add rbw (Rust Bitwarden CLI) to security section. Update calibre config state.
* feat(aix): focus newly opened project window after sortCraig Jennings2026-02-141-4/+2
| | | | | | 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).
* fix(aix): respect tmux base-index for shell window placementCraig Jennings2026-02-131-7/+8
| | | | | Shell window was intermittently shifting to index 1 because sort_windows hardcoded index 0, which conflicts with base-index=1 and renumber-windows.
* chore(dotfiles): add texlive-fontsextra, rebind screenshot keyCraig Jennings2026-02-133-1/+16
| | | | | Add texlive-fontsextra to archsetup for fontawesome5 resume icons. Change fullscreen screenshot from $mod+Print to Ctrl+$mod+S.
* chore(calibre): update calibre config stateCraig Jennings2026-02-124-13/+177
|
* fix(hyprland): fix focus behavior for swaps and new windowsCraig Jennings2026-02-121-2/+2
| | | | | | 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.
* fix(waybar): reduce spacing between months in date tooltipCraig Jennings2026-02-111-3/+3
|
* feat(waybar): add day abbreviation to world clock tooltipCraig Jennings2026-02-111-1/+1
|
* feat(hyprland): enable numlock on startupCraig Jennings2026-02-111-0/+1
|
* feat(hyprland): add pyprland config and toggle-scratchpad to stowCraig Jennings2026-02-112-0/+95
| | | | | Scratchpads set to 50% width (music at 60%). Adds toggle-scratchpad utility for waybar click handling.
* feat(dotfiles): add coderman and ucb-lambda images to stowCraig Jennings2026-02-112-0/+0
|
* feat(waybar): split clock into date + world clock modulesCraig Jennings2026-02-105-10/+98
| | | | | | | 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>
* feat(aix): sort windows on every attach, add --attach flagCraig Jennings2026-02-101-11/+12
| | | | | | 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.
* refactor(aix): extract helper functions, remove duplicationCraig Jennings2026-02-101-35/+62
| | | | | | Extract attach_session, create_window, read_selections, and build_candidates functions. Remove unused variable. Simplify new-session window ID capture.
* feat(aix): sort windows alphabetically, shells last, start from 1Craig Jennings2026-02-101-2/+27
| | | | | | 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.
* feat(aix): add windows to existing session, fix special char handlingCraig Jennings2026-02-101-33/+76
| | | | | | | 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).
* feat(waybar): SVG workspace circles, improved arch logo, remove mod+0Craig Jennings2026-02-1011-93/+86
| | | | | | | | | | 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>
* feat(waybar): add menu module with Arch logo and circular workspace indicatorsCraig Jennings2026-02-106-15/+73
| | | | | | | | | 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>
* chore(dotfiles): update calibre viewer window geometry and recentsCraig Jennings2026-02-092-41/+92
| | | | Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(hyprland): add scratchpad refocus on window closeCraig Jennings2026-02-092-0/+25
| | | | | IPC listener detects closewindow events and refocuses the visible scratchpad (special workspace) instead of falling to a regular window.
* feat(dotfiles): manage calibre via directory symlink, add ncmpcpp bindingsCraig Jennings2026-02-097-8/+257
| | | | | | 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.
* feat(archsetup): add zoom, webcam tools, and BRIO udev ruleCraig Jennings2026-02-092-1/+32
| | | | | | | 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.
* feat(archsetup): add slack with Wayland/DWM conditionalCraig Jennings2026-02-088-16/+53
| | | | | | 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.
* feat(common): add aix script for fzf-based Claude Code tmux launcherCraig Jennings2026-02-071-0/+74
| | | | | | | 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>
* feat(archsetup): add package-inventory script and reconcile packagesCraig Jennings2026-02-071-1/+1
| | | | | | | | | 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.
* fix(hyprland): fix new window focus with no_warps enabledCraig Jennings2026-02-061-1/+3
| | | | | | follow_mouse=2 (loose), float_switch_override_focus=0, and mouse_refocus=false prevent focus snap-back when cursor:no_warps is true.
* chore(todo): add monocle layout task and update qalculate historyCraig Jennings2026-02-061-0/+5
|
* feat(hyprland): waybar scratchpad toggles, remove hy3, fix cursor warpCraig Jennings2026-02-069-137/+24
| | | | | | | | | 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.
* feat(themes): apply hudson theme across configsCraig Jennings2026-02-065-74/+86
| | | | Theme configs updated by set-theme: dunst, foot, fuzzel, hyprlock, waybar CSS.
* chore(waypaper): update default wallpaperCraig Jennings2026-02-051-1/+1
|
* feat(dotfiles): add GPG symmetric encryption scriptsCraig Jennings2026-02-052-0/+45
| | | | | encryptfile: encrypt file with AES256, prompt to delete original decryptfile: decrypt to clipboard (wl-copy for Wayland, xclip for X11)
* chore(calibre): adopt current GUI stateCraig Jennings2026-02-021-46/+46
| | | | Window dimensions and JSON key ordering from runtime
* fix(hyprland): remove duplicate fuzzel keybindingCraig Jennings2026-02-021-1/+0
| | | | $mod+P removed; fuzzel already bound elsewhere
* fix(pyprland): move config to new standard locationCraig Jennings2026-02-021-0/+0
| | | | ~/.config/pypr/config.toml replaces ~/.config/hypr/pyprland.toml
* fix(yt-dlp): enable remote components for YouTube JS challengesCraig Jennings2026-02-021-0/+3
|
* feat(dotfiles): add resetmimetypes scriptCraig Jennings2026-02-021-0/+220
| | | | Configures default applications for file types via xdg-mime.
* feat(dotfiles): add notify notification systemCraig Jennings2026-02-0217-0/+138
| | | | | Script with type-specific icons and sounds for success, fail, alert, question, alarm, info, security, and bug notifications.
* feat(hyprland): install plugins on first login via setup scriptCraig Jennings2026-02-012-1/+62
| | | | | | | | 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.
* fix(hyprland): remove set-theme from startup, sync theme filesCraig Jennings2026-02-012-10/+3
| | | | | | | | 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).
* fix(hyprland): dismiss plugin notifications on startupCraig Jennings2026-02-011-1/+1
| | | | | | Add hyprctl dismissnotify after hyprpm update to clear hardcoded plugin initialization messages. Also document set-theme and plugin notification issues in todo.org.
* feat(foot): increase default font size to 14Craig Jennings2026-02-013-3/+3
|
* fix(dotfiles): prioritize user bin in PATH, add libvterm, remove hyprpaperCraig Jennings2026-02-011-1/+1
| | | | | | - .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)