aboutsummaryrefslogtreecommitdiff
path: root/dotfiles
Commit message (Collapse)AuthorAgeFilesLines
...
* 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)
* feat(dotfiles): add alarm.ogg sound fileCraig Jennings2026-01-311-0/+0
|
* feat(calibre): add dupre color theme and toolbar layoutCraig Jennings2026-01-311-0/+536
|
* feat(calibre): update config from velox (device drivers, plugins list)Craig Jennings2026-01-314-40/+118
|
* chore(calibre): remove auto-generated files (plugins, caches, icons)Craig Jennings2026-01-3159-24274/+0
|
* fix(dotfiles): remove keyrings from version control (contains secrets)Craig Jennings2026-01-312-7/+0
|
* feat(dotfiles): add browser helpers and update qalculate configCraig Jennings2026-01-312-1/+37
| | | | | - Add browser.sh with Wayland-aware open-chrome/firefox/url functions - Disable qalculate multiple instances
* fix(hyprland): auto-rebuild plugins and preserve stash master positionCraig Jennings2026-01-312-5/+13
| | | | | | | - Add pacman hook to rebuild hyprpm plugins after Hyprland updates - Change startup to hyprpm update -n (rebuilds if needed) - Fix stash-restore to preserve master window using batch commands - Add validation tests for plugins and hyprpm hook
* fix(waybar): switch to pulseaudio module and unify colorsCraig Jennings2026-01-312-15/+10
| | | | | | | - Replace wireplumber module with pulseaudio for reliable volume display - Make all module text colors consistent (#969385) - Add idle_inhibitor to styled modules - Add wf-recorder package to archsetup for screen recording
* fix(waybar): raise temperature warning threshold to 80CCraig Jennings2026-01-312-4/+1
| | | | Also remove 60s Sounds radio stream from playlist.
* fix(portal): enable Settings portal for libadwaita dark modeCraig Jennings2026-01-301-1/+1
| | | | | Use gtk portal for Settings instead of none, allowing Nautilus and other libadwaita apps to respect the color-scheme preference.
* feat(theme): improve notification visibility with bg+1 backgroundCraig Jennings2026-01-304-7/+6
| | | | | | | - Change dunst notification background from bg to bg+1 (#252321) - Remove shortwave keybinding ($mod+Shift+R) - Move addmaster to $mod+U, keep term2 scratchpad on $mod+I - Update btop box order
* feat(hyprland): add second terminal scratchpad on mod+ICraig Jennings2026-01-302-0/+8
| | | | | Adds term2 scratchpad with slightly lower position (20% 30%) to distinguish from primary terminal scratchpad when both visible.
* feat(hyprland): add pyprland for scratchpads, magnify, and window stashingCraig Jennings2026-01-295-46/+92
| | | | | | | Replace native special workspace scratchpads with pyprland to fix issue where new windows were captured by visible scratchpads. Add magnify on mod+Z and window stash scripts (mod+O to stash, mod+Alt+O stash others, mod+Shift+O restore).
* fix(hyprland): simplify monitor scratchpad to btop onlyCraig Jennings2026-01-291-36/+2
| | | | | | | Remove tmux session and other monitoring tools (s-tui, nvtop, duf, bandwhich, wavemon, powertop). Just run btop directly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(dotfiles): update authinfo credentialsCraig Jennings2026-01-291-0/+0
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(theme): apply Dupre palette to all configsCraig Jennings2026-01-295-75/+75
| | | | | | | | | | | | | Update theme colors from Hudson to Dupre across: - dunstrc (notifications) - foot.ini (terminal) - fuzzel.ini (launcher) - hyprlock.conf (lock screen) - waybar/style.css (status bar) Colors now match dupre-palette.org specification. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(hyprland): only reload hyprpm if plugins are installedCraig Jennings2026-01-291-1/+1
| | | | | | | Check if hyprpm list has output before running reload. Prevents "headers are not up-to-date" error on fresh installs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(hyprland): remove easyeffects auto-launchCraig Jennings2026-01-292-6/+0
| | | | | | | | | | Remove easyeffects from exec-once - user can configure autostart themselves via easyeffects settings. Also remove easyeffects config from dotfiles as it gets overwritten by the app when user changes settings. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(dotfiles): add mimeapps.list with default associationsCraig Jennings2026-01-292-0/+45
| | | | | | | | | | | Move mimeapps.list to ~/.config/ location (takes precedence) and set default applications: - Browser: google-chrome - Documents: zathura (pdf, epub, mobi, cbz, cbr) - Images: feh - Video/Audio: mpv Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(keyring,hyprpm): use template keyring, fix hyprpm warningCraig Jennings2026-01-294-48/+8
| | | | | | | | | | | | | | Keyring: - Add empty-password login.keyring template to dotfiles - Remove init-keyring script (secretstorage API requires prompting) - Remove python-secretstorage dependency - Remove PAM gnome-keyring config (not needed with template approach) Hyprpm: - Only run hyprpm reload if plugins are installed - Prevents "Failed to load plugins" warning on fresh installs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(hyprland): resolve autologin startup issuesCraig Jennings2026-01-294-10/+55
| | | | | | | | | | | | - Use start-hyprland wrapper instead of Hyprland directly (fixes "started without start-hyprland" warning) - Add init-keyring script to create empty-password keyring (fixes keyring password prompt with autologin) - Add easyeffects config with noWindowAfterStarting=true (starts minimized instead of fullscreen) - Install python-secretstorage for init-keyring script Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(test,hyprland): improve test infrastructure and fix easyeffectsCraig Jennings2026-01-291-10/+2
| | | | | | | | | | | | | | | | | | | | Test Infrastructure: - Add make test-keep target to keep VM running after test - Add make test-vm-base target for creating base VM only - Update make test to auto-create VM if missing - Remove manual user creation from create-base-vm.sh (archsetup handles it) - Remove unused USERNAME/USER_PASSWORD from archsetup-test.conf Archsetup: - Add snapper-gui-git for btrfs snapshot GUI - Add SYNC_ACL=yes for snapper permissions - Add setfacl for wheel group access to /.snapshots Hyprland: - Remove easyeffects scratchpad (keep auto-launch) - Remove ecosystem permissions (caused too many popups) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(dotfiles): add easyeffects UI configCraig Jennings2026-01-281-0/+2
|