aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/hyprland
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
committerCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
commitb10cba594db836c0747066addad48bda4d30cd02 (patch)
tree063119a623fa3f7139feda4ef302896d8f5f934c /dotfiles/hyprland
parent49c2ba9c4510bf6e1acd306687473bc8ba9ad8dd (diff)
downloadarchsetup-b10cba594db836c0747066addad48bda4d30cd02.tar.gz
archsetup-b10cba594db836c0747066addad48bda4d30cd02.zip
refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repo
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated. The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf). I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
Diffstat (limited to 'dotfiles/hyprland')
-rw-r--r--dotfiles/hyprland/.config/easyeffectsrc2
-rw-r--r--dotfiles/hyprland/.config/foot/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/fuzzel/fuzzel.ini32
-rw-r--r--dotfiles/hyprland/.config/gammastep/config.ini8
-rw-r--r--dotfiles/hyprland/.config/hypr/conf.d/local.conf15
-rw-r--r--dotfiles/hyprland/.config/hypr/hypridle.conf21
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf334
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprlock.conf100
-rw-r--r--dotfiles/hyprland/.config/pypr/config.toml72
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/Xresources106
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/dunstrc72
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/fuzzel.ini32
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/hyprland.conf7
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/hyprlock.conf94
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/waybar.css137
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/Xresources106
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/dunstrc72
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/fuzzel.ini32
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/hyprland.conf7
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/hyprlock.conf94
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/waybar.css141
-rw-r--r--dotfiles/hyprland/.config/waybar/arch-logo-hudson.svg4
-rw-r--r--dotfiles/hyprland/.config/waybar/arch-logo.svg4
-rw-r--r--dotfiles/hyprland/.config/waybar/config175
-rw-r--r--dotfiles/hyprland/.config/waybar/style.css164
-rw-r--r--dotfiles/hyprland/.config/waybar/worldclock.conf18
-rw-r--r--dotfiles/hyprland/.config/waybar/ws-icons/ws-active.svg3
-rw-r--r--dotfiles/hyprland/.config/waybar/ws-icons/ws-inactive.svg3
-rw-r--r--dotfiles/hyprland/.config/waypaper/config.ini39
-rw-r--r--dotfiles/hyprland/.config/wlogout/layout36
-rw-r--r--dotfiles/hyprland/.config/wlogout/style.css37
-rw-r--r--dotfiles/hyprland/.config/wofi/config12
-rw-r--r--dotfiles/hyprland/.config/wofi/power-menu.css65
-rw-r--r--dotfiles/hyprland/.config/wofi/style.css59
-rw-r--r--dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf3
-rw-r--r--dotfiles/hyprland/.gnupg/gpg-agent.conf18
-rwxr-xr-xdotfiles/hyprland/.local/bin/airplane-mode110
-rwxr-xr-xdotfiles/hyprland/.local/bin/cycle-layout27
-rwxr-xr-xdotfiles/hyprland/.local/bin/hypr-refocus-scratchpad24
-rwxr-xr-xdotfiles/hyprland/.local/bin/layout-cycle35
-rwxr-xr-xdotfiles/hyprland/.local/bin/layout-navigate73
-rwxr-xr-xdotfiles/hyprland/.local/bin/layout-resize24
-rwxr-xr-xdotfiles/hyprland/.local/bin/monitor-dashboard3
-rwxr-xr-xdotfiles/hyprland/.local/bin/pinentry-fuzzel107
-rwxr-xr-xdotfiles/hyprland/.local/bin/screenshot23
-rwxr-xr-xdotfiles/hyprland/.local/bin/set-theme129
-rwxr-xr-xdotfiles/hyprland/.local/bin/start-hyprland11
-rwxr-xr-xdotfiles/hyprland/.local/bin/stash-others12
-rwxr-xr-xdotfiles/hyprland/.local/bin/stash-restore18
-rwxr-xr-xdotfiles/hyprland/.local/bin/stash-window4
-rwxr-xr-xdotfiles/hyprland/.local/bin/toggle-scratchpad40
-rwxr-xr-xdotfiles/hyprland/.local/bin/toggle-touchpad25
-rwxr-xr-xdotfiles/hyprland/.local/bin/touchpad-auto53
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-airplane33
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-date19
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-disk7
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-layout36
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-netspeed70
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-touchpad15
-rwxr-xr-xdotfiles/hyprland/.local/bin/waybar-worldclock35
-rw-r--r--dotfiles/hyprland/.local/share/applications/Zoom.desktop13
-rw-r--r--dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/arandr.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/avahi-discover.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/blueman-manager.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/bssh.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/bvnc.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/caffeine.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop12
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/cmake-gui.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/compton.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/conky.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/cups.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/dwm.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/emacs-mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/emacsclient.desktop13
-rw-r--r--dotfiles/hyprland/.local/share/applications/file.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/foot-server.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/footclient.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gammastep.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/google-chrome.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/htop.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/hy3-util.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/hyprland.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/img.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/insync-helper.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/ipython.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jconsole.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jshell.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jvisualvm.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lock-screen.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/logout.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lstopo.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lxappearance.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nm-applet.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nsxiv.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/pdf.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/picom.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/proton-bridge.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qt5ct.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qt6ct.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qv4l2.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qvidcap.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/ranger.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/reboot.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/redshift.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/rofi.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/shutdown.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/signal-desktop.desktop12
-rw-r--r--dotfiles/hyprland/.local/share/applications/suspend.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/text.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar-settings.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/vim.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xcolor.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xdvi.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xfce4-about.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xgps.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/easyeffects/output/dt770-pro-250-harman-eq.json199
-rw-r--r--dotfiles/hyprland/.local/share/easyeffects/output/pixel-buds-pro-2-harman-eq.json219
-rw-r--r--dotfiles/hyprland/.local/share/easyeffects/output/pxc-550-ii-harman-eq.json219
-rw-r--r--dotfiles/hyprland/.profile.d/99-hyprland-autostart.sh19
-rw-r--r--dotfiles/hyprland/.profile.d/hyprland.sh14
159 files changed, 0 insertions, 4067 deletions
diff --git a/dotfiles/hyprland/.config/easyeffectsrc b/dotfiles/hyprland/.config/easyeffectsrc
deleted file mode 100644
index a4cbf66..0000000
--- a/dotfiles/hyprland/.config/easyeffectsrc
+++ /dev/null
@@ -1,2 +0,0 @@
-[UiSettings]
-ColorScheme=BreezeDark
diff --git a/dotfiles/hyprland/.config/foot/foot.ini b/dotfiles/hyprland/.config/foot/foot.ini
deleted file mode 100644
index f605a9a..0000000
--- a/dotfiles/hyprland/.config/foot/foot.ini
+++ /dev/null
@@ -1,38 +0,0 @@
-# foot terminal configuration - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-[main]
-term=xterm-256color
-font=BerkeleyMono Nerd Font:size=14
-pad=8x8
-
-[scrollback]
-lines=10000
-
-[colors-dark]
-# Dupre theme colors (from Emacs dupre-theme.el)
-background=151311
-foreground=f0fef0
-
-# Regular colors (0-7) - dupre palette
-regular0=252321 # black (dupre-bg+1)
-regular1=d47c59 # red (dupre-red)
-regular2=a4ac64 # green (dupre-green)
-regular3=d7af5f # yellow (dupre-yellow)
-regular4=67809c # blue (dupre-blue)
-regular5=b294bb # magenta
-regular6=8a9496 # cyan (dupre-steel)
-regular7=d0cbc0 # white (dupre-gray+2)
-
-# Bright colors (8-15)
-bright0=474544 # bright black (dupre-bg+2)
-bright1=edb08f # bright red (dupre-red+1)
-bright2=ccc768 # bright green (dupre-green+1)
-bright3=ffd75f # bright yellow (dupre-yellow+1)
-bright4=b2c3cc # bright blue (dupre-blue+1)
-bright5=c397d8 # bright magenta
-bright6=acb0b3 # bright cyan (dupre-steel+1)
-bright7=f0fef0 # bright white (dupre-fg)
-
-# Cursor: muted gold on dark
-cursor=151311 d7af5f
diff --git a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini
deleted file mode 100644
index f00ac8a..0000000
--- a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini
+++ /dev/null
@@ -1,32 +0,0 @@
-# Fuzzel config - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-[main]
-# size is in points (fontconfig syntax)
-font=BerkeleyMono Nerd Font:size=13
-prompt=Search:
-icon-theme=hicolor
-icons-enabled=yes
-width=30
-lines=12
-horizontal-pad=20
-vertical-pad=12
-inner-pad=8
-layer=overlay
-exit-on-keyboard-focus-loss=yes
-
-[colors]
-# Format: RRGGBBAA
-background=151311f0
-text=f0fef0ff
-selection=d7af5fff
-selection-text=151311ff
-border=d7af5fff
-match=d7af5fff
-prompt=969385ff
-placeholder=6c6a60ff
-input=f0fef0ff
-
-[border]
-width=2
-radius=16
diff --git a/dotfiles/hyprland/.config/gammastep/config.ini b/dotfiles/hyprland/.config/gammastep/config.ini
deleted file mode 100644
index bbb15ee..0000000
--- a/dotfiles/hyprland/.config/gammastep/config.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[general]
-temp-day=6500
-temp-night=4500
-brightness-day=1.0
-brightness-night=1.0
-gamma=1.0
-fade=1
-location-provider=geoclue2
diff --git a/dotfiles/hyprland/.config/hypr/conf.d/local.conf b/dotfiles/hyprland/.config/hypr/conf.d/local.conf
deleted file mode 100644
index 857963c..0000000
--- a/dotfiles/hyprland/.config/hypr/conf.d/local.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# Machine-local Hyprland overrides
-# This file is sourced by hyprland.conf via conf.d/*.conf glob.
-# Add monitor scaling, keybinds, or other machine-specific settings here.
-# These override the defaults in hyprland.conf.
-#
-# Examples:
-#
-# HiDPI scaling (Framework 13.5" 2256x1504):
-# monitor=eDP-1,preferred,auto,1.566667
-#
-# External monitor:
-# monitor=DP-1,3440x1440@144,auto,1
-#
-# Machine-specific keybinds:
-# bind = $mod, L, exec, hyprlock
diff --git a/dotfiles/hyprland/.config/hypr/hypridle.conf b/dotfiles/hyprland/.config/hypr/hypridle.conf
deleted file mode 100644
index 5a4fe24..0000000
--- a/dotfiles/hyprland/.config/hypr/hypridle.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-# Hypridle configuration
-# Replaces xautolock -time 5 -locker slock
-
-general {
- lock_cmd = pidof hyprlock || hyprlock
- before_sleep_cmd = loginctl lock-session
- after_sleep_cmd = hyprctl dispatch dpms on
-}
-
-# Screen dim after 5 minutes
-listener {
- timeout = 300
- on-timeout = brightnessctl -s set 10%
- on-resume = brightnessctl -r
-}
-
-# Lock screen after 7 minutes
-listener {
- timeout = 420
- on-timeout = loginctl lock-session
-}
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
deleted file mode 100644
index c71b1fa..0000000
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ /dev/null
@@ -1,334 +0,0 @@
-# Hyprland Configuration
-# Translated from DWM config.def.h and sxhkdrc
-# Craig Jennings <c@cjennings.net>
-
-# ============================================================================
-# Monitor Configuration
-# ============================================================================
-monitor=,preferred,auto,auto
-
-# ============================================================================
-# Startup Applications
-# ============================================================================
-# Portal and D-Bus setup FIRST, then waybar (needs portal for appearance query)
-exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
-# Portal restart (not start) reconnects stale portals on Hyprland restart.
-# Backend portals (GTK, Hyprland) must restart BEFORE the main portal to avoid
-# a 50s GTK settings proxy timeout. Waybar starts after portals are ready.
-exec-once = systemctl --user restart xdg-desktop-portal-hyprland xdg-desktop-portal-gtk && systemctl --user restart xdg-desktop-portal && waybar 2>&1 | grep -v "LIBDBUSMENU-GLIB-WARNING" > ~/.local/var/log/waybar-$(date +%Y-%m-%d-%H%M%S).log
-
-# Core services
-exec-once = /usr/lib/polkit-kde-authentication-agent-1
-exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
-exec-once = dunst > ~/.local/var/log/dunst-$(date +%Y-%m-%d-%H%M%S).log 2>&1
-
-# Desktop appearance
-exec-once = awww-daemon && sleep 1 && awww img ~/pictures/wallpaper/trondheim-norway.jpg
-
-# Background services
-exec-once = touchpad-auto
-exec-once = hypridle > ~/.local/var/log/hypridle-$(date +%Y-%m-%d-%H%M%S).log 2>&1
-exec-once = /usr/lib/geoclue-2.0/demos/agent
-exec-once = gammastep > ~/.local/var/log/gammastep-$(date +%Y-%m-%d-%H%M%S).log 2>&1
-exec-once = blueman-applet
-exec-once = mpd
-
-# Pocketbook panel (pre-launch hidden, toggle via waybar icon or $mod+P)
-exec-once = pocketbook --hidden
-
-# Pyprland (scratchpads, magnify, etc.)
-exec-once = pypr > ~/.local/var/log/pypr-$(date +%Y-%m-%d-%H%M%S).log 2>&1
-exec-once = hypr-refocus-scratchpad
-
-# Apps that can start later (sleep ensures waybar tray is registered)
-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
-
-# ============================================================================
-# Environment Variables
-# ============================================================================
-env = XCURSOR_SIZE,24
-env = XCURSOR_THEME,Bibata-Modern-Ice
-env = XDG_CURRENT_DESKTOP,Hyprland
-env = XDG_SESSION_TYPE,wayland
-env = XDG_SESSION_DESKTOP,Hyprland
-env = _JAVA_AWT_WM_NONREPARENTING,1
-
-# ============================================================================
-# Appearance (matching DWM colors)
-# ============================================================================
-# DWM colors: gray1=#222222, gray2=#444444, gray3=#bbbbbb, gray4=#eeeeee, cyan=#daa520
-
-general {
- gaps_in = 25
- gaps_out = 30
- border_size = 3
- col.active_border = rgba(daa520ff)
- col.inactive_border = rgba(444444ff)
- # Pyprland 3.4+ applies `group deny` to scratchpads, which routes their
- # border through col.nogroup_border* instead of col.*_border. Without
- # these overrides Hyprland's defaults paint scratchpads bright magenta.
- col.nogroup_border_active = rgba(daa520ff)
- col.nogroup_border = rgba(444444ff)
- layout = master
- resize_on_border = true
-}
-
-decoration {
- rounding = 10
- blur {
- enabled = false
- }
- shadow {
- enabled = false
- }
-}
-
-animations {
- enabled = true
- bezier = myBezier, 0.05, 0.9, 0.1, 1.05
- animation = windows, 1, 2, myBezier
- animation = windowsOut, 1, 2, default, popin 80%
- animation = fade, 1, 2, default
- animation = workspaces, 1, 2, default
- animation = specialWorkspace, 1, 2, default, slidevert
-}
-
-# ============================================================================
-# Layout (master-stack like DWM tile)
-# ============================================================================
-master {
- new_status = master
- new_on_top = true
- mfact = 0.55
-}
-
-dwindle {
- preserve_split = true
-}
-
-# ============================================================================
-# Input
-# ============================================================================
-cursor {
- no_warps = true
- inactive_timeout = 2.0
-}
-
-input {
- kb_layout = us
- kb_options = ctrl:nocaps
- numlock_by_default = true
- follow_mouse = 0
- float_switch_override_focus = 1
- mouse_refocus = false
- natural_scroll = true
- touchpad {
- natural_scroll = true
- }
-}
-
-# ============================================================================
-# Misc
-# ============================================================================
-misc {
- force_default_wallpaper = 0
- disable_hyprland_logo = true
- focus_on_activate = true
-}
-
-# ============================================================================
-# Debug (temporary - disable when stable)
-# ============================================================================
-debug {
- disable_logs = false
-}
-
-# ============================================================================
-# XWayland
-# ============================================================================
-xwayland {
- force_zero_scaling = true
-}
-
-# ============================================================================
-# Window Rules (Hyprland 0.53+ syntax: match:CONDITION, RULE)
-# ============================================================================
-# Floating windows (from DWM rules)
-windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on
-windowrule = match:class ^(Gimp)$, float on
-windowrule = match:class ^(caffeine)$, float on
-windowrule = match:class ^(blueman-services)$, float on
-windowrule = match:class ^(Blueman-manager)$, float on
-windowrule = match:class ^(qalculate-gtk)$, float on
-windowrule = match:title ^(Event Tester)$, float on
-
-# NOTE: center windowrules removed 2026-03-04 per pyprland maintainer suggestion
-# Testing whether pyprland handles scratchpad re-centering natively (issue #211)
-
-# Zoom — float all windows, fix disappearing popup menus
-windowrule = match:class ^(zoom)$, float on
-windowrule = match:class ^(zoom)$ match:title ^(menu window)$, stay_focused on
-windowrule = match:class ^(zoom)$ match:title ^(confirm window)$, stay_focused on
-
-# Gaming
-windowrule = match:class ^(Civ5XP)$, fullscreen on
-
-# ============================================================================
-# Key Bindings
-# ============================================================================
-$mod = SUPER
-
-# Terminal and core apps (from DWM)
-bind = $mod, T, exec, foot
-bind = $mod, E, exec, emacsclient -c -a "" || emacs
-bind = $mod, W, exec, $BROWSER
-bind = $mod, F, exec, nautilus
-
-# From sxhkdrc
-bind = $mod, SPACE, exec, fuzzel
-bind = $mod SHIFT, W, exec, $ALTBROWSER
-bind = CTRL ALT, W, exec, tor-browser
-bind = $mod, P, exec, pocketbook
-bind = $mod, V, exec, virtualbox
-bind = $mod SHIFT, L, exec, calibre
-bind = $mod SHIFT, P, exec, waypaper
-
-# Theme switching
-bind = $mod, Y, exec, set-theme --toggle
-bind = $mod SHIFT, Y, exec, set-theme --pick
-
-# Window management (from DWM)
-# Layout-aware navigation (works across master, scrolling)
-bind = $mod, J, exec, layout-navigate next
-bind = $mod, K, exec, layout-navigate prev
-bind = $mod SHIFT, J, exec, layout-navigate next move
-bind = $mod SHIFT, K, exec, layout-navigate prev move
-bind = $mod, H, exec, layout-resize shrink
-bind = $mod, L, exec, layout-resize grow
-bind = $mod, RETURN, layoutmsg, swapwithmaster master
-bind = $mod, G, centerwindow
-bind = $mod, TAB, workspace, previous
-bind = $mod SHIFT, C, killactive
-
-# Layouts: master -> scrolling -> monocle
-# Cycle with Shift+arrows, or jump directly with Shift+T/S/M
-bind = $mod SHIFT, RIGHT, exec, layout-cycle next
-bind = $mod SHIFT, LEFT, exec, layout-cycle prev
-bind = $mod SHIFT, T, exec, hyprctl keyword general:layout master && hyprctl keyword master:orientation left
-bind = $mod SHIFT, S, exec, hyprctl keyword general:layout scrolling
-bind = $mod SHIFT, M, exec, hyprctl keyword general:layout monocle
-bind = $mod SHIFT, SPACE, togglefloating
-
-# Master layout adjustments
-bind = $mod, U, layoutmsg, addmaster
-bind = $mod, D, layoutmsg, removemaster
-
-# Stash windows (hide to special workspace)
-# O = stash focused / Alt+O = stash others / Shift+O = restore all
-bind = $mod, O, exec, stash-window
-bind = $mod ALT, O, exec, stash-others
-bind = $mod SHIFT, O, exec, stash-restore
-
-# Gaps (from DWM)
-bind = $mod, MINUS, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq -r '.custom' | cut -d' ' -f1) - 5 )) && hyprctl keyword general:gaps_in $(( $(hyprctl getoption general:gaps_in -j | jq -r '.custom' | cut -d' ' -f1) - 5 ))
-bind = $mod, EQUAL, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq -r '.custom' | cut -d' ' -f1) + 5 )) && hyprctl keyword general:gaps_in $(( $(hyprctl getoption general:gaps_in -j | jq -r '.custom' | cut -d' ' -f1) + 5 ))
-bind = $mod SHIFT, EQUAL, exec, hyprctl keyword general:gaps_out 30 && hyprctl keyword general:gaps_in 25
-bind = $mod SHIFT, MINUS, exec, hyprctl keyword general:gaps_out 0 && hyprctl keyword general:gaps_in 0
-
-# Toggle bar
-bind = $mod, B, exec, killall -SIGUSR1 waybar
-
-# Fullscreen
-bind = $mod, F11, fullscreen, 0
-
-# Workspaces 1-9 (from DWM TAGKEYS)
-bind = $mod, 1, workspace, 1
-bind = $mod, 2, workspace, 2
-bind = $mod, 3, workspace, 3
-bind = $mod, 4, workspace, 4
-bind = $mod, 5, workspace, 5
-bind = $mod, 6, workspace, 6
-bind = $mod, 7, workspace, 7
-bind = $mod, 8, workspace, 8
-bind = $mod, 9, workspace, 9
-
-# Move window to workspace (from DWM tag)
-bind = $mod SHIFT, 1, movetoworkspacesilent, 1
-bind = $mod SHIFT, 2, movetoworkspacesilent, 2
-bind = $mod SHIFT, 3, movetoworkspacesilent, 3
-bind = $mod SHIFT, 4, movetoworkspacesilent, 4
-bind = $mod SHIFT, 5, movetoworkspacesilent, 5
-bind = $mod SHIFT, 6, movetoworkspacesilent, 6
-bind = $mod SHIFT, 7, movetoworkspacesilent, 7
-bind = $mod SHIFT, 8, movetoworkspacesilent, 8
-bind = $mod SHIFT, 9, movetoworkspacesilent, 9
-
-# Monitor focus (from DWM focusmon)
-bind = $mod, COMMA, focusmonitor, -1
-bind = $mod, PERIOD, focusmonitor, +1
-bind = $mod SHIFT, COMMA, movewindow, mon:-1
-bind = $mod SHIFT, PERIOD, movewindow, mon:+1
-
-# ============================================================================
-# Scratchpads (via pyprland)
-# ============================================================================
-# Configured in ~/.config/hypr/pyprland.toml
-# Uses normal workspaces (not special), so new windows won't be captured
-bind = $mod SHIFT, RETURN, exec, pypr toggle term
-bind = $mod, I, exec, pypr toggle ai-term
-bind = $mod, A, exec, pypr toggle audio
-bind = $mod, R, exec, pypr toggle monitor
-bind = $mod, N, exec, pypr toggle network
-bind = $mod, SLASH, exec, pypr toggle music
-
-# Magnify (zoom)
-bind = $mod, Z, exec, pypr zoom
-
-# Calculator (not a scratchpad, just launches app)
-bind = $mod, X, exec, qalculate-gtk
-bind = $mod, C, exec, hyprpicker -a
-
-# Media/hardware keys
-bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
-bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
-bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
-bindel = , XF86MonBrightnessUp, exec, brightnessctl s +10%
-bindel = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
-
-# Microphone toggle (from sxhkdrc)
-bind = CTRL ALT, SPACE, exec, amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "Microphone" "Muted" || notify-send "Microphone" "On"
-
-# Bluetooth (from DWM and sxhkdrc)
-bind = $mod SHIFT, B, exec, blueman-manager
-
-# Screenshots (grim + slurp + fuzzel menu)
-bind = $mod, S, exec, screenshot region
-bind = CTRL $mod, S, exec, screenshot fullscreen
-
-# Lock screen
-bind = $mod, ESCAPE, exec, hyprlock
-
-# Touchpad toggle (Mouse)
-bind = $mod, M, exec, toggle-touchpad
-
-# Exit/session
-bind = $mod SHIFT, Q, exec, pgrep -x wlogout || wlogout -b 3 -T 600 -B 600 -L 1200 -R 1200 -c 20 -r 20
-bind = $mod SHIFT, BACKSPACE, exit
-bind = $mod SHIFT, ESCAPE, exec, hyprctl reload
-bind = CTRL ALT $mod, K, exec, hyprctl kill
-
-# Mouse bindings (from DWM buttons)
-bindm = $mod, mouse:272, movewindow
-bindm = $mod, mouse:273, resizewindow
-bindm = $mod SHIFT, mouse:272, resizewindow
-
-# ============================================================================
-# Machine-local overrides
-# ============================================================================
-# Sourced last so machine-specific settings (monitor scale, gaps, keybinds)
-# override the defaults above. See conf.d/local.conf.
-source = $HOME/.config/hypr/conf.d/*.conf
diff --git a/dotfiles/hyprland/.config/hypr/hyprlock.conf b/dotfiles/hyprland/.config/hypr/hyprlock.conf
deleted file mode 100644
index 3751045..0000000
--- a/dotfiles/hyprland/.config/hypr/hyprlock.conf
+++ /dev/null
@@ -1,100 +0,0 @@
-# Hyprlock configuration - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-general {
- hide_cursor = true
-}
-
-animations {
- enabled = true
- bezier = linear, 1, 1, 0, 0
- animation = fadeIn, 1, 5, linear
- animation = fadeOut, 1, 5, linear
- animation = inputFieldDots, 1, 2, linear
- animation = inputFieldColors, 1, 3, linear
-}
-
-background {
- monitor =
- path = screenshot
- blur_passes = 3
- blur_size = 8
- noise = 0.0117
- contrast = 0.8916
- brightness = 0.8172
- vibrancy = 0.1696
- vibrancy_darkness = 0.0
-}
-
-# Clock (top)
-label {
- monitor =
- text = $TIME12
- text_align = center
- color = rgb(969385)
- font_size = 64
- font_family = BerkeleyMono Nerd Font
- position = 0, 15%
- halign = center
- valign = center
-}
-
-# Profile image
-image {
- monitor =
- path = ~/pictures/devilman.jpg
- size = 120
- rounding = -1
- border_size = 3
- border_color = rgb(d7af5f)
- position = 0, 0%
- halign = center
- valign = center
- shadow_passes = 2
- shadow_size = 3
- shadow_color = rgba(0, 0, 0, 0.5)
-}
-
-# Username
-label {
- monitor =
- text = $USER
- text_align = center
- color = rgb(d7af5f)
- font_size = 36
- font_family = BerkeleyMono Nerd Font
- position = 0, -7%
- halign = center
- valign = center
-}
-
-# Password input
-input-field {
- monitor =
- size = 20%, 4%
- outline_thickness = 0
- dots_size = 0.33
- dots_spacing = 0.15
- dots_center = true
- dots_rounding = -1
- outer_color = rgb(151311)
- inner_color = rgb(151311)
- font_color = rgb(969385)
- fade_on_empty = true
- fade_timeout = 1000
- placeholder_text = <i>Password...</i>
- hide_input = false
- rounding = 8
- check_color = rgb(d7af5f)
- fail_color = rgb(d47c59)
- fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
-
- capslock_color = rgb(ccc768)
- numlock_color = -1
- bothlock_color = -1
- invert_numlock = false
- swap_font_color = false
- position = 0, -12%
- halign = center
- valign = center
-}
diff --git a/dotfiles/hyprland/.config/pypr/config.toml b/dotfiles/hyprland/.config/pypr/config.toml
deleted file mode 100644
index b3c3e73..0000000
--- a/dotfiles/hyprland/.config/pypr/config.toml
+++ /dev/null
@@ -1,72 +0,0 @@
-# Pyprland Configuration
-# https://hyprland-community.github.io/pyprland/
-
-[pyprland]
-plugins = [
- "scratchpads",
- "magnify",
-]
-
-# ============================================================================
-# Magnify
-# ============================================================================
-[magnify]
-factor = 2
-
-# ============================================================================
-# Scratchpads
-# ============================================================================
-# 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 = "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 = "55% 65%"
-position = "22% 17%"
-animation = "fromBottom"
-hide_delay = 0.5
-
-[scratchpads.audio]
-command = "foot --app-id foot-audio pulsemixer"
-class = "foot-audio"
-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 = "75% 80%"
-position = "12% 10%"
-animation = "fromBottom"
-hide_delay = 0.5
-
-[scratchpads.music]
-command = "foot --app-id foot-music ncmpcpp"
-class = "foot-music"
-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 = "55% 65%"
-position = "22% 17%"
-animation = "fromBottom"
-hide_delay = 0.5
diff --git a/dotfiles/hyprland/.config/themes/dupre/Xresources b/dotfiles/hyprland/.config/themes/dupre/Xresources
deleted file mode 100644
index 1646b87..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/Xresources
+++ /dev/null
@@ -1,106 +0,0 @@
-!! X Resources - Dupre theme
-!! Warm, earthy colors from dupre-theme.el
-!! For X11 applications (st, xterm, etc.) and Emacs
-
-!! X Font Settings
-Xft.dpi: 109
-Xcursor.size: 24
-Xcursor.theme: Bibata-Modern-Ice
-Xft.autohint: 0
-Xft.lcdfilter: lcddefault
-Xft.hintstyle: hintfull
-Xft.hinting: 1
-Xft.antialias: 1
-Xft.rgba: rgb
-
-!! Emacs
-Emacs*toolBar: 0
-
-!! ============================================================================
-!! Dupre Theme Colors
-!! ============================================================================
-
-#define dupre_fg #f0fef0
-#define dupre_bg #151311
-#define dupre_black #252321
-#define dupre_red #d47c59
-#define dupre_green #a4ac64
-#define dupre_yellow #d7af5f
-#define dupre_blue #67809c
-#define dupre_magenta #b294bb
-#define dupre_cyan #8a9496
-#define dupre_white #d0cbc0
-#define dupre_br_black #474544
-#define dupre_br_red #edb08f
-#define dupre_br_green #ccc768
-#define dupre_br_yellow #ffd75f
-#define dupre_br_blue #b2c3cc
-#define dupre_br_magenta #c397d8
-#define dupre_br_cyan #acb0b3
-#define dupre_br_white #f0fef0
-
-!! Active theme aliases
-#define theme_fg dupre_fg
-#define theme_bg dupre_bg
-#define theme_black dupre_black
-#define theme_red dupre_red
-#define theme_green dupre_green
-#define theme_yellow dupre_yellow
-#define theme_blue dupre_blue
-#define theme_magenta dupre_magenta
-#define theme_cyan dupre_cyan
-#define theme_white dupre_white
-#define theme_br_black dupre_br_black
-#define theme_br_red dupre_br_red
-#define theme_br_green dupre_br_green
-#define theme_br_yellow dupre_br_yellow
-#define theme_br_blue dupre_br_blue
-#define theme_br_magenta dupre_br_magenta
-#define theme_br_cyan dupre_br_cyan
-#define theme_br_white dupre_br_white
-
-!! ============================================================================
-
-!! ST (suckless terminal) settings
-!! size is in points (fontconfig syntax)
-st.font: BerkeleyMono Nerd Font:size=13
-st.background: theme_bg
-st.foreground: theme_fg
-st.color0: theme_black
-st.color1: theme_red
-st.color2: theme_green
-st.color3: theme_yellow
-st.color4: theme_blue
-st.color5: theme_magenta
-st.color6: theme_cyan
-st.color7: theme_white
-st.color8: theme_br_black
-st.color9: theme_br_red
-st.color10: theme_br_green
-st.color11: theme_br_yellow
-st.color12: theme_br_blue
-st.color13: theme_br_magenta
-st.color14: theme_br_cyan
-st.color15: theme_br_white
-
-!! XTerm settings
-XTerm*faceName: BerkeleyMono Nerd Font:size=13
-XTerm*selectToClipboard: true
-XTerm*background: theme_bg
-XTerm*foreground: theme_fg
-XTerm*color0: theme_black
-XTerm*color1: theme_red
-XTerm*color2: theme_green
-XTerm*color3: theme_yellow
-XTerm*color4: theme_blue
-XTerm*color5: theme_magenta
-XTerm*color6: theme_cyan
-XTerm*color7: theme_white
-XTerm*color8: theme_br_black
-XTerm*color9: theme_br_red
-XTerm*color10: theme_br_green
-XTerm*color11: theme_br_yellow
-XTerm*color12: theme_br_blue
-XTerm*color13: theme_br_magenta
-XTerm*color14: theme_br_cyan
-XTerm*color15: theme_br_white
diff --git a/dotfiles/hyprland/.config/themes/dupre/dunstrc b/dotfiles/hyprland/.config/themes/dupre/dunstrc
deleted file mode 100644
index 6f8a3ec..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/dunstrc
+++ /dev/null
@@ -1,72 +0,0 @@
-# Dunst config - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-[global]
-# Display
-follow = mouse
-width = 350
-height = (0, 300)
-origin = top-right
-offset = (35, 35)
-indicate_hidden = yes
-notification_limit = 5
-gap_size = 12
-padding = 12
-horizontal_padding = 20
-frame_width = 0
-sort = no
-corner_radius = 10
-
-# Progress bar
-progress_bar_frame_width = 0
-progress_bar_corner_radius = 3
-
-# Colors - Dupre theme
-foreground = "#f0fef0"
-frame_color = "#d7af5f"
-highlight = "#d7af5f, #ccc768"
-
-# Text (size in points, Pango syntax)
-font = BerkeleyMono Nerd Font 10
-markup = full
-format = "<small>%a</small>\n<b>%s</b>\n%b"
-alignment = left
-vertical_alignment = center
-show_age_threshold = -1
-hide_duplicate_count = false
-
-# Icon
-icon_position = left
-min_icon_size = 54
-max_icon_size = 80
-icon_corner_radius = 4
-
-# Misc/Advanced
-dmenu = fuzzel --dmenu --prompt 'Open with'
-
-# Mouse
-mouse_left_click = close_current
-mouse_middle_click = do_action, close_current
-mouse_right_click = close_all
-
-[urgency_low]
-background = "#252321f0"
-timeout = 3
-
-[urgency_normal]
-background = "#252321f0"
-timeout = 8
-
-[urgency_critical]
-background = "#7c2a09f0"
-frame_color = "#d47c59"
-highlight = "#ff2a00"
-foreground = "#f0fef0"
-timeout = 0
-
-[fullscreen_delay_everything]
-fullscreen = delay
-
-[fullscreen_show_critical]
-msg_urgency = critical
-fullscreen = show
diff --git a/dotfiles/hyprland/.config/themes/dupre/foot.ini b/dotfiles/hyprland/.config/themes/dupre/foot.ini
deleted file mode 100644
index f605a9a..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/foot.ini
+++ /dev/null
@@ -1,38 +0,0 @@
-# foot terminal configuration - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-[main]
-term=xterm-256color
-font=BerkeleyMono Nerd Font:size=14
-pad=8x8
-
-[scrollback]
-lines=10000
-
-[colors-dark]
-# Dupre theme colors (from Emacs dupre-theme.el)
-background=151311
-foreground=f0fef0
-
-# Regular colors (0-7) - dupre palette
-regular0=252321 # black (dupre-bg+1)
-regular1=d47c59 # red (dupre-red)
-regular2=a4ac64 # green (dupre-green)
-regular3=d7af5f # yellow (dupre-yellow)
-regular4=67809c # blue (dupre-blue)
-regular5=b294bb # magenta
-regular6=8a9496 # cyan (dupre-steel)
-regular7=d0cbc0 # white (dupre-gray+2)
-
-# Bright colors (8-15)
-bright0=474544 # bright black (dupre-bg+2)
-bright1=edb08f # bright red (dupre-red+1)
-bright2=ccc768 # bright green (dupre-green+1)
-bright3=ffd75f # bright yellow (dupre-yellow+1)
-bright4=b2c3cc # bright blue (dupre-blue+1)
-bright5=c397d8 # bright magenta
-bright6=acb0b3 # bright cyan (dupre-steel+1)
-bright7=f0fef0 # bright white (dupre-fg)
-
-# Cursor: muted gold on dark
-cursor=151311 d7af5f
diff --git a/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini b/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini
deleted file mode 100644
index f00ac8a..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini
+++ /dev/null
@@ -1,32 +0,0 @@
-# Fuzzel config - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-[main]
-# size is in points (fontconfig syntax)
-font=BerkeleyMono Nerd Font:size=13
-prompt=Search:
-icon-theme=hicolor
-icons-enabled=yes
-width=30
-lines=12
-horizontal-pad=20
-vertical-pad=12
-inner-pad=8
-layer=overlay
-exit-on-keyboard-focus-loss=yes
-
-[colors]
-# Format: RRGGBBAA
-background=151311f0
-text=f0fef0ff
-selection=d7af5fff
-selection-text=151311ff
-border=d7af5fff
-match=d7af5fff
-prompt=969385ff
-placeholder=6c6a60ff
-input=f0fef0ff
-
-[border]
-width=2
-radius=16
diff --git a/dotfiles/hyprland/.config/themes/dupre/hyprland.conf b/dotfiles/hyprland/.config/themes/dupre/hyprland.conf
deleted file mode 100644
index b9313ff..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/hyprland.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# Hyprland colors - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-general {
- col.active_border = rgba(d7af5fff)
- col.inactive_border = rgba(474544ff)
-}
diff --git a/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf b/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf
deleted file mode 100644
index fd85651..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf
+++ /dev/null
@@ -1,94 +0,0 @@
-# Hyprlock configuration - Dupre theme
-# Warm, earthy colors from dupre-theme.el
-
-general {
- disable_loading_bar = false
- hide_cursor = true
- grace = 0
- no_fade_in = false
-}
-
-background {
- monitor =
- path = screenshot
- blur_passes = 3
- blur_size = 8
- noise = 0.0117
- contrast = 0.8916
- brightness = 0.8172
- vibrancy = 0.1696
- vibrancy_darkness = 0.0
-}
-
-# Clock (top)
-label {
- monitor =
- text = $TIME12
- text_align = center
- color = rgb(969385)
- font_size = 64
- font_family = BerkeleyMono Nerd Font
- position = 0, 15%
- halign = center
- valign = center
-}
-
-# Profile image
-image {
- monitor =
- path = ~/pictures/devilman.jpg
- size = 120
- rounding = -1
- border_size = 3
- border_color = rgb(d7af5f)
- position = 0, 0%
- halign = center
- valign = center
- shadow_passes = 2
- shadow_size = 3
- shadow_color = rgba(0, 0, 0, 0.5)
-}
-
-# Username
-label {
- monitor =
- text = $USER
- text_align = center
- color = rgb(d7af5f)
- font_size = 36
- font_family = BerkeleyMono Nerd Font
- position = 0, -7%
- halign = center
- valign = center
-}
-
-# Password input
-input-field {
- monitor =
- size = 20%, 4%
- outline_thickness = 0
- dots_size = 0.33
- dots_spacing = 0.15
- dots_center = true
- dots_rounding = -1
- outer_color = rgb(151311)
- inner_color = rgb(151311)
- font_color = rgb(969385)
- fade_on_empty = true
- fade_timeout = 1000
- placeholder_text = <i>Password...</i>
- hide_input = false
- rounding = 8
- check_color = rgb(d7af5f)
- fail_color = rgb(d47c59)
- fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
- fail_transition = 300
- capslock_color = rgb(ccc768)
- numlock_color = -1
- bothlock_color = -1
- invert_numlock = false
- swap_font_color = false
- position = 0, -12%
- halign = center
- valign = center
-}
diff --git a/dotfiles/hyprland/.config/themes/dupre/waybar.css b/dotfiles/hyprland/.config/themes/dupre/waybar.css
deleted file mode 100644
index 81c305c..0000000
--- a/dotfiles/hyprland/.config/themes/dupre/waybar.css
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Waybar style - Dupre theme */
-/* Warm, earthy colors from dupre-theme.el */
-
-* {
- border: none;
- border-radius: 0;
- /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */
- font-size: 14px;
- min-height: 0;
- font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
-}
-
-window#waybar {
- background: transparent;
-}
-
-#workspaces {
- padding: 0.2rem;
-}
-
-#workspaces button {
- min-width: 34px;
- min-height: 32px;
- padding: 0;
- margin: 0.15rem;
- background-color: transparent;
- color: #969385;
- border-radius: 50%;
- transition: all 0.3s ease;
-}
-
-#workspaces button.active {
- background: #d7af5f;
- color: #151311;
-}
-
-#custom-menu {
- background-image: url("/home/cjennings/.config/waybar/arch-logo.svg");
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- background-color: transparent;
- border-radius: 1rem;
- min-width: 2.0rem;
- padding: 0;
- margin: 0.15rem;
- transition: all 0.3s ease;
-}
-
-#workspaces button.urgent {
- background-color: rgba(212, 124, 89, 0.4);
-}
-
-.modules-right, .modules-left {
- background-color: #151311;
- border-radius: 1rem;
- padding: 0.1rem 0.6rem;
- margin: 0.3rem;
- border: 0.095rem solid #d7af5f;
- box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
-}
-
-#cpu,
-#temperature,
-#memory,
-#custom-disk,
-#custom-netspeed,
-#battery,
-#pulseaudio,
-#idle_inhibitor,
-#tray,
-#clock,
-#custom-layout,
-#custom-pocketbook,
-#window {
- padding: 0.45rem;
- margin: 0.3rem;
- color: #969385;
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#sysmonitor {
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#cpu:hover,
-#temperature:hover,
-#memory:hover,
-#custom-disk:hover,
-#custom-netspeed:hover,
-#pulseaudio:hover,
-#sysmonitor:hover,
-#custom-layout:hover,
-#custom-pocketbook:hover {
- background-color: #474544;
- border-radius: 1rem;
-}
-
-
-#custom-netspeed.disconnected {
- color: #d47c59;
-}
-
-#temperature.warning {
- color: #d7af5f;
-}
-
-#temperature.critical {
- color: #d47c59;
-}
-
-#custom-disk.warning {
- color: #d7af5f;
-}
-
-#custom-disk.critical {
- color: #d47c59;
-}
-
-#battery.warning {
- color: #d7af5f;
-}
-
-#battery.critical {
- color: #d47c59;
-}
-
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
- background-color: #d7af5f;
-}
diff --git a/dotfiles/hyprland/.config/themes/hudson/Xresources b/dotfiles/hyprland/.config/themes/hudson/Xresources
deleted file mode 100644
index 4b35809..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/Xresources
+++ /dev/null
@@ -1,106 +0,0 @@
-!! X Resources - Hudson theme
-!! Tomorrow Night + Goldenrod accent
-!! For X11 applications (st, xterm, etc.) and Emacs
-
-!! X Font Settings
-Xft.dpi: 109
-Xft.autohint: 0
-Xft.lcdfilter: lcddefault
-Xft.hintstyle: hintfull
-Xft.hinting: 1
-Xft.antialias: 1
-Xft.rgba: rgb
-Xcursor.size: 24
-Xcursor.theme: Bibata-Modern-Ice
-
-!! Emacs
-Emacs*toolBar: 0
-
-!! ============================================================================
-!! Hudson Theme Colors (Tomorrow Night + Goldenrod)
-!! ============================================================================
-
-#define hudson_fg #eeeeee
-#define hudson_bg #222222
-#define hudson_black #222222
-#define hudson_red #cc6666
-#define hudson_green #b5bd68
-#define hudson_yellow #f0c674
-#define hudson_blue #81a2be
-#define hudson_magenta #b294bb
-#define hudson_cyan #8abeb7
-#define hudson_white #c5c8c6
-#define hudson_br_black #444444
-#define hudson_br_red #d54e53
-#define hudson_br_green #b9ca4a
-#define hudson_br_yellow #e0b040
-#define hudson_br_blue #7aa6da
-#define hudson_br_magenta #c397d8
-#define hudson_br_cyan #70c0b1
-#define hudson_br_white #eeeeee
-
-!! Active theme aliases
-#define theme_fg hudson_fg
-#define theme_bg hudson_bg
-#define theme_black hudson_black
-#define theme_red hudson_red
-#define theme_green hudson_green
-#define theme_yellow hudson_yellow
-#define theme_blue hudson_blue
-#define theme_magenta hudson_magenta
-#define theme_cyan hudson_cyan
-#define theme_white hudson_white
-#define theme_br_black hudson_br_black
-#define theme_br_red hudson_br_red
-#define theme_br_green hudson_br_green
-#define theme_br_yellow hudson_br_yellow
-#define theme_br_blue hudson_br_blue
-#define theme_br_magenta hudson_br_magenta
-#define theme_br_cyan hudson_br_cyan
-#define theme_br_white hudson_br_white
-
-!! ============================================================================
-
-!! ST (suckless terminal) settings
-!! size is in points (fontconfig syntax)
-st.font: BerkeleyMono Nerd Font:size=13
-st.background: theme_bg
-st.foreground: theme_fg
-st.color0: theme_black
-st.color1: theme_red
-st.color2: theme_green
-st.color3: theme_yellow
-st.color4: theme_blue
-st.color5: theme_magenta
-st.color6: theme_cyan
-st.color7: theme_white
-st.color8: theme_br_black
-st.color9: theme_br_red
-st.color10: theme_br_green
-st.color11: theme_br_yellow
-st.color12: theme_br_blue
-st.color13: theme_br_magenta
-st.color14: theme_br_cyan
-st.color15: theme_br_white
-
-!! XTerm settings
-XTerm*faceName: BerkeleyMono Nerd Font:size=13
-XTerm*selectToClipboard: true
-XTerm*background: theme_bg
-XTerm*foreground: theme_fg
-XTerm*color0: theme_black
-XTerm*color1: theme_red
-XTerm*color2: theme_green
-XTerm*color3: theme_yellow
-XTerm*color4: theme_blue
-XTerm*color5: theme_magenta
-XTerm*color6: theme_cyan
-XTerm*color7: theme_white
-XTerm*color8: theme_br_black
-XTerm*color9: theme_br_red
-XTerm*color10: theme_br_green
-XTerm*color11: theme_br_yellow
-XTerm*color12: theme_br_blue
-XTerm*color13: theme_br_magenta
-XTerm*color14: theme_br_cyan
-XTerm*color15: theme_br_white
diff --git a/dotfiles/hyprland/.config/themes/hudson/dunstrc b/dotfiles/hyprland/.config/themes/hudson/dunstrc
deleted file mode 100644
index f27bd33..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/dunstrc
+++ /dev/null
@@ -1,72 +0,0 @@
-# Dunst config - Hudson theme
-# Tomorrow Night + Goldenrod accent
-
-[global]
-# Display
-follow = mouse
-width = 350
-height = (0, 300)
-origin = top-right
-offset = (35, 35)
-indicate_hidden = yes
-notification_limit = 5
-gap_size = 12
-padding = 12
-horizontal_padding = 20
-frame_width = 0
-sort = no
-corner_radius = 10
-
-# Progress bar
-progress_bar_frame_width = 0
-progress_bar_corner_radius = 3
-
-# Colors - Hudson theme
-foreground = "#eeeeee"
-frame_color = "#daa520"
-highlight = "#daa520, #f0c674"
-
-# Text (size in points, Pango syntax)
-font = BerkeleyMono Nerd Font 10
-markup = full
-format = "<small>%a</small>\n<b>%s</b>\n%b"
-alignment = left
-vertical_alignment = center
-show_age_threshold = -1
-hide_duplicate_count = false
-
-# Icon
-icon_position = left
-min_icon_size = 54
-max_icon_size = 80
-icon_corner_radius = 4
-
-# Misc/Advanced
-dmenu = fuzzel --dmenu --prompt 'Open with'
-
-# Mouse
-mouse_left_click = close_current
-mouse_middle_click = do_action, close_current
-mouse_right_click = close_all
-
-[urgency_low]
-background = "#222222f0"
-timeout = 3
-
-[urgency_normal]
-background = "#222222f0"
-timeout = 8
-
-[urgency_critical]
-background = "#cc6666f0"
-frame_color = "#d54e53"
-highlight = "#ff2a00"
-foreground = "#eeeeee"
-timeout = 0
-
-[fullscreen_delay_everything]
-fullscreen = delay
-
-[fullscreen_show_critical]
-msg_urgency = critical
-fullscreen = show
diff --git a/dotfiles/hyprland/.config/themes/hudson/foot.ini b/dotfiles/hyprland/.config/themes/hudson/foot.ini
deleted file mode 100644
index 58ab441..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/foot.ini
+++ /dev/null
@@ -1,38 +0,0 @@
-# foot terminal configuration - Hudson theme
-# Tomorrow Night + Goldenrod accent
-
-[main]
-term=xterm-256color
-font=BerkeleyMono Nerd Font:size=14
-pad=8x8
-
-[scrollback]
-lines=10000
-
-[colors-dark]
-# Hudson theme - Tomorrow Night + Goldenrod accent
-background=222222
-foreground=eeeeee
-
-# Regular colors (0-7)
-regular0=222222 # black
-regular1=cc6666 # red
-regular2=b5bd68 # green
-regular3=f0c674 # yellow
-regular4=81a2be # blue
-regular5=b294bb # magenta
-regular6=8abeb7 # cyan
-regular7=c5c8c6 # white
-
-# Bright colors (8-15)
-bright0=444444 # bright black
-bright1=d54e53 # bright red
-bright2=b9ca4a # bright green
-bright3=e0b040 # bright yellow (adjusted for gold)
-bright4=7aa6da # bright blue
-bright5=c397d8 # bright magenta
-bright6=70c0b1 # bright cyan
-bright7=eeeeee # bright white
-
-# Cursor: goldenrod on dark
-cursor=222222 daa520
diff --git a/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini b/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini
deleted file mode 100644
index 39dabc0..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini
+++ /dev/null
@@ -1,32 +0,0 @@
-# Fuzzel config - Hudson theme
-# Tomorrow Night + Goldenrod accent
-
-[main]
-# size is in points (fontconfig syntax)
-font=BerkeleyMono Nerd Font:size=13
-prompt=Search:
-icon-theme=hicolor
-icons-enabled=yes
-width=30
-lines=12
-horizontal-pad=20
-vertical-pad=12
-inner-pad=8
-layer=overlay
-exit-on-keyboard-focus-loss=yes
-
-[colors]
-# Format: RRGGBBAA
-background=222222f0
-text=eeeeeeff
-selection=daa520ff
-selection-text=222222ff
-border=daa520ff
-match=daa520ff
-prompt=bbbbbbff
-placeholder=888888ff
-input=eeeeeeff
-
-[border]
-width=2
-radius=16
diff --git a/dotfiles/hyprland/.config/themes/hudson/hyprland.conf b/dotfiles/hyprland/.config/themes/hudson/hyprland.conf
deleted file mode 100644
index 37694da..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/hyprland.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# Hyprland colors - Hudson theme
-# Tomorrow Night + Goldenrod accent
-
-general {
- col.active_border = rgba(daa520ff)
- col.inactive_border = rgba(444444ff)
-}
diff --git a/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf b/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf
deleted file mode 100644
index f9c08bb..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf
+++ /dev/null
@@ -1,94 +0,0 @@
-# Hyprlock configuration - Hudson theme
-# Tomorrow Night + Goldenrod accent
-
-general {
- disable_loading_bar = false
- hide_cursor = true
- grace = 0
- no_fade_in = false
-}
-
-background {
- monitor =
- path = screenshot
- blur_passes = 3
- blur_size = 8
- noise = 0.0117
- contrast = 0.8916
- brightness = 0.8172
- vibrancy = 0.1696
- vibrancy_darkness = 0.0
-}
-
-# Clock (top)
-label {
- monitor =
- text = $TIME12
- text_align = center
- color = rgb(bbbbbb)
- font_size = 64
- font_family = BerkeleyMono Nerd Font
- position = 0, 15%
- halign = center
- valign = center
-}
-
-# Profile image
-image {
- monitor =
- path = ~/pictures/devilman.jpg
- size = 120
- rounding = -1
- border_size = 3
- border_color = rgb(daa520)
- position = 0, 0%
- halign = center
- valign = center
- shadow_passes = 2
- shadow_size = 3
- shadow_color = rgba(0, 0, 0, 0.5)
-}
-
-# Username
-label {
- monitor =
- text = $USER
- text_align = center
- color = rgb(daa520)
- font_size = 36
- font_family = BerkeleyMono Nerd Font
- position = 0, -7%
- halign = center
- valign = center
-}
-
-# Password input
-input-field {
- monitor =
- size = 20%, 4%
- outline_thickness = 0
- dots_size = 0.33
- dots_spacing = 0.15
- dots_center = true
- dots_rounding = -1
- outer_color = rgb(222222)
- inner_color = rgb(222222)
- font_color = rgb(bbbbbb)
- fade_on_empty = true
- fade_timeout = 1000
- placeholder_text = <i>Password...</i>
- hide_input = false
- rounding = 8
- check_color = rgb(daa520)
- fail_color = rgb(d54e53)
- fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
- fail_transition = 300
- capslock_color = rgb(e0b040)
- numlock_color = -1
- bothlock_color = -1
- invert_numlock = false
- swap_font_color = false
- position = 0, -12%
- halign = center
- valign = center
-}
diff --git a/dotfiles/hyprland/.config/themes/hudson/waybar.css b/dotfiles/hyprland/.config/themes/hudson/waybar.css
deleted file mode 100644
index f46342b..0000000
--- a/dotfiles/hyprland/.config/themes/hudson/waybar.css
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Waybar style - Hudson theme */
-/* Tomorrow Night + Goldenrod accent */
-
-* {
- border: none;
- border-radius: 0;
- /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */
- font-size: 14px;
- min-height: 0;
- font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
-}
-
-window#waybar {
- background: transparent;
-}
-
-#workspaces {
- padding: 0.2rem;
-}
-
-#workspaces button {
- min-width: 34px;
- min-height: 32px;
- padding: 0;
- margin: 0.15rem;
- background-color: transparent;
- color: #bbbbbb;
- border-radius: 50%;
- transition: all 0.3s ease;
-}
-
-#workspaces button.active {
- background: #daa520;
- color: #222222;
-}
-
-#custom-menu {
- background-image: url("/home/cjennings/.config/waybar/arch-logo-hudson.svg");
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- background-color: transparent;
- border-radius: 1rem;
- min-width: 2.0rem;
- padding: 0;
- margin: 0.15rem;
- transition: all 0.3s ease;
-}
-
-#workspaces button.urgent {
- background-color: rgba(255, 88, 88, 0.4);
-}
-
-.modules-right, .modules-left {
- background-color: #222222;
- border-radius: 1rem;
- padding: 0.1rem 0.6rem;
- margin: 0.3rem;
- border: 0.095rem solid #daa520;
- box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
-}
-
-#cpu,
-#temperature,
-#memory,
-#custom-disk,
-#custom-netspeed,
-#battery,
-#wireplumber,
-#tray,
-#clock,
-#custom-layout,
-#window {
- padding: 0.45rem;
- margin: 0.3rem;
- color: #bbbbbb;
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#sysmonitor {
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#cpu:hover,
-#temperature:hover,
-#memory:hover,
-#custom-disk:hover,
-#custom-netspeed:hover,
-#wireplumber:hover,
-#sysmonitor:hover,
-#custom-layout:hover {
- background-color: #444444;
- border-radius: 1rem;
-}
-
-#clock {
- color: #eeeeee;
-}
-
-#wireplumber {
- color: #bbbbbb;
-}
-
-#custom-netspeed.disconnected {
- color: #ff5858;
-}
-
-#temperature.warning {
- color: #daa520;
-}
-
-#temperature.critical {
- color: #ff5858;
-}
-
-#custom-disk.warning {
- color: #daa520;
-}
-
-#custom-disk.critical {
- color: #ff5858;
-}
-
-#battery.warning {
- color: #daa520;
-}
-
-#battery.critical {
- color: #ff5858;
-}
-
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
- background-color: #daa520;
-}
diff --git a/dotfiles/hyprland/.config/waybar/arch-logo-hudson.svg b/dotfiles/hyprland/.config/waybar/arch-logo-hudson.svg
deleted file mode 100644
index 2ee808e..0000000
--- a/dotfiles/hyprland/.config/waybar/arch-logo-hudson.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="4 4 56 56" version="1.1">
- <circle style="fill:#81a2be" cx="32" cy="32" r="28"/>
- <path style="fill:#ffffff" d="m 32.001272,8.2 c -1.781906,4.365386 -2.856728,7.224642 -4.83977,11.460214 1.217058,1.288514 2.708396,2.781644 5.13031,4.476314 C 29.687034,23.064586 27.913272,21.9961 26.584468,20.879242 24.04675,26.173342 20.066442,33.707228 11.999957,48.2 18.339392,44.540842 23.599636,42.287642 28.17934,41.4262 27.98224,40.580986 27.872528,39.662642 27.88066,38.707728 l 0.0058,-0.19708 c 0.09956,-4.061442 1.871392,-7.664814 4.374576,-7.453514 2.503192,0.2113 3.96354,4.160072 3.861952,8.2215 -0.0184,0.763944 -0.10356,1.4974 -0.253976,2.17803 4.528902,0.88787 9.8812,3.13497 16.131032,6.743328 -1.2333,-2.269444 -2.338612,-4.311344 -3.389064,-6.259772 -1.655914,-1.284056 -3.378888,-2.954142 -6.902038,-4.7624 2.419884,0.629844 4.1591,1.353144 5.510262,2.165844 C 36.531818,19.445258 35.664228,16.801558 32.000886,8.201214 Z"/>
-</svg>
diff --git a/dotfiles/hyprland/.config/waybar/arch-logo.svg b/dotfiles/hyprland/.config/waybar/arch-logo.svg
deleted file mode 100644
index 9892ef8..0000000
--- a/dotfiles/hyprland/.config/waybar/arch-logo.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="-3 -3 70 70" version="1.1">
- <circle stroke="none" style="fill:#67809c" cx="32" cy="32" r="35"/>
- <path shape-rendering="geometricPrecision" style="fill:#ffffff" d="m 32.001272,8.2 c -1.781906,4.365386 -2.856728,7.224642 -4.83977,11.460214 1.217058,1.288514 2.708396,2.781644 5.13031,4.476314 C 29.687034,23.064586 27.913272,21.9961 26.584468,20.879242 24.04675,26.173342 20.066442,33.707228 11.999957,48.2 18.339392,44.540842 23.599636,42.287642 28.17934,41.4262 27.98224,40.580986 27.872528,39.662642 27.88066,38.707728 l 0.0058,-0.19708 c 0.09956,-4.061442 1.871392,-7.664814 4.374576,-7.453514 2.503192,0.2113 3.96354,4.160072 3.861952,8.2215 -0.0184,0.763944 -0.10356,1.4974 -0.253976,2.17803 4.528902,0.88787 9.8812,3.13497 16.131032,6.743328 -1.2333,-2.269444 -2.338612,-4.311344 -3.389064,-6.259772 -1.655914,-1.284056 -3.378888,-2.954142 -6.902038,-4.7624 2.419884,0.629844 4.1591,1.353144 5.510262,2.165844 C 36.531818,19.445258 35.664228,16.801558 32.000886,8.201214 Z"/>
-</svg>
diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config
deleted file mode 100644
index 97fb3b7..0000000
--- a/dotfiles/hyprland/.config/waybar/config
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "layer": "top",
- "position": "top",
- "spacing": 4,
- "margin-top": 6,
- "margin-left": 10,
- "margin-right": 10,
-
- "modules-left": [
- "custom/menu",
- "hyprland/workspaces",
- "custom/layout",
- "hyprland/window"
- ],
- "modules-center": [],
- "modules-right": [
- "group/sysmonitor",
- "custom/netspeed",
- "pulseaudio",
- "custom/touchpad",
- "custom/airplane",
- "idle_inhibitor",
- "custom/pocketbook",
- "tray",
- "custom/date",
- "custom/worldclock"
- ],
-
- "group/sysmonitor": {
- "orientation": "horizontal",
- "swap-icon-label": false,
- "modules": [
- "cpu",
- "temperature",
- "memory",
- "custom/disk",
- "battery"
- ]
- },
-
- "custom/menu": {
- "format": " ",
- "tooltip": false,
- "on-click": "fuzzel",
- "on-click-right": "pgrep -x wlogout || wlogout -b 3 -T 600 -B 600 -L 1200 -R 1200 -c 20 -r 20"
- },
-
- "hyprland/workspaces": {
- "disable-scroll": true,
- "all-outputs": true,
- "format": "{name}",
- "sort-by-number": true
- },
-
- "custom/layout": {
- "exec": "waybar-layout",
- "return-type": "json",
- "interval": 1,
- "on-click": "cycle-layout"
- },
-
- "hyprland/window": {
- "max-length": 50,
- "separate-outputs": true
- },
-
- "cpu": {
- "interval": 10,
- "format": "<span size='large'>󰍛</span> {}%",
- "on-click": "pypr toggle monitor"
- },
-
- "temperature": {
- "interval": 10,
- "hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon",
- "input-filename": "temp1_input",
- "warning-threshold": 80,
- "critical-threshold": 80,
- "format": "<span size='large'>󰔏</span> {temperatureC}°C",
- "format-critical": "<span size='large'>󰸁</span> {temperatureC}°C",
- "on-click": "pypr toggle monitor"
- },
-
- "memory": {
- "interval": 30,
- "format": "<span size='large'>󰘚</span> {}%",
- "on-click": "pypr toggle monitor"
- },
-
- "custom/disk": {
- "exec": "waybar-disk",
- "return-type": "json",
- "interval": 30,
- "format": "<span size='large'>󰆼</span> {}",
- "on-click": "pypr toggle monitor"
- },
-
- "custom/netspeed": {
- "exec": "waybar-netspeed",
- "return-type": "json",
- "interval": 2,
- "on-click": "pypr toggle network"
- },
-
- "battery": {
- "bat": "BAT1",
- "interval": 30,
- "states": {
- "warning": 30,
- "critical": 15
- },
- "format": "<span size='large'>{icon}</span> {capacity}%",
- "format-charging": "<span size='large'>󰂄</span> {capacity}%",
- "format-plugged": "<span size='large'>󰚥</span> {capacity}%",
- "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"],
- "tooltip-format": "{timeTo}"
- },
-
- "tray": {
- "icon-size": 22,
- "spacing": 4
- },
-
- "custom/date": {
- "exec": "waybar-date",
- "return-type": "json",
- "interval": 60
- },
-
- "custom/worldclock": {
- "exec": "waybar-worldclock",
- "return-type": "json",
- "interval": 30
- },
-
- "pulseaudio": {
- "format": "<span size='large'>{icon}</span> {volume}%",
- "format-muted": "<span size='large'>󰝟</span> Muted",
- "format-icons": {"default": ["󰕿", "󰖀", "󰕾"]},
- "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
- "on-click-right": "pypr toggle audio",
- "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +5%",
- "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -5%"
- },
-
- "custom/touchpad": {
- "exec": "waybar-touchpad",
- "return-type": "json",
- "signal": 9,
- "on-click": "toggle-touchpad"
- },
-
- "custom/airplane": {
- "exec": "waybar-airplane",
- "return-type": "json",
- "signal": 10,
- "on-click": "airplane-mode"
- },
-
- "idle_inhibitor": {
- "format": "<span size='large'>{icon}</span>",
- "format-icons": {
- "activated": "󰅶",
- "deactivated": "󰾪"
- },
- "tooltip-format-activated": "Idle inhibitor: ON (screen will not lock)",
- "tooltip-format-deactivated": "Idle inhibitor: OFF"
- },
-
- "custom/pocketbook": {
- "format": "<span size='large' color='#969385'>󱞁</span> ",
- "tooltip": false,
- "on-click": "pocketbook"
- }
-}
diff --git a/dotfiles/hyprland/.config/waybar/style.css b/dotfiles/hyprland/.config/waybar/style.css
deleted file mode 100644
index cd158d0..0000000
--- a/dotfiles/hyprland/.config/waybar/style.css
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Waybar style - Dupre theme */
-/* Warm, earthy colors from dupre-theme.el */
-
-* {
- border: none;
- border-radius: 0;
- /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */
- font-size: 14px;
- min-height: 0;
- font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
-}
-
-window#waybar {
- background: transparent;
-}
-
-#workspaces {
- padding: 0.2rem;
-}
-
-#workspaces button {
- min-width: 34px;
- min-height: 32px;
- padding: 0;
- margin: 0.15rem;
- background-color: transparent;
- color: #969385;
- background-image: url("/home/cjennings/.config/waybar/ws-icons/ws-inactive.svg");
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- border-radius: 50%;
- transition: all 0.3s ease;
-}
-
-#workspaces button.active {
- background-image: url("/home/cjennings/.config/waybar/ws-icons/ws-active.svg");
- color: #151311;
-}
-
-#custom-menu {
- background-image: url("/home/cjennings/.config/waybar/arch-logo.svg");
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- background-color: transparent;
- border-radius: 1rem;
- min-width: 2.0rem;
- padding: 0;
- margin: 0.15rem;
- transition: all 0.3s ease;
-}
-
-#workspaces button.urgent {
- background-color: rgba(212, 124, 89, 0.4);
-}
-
-.modules-right, .modules-left {
- background-color: #151311;
- border-radius: 1rem;
- padding: 0.1rem 0.6rem;
- margin: 0.3rem;
- border: 0.095rem solid #d7af5f;
- box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
-}
-
-#cpu,
-#temperature,
-#memory,
-#custom-disk,
-#custom-netspeed,
-#battery,
-#pulseaudio,
-#idle_inhibitor,
-#tray,
-#custom-date,
-#custom-worldclock,
-#custom-layout,
-#custom-touchpad,
-#custom-airplane,
-#window {
- padding: 0.45rem;
- margin: 0.3rem;
- color: #969385;
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#sysmonitor {
- background-color: transparent;
- border-radius: 1rem;
-}
-
-#cpu:hover,
-#temperature:hover,
-#memory:hover,
-#custom-disk:hover,
-#custom-netspeed:hover,
-#pulseaudio:hover,
-#sysmonitor:hover,
-#custom-touchpad:hover,
-#custom-airplane:hover,
-#custom-layout:hover {
- background-color: #474544;
- border-radius: 1rem;
-}
-
-
-#custom-netspeed.disconnected {
- color: #d47c59;
-}
-
-#custom-touchpad.disabled {
- color: #d47c59;
-}
-
-#custom-airplane.active {
- color: #d7af5f;
-}
-
-#temperature.warning {
- color: #d7af5f;
-}
-
-#temperature.critical {
- color: #d47c59;
-}
-
-#custom-disk.warning {
- color: #d7af5f;
-}
-
-#custom-disk.critical {
- color: #d47c59;
-}
-
-#battery.warning {
- color: #d7af5f;
-}
-
-#battery.critical {
- color: #d47c59;
-}
-
-#custom-date {
- margin-left: 0;
- padding-left: 0;
- margin-right: 0;
- padding-right: 0.2rem;
-}
-
-#custom-worldclock {
- margin-left: 0;
- padding-left: 0.2rem;
-}
-
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
- background-color: #d7af5f;
-}
diff --git a/dotfiles/hyprland/.config/waybar/worldclock.conf b/dotfiles/hyprland/.config/waybar/worldclock.conf
deleted file mode 100644
index 3790cfc..0000000
--- a/dotfiles/hyprland/.config/waybar/worldclock.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# World Clock Timezones — one per line, earliest to latest
-# Format: Timezone|Label
-# Lines starting with # are ignored
-Pacific/Honolulu|Honolulu
-America/Anchorage|Anchorage
-America/Los_Angeles|Berkeley
-America/Chicago|New Orleans
-America/New_York|New York
-Europe/London|London
-Europe/Paris|Paris
-Europe/Athens|Athens
-Europe/Istanbul|Istanbul
-Asia/Yerevan|Yerevan
-Asia/Kolkata|Delhi
-Asia/Shanghai|Shanghai
-Asia/Tokyo|Tokyo
-Australia/Sydney|Sydney
-Pacific/Auckland|Wellington
diff --git a/dotfiles/hyprland/.config/waybar/ws-icons/ws-active.svg b/dotfiles/hyprland/.config/waybar/ws-icons/ws-active.svg
deleted file mode 100644
index e03c509..0000000
--- a/dotfiles/hyprland/.config/waybar/ws-icons/ws-active.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="-3 -3 70 70" version="1.1">
- <circle cx="32" cy="32" r="35" fill="#d7af5f" stroke="none"/>
-</svg>
diff --git a/dotfiles/hyprland/.config/waybar/ws-icons/ws-inactive.svg b/dotfiles/hyprland/.config/waybar/ws-icons/ws-inactive.svg
deleted file mode 100644
index 11da8ff..0000000
--- a/dotfiles/hyprland/.config/waybar/ws-icons/ws-inactive.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="-3 -3 70 70" version="1.1">
- <circle cx="32" cy="32" r="35" fill="#151311" stroke="none"/>
-</svg>
diff --git a/dotfiles/hyprland/.config/waypaper/config.ini b/dotfiles/hyprland/.config/waypaper/config.ini
deleted file mode 100644
index 08464f2..0000000
--- a/dotfiles/hyprland/.config/waypaper/config.ini
+++ /dev/null
@@ -1,39 +0,0 @@
-[Settings]
-language = en
-folder = ~/pictures/wallpaper
-monitors = All
-wallpaper = ~/pictures/wallpaper/saves-more-than-text.png
-show_path_in_tooltip = True
-backend = swww
-fill = fill
-sort = name
-color = #3D3846
-subfolders = False
-all_subfolders = False
-show_hidden = False
-show_gifs_only = False
-zen_mode = False
-post_command =
-number_of_columns = 3
-swww_transition_type = none
-swww_transition_step = 63
-swww_transition_angle = 0
-swww_transition_duration = 2
-swww_transition_fps = 60
-mpvpaper_sound = False
-mpvpaper_options =
-use_xdg_state = False
-stylesheet = /home/cjennings/.config/waypaper/style.css
-keybindings = ~/.config/waypaper/keybindings.ini
-wallpaperengine_folder = ~/.steam/root/steamapps/workshop/content/431960
-linux_wallpaperengine_clamp = none
-linux_wallpaperengine_volume = 15
-linux_wallpaperengine_silent = False
-linux_wallpaperengine_noautomute = False
-linux_wallpaperengine_no_audio_processing = False
-linux_wallpaperengine_fps = 30
-linux_wallpaperengine_disable_particles = True
-linux_wallpaperengine_disable_mouse = False
-linux_wallpaperengine_disable_parallax = False
-linux_wallpaperengine_no_fullscreen_pause = False
-
diff --git a/dotfiles/hyprland/.config/wlogout/layout b/dotfiles/hyprland/.config/wlogout/layout
deleted file mode 100644
index 878e75d..0000000
--- a/dotfiles/hyprland/.config/wlogout/layout
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "label" : "lock",
- "action" : "hyprlock",
- "text" : "󰌾",
- "keybind" : "l"
-}
-{
- "label" : "logout",
- "action" : "hyprctl dispatch exit",
- "text" : "󰍃",
- "keybind" : "e"
-}
-{
- "label" : "suspend",
- "action" : "systemctl suspend",
- "text" : "󰒲",
- "keybind" : "u"
-}
-{
- "label" : "hibernate",
- "action" : "systemctl hibernate",
- "text" : "󰖔",
- "keybind" : "h"
-}
-{
- "label" : "reboot",
- "action" : "systemctl reboot",
- "text" : "󰜉",
- "keybind" : "r"
-}
-{
- "label" : "shutdown",
- "action" : "systemctl poweroff",
- "text" : "󰐥",
- "keybind" : "s"
-}
diff --git a/dotfiles/hyprland/.config/wlogout/style.css b/dotfiles/hyprland/.config/wlogout/style.css
deleted file mode 100644
index 658e3c9..0000000
--- a/dotfiles/hyprland/.config/wlogout/style.css
+++ /dev/null
@@ -1,37 +0,0 @@
-/* wlogout style - Dupre theme */
-/* Dupre palette:
- bg: #151311, black: #252321, br_black: #474544, muted: #58574e
- steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f
- red: #d47c59, green: #a4ac64, blue: #67809c, magenta: #b294bb
-*/
-
-* {
- background-image: none;
- box-shadow: none;
- font-family: "BerkeleyMono Nerd Font", monospace;
-}
-
-window {
- background-color: rgba(21, 19, 17, 0.6);
-}
-
-button {
- border-radius: 10px;
- border-color: #151311;
- color: #969385;
- background-color: #151311;
- border-style: solid;
- border-width: 2px;
- font-size: 96px;
-}
-
-button:hover, button:focus {
- background-color: #151311;
- border-color: #d7af5f;
- color: #d7af5f;
- outline-style: none;
-}
-
-button:active {
- background-color: #474544;
-}
diff --git a/dotfiles/hyprland/.config/wofi/config b/dotfiles/hyprland/.config/wofi/config
deleted file mode 100644
index c023353..0000000
--- a/dotfiles/hyprland/.config/wofi/config
+++ /dev/null
@@ -1,12 +0,0 @@
-show=drun
-width=480
-height=400
-always_parse_args=true
-show_all=false
-print_command=true
-layer=overlay
-insensitive=true
-prompt=Search
-image_size=24
-columns=1
-allow_images=true
diff --git a/dotfiles/hyprland/.config/wofi/power-menu.css b/dotfiles/hyprland/.config/wofi/power-menu.css
deleted file mode 100644
index a9dd9ba..0000000
--- a/dotfiles/hyprland/.config/wofi/power-menu.css
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Wofi power menu - Dupre theme */
-/* Dupre palette:
- bg: #151311, black: #252321, br_black: #474544, muted: #58574e
- steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f
-*/
-
-* {
- font-family: "BerkeleyMono Nerd Font", monospace;
-}
-
-window {
- margin: 0px;
- border: 2px solid #67809c;
- border-radius: 0px;
- background-color: rgba(21, 19, 17, 0.9);
-}
-
-#input {
- margin: 0px;
- padding: 0px;
- border: none;
- background-color: transparent;
- color: transparent;
- min-height: 0px;
-}
-
-#inner-box {
- margin: 15px;
-}
-
-#outer-box {
- margin: 0px;
- padding: 0px;
-}
-
-#scroll {
- margin: 0px;
-}
-
-#text {
- padding: 15px;
- color: #969385;
- font-size: 32px;
-}
-
-#entry box {
- justify-content: center;
- align-items: center;
-}
-
-#entry {
- border-radius: 0px;
- background-color: #151311;
- border: 2px solid #474544;
- margin: 5px;
-}
-
-#entry:selected {
- background-color: #252321;
- border-color: #67809c;
-}
-
-#entry:selected #text {
- color: #67809c;
-}
diff --git a/dotfiles/hyprland/.config/wofi/style.css b/dotfiles/hyprland/.config/wofi/style.css
deleted file mode 100644
index 84072bf..0000000
--- a/dotfiles/hyprland/.config/wofi/style.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Wofi style - matching rofi rounded-gray-dark theme */
-/* Colors: bg0=#383c4a, bg1=#2d303c, fg0=#cdd1dc, fg2=#969696 */
-
-window {
- margin: 0px;
- border: 1px solid #2d303c;
- border-radius: 10px;
- background-color: rgba(56, 60, 74, 0.94);
- font-family: "FiraCode Nerd Font Mono";
- font-size: 10pt;
-}
-
-#input {
- margin: 12px;
- padding: 12px 20px;
- border: 1px solid #2d303c;
- border-radius: 6px;
- background-color: #2d303c;
- color: #cdd1dc;
-}
-
-#input:focus {
- border-color: #4a4e5c;
-}
-
-#inner-box {
- margin: 0px 12px 12px 12px;
-}
-
-#outer-box {
- margin: 0px;
- padding: 0px;
-}
-
-#scroll {
- margin: 0px;
-}
-
-#text {
- margin: 0px;
- padding: 8px 16px;
- color: #cdd1dc;
-}
-
-#entry {
- border-radius: 6px;
-}
-
-#entry:selected {
- background-color: #2d303c;
-}
-
-#entry:selected #text {
- color: #ffffff;
-}
-
-#img {
- margin-right: 8px;
-}
diff --git a/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf b/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf
deleted file mode 100644
index 4ddf5aa..0000000
--- a/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[preferred]
-default=hyprland;gtk
-org.freedesktop.impl.portal.Settings=gtk
diff --git a/dotfiles/hyprland/.gnupg/gpg-agent.conf b/dotfiles/hyprland/.gnupg/gpg-agent.conf
deleted file mode 100644
index 068f889..0000000
--- a/dotfiles/hyprland/.gnupg/gpg-agent.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# Pinentry configuration (Wayland/Hyprland)
-pinentry-program ~/.local/bin/pinentry-fuzzel
-pinentry-timeout 10
-allow-loopback-pinentry
-
-# Cache passphrases for entire login session (400 days)
-default-cache-ttl 34560000
-max-cache-ttl 34560000
-
-# Enable SSH support (use gpg-agent for SSH keys too)
-enable-ssh-support
-
-# Prevent external programs from clearing cache
-no-allow-external-cache
-
-# Keep running even when no connections
-keep-display
-keep-tty
diff --git a/dotfiles/hyprland/.local/bin/airplane-mode b/dotfiles/hyprland/.local/bin/airplane-mode
deleted file mode 100755
index 4f5ed9c..0000000
--- a/dotfiles/hyprland/.local/bin/airplane-mode
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-# airplane-mode — toggle a low-power "airplane" state for a laptop.
-#
-# Engage: record the current state of each lever, then apply low-power values:
-# - wifi off (nmcli; bluetooth is left alone, on purpose — earbuds)
-# - CPU energy-performance preference -> power (intel_pstate, via sysfs)
-# - display brightness dimmed
-# - stop network-only services (VPNs, sync, discovery, inbound SSH)
-# Disengage: read the recorded state and restore exactly what was there. A
-# lever already in its low-power position before engaging (e.g. wifi already
-# off, a service already stopped) is left untouched on disengage.
-#
-# State lives at $XDG_RUNTIME_DIR/airplane-state as key=value lines. The
-# waybar-airplane indicator reads `mode` from it.
-#
-# Env knobs (defaults are the real system; tests override them):
-# AIRPLANE_EPP_GLOB glob of EPP sysfs files
-# AIRPLANE_BRIGHTNESS_LOW brightnessctl target while engaged
-# AIRPLANE_SYSTEM_SERVICES system units to stop (sudo)
-# AIRPLANE_USER_SERVICES --user units to stop
-
-STATE_FILE="${XDG_RUNTIME_DIR:-/tmp}/airplane-state"
-SUDO="${AIRPLANE_SUDO:-sudo}"
-EPP_GLOB="${AIRPLANE_EPP_GLOB:-/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference}"
-BRIGHTNESS_LOW="${AIRPLANE_BRIGHTNESS_LOW:-35%}"
-SYSTEM_SERVICES="${AIRPLANE_SYSTEM_SERVICES:-tailscaled.service proton.VPN.service avahi-daemon.service cups.service wsdd.service geoclue.service sshd.service fail2ban.service}"
-USER_SERVICES="${AIRPLANE_USER_SERVICES:-syncthing.service}"
-
-read_key() { sed -n "s/^$1=//p" "$STATE_FILE" 2>/dev/null | head -n1; }
-
-set_epp() {
- # Write $1 to every EPP file. Needs root; glob expands inside the subshell.
- $SUDO sh -c "for f in $EPP_GLOB; do [ -e \"\$f\" ] && echo $1 > \"\$f\"; done" 2>/dev/null
-}
-
-first_epp() {
- for f in $EPP_GLOB; do
- [ -e "$f" ] && { cat "$f"; return; }
- done
-}
-
-engage() {
- # --- record current state ---
- wifi_was=$(nmcli radio wifi 2>/dev/null)
- epp_was=$(first_epp)
- bright_was=$(brightnessctl get 2>/dev/null)
-
- stopped_system=""
- for s in $SYSTEM_SERVICES; do
- if systemctl is-active --quiet "$s" 2>/dev/null; then
- $SUDO systemctl stop "$s" 2>/dev/null && stopped_system="$stopped_system $s"
- fi
- done
- stopped_user=""
- for s in $USER_SERVICES; do
- if systemctl --user is-active --quiet "$s" 2>/dev/null; then
- systemctl --user stop "$s" 2>/dev/null && stopped_user="$stopped_user $s"
- fi
- done
-
- # --- apply low-power settings ---
- nmcli radio wifi off 2>/dev/null
- set_epp power
- brightnessctl set "$BRIGHTNESS_LOW" >/dev/null 2>&1
-
- # --- persist what we recorded ---
- {
- echo "mode=on"
- echo "wifi=$wifi_was"
- echo "epp=$epp_was"
- echo "brightness=$bright_was"
- echo "stopped_system=$stopped_system"
- echo "stopped_user=$stopped_user"
- } > "$STATE_FILE"
-
- notify info "Airplane mode" "ON — wifi off, low power" 2>/dev/null
-}
-
-disengage() {
- wifi_was=$(read_key wifi)
- epp_was=$(read_key epp)
- bright_was=$(read_key brightness)
- stopped_system=$(read_key stopped_system)
- stopped_user=$(read_key stopped_user)
-
- # Only restore a lever that was NOT already in its low-power state.
- [ "$wifi_was" = "enabled" ] && nmcli radio wifi on 2>/dev/null
- [ -n "$epp_was" ] && set_epp "$epp_was"
- [ -n "$bright_was" ] && brightnessctl set "$bright_was" >/dev/null 2>&1
-
- for s in $stopped_system; do
- $SUDO systemctl start "$s" 2>/dev/null
- done
- for s in $stopped_user; do
- systemctl --user start "$s" 2>/dev/null
- done
-
- echo "mode=off" > "$STATE_FILE"
- notify info "Airplane mode" "OFF — settings restored" 2>/dev/null
-}
-
-case "$(read_key mode)" in
- on) disengage ;;
- *) engage ;;
-esac
-
-# Refresh the waybar indicator immediately (custom/airplane listens on signal 10).
-pkill -RTMIN+10 waybar 2>/dev/null
-
-exit 0
diff --git a/dotfiles/hyprland/.local/bin/cycle-layout b/dotfiles/hyprland/.local/bin/cycle-layout
deleted file mode 100755
index 310c182..0000000
--- a/dotfiles/hyprland/.local/bin/cycle-layout
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# Cycle through Hyprland layouts
-# Cycle: master -> scrolling -> monocle -> floating -> master
-
-LAYOUT=$(hyprctl getoption general:layout -j | jq -r '.str')
-FLOATING=$(hyprctl activewindow -j 2>/dev/null | jq -r '.floating // false')
-
-# Check if we're in "all floating" mode by checking layout
-case "$LAYOUT" in
- master)
- hyprctl keyword general:layout scrolling
- ;;
- scrolling)
- hyprctl keyword general:layout monocle
- ;;
- monocle)
- # Switch to master but float all windows
- hyprctl keyword general:layout master
- hyprctl dispatch workspaceopt allfloat
- ;;
- *)
- # Return to master tiled
- hyprctl dispatch workspaceopt allfloat
- hyprctl keyword general:layout master
- hyprctl keyword master:orientation left
- ;;
-esac
diff --git a/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad b/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad
deleted file mode 100755
index 7a4bb38..0000000
--- a/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-# Refocus visible scratchpad after a window closes.
-# Without this, closing a regular window while a scratchpad is visible
-# leaves focus on the regular workspace instead of the scratchpad.
-
-SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
-
-socat -U - "UNIX-CONNECT:$SOCKET" | while read -r line; do
- if [[ "$line" == closewindow* ]]; then
- # Check if a special workspace is active on the current monitor
- special=$(hyprctl monitors -j | python3 -c "
-import json, sys
-for m in json.load(sys.stdin):
- sw = m.get('specialWorkspace', {})
- if sw.get('id', 0) != 0:
- print(sw['name'])
- break
-" 2>/dev/null)
- if [[ -n "$special" ]]; then
- # Focus the top window on the special workspace
- hyprctl dispatch focuswindow "workspace:$special" &>/dev/null
- fi
- fi
-done
diff --git a/dotfiles/hyprland/.local/bin/layout-cycle b/dotfiles/hyprland/.local/bin/layout-cycle
deleted file mode 100755
index dcc7b6b..0000000
--- a/dotfiles/hyprland/.local/bin/layout-cycle
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# Cycle Hyprland layout forward (next) or backward (prev)
-# Usage: layout-cycle next | layout-cycle prev
-
-LAYOUTS="master scrolling monocle"
-CURRENT=$(hyprctl getoption general:layout -j | jq -r '.str')
-DIR="${1:-next}"
-
-set -- $LAYOUTS
-COUNT=$#
-INDEX=0
-
-i=0
-for layout in $LAYOUTS; do
- if [ "$layout" = "$CURRENT" ]; then
- INDEX=$i
- break
- fi
- i=$((i + 1))
-done
-
-if [ "$DIR" = "next" ]; then
- INDEX=$(( (INDEX + 1) % COUNT ))
-else
- INDEX=$(( (INDEX - 1 + COUNT) % COUNT ))
-fi
-
-i=0
-for layout in $LAYOUTS; do
- if [ $i -eq $INDEX ]; then
- hyprctl keyword general:layout "$layout"
- break
- fi
- i=$((i + 1))
-done
diff --git a/dotfiles/hyprland/.local/bin/layout-navigate b/dotfiles/hyprland/.local/bin/layout-navigate
deleted file mode 100755
index 89af45f..0000000
--- a/dotfiles/hyprland/.local/bin/layout-navigate
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# Layout-aware navigation for Hyprland
-# Usage: layout-navigate <direction> [move]
-# direction: next|prev
-# move: if present, move window instead of focus
-
-DIR="$1"
-MOVE="$2"
-
-ACTIVE_JSON=$(hyprctl activewindow -j)
-FLOATING=$(echo "$ACTIVE_JSON" | jq -r '.floating')
-WS_NAME=$(echo "$ACTIVE_JSON" | jq -r '.workspace.name')
-LAYOUT=$(hyprctl getoption general:layout -j | jq -r '.str')
-
-# If the active window is in a special workspace (scratchpad overlay) and we
-# are navigating focus (not moving), hide the overlay first. layoutmsg/cyclenext
-# cannot cross the overlay→regular boundary, so without this the $mod+J key
-# gets trapped inside the scratchpad.
-case "$WS_NAME" in
- special:*)
- if [ "$MOVE" != "move" ]; then
- hyprctl dispatch togglespecialworkspace "${WS_NAME#special:}"
- # Re-read state: focus has moved to the regular workspace.
- ACTIVE_JSON=$(hyprctl activewindow -j)
- FLOATING=$(echo "$ACTIVE_JSON" | jq -r '.floating')
- fi
- ;;
-esac
-
-# If current window is floating, use cyclenext to reach tiled windows
-if [ "$FLOATING" = "true" ] && [ "$MOVE" != "move" ]; then
- if [ "$DIR" = "next" ]; then
- hyprctl dispatch cyclenext tiled
- else
- hyprctl dispatch cyclenext prev tiled
- fi
- exit 0
-fi
-
-case "$LAYOUT" in
- scrolling)
- # J (next) goes left, K (prev) goes right
- if [ "$MOVE" = "move" ]; then
- if [ "$DIR" = "next" ]; then
- hyprctl dispatch swapwindow l
- else
- hyprctl dispatch swapwindow r
- fi
- else
- if [ "$DIR" = "next" ]; then
- hyprctl dispatch layoutmsg focus l
- else
- hyprctl dispatch layoutmsg focus r
- fi
- fi
- ;;
- *)
- # master, dwindle, etc.
- if [ "$MOVE" = "move" ]; then
- if [ "$DIR" = "next" ]; then
- hyprctl dispatch layoutmsg swapnext
- else
- hyprctl dispatch layoutmsg swapprev
- fi
- else
- if [ "$DIR" = "next" ]; then
- hyprctl dispatch layoutmsg cyclenext
- else
- hyprctl dispatch layoutmsg cycleprev
- fi
- fi
- ;;
-esac
diff --git a/dotfiles/hyprland/.local/bin/layout-resize b/dotfiles/hyprland/.local/bin/layout-resize
deleted file mode 100755
index 70742c5..0000000
--- a/dotfiles/hyprland/.local/bin/layout-resize
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# Layout-aware resize for Hyprland
-# Usage: layout-resize <grow|shrink>
-
-DIR="$1"
-LAYOUT=$(hyprctl getoption general:layout -j | jq -r '.str')
-
-case "$LAYOUT" in
- scrolling)
- if [ "$DIR" = "grow" ]; then
- hyprctl dispatch resizeactive 50 0
- else
- hyprctl dispatch resizeactive -50 0
- fi
- ;;
- *)
- # master, dwindle, etc.
- if [ "$DIR" = "grow" ]; then
- hyprctl dispatch layoutmsg mfact 0.05
- else
- hyprctl dispatch layoutmsg mfact -0.05
- fi
- ;;
-esac
diff --git a/dotfiles/hyprland/.local/bin/monitor-dashboard b/dotfiles/hyprland/.local/bin/monitor-dashboard
deleted file mode 100755
index ad456d4..0000000
--- a/dotfiles/hyprland/.local/bin/monitor-dashboard
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# monitor-dashboard - system monitor
-exec btop
diff --git a/dotfiles/hyprland/.local/bin/pinentry-fuzzel b/dotfiles/hyprland/.local/bin/pinentry-fuzzel
deleted file mode 100755
index 5c64968..0000000
--- a/dotfiles/hyprland/.local/bin/pinentry-fuzzel
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-
-ENABLE_LOGGING="TRUE"
-logger() {
- if [ "$ENABLE_LOGGING" == "TRUE" ]; then
- /usr/bin/logger -t "${0} [$]" "$@";
- fi
-}
-
-# Decode URL-encoded characters (%0A = newline, %20 = space, etc.)
-decode() {
- printf '%b' "$(echo "$1" | sed 's/%\([0-9A-Fa-f][0-9A-Fa-f]\)/\\x\1/g')"
-}
-
-# Base command and misc variables
-DESC=""
-PROMPT=""
-COUNTFILE="/tmp/pinentry-fuzzel-count-$$"
-
-# Check if this is a repeat prompt (within 5 seconds of last)
-LASTFILE="/tmp/pinentry-fuzzel-last"
-NOW=$(date +%s)
-if [ -f "$LASTFILE" ]; then
- LAST=$(cat "$LASTFILE")
- if [ $((NOW - LAST)) -lt 5 ]; then
- REPEAT=1
- else
- REPEAT=0
- fi
-else
- REPEAT=0
-fi
-echo "$NOW" > "$LASTFILE"
-
-echo "OK Please go ahead"
-while read cmd rest; do
- logger "RAW=< ${cmd} ${rest} >"
- logger "cmd=<${cmd}> rest=<${rest}>"
-
- case $cmd in
- GETINFO)
- case "$rest" in
- flavor)
- echo "D fuzzel"
- echo "OK"
- ;;
- version)
- echo "D 0.1"
- echo "OK"
- ;;
- ttyinfo)
- echo "D - - -"
- echo "OK"
- ;;
- pid)
- echo "D $$"
- echo "OK"
- ;;
- esac
- ;;
-
- SETDESC)
- DESC=$(decode "$rest")
- echo "OK"
- ;;
-
- SETERROR)
- logger "ERROR $rest"
- # Silently acknowledge errors (e.g., empty passphrase on escape)
- echo "OK"
- ;;
-
- SETPROMPT)
- PROMPT=$(decode "$rest")
- # Remove trailing colon if present (we add our own)
- PROMPT="${PROMPT%:}"
- echo "OK"
- ;;
-
- GETPIN | getpin)
- if [ "$REPEAT" -eq 0 ]; then
- LABEL="password: "
- else
- LABEL="reenter: "
- fi
- PASS=$(fuzzel --prompt "$LABEL" --width 35 --lines 0 --cache /dev/null --password --dmenu --border-color=d47c59ff)
- if [ -z "$PASS" ]; then
- # User cancelled - return error to GPG
- rm -f "$LASTFILE"
- echo "ERR 83886179 Operation cancelled"
- else
- echo "D $PASS"
- echo "OK"
- fi
- ;;
-
- BYE|bye)
- echo "OK closing connection"
- logger "EXITING"
- exit 0
- ;;
-
- *)
- echo "OK"
- ;;
- esac
-done
diff --git a/dotfiles/hyprland/.local/bin/screenshot b/dotfiles/hyprland/.local/bin/screenshot
deleted file mode 100755
index 45925c6..0000000
--- a/dotfiles/hyprland/.local/bin/screenshot
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Screenshot tool with fuzzel menu
-# Usage: screenshot [region|fullscreen]
-
-DIR="$HOME/pictures/screenshots"
-mkdir -p "$DIR"
-FILE="$DIR/$(date +%Y-%m-%d_%H%M%S).png"
-
-# Capture
-case "${1:-region}" in
- region) grim -g "$(slurp)" "$FILE" || exit 1 ;;
- fullscreen) grim "$FILE" || exit 1 ;;
-esac
-
-# Menu
-CHOICE=$(printf '󰅍 Copy Path\n󰋩 Copy Image\n󰏫 Annotate' | \
- fuzzel --dmenu --prompt "Screenshot: " --width 20 --lines 3)
-
-case "$CHOICE" in
- *"Copy Path"*) echo -n "$FILE" | wl-copy --type text/plain ;;
- *"Copy Image"*) wl-copy --type image/png < "$FILE" ;;
- *"Annotate"*) satty --filename "$FILE" --output-filename "$FILE" --copy-command wl-copy ;;
-esac
diff --git a/dotfiles/hyprland/.local/bin/set-theme b/dotfiles/hyprland/.local/bin/set-theme
deleted file mode 100755
index 075e47b..0000000
--- a/dotfiles/hyprland/.local/bin/set-theme
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh
-# Theme switcher for Hyprland desktop
-# Usage: set-theme <theme-name>
-# set-theme --toggle
-# set-theme --current
-# Available themes: dupre, hudson
-
-THEME_DIR="$HOME/.config/themes"
-CURRENT_FILE="$HOME/.config/current-theme"
-
-# Get current theme
-get_current() {
- if [ -f "$CURRENT_FILE" ]; then
- cat "$CURRENT_FILE"
- else
- echo "hudson" # default
- fi
-}
-
-# List available themes
-list_themes() {
- for dir in "$THEME_DIR"/*/; do
- basename "$dir"
- done
-}
-
-# Apply a theme
-apply_theme() {
- theme="$1"
-
- if [ ! -d "$THEME_DIR/$theme" ]; then
- echo "Error: Theme '$theme' not found in $THEME_DIR"
- echo "Available themes: $(list_themes | tr '\n' ' ')"
- exit 1
- fi
-
- echo "Applying theme: $theme"
-
- # Copy configs that don't support sourcing
- cp "$THEME_DIR/$theme/foot.ini" "$HOME/.config/foot/foot.ini"
- cp "$THEME_DIR/$theme/fuzzel.ini" "$HOME/.config/fuzzel/fuzzel.ini"
- cp "$THEME_DIR/$theme/waybar.css" "$HOME/.config/waybar/style.css"
- cp "$THEME_DIR/$theme/dunstrc" "$HOME/.config/dunst/dunstrc"
- cp "$THEME_DIR/$theme/hyprlock.conf" "$HOME/.config/hypr/hyprlock.conf"
- cp "$THEME_DIR/$theme/Xresources" "$HOME/.Xresources"
-
- # Apply Xresources (for X11 apps and Emacs)
- xrdb -merge "$HOME/.Xresources" 2>/dev/null
-
- # Apply Hyprland colors directly via hyprctl
- case "$theme" in
- dupre)
- # Window borders
- hyprctl keyword general:col.active_border "rgba(d7af5fff)"
- hyprctl keyword general:col.inactive_border "rgba(474544ff)"
- ;;
- hudson)
- # Window borders
- hyprctl keyword general:col.active_border "rgba(daa520ff)"
- hyprctl keyword general:col.inactive_border "rgba(444444ff)"
- ;;
- esac
-
- # Save current theme
- echo "$theme" > "$CURRENT_FILE"
-
- # Set default wallpaper
- swww img ~/pictures/wallpaper/trondheim-norway.jpg 2>/dev/null
-
- # Reload applications
- killall -SIGUSR2 waybar 2>/dev/null
- pkill dunst && dunst &
-
- # Notify user
- notify-send "Theme" "Switched to $theme" -t 2000
-
- echo "Theme '$theme' applied. Open new terminals to see changes."
-}
-
-# Toggle between themes
-toggle_theme() {
- current=$(get_current)
- case "$current" in
- dupre) apply_theme "hudson" ;;
- hudson) apply_theme "dupre" ;;
- *) apply_theme "dupre" ;;
- esac
-}
-
-# Show picker with fuzzel
-pick_theme() {
- themes=$(list_themes)
- current=$(get_current)
- selected=$(echo "$themes" | fuzzel --dmenu --prompt "Theme (current: $current): ")
- if [ -n "$selected" ]; then
- apply_theme "$selected"
- fi
-}
-
-# Main
-case "$1" in
- --toggle|-t)
- toggle_theme
- ;;
- --current|-c)
- get_current
- ;;
- --list|-l)
- list_themes
- ;;
- --pick|-p)
- pick_theme
- ;;
- --help|-h)
- echo "Usage: set-theme <theme-name>"
- echo " set-theme --toggle Toggle between themes"
- echo " set-theme --current Show current theme"
- echo " set-theme --list List available themes"
- echo " set-theme --pick Pick theme with fuzzel"
- echo ""
- echo "Available themes: $(list_themes | tr '\n' ' ')"
- ;;
- "")
- pick_theme
- ;;
- *)
- apply_theme "$1"
- ;;
-esac
diff --git a/dotfiles/hyprland/.local/bin/start-hyprland b/dotfiles/hyprland/.local/bin/start-hyprland
deleted file mode 100755
index a5d191d..0000000
--- a/dotfiles/hyprland/.local/bin/start-hyprland
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-# Wrapper to launch Hyprland with persistent logging
-# Shadows /usr/bin/start-hyprland when ~/.local/bin is in PATH
-
-LOG_DIR="$HOME/.local/var/log"
-TIMESTAMP=$(date +%Y-%m-%d-%H%M%S)
-LOG_FILE="$LOG_DIR/hyprland-$TIMESTAMP.log"
-
-mkdir -p "$LOG_DIR"
-
-exec /usr/bin/start-hyprland "$@" > "$LOG_FILE" 2>&1
diff --git a/dotfiles/hyprland/.local/bin/stash-others b/dotfiles/hyprland/.local/bin/stash-others
deleted file mode 100755
index 5af6743..0000000
--- a/dotfiles/hyprland/.local/bin/stash-others
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-# Stash all unfocused windows on current workspace to special:stash
-
-focused=$(hyprctl activewindow -j | jq -r '.address')
-workspace=$(hyprctl activewindow -j | jq -r '.workspace.id')
-
-# Get all windows on current workspace except the focused one
-hyprctl clients -j | jq -r --arg focused "$focused" --argjson ws "$workspace" \
- '.[] | select(.workspace.id == $ws and .address != $focused) | .address' | \
-while read -r addr; do
- hyprctl dispatch movetoworkspacesilent special:stash,address:"$addr"
-done
diff --git a/dotfiles/hyprland/.local/bin/stash-restore b/dotfiles/hyprland/.local/bin/stash-restore
deleted file mode 100755
index ddaa5a4..0000000
--- a/dotfiles/hyprland/.local/bin/stash-restore
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-# Restore all windows from special:stash to current workspace
-# Preserves current master window position using batch commands
-
-workspace=$(hyprctl activeworkspace -j | jq -r '.id')
-original_focus=$(hyprctl activewindow -j | jq -r '.address')
-
-# Get all windows in special:stash
-stashed=$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "special:stash") | .address')
-
-if [ -z "$stashed" ]; then
- exit 0
-fi
-
-# Restore each window, then swap original back to master (batched for atomicity)
-for addr in $stashed; do
- hyprctl --batch "dispatch movetoworkspacesilent $workspace,address:$addr ; dispatch focuswindow address:$original_focus ; dispatch layoutmsg swapwithmaster master"
-done
diff --git a/dotfiles/hyprland/.local/bin/stash-window b/dotfiles/hyprland/.local/bin/stash-window
deleted file mode 100755
index 1ffab8c..0000000
--- a/dotfiles/hyprland/.local/bin/stash-window
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-# Stash the focused window to a special workspace
-
-hyprctl dispatch movetoworkspacesilent special:stash
diff --git a/dotfiles/hyprland/.local/bin/toggle-scratchpad b/dotfiles/hyprland/.local/bin/toggle-scratchpad
deleted file mode 100755
index b3da6b4..0000000
--- a/dotfiles/hyprland/.local/bin/toggle-scratchpad
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-# Toggle a special workspace from waybar click
-# Tracks state to handle focus-loss auto-close issue
-# Usage: toggle-scratchpad <name>
-
-NAME="$1"
-if [ -z "$NAME" ]; then
- echo "Usage: toggle-scratchpad <name>"
- exit 1
-fi
-
-# Auto-detect current Hyprland socket if env var is stale
-if ! hyprctl version >/dev/null 2>&1; then
- # Find the most recent Hyprland instance with a socket
- for dir in /run/user/"$(id -u)"/hypr/*/; do
- if [ -S "${dir}.socket.sock" ]; then
- export HYPRLAND_INSTANCE_SIGNATURE="$(basename "$dir")"
- break
- fi
- done
-fi
-
-STATEFILE="/tmp/scratchpad-$NAME-open"
-NOW=$(date +%s)
-
-# If state file exists and recent, scratchpad was open and just closed by focus loss
-# Don't reopen it - user intended to close
-if [ -f "$STATEFILE" ]; then
- LAST=$(cat "$STATEFILE")
- AGE=$((NOW - LAST))
- rm -f "$STATEFILE"
- if [ "$AGE" -lt 2 ]; then
- # Was just open, user clicked to close - don't reopen
- exit 0
- fi
-fi
-
-# Opening the scratchpad - mark timestamp
-echo "$NOW" > "$STATEFILE"
-hyprctl dispatch togglespecialworkspace "$NAME"
diff --git a/dotfiles/hyprland/.local/bin/toggle-touchpad b/dotfiles/hyprland/.local/bin/toggle-touchpad
deleted file mode 100755
index ed11674..0000000
--- a/dotfiles/hyprland/.local/bin/toggle-touchpad
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# Toggle the laptop touchpad on/off
-
-TOUCHPAD="pixa3854:00-093a:0274-touchpad"
-STATE_FILE="${XDG_RUNTIME_DIR:-/tmp}/touchpad-state"
-
-# Default to enabled if no state file
-if [ ! -f "$STATE_FILE" ]; then
- echo "enabled" > "$STATE_FILE"
-fi
-
-state=$(cat "$STATE_FILE")
-
-if [ "$state" = "enabled" ]; then
- hyprctl keyword "device[$TOUCHPAD]:enabled" false >/dev/null
- echo "disabled" > "$STATE_FILE"
- notify info "Touchpad" "Disabled" --silent
-else
- hyprctl keyword "device[$TOUCHPAD]:enabled" true >/dev/null
- echo "enabled" > "$STATE_FILE"
- notify info "Touchpad" "Enabled" --silent
-fi
-
-# Refresh the waybar indicator immediately (custom/touchpad listens on signal 9).
-pkill -RTMIN+9 waybar 2>/dev/null
diff --git a/dotfiles/hyprland/.local/bin/touchpad-auto b/dotfiles/hyprland/.local/bin/touchpad-auto
deleted file mode 100755
index 830a8f2..0000000
--- a/dotfiles/hyprland/.local/bin/touchpad-auto
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-# Auto-disable touchpad when an external mouse is connected, re-enable when removed.
-# Watches Hyprland socket for device add/remove events.
-
-TOUCHPAD="pixa3854:00-093a:0274-touchpad"
-STATE_FILE="${XDG_RUNTIME_DIR:-/tmp}/touchpad-state"
-
-has_external_mouse() {
- hyprctl devices -j | jq -e '[.mice[] | select(.name != "'"$TOUCHPAD"'" and .name != "pixa3854:00-093a:0274-mouse" and (.name | test("frmw") | not))] | length > 0' >/dev/null 2>&1
-}
-
-set_touchpad() {
- hyprctl keyword "device[$TOUCHPAD]:enabled" "$1" >/dev/null
- if [ "$1" = "true" ]; then
- echo "enabled" > "$STATE_FILE"
- else
- echo "disabled" > "$STATE_FILE"
- fi
- # Refresh the waybar indicator (custom/touchpad listens on signal 9).
- pkill -RTMIN+9 waybar 2>/dev/null
-}
-
-# Set initial state
-if has_external_mouse; then
- set_touchpad false
-else
- set_touchpad true
-fi
-
-# BT mice may auto-reconnect after boot — recheck after delay
-(sleep 10 && if has_external_mouse; then set_touchpad false; fi) &
-
-# Watch for device events
-socat -u "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" - | while read -r line; do
- case "$line" in
- mouseadded\>\>*|mouseremoved\>\>*)
- sleep 0.5
- if has_external_mouse; then
- set_touchpad false
- else
- set_touchpad true
- fi
- ;;
- configreloaded\>\>*)
- sleep 0.5
- if has_external_mouse; then
- set_touchpad false
- else
- set_touchpad true
- fi
- ;;
- esac
-done
diff --git a/dotfiles/hyprland/.local/bin/waybar-airplane b/dotfiles/hyprland/.local/bin/waybar-airplane
deleted file mode 100755
index 21f869c..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-airplane
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-# Airplane-mode indicator for waybar.
-# Reads the state file the airplane-mode toggle maintains; emits one JSON line
-# (text + tooltip + class) for the custom/airplane module. The file holds
-# key=value lines; only `mode` (on/off) matters here. Anything other than
-# "on" reads as off, so a missing or garbled state file fails safe (airplane
-# mode shown as inactive — i.e. radios assumed on).
-#
-# Laptop-only: airplane mode is meaningless on a desktop, so the module hides
-# itself (emits nothing → waybar drops it) on machines with no battery.
-
-STATE_FILE="${XDG_RUNTIME_DIR:-/tmp}/airplane-state"
-PS_DIR="${AIRPLANE_POWER_SUPPLY_DIR:-/sys/class/power_supply}"
-
-# Laptop check: a battery present means this is a portable machine.
-is_laptop() {
- for b in "$PS_DIR"/BAT*; do
- [ -e "$b" ] && return 0
- done
- return 1
-}
-
-is_laptop || exit 0
-
-mode=$(sed -n 's/^mode=//p' "$STATE_FILE" 2>/dev/null | head -n1)
-
-# Same clear plane glyph in both states; the class drives the color (gold when
-# engaged, default gray when not) so there's no slash to obscure the wings.
-if [ "$mode" = "on" ]; then
- echo "{\"text\": \"<span size='large'></span>\", \"tooltip\": \"Airplane mode ON — wifi off, low power\", \"class\": \"active\"}"
-else
- echo "{\"text\": \"<span size='large'></span>\", \"tooltip\": \"Airplane mode OFF\", \"class\": \"inactive\"}"
-fi
diff --git a/dotfiles/hyprland/.local/bin/waybar-date b/dotfiles/hyprland/.local/bin/waybar-date
deleted file mode 100755
index 260b239..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-date
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# Waybar date module with two-month calendar tooltip
-DATE=$(date '+%a, %b %d %Y')
-TODAY=$(date '+%-d')
-MONTH=$(date '+%B %Y')
-
-# Generate current month (with today highlighted) stacked above next month
-NEXT_M=$(date -d 'next month' '+%-m')
-NEXT_Y=$(date -d 'next month' '+%Y')
-CUR=$(cal | sed "s/\b${TODAY}\b/<span color='#daa520'><b><u>${TODAY}<\/u><\/b><\/span>/" | sed '/^[[:space:]]*$/d')
-NEXT=$(cal "$NEXT_M" "$NEXT_Y" | sed '/^[[:space:]]*$/d')
-HIGHLIGHTED=$(printf '%s\n\n%s' "$CUR" "$NEXT")
-
-TOOLTIP="<tt>${HIGHLIGHTED}</tt>"
-
-# Escape for JSON
-TOOLTIP=$(echo "$TOOLTIP" | sed ':a;N;$!ba;s/\n/\\n/g')
-
-printf '{"text": "%s", "tooltip": "%s"}\n' "$DATE" "$TOOLTIP"
diff --git a/dotfiles/hyprland/.local/bin/waybar-disk b/dotfiles/hyprland/.local/bin/waybar-disk
deleted file mode 100755
index 6050653..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-disk
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-# Waybar disk usage module with warning/critical states
-PCT=$(df --output=pcent / | tail -1 | tr -d ' %')
-CLASS=""
-[ "$PCT" -ge 80 ] && CLASS="warning"
-[ "$PCT" -ge 90 ] && CLASS="critical"
-printf '{"text": "%s%%", "class": "%s", "tooltip": "Root: %s%% used"}\n' "$PCT" "$CLASS" "$PCT"
diff --git a/dotfiles/hyprland/.local/bin/waybar-layout b/dotfiles/hyprland/.local/bin/waybar-layout
deleted file mode 100755
index 083e9ef..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-layout
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# Hyprland layout indicator for waybar
-# Shows current layout with nerd font icons
-# Layouts: master -> scrolling -> monocle -> floating
-
-# Check if hyprctl is reachable
-if ! hyprctl version >/dev/null 2>&1; then
- echo '{"text": "<span size='"'"'large'"'"'>󰕰</span>", "tooltip": "Hyprland not connected"}'
- exit 0
-fi
-
-# Get current layout (redirect stderr to suppress connection errors)
-LAYOUT=$(hyprctl getoption general:layout -j 2>/dev/null | jq -r '.str // "unknown"')
-
-# Check workspace rules for allfloat
-WSRULES=$(hyprctl activeworkspace -j 2>/dev/null | jq -r '.rules // []')
-
-# Determine icon and tooltip
-if [ "$LAYOUT" = "master" ] && echo "$WSRULES" | grep -q "allfloat"; then
- ICON="󰖲"
- TOOLTIP="Floating"
-elif [ "$LAYOUT" = "scrolling" ]; then
- ICON="󰯍"
- TOOLTIP="Scrolling"
-elif [ "$LAYOUT" = "monocle" ]; then
- ICON="󰊓"
- TOOLTIP="Monocle"
-elif [ "$LAYOUT" = "master" ]; then
- ICON="󰕰"
- TOOLTIP="Master"
-else
- ICON="󰕰"
- TOOLTIP="$LAYOUT"
-fi
-
-echo "{\"text\": \"<span size='large'>$ICON</span>\", \"tooltip\": \"$TOOLTIP\"}"
diff --git a/dotfiles/hyprland/.local/bin/waybar-netspeed b/dotfiles/hyprland/.local/bin/waybar-netspeed
deleted file mode 100755
index c285ac5..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-netspeed
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-# Network status indicator for waybar
-# Shows: WiFi icon (signal strength) + SSID, or Ethernet icon + interface
-# Tooltip: upload/download speeds
-
-INTERFACE=$(ip route | awk '/default/ {print $5; exit}')
-
-if [ -z "$INTERFACE" ]; then
- echo '{"text": "󰤭 Offline", "tooltip": "No network connection", "class": "disconnected"}'
- exit 0
-fi
-
-# Measure network speed (requires 1 second delay)
-RX1=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
-TX1=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
-sleep 1
-RX2=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
-TX2=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
-
-RX_RATE=$((RX2 - RX1))
-TX_RATE=$((TX2 - TX1))
-
-format_speed() {
- local bytes=$1
- if [ $bytes -ge 1073741824 ]; then
- printf "%.2f GB/s" $(echo "scale=2; $bytes / 1073741824" | bc)
- elif [ $bytes -ge 1048576 ]; then
- printf "%.2f MB/s" $(echo "scale=2; $bytes / 1048576" | bc)
- elif [ $bytes -ge 1024 ]; then
- printf "%.2f KB/s" $(echo "scale=2; $bytes / 1024" | bc)
- else
- printf "%d B/s" $bytes
- fi
-}
-
-UP=$(format_speed $TX_RATE)
-DOWN=$(format_speed $RX_RATE)
-
-# Determine connection type and get appropriate icon/label
-if [ -d "/sys/class/net/$INTERFACE/wireless" ]; then
- # WiFi connection
- LABEL=$(iw dev "$INTERFACE" info 2>/dev/null | awk '/ssid/ {print $2}')
- [ -z "$LABEL" ] && LABEL="WiFi"
-
- # Get signal strength in dBm
- SIGNAL_DBM=$(iw dev "$INTERFACE" link 2>/dev/null | awk '/signal:/ {print $2}')
-
- # Select icon based on signal dBm
- if [ -z "$SIGNAL_DBM" ]; then
- ICON="󰤯" # No signal
- elif [ "$SIGNAL_DBM" -ge -50 ]; then
- ICON="󰤨" # Excellent
- elif [ "$SIGNAL_DBM" -ge -60 ]; then
- ICON="󰤥" # Good
- elif [ "$SIGNAL_DBM" -ge -70 ]; then
- ICON="󰤢" # Fair
- elif [ "$SIGNAL_DBM" -ge -80 ]; then
- ICON="󰤟" # Weak
- else
- ICON="󰤯" # No signal
- fi
-else
- # Ethernet connection
- ICON="󰈀"
- LABEL="$INTERFACE"
-fi
-
-TOOLTIP="Up: $UP\nDown: $DOWN"
-
-echo "{\"text\": \"<span size='large'>$ICON</span> $LABEL\", \"tooltip\": \"$TOOLTIP\", \"class\": \"connected\"}"
diff --git a/dotfiles/hyprland/.local/bin/waybar-touchpad b/dotfiles/hyprland/.local/bin/waybar-touchpad
deleted file mode 100755
index d3adddd..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-touchpad
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# Touchpad on/off indicator for waybar.
-# Reads the state file that toggle-touchpad and touchpad-auto maintain; emits
-# one JSON line (text + tooltip + class) for the custom/touchpad module.
-# Anything other than "disabled" reads as enabled, so a missing or garbled
-# state file fails safe (pointer shown rather than hidden).
-
-STATE_FILE="${XDG_RUNTIME_DIR:-/tmp}/touchpad-state"
-state=$(cat "$STATE_FILE" 2>/dev/null || echo enabled)
-
-if [ "$state" = "disabled" ]; then
- echo "{\"text\": \"<span size='large'>󰍾</span>\", \"tooltip\": \"Touchpad disabled\", \"class\": \"disabled\"}"
-else
- echo "{\"text\": \"<span size='large'>󰍽</span>\", \"tooltip\": \"Touchpad enabled\", \"class\": \"enabled\"}"
-fi
diff --git a/dotfiles/hyprland/.local/bin/waybar-worldclock b/dotfiles/hyprland/.local/bin/waybar-worldclock
deleted file mode 100755
index be483ed..0000000
--- a/dotfiles/hyprland/.local/bin/waybar-worldclock
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# Waybar world clock module with configurable timezone tooltip
-CONF="${HOME}/.config/waybar/worldclock.conf"
-
-# Local time for bar display
-TEXT=$(date '+%I:%M %p %Z')
-LOCAL_TZ=$(readlink /etc/localtime | sed 's|.*/zoneinfo/||')
-
-# Build tooltip from config file
-if [ -f "$CONF" ]; then
- LINES=""
- while IFS='|' read -r tz label; do
- # Skip comments and blank lines
- case "$tz" in \#*|"") continue ;; esac
- TIME=$(TZ="$tz" date '+%a %I:%M %p %Z')
- LINE=$(printf "%-16s %s" "$label" "$TIME")
- # Highlight local timezone in gold
- if [ "$tz" = "$LOCAL_TZ" ]; then
- LINE="<span color='#daa520'>${LINE}</span>"
- fi
- if [ -z "$LINES" ]; then
- LINES="$LINE"
- else
- LINES=$(printf "%s\n%s" "$LINES" "$LINE")
- fi
- done < "$CONF"
- TOOLTIP="<tt>${LINES}</tt>"
-else
- TOOLTIP="No worldclock.conf found"
-fi
-
-# Escape for JSON
-TOOLTIP=$(echo "$TOOLTIP" | sed ':a;N;$!ba;s/\n/\\n/g')
-
-printf '{"text": "%s", "tooltip": "%s"}\n' "$TEXT" "$TOOLTIP"
diff --git a/dotfiles/hyprland/.local/share/applications/Zoom.desktop b/dotfiles/hyprland/.local/share/applications/Zoom.desktop
deleted file mode 100644
index 89e385d..0000000
--- a/dotfiles/hyprland/.local/share/applications/Zoom.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Name=Zoom Workplace
-Comment=Zoom Video Conference
-Exec=env QT_SCALE_FACTOR=1.5 /usr/bin/zoom %U
-Icon=Zoom
-Terminal=false
-Type=Application
-Encoding=UTF-8
-Categories=Network;Application;
-StartupWMClass=zoom
-MimeType=x-scheme-handler/zoommtg;x-scheme-handler/zoomus;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/zoomphonecall;x-scheme-handler/zoomphonesms;x-scheme-handler/zoomcontactcentercall;application/x-zoom
-X-KDE-Protocols=zoommtg;zoomus;tel;callto;zoomphonecall;zoomphonesms;zoomcontactcentercall;
-Name[en_US]=Zoom Workplace
diff --git a/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop b/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/arandr.desktop b/dotfiles/hyprland/.local/share/applications/arandr.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/arandr.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop b/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop b/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop b/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/bssh.desktop b/dotfiles/hyprland/.local/share/applications/bssh.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/bssh.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/bvnc.desktop b/dotfiles/hyprland/.local/share/applications/bvnc.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/bvnc.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/caffeine.desktop b/dotfiles/hyprland/.local/share/applications/caffeine.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/caffeine.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop b/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop b/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop
deleted file mode 100644
index 0dbe42d..0000000
--- a/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Type=Application
-Name=Calibre E-book Viewer
-GenericName=Viewer for E-books
-Comment=Viewer for E-books in all the major formats
-TryExec=ebook-viewer
-Exec=ebook-viewer --detach %f
-Icon=calibre-viewer
-Categories=Office;Viewer;
-Keywords=epub;ebook;viewer;
-MimeType=application/epub+zip;application/ereader;application/oebps-package+xml;application/vnd.ctc-posml;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/x-cb7;application/x-cbc;application/x-cbr;application/x-cbz;application/x-mobi8-ebook;application/x-mobipocket-ebook;application/x-mobipocket-subscription;application/x-sony-bbeb;image/vnd.djvu;
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop b/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop b/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/compton.desktop b/dotfiles/hyprland/.local/share/applications/compton.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/compton.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/conky.desktop b/dotfiles/hyprland/.local/share/applications/conky.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/conky.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/cups.desktop b/dotfiles/hyprland/.local/share/applications/cups.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/cups.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/dwm.desktop b/dotfiles/hyprland/.local/share/applications/dwm.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/dwm.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop b/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop b/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/emacsclient.desktop b/dotfiles/hyprland/.local/share/applications/emacsclient.desktop
deleted file mode 100644
index c1771b9..0000000
--- a/dotfiles/hyprland/.local/share/applications/emacsclient.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Name=Emacs (Client)
-GenericName=Text Editor
-Comment=Edit text
-MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=/usr/bin/emacsclient --alternate-editor= --create-frame %F
-Icon=emacs
-Type=Application
-Terminal=false
-Categories=Development;TextEditor;
-StartupNotify=true
-StartupWMClass=Emacs
-Keywords=emacsclient;
diff --git a/dotfiles/hyprland/.local/share/applications/file.desktop b/dotfiles/hyprland/.local/share/applications/file.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/file.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/foot-server.desktop b/dotfiles/hyprland/.local/share/applications/foot-server.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/foot-server.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/footclient.desktop b/dotfiles/hyprland/.local/share/applications/footclient.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/footclient.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop b/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gammastep.desktop b/dotfiles/hyprland/.local/share/applications/gammastep.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gammastep.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop b/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop b/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop b/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop b/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop b/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/google-chrome.desktop b/dotfiles/hyprland/.local/share/applications/google-chrome.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/google-chrome.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop b/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/htop.desktop b/dotfiles/hyprland/.local/share/applications/htop.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/htop.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/hy3-util.desktop b/dotfiles/hyprland/.local/share/applications/hy3-util.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/hy3-util.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/hyprland.desktop b/dotfiles/hyprland/.local/share/applications/hyprland.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/hyprland.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/img.desktop b/dotfiles/hyprland/.local/share/applications/img.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/img.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/insync-helper.desktop b/dotfiles/hyprland/.local/share/applications/insync-helper.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/insync-helper.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/ipython.desktop b/dotfiles/hyprland/.local/share/applications/ipython.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/ipython.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jconsole.desktop b/dotfiles/hyprland/.local/share/applications/jconsole.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/jconsole.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jshell.desktop b/dotfiles/hyprland/.local/share/applications/jshell.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/jshell.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop b/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop b/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lock-screen.desktop b/dotfiles/hyprland/.local/share/applications/lock-screen.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/lock-screen.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/logout.desktop b/dotfiles/hyprland/.local/share/applications/logout.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/logout.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lstopo.desktop b/dotfiles/hyprland/.local/share/applications/lstopo.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/lstopo.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lxappearance.desktop b/dotfiles/hyprland/.local/share/applications/lxappearance.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/lxappearance.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/mail.desktop b/dotfiles/hyprland/.local/share/applications/mail.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/mail.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop b/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nm-applet.desktop b/dotfiles/hyprland/.local/share/applications/nm-applet.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/nm-applet.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop b/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nsxiv.desktop b/dotfiles/hyprland/.local/share/applications/nsxiv.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/nsxiv.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop b/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop b/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop b/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop b/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/pdf.desktop b/dotfiles/hyprland/.local/share/applications/pdf.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/pdf.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/picom.desktop b/dotfiles/hyprland/.local/share/applications/picom.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/picom.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop b/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qt5ct.desktop b/dotfiles/hyprland/.local/share/applications/qt5ct.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/qt5ct.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qt6ct.desktop b/dotfiles/hyprland/.local/share/applications/qt6ct.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/qt6ct.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qv4l2.desktop b/dotfiles/hyprland/.local/share/applications/qv4l2.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/qv4l2.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qvidcap.desktop b/dotfiles/hyprland/.local/share/applications/qvidcap.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/qvidcap.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/ranger.desktop b/dotfiles/hyprland/.local/share/applications/ranger.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/ranger.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/reboot.desktop b/dotfiles/hyprland/.local/share/applications/reboot.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/reboot.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop b/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/redshift.desktop b/dotfiles/hyprland/.local/share/applications/redshift.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/redshift.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop b/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/rofi.desktop b/dotfiles/hyprland/.local/share/applications/rofi.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/rofi.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/shutdown.desktop b/dotfiles/hyprland/.local/share/applications/shutdown.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/shutdown.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop b/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop
deleted file mode 100644
index 834c510..0000000
--- a/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Signal
-Comment=Signal - Private Messenger
-Icon=signal-desktop
-Exec=signal-desktop --start-in-tray --ozone-platform=wayland -- %u
-Terminal=false
-Categories=Network;InstantMessaging;
-StartupWMClass=signal
-MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha;
-Keywords=sgnl;chat;im;messaging;messenger;security;privat;
-X-GNOME-UsesNotifications=true
diff --git a/dotfiles/hyprland/.local/share/applications/suspend.desktop b/dotfiles/hyprland/.local/share/applications/suspend.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/suspend.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/text.desktop b/dotfiles/hyprland/.local/share/applications/text.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/text.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop b/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop b/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar.desktop b/dotfiles/hyprland/.local/share/applications/thunar.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/thunar.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop b/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop b/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/vim.desktop b/dotfiles/hyprland/.local/share/applications/vim.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/vim.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xcolor.desktop b/dotfiles/hyprland/.local/share/applications/xcolor.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xcolor.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop b/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xdvi.desktop b/dotfiles/hyprland/.local/share/applications/xdvi.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xdvi.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop b/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xgps.desktop b/dotfiles/hyprland/.local/share/applications/xgps.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xgps.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop b/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop
deleted file mode 100644
index 5829b2d..0000000
--- a/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop
+++ /dev/null
@@ -1,2 +0,0 @@
-[Desktop Entry]
-NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/easyeffects/output/dt770-pro-250-harman-eq.json b/dotfiles/hyprland/.local/share/easyeffects/output/dt770-pro-250-harman-eq.json
deleted file mode 100644
index 8774a0f..0000000
--- a/dotfiles/hyprland/.local/share/easyeffects/output/dt770-pro-250-harman-eq.json
+++ /dev/null
@@ -1,199 +0,0 @@
-{
- "output": {
- "blocklist": [],
- "equalizer": {
- "input-gain": -4.7,
- "output-gain": 0.0,
- "mode": "IIR",
- "num-bands": 9,
- "split-channels": false,
- "left": {
- "band0": {
- "frequency": 45.0,
- "gain": -4.7,
- "q": 0.4,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 102.0,
- "gain": 7.0,
- "q": 5.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 134.0,
- "gain": -3.8,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 217.0,
- "gain": 5.5,
- "q": 2.3,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 2400.0,
- "gain": -1.4,
- "q": 4.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 3350.0,
- "gain": 5.0,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 5200.0,
- "gain": 0.7,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 6200.0,
- "gain": -5.6,
- "q": 4.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 10000.0,
- "gain": -6.0,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- },
- "right": {
- "band0": {
- "frequency": 45.0,
- "gain": -4.7,
- "q": 0.4,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 102.0,
- "gain": 7.0,
- "q": 5.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 134.0,
- "gain": -3.8,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 217.0,
- "gain": 5.5,
- "q": 2.3,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 2400.0,
- "gain": -1.4,
- "q": 4.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 3350.0,
- "gain": 5.0,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 5200.0,
- "gain": 0.7,
- "q": 3.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 6200.0,
- "gain": -5.6,
- "q": 4.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 10000.0,
- "gain": -6.0,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- }
- },
- "plugins_order": [
- "equalizer"
- ]
- }
-}
diff --git a/dotfiles/hyprland/.local/share/easyeffects/output/pixel-buds-pro-2-harman-eq.json b/dotfiles/hyprland/.local/share/easyeffects/output/pixel-buds-pro-2-harman-eq.json
deleted file mode 100644
index 056e216..0000000
--- a/dotfiles/hyprland/.local/share/easyeffects/output/pixel-buds-pro-2-harman-eq.json
+++ /dev/null
@@ -1,219 +0,0 @@
-{
- "output": {
- "blocklist": [],
- "equalizer": {
- "input-gain": -2.8,
- "output-gain": 0.0,
- "mode": "IIR",
- "num-bands": 10,
- "split-channels": false,
- "left": {
- "band0": {
- "frequency": 105.0,
- "gain": 2.1,
- "q": 0.7,
- "type": "Lo-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 1384.0,
- "gain": -4.3,
- "q": 2.82,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 670.0,
- "gain": 1.5,
- "q": 1.78,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 41.0,
- "gain": 0.8,
- "q": 1.26,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 4720.0,
- "gain": -3.1,
- "q": 6.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 10000.0,
- "gain": -0.6,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 3725.0,
- "gain": 2.9,
- "q": 6.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 2565.0,
- "gain": 1.7,
- "q": 4.21,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 153.0,
- "gain": 0.7,
- "q": 2.47,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band9": {
- "frequency": 6024.0,
- "gain": 0.7,
- "q": 4.95,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- },
- "right": {
- "band0": {
- "frequency": 105.0,
- "gain": 2.1,
- "q": 0.7,
- "type": "Lo-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 1384.0,
- "gain": -4.3,
- "q": 2.82,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 670.0,
- "gain": 1.5,
- "q": 1.78,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 41.0,
- "gain": 0.8,
- "q": 1.26,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 4720.0,
- "gain": -3.1,
- "q": 6.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 10000.0,
- "gain": -0.6,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 3725.0,
- "gain": 2.9,
- "q": 6.0,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 2565.0,
- "gain": 1.7,
- "q": 4.21,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 153.0,
- "gain": 0.7,
- "q": 2.47,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band9": {
- "frequency": 6024.0,
- "gain": 0.7,
- "q": 4.95,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- }
- },
- "plugins_order": [
- "equalizer"
- ]
- }
-}
diff --git a/dotfiles/hyprland/.local/share/easyeffects/output/pxc-550-ii-harman-eq.json b/dotfiles/hyprland/.local/share/easyeffects/output/pxc-550-ii-harman-eq.json
deleted file mode 100644
index c400419..0000000
--- a/dotfiles/hyprland/.local/share/easyeffects/output/pxc-550-ii-harman-eq.json
+++ /dev/null
@@ -1,219 +0,0 @@
-{
- "output": {
- "blocklist": [],
- "equalizer": {
- "input-gain": -3.0,
- "output-gain": 0.0,
- "mode": "IIR",
- "num-bands": 10,
- "split-channels": false,
- "left": {
- "band0": {
- "frequency": 105.0,
- "gain": 2.5,
- "q": 0.7,
- "type": "Lo-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 185.0,
- "gain": -3.5,
- "q": 1.35,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 2997.0,
- "gain": 3.1,
- "q": 1.24,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 4429.0,
- "gain": 3.2,
- "q": 5.98,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 5270.0,
- "gain": -5.7,
- "q": 4.03,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 10000.0,
- "gain": -2.6,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 49.0,
- "gain": -0.8,
- "q": 1.84,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 359.0,
- "gain": 0.8,
- "q": 2.24,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 248.0,
- "gain": -0.9,
- "q": 4.62,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band9": {
- "frequency": 735.0,
- "gain": 0.4,
- "q": 2.9,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- },
- "right": {
- "band0": {
- "frequency": 105.0,
- "gain": 2.5,
- "q": 0.7,
- "type": "Lo-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band1": {
- "frequency": 185.0,
- "gain": -3.5,
- "q": 1.35,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band2": {
- "frequency": 2997.0,
- "gain": 3.1,
- "q": 1.24,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band3": {
- "frequency": 4429.0,
- "gain": 3.2,
- "q": 5.98,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band4": {
- "frequency": 5270.0,
- "gain": -5.7,
- "q": 4.03,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band5": {
- "frequency": 10000.0,
- "gain": -2.6,
- "q": 0.7,
- "type": "Hi-shelf",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band6": {
- "frequency": 49.0,
- "gain": -0.8,
- "q": 1.84,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band7": {
- "frequency": 359.0,
- "gain": 0.8,
- "q": 2.24,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band8": {
- "frequency": 248.0,
- "gain": -0.9,
- "q": 4.62,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- },
- "band9": {
- "frequency": 735.0,
- "gain": 0.4,
- "q": 2.9,
- "type": "Bell",
- "mode": "RLC (BT)",
- "slope": "x1",
- "mute": false,
- "solo": false
- }
- }
- },
- "plugins_order": [
- "equalizer"
- ]
- }
-}
diff --git a/dotfiles/hyprland/.profile.d/99-hyprland-autostart.sh b/dotfiles/hyprland/.profile.d/99-hyprland-autostart.sh
deleted file mode 100644
index 753fdce..0000000
--- a/dotfiles/hyprland/.profile.d/99-hyprland-autostart.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-# 99-hyprland-autostart.sh
-# Auto-start Hyprland on TTY1 console login
-
-# Guard: only on TTY1, not SSH, no existing display
-[ "$XDG_VTNR" = "1" ] || return 0
-[ -z "$SSH_TTY" ] || return 0
-[ -z "$WAYLAND_DISPLAY" ] || return 0
-[ -z "$DISPLAY" ] || return 0
-command -v start-hyprland >/dev/null 2>&1 || return 0
-
-# Skip if flag file exists (touch ~/.skip-hyprland to disable)
-[ -f "$HOME/.skip-hyprland" ] && return 0
-
-# Clear screen and start Hyprland via watchdog wrapper
-clear
-start-hyprland
-
-# Hyprland exited - inform user
-echo "Hyprland session ended. Type 'start-hyprland' to restart."
diff --git a/dotfiles/hyprland/.profile.d/hyprland.sh b/dotfiles/hyprland/.profile.d/hyprland.sh
deleted file mode 100644
index be15b02..0000000
--- a/dotfiles/hyprland/.profile.d/hyprland.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-# Hyprland profile settings
-# These override X11 settings from .profile when running Wayland
-
-# Terminal (foot instead of st)
-export TERM="xterm-256color"
-export TERMINAL="foot"
-
-# XDG overrides for Wayland
-export XDG_CURRENT_DESKTOP=Hyprland
-export XDG_SESSION_TYPE=wayland
-export XDG_SESSION_DESKTOP=Hyprland
-
-# alias startx to start Hyprland (muscle memory from X11)
-alias startx="start-hyprland"