From f2b1086ef72e3bad80e26e739e6d76b5a1df3bae Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 13 Apr 2026 11:54:45 -0400 Subject: feat: proton-vpn, lid switch, scratchpad resizing - archsetup: add proton-vpn-gtk-app; configure logind to ignore lid switch - hyprland.conf: autostart protonvpn-app minimized - waybar: set battery module to BAT1 (velox) - pypr: resize scratchpads to fit 80x24 minimum; enlarge monitor for btop - gitconfig: add deepsat GHE credential helpers - CLAUDE.md: update notes.org reference (lowercase) --- CLAUDE.md | 2 +- archsetup | 10 ++++++++++ dotfiles/common/.gitconfig | 6 ++++++ dotfiles/hyprland/.config/hypr/hyprland.conf | 1 + dotfiles/hyprland/.config/pypr/config.toml | 28 ++++++++++++++++------------ dotfiles/hyprland/.config/waybar/config | 1 + 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f0c3f2a..688d27b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,4 +82,4 @@ Full palette reference: `assets/color-themes/dupre/dupre-palette.org` - MPD is configured but mpv handles audio file associations - DWM keybindings defined in ~/code/dwm/config.def.h on velox - Remote repository on cjennings.net -- docs/ is gitignored; living project context is in docs/NOTES.org +- docs/ is gitignored; living project context is in docs/notes.org diff --git a/archsetup b/archsetup index 86c3927..51648d1 100755 --- a/archsetup +++ b/archsetup @@ -1870,6 +1870,7 @@ developer_workstation() { action="VPN Tools" && display "subtitle" "$action" pacman_install wireguard-tools # VPN - add configs to /etc/wireguard/ pacman_install systemd-resolvconf # resolvconf for wg-quick DNS integration + pacman_install proton-vpn-gtk-app # Proton VPN GUI client with system tray pacman_install tailscale # mesh VPN - run 'tailscale up' to authenticate action="enabling tailscale service" && display "task" "$action" @@ -2102,6 +2103,15 @@ EOF cat << 'EOF' > /etc/systemd/journald.conf.d/retention.conf [Journal] SystemMaxUse=500M +EOF + + action="configuring lid switch to ignore (laptops)" && display "task" "$action" + mkdir -p /etc/systemd/logind.conf.d + cat << 'EOF' > /etc/systemd/logind.conf.d/lid.conf +[Login] +HandleLidSwitch=ignore +HandleLidSwitchExternalPower=ignore +HandleLidSwitchDocked=ignore EOF # GRUB: reset timeouts, adjust log levels, larger menu for HiDPI screens, and show splashscreen diff --git a/dotfiles/common/.gitconfig b/dotfiles/common/.gitconfig index 9b74927..36cfe25 100644 --- a/dotfiles/common/.gitconfig +++ b/dotfiles/common/.gitconfig @@ -17,3 +17,9 @@ autocorrect = 1 [github] user = cjennings +[credential "https://deepsat.ghe.com"] + helper = + helper = !/usr/bin/gh auth git-credential +[credential "https://gist.deepsat.ghe.com"] + helper = + helper = !/usr/bin/gh auth git-credential diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index 8eece05..391245c 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -44,6 +44,7 @@ exec-once = hypr-refocus-scratchpad exec-once = sleep 1 && signal-desktop --start-in-tray --ozone-platform=wayland exec-once = sleep 1 && Telegram -startintray exec-once = protonmail-bridge --no-window +exec-once = sleep 1 && protonvpn-app --start-minimized exec-once = insync start # ============================================================================ diff --git a/dotfiles/hyprland/.config/pypr/config.toml b/dotfiles/hyprland/.config/pypr/config.toml index bb35aad..b3c3e73 100644 --- a/dotfiles/hyprland/.config/pypr/config.toml +++ b/dotfiles/hyprland/.config/pypr/config.toml @@ -18,51 +18,55 @@ factor = 2 # ============================================================================ # Scratchpads use normal workspaces by default (not special workspaces), # which prevents newly launched apps from being captured by the scratchpad. +# +# Sizes below target a minimum of 80x24 characters at foot font size 14 +# on a 1920x1080 logical monitor. Larger monitors get proportionally larger +# scratchpads. Machines with smaller displays override this file locally. [scratchpads.term] command = "foot --app-id foot-term tmux" class = "foot-term" -size = "50% 70%" -position = "25% 15%" +size = "55% 65%" +position = "22% 17%" animation = "fromBottom" hide_delay = 0.5 [scratchpads.ai-term] command = "foot --app-id foot-ai-term tmux" class = "foot-ai-term" -size = "50% 70%" -position = "25% 15%" +size = "55% 65%" +position = "22% 17%" animation = "fromBottom" hide_delay = 0.5 [scratchpads.audio] command = "foot --app-id foot-audio pulsemixer" class = "foot-audio" -size = "50% 60%" -position = "25% 20%" +size = "55% 65%" +position = "22% 17%" animation = "fromBottom" hide_delay = 0.5 [scratchpads.monitor] command = "foot --app-id foot-monitor monitor-dashboard" class = "foot-monitor" -size = "50% 60%" -position = "25% 20%" +size = "75% 80%" +position = "12% 10%" animation = "fromBottom" hide_delay = 0.5 [scratchpads.music] command = "foot --app-id foot-music ncmpcpp" class = "foot-music" -size = "60% 60%" -position = "20% 20%" +size = "65% 65%" +position = "17% 17%" animation = "fromBottom" hide_delay = 0.5 [scratchpads.network] command = "foot --app-id foot-network nmtui" class = "foot-network" -size = "50% 60%" -position = "25% 20%" +size = "55% 65%" +position = "22% 17%" animation = "fromBottom" hide_delay = 0.5 diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config index 751e896..55ca359 100644 --- a/dotfiles/hyprland/.config/waybar/config +++ b/dotfiles/hyprland/.config/waybar/config @@ -101,6 +101,7 @@ }, "battery": { + "bat": "BAT1", "interval": 30, "states": { "warning": 30, -- cgit v1.2.3