Commit Graph

452 Commits (08c3097a703f7604855e70acbd62d7877cd85a5a)

Author SHA1 Message Date
Amir Alexander Abdelbaki 08c3097a70 feat(wallpaper): sync selected wallpaper to hyprlock per monitor
wallpaper-picker now calls write_hyprlock_state() on apply, writing
per-monitor background blocks to ~/.config/hypr/hyprlock-backgrounds.conf.
hyprlock.conf sources that file instead of a hardcoded background block,
with a committed default for first-boot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 21:54:19 +02:00
Amir Alexander Abdelbaki 867686e409 fix(eww-touch): use hyprctl dispatch for close window button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 10:30:52 +02:00
Amir Alexander Abdelbaki 21ec76c6eb Revert "fix(eww-touch): fix middle button close window action"
This reverts commit 266a032cb3.
2026-05-23 10:29:17 +02:00
Amir Alexander Abdelbaki 266a032cb3 fix(eww-touch): fix middle button close window action
hl.dsp.window.close() is not a valid Hyprland Lua API method;
replace with hyprctl dispatch killactive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 10:28:10 +02:00
Amir Alexander Abdelbaki 612c13b4c0 fix(rotate): add pen/stylus rotation with explicit output mapping
Tablet devices require output= in hl.device() for transform to take
effect, unlike touchscreens which auto-bind to their display.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 10:23:22 +02:00
Amir Alexander Abdelbaki c7511b750a adjusted size of eww bar - i found the sweet spot 2026-05-19 18:31:18 +02:00
Amir Alexander Abdelbaki 9f480eb1b1 adjusted size of eww bar 2026-05-19 18:30:02 +02:00
Amir Alexander Abdelbaki 6a9d286e55 fixed workspace navigation 2026-05-19 18:26:28 +02:00
Amir Alexander Abdelbaki 7fe95c8b72 fix(eww): port hyprctl dispatch calls to Lua API
Replace hyprctl dispatch with hyprctl eval using hl.dsp.* in all
three eww variants. Workspace switching uses hl.dsp.focus with r+/r-
relative prefixes; killactive becomes hl.dsp.window.close(); exec
uses hl.dsp.exec_cmd.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:57:10 +02:00
Amir Alexander Abdelbaki ef4a0a483d fix(scripts): port screen rotation to Lua config
Replace hyprctl keyword with hyprctl eval + hl.monitor/hl.device Lua API,
and switch monitor/device parsing from fragile grep to hyprctl -j + jq.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:41:52 +02:00
Amir Alexander Abdelbaki f880191764 fix(scripts): update caffeine and toggle-touchpad to Lua config syntax
Replace hyprctl dispatch exec with direct daemon invocation in caffeine.sh,
and replace defunct \$LAPTOP_KB_ENABLED .conf variable with the actual
device key path in hyprland-toggle-touchpad.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:29:53 +02:00
Amir Alexander Abdelbaki 7b9379b1c1 feat(binds): convert gestures to new Hyprland Lua syntax
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 15:00:26 +02:00
Amir Alexander Abdelbaki b5b21ce4cd fixed issue with resizing windows with keyboard shortcuts 2026-05-19 14:54:13 +02:00
Amir Alexander Abdelbaki 820a12616c fixed theming issues 2026-05-19 14:39:29 +02:00
Amir Alexander Abdelbaki 3a49ab44d9 feat(qt,gtk): overhaul theming — qt6ct style plugin, dark palette, GTK color-scheme
Qt: replace QT_STYLE_OVERRIDE/QT_STYLE_SHEET env vars with QT_QPA_PLATFORMTHEME=qt6ct +
QT_QUICK_CONTROLS_STYLE=Fusion; add cyberqueer Qt6 style plugin (QProxyStyle wrapping
Fusion with hardcoded dark palette); enable custom_palette in qt6ct.conf so qt6ct applies
the dark QPalette directly for both Qt Widgets and Qt Quick apps.

GTK: fix dark mode not applying — set gtk-application-prefer-dark-theme=1 in GTK3
settings.ini; add gsettings color-scheme=prefer-dark to install script (required by
libadwaita apps which ignore gtk-theme-name); add index.theme so the theme is recognized
by GTK theme discovery.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 13:43:13 +02:00
Amir Alexander Abdelbaki 3cd4cb5df7 fix(hyprlua): theme and position vicinae correctly
Move settings.json out of the wrong vicinae/vicinae/ subdir so it deploys
to ~/.config/vicinae/settings.json where vicinae actually reads it, enabling
the cyberqueer theme. Add GTK_THEME=cyberqueer on launch for correct font
rendering. Add float=true to the launcher window rule so the cursor-position
move formula is applied.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 11:48:14 +02:00
Amir Alexander Abdelbaki bf4821c48e fix(hyprlua): correct Lua dispatcher API calls in binds.lua
- window.tag: pass table { tag = "..." } instead of bare string
- window.cycle_next: remove invalid false argument
- window.resize: use { x, y } fields instead of { delta = "x y" }
- group.change_active: replaced with hyprctl dispatch fallback (not in Lua API)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 11:13:18 +02:00
Amir Alexander Abdelbaki f453b1d3d3 feat(desktopenvs): add hyprland → hyprlua migration script
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 10:22:56 +02:00
Amir Alexander Abdelbaki b629697ddd feat: add hyprlua config set and migrate hyprland envvars to dedicated file
Duplicates desktopenvs/hyprland/ as desktopenvs/hyprlua/ and converts all
Hyprland-specific configs (.conf) to Lua (.lua) using the 0.55+ hl.* API:
hyprland.lua, envvars.lua, monitors.lua, input.lua, autostart.lua,
windowrules.lua, binds.lua. Non-Hyprland tool configs (hyprpaper, hyprlock,
hypridle, hyprtoolkit) remain as .conf. Adds hyprlua.sh installer (user-side
.lua files install to ~/.config/hypr/ for require() resolution) and registers
HyprLua as the recommended DE option in tui-install.sh, marking the old
hyprlang-based Hyprland install as legacy.

Also consolidates hyprland (legacy) env vars into hypr-usr/envvars.conf,
removing duplicates from hyprland.conf and monitors.conf.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 08:50:23 +02:00
Amir Alexander Abdelbaki bd1c23e6b4 updated 2026-05-13 19:02:37 +02:00
Amir Alexander Abdelbaki 76b1a0160f privacy: remove hardcoded username and AWS signed URL
Replace all /home/themiro/ path references with $HOME equivalents
across .zshrc, monitorhandler.sh (now derives path from script
location), gtk bookmarks, spicetify config, ulauncher generated CSS,
and nvim init.lua.old.

Delete commented-out AWS signed URL with embedded credentials from
setup/deprecated/hyprland.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 14:17:48 +02:00
Amir Alexander Abdelbaki ac2f4c39f0 removed pinch bind for now 2026-05-12 12:45:56 +02:00
Amir Alexander Abdelbaki 61914db16b hyprland: fix screen rotation touchscreen input after 0.55.0 update
Fix touchscreen detection (section renamed from Touchscreen to Touch Device)
and device keyword syntax (device:NAME -> device[NAME]:transform). Also swap
cw/ccw in acw/wcw wrapper scripts which were inverted.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 08:33:45 +02:00
Amir Alexander Abdelbaki 0571a83567 hyprland updated 2026-05-12 08:15:37 +02:00
Amir Alexander Abdelbaki 4d797c537d amssh: fix FIDO2 auth; add pamtester to core; add package audit script
- amssh: use dedicated /etc/pam.d/amssh service instead of login (pam_u2f
  was commented out in login); auto-create service and register key on
  first-launch FIDO selection
- amssh: redirect pamtester stdout+stderr to /dev/tty so the tap prompt is
  visible and the success message doesn't contaminate pass=$(_get_passphrase)
- amssh: split _fido_pam_available into _fido_hardware_available (for dialog
  gating) and _fido_pam_available (runtime — requires keys file + PAM service)
- setup: add pamtester to core-packages.sh
- setup: add audit-packages.sh to verify installed packages come from the
  expected source (pacman/AUR/flatpak)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 19:09:38 +02:00
Amir Alexander Abdelbaki 78312e9b4d amssh now themed 2026-05-11 13:26:02 +02:00
Amir Alexander Abdelbaki 507ca5db6b amssh: rebind from Super+Alt+Ctrl+S to Super+Ctrl+R
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:26:48 +02:00
Amir Alexander Abdelbaki 4dbe200293 amssh: encrypted SSH manager with fzf TUI and wofi drun mode
- AES-256-CBC store with PBKDF2-SHA256 (600k iters), passphrase auth
- FIDO2/PAM opt-in second factor via pam_u2f + pamtester
- fzf TUI: vim-style nav (j/k/g/G//), a=add, d=delete, q=quit
- Full-screen tput add form with Tab/Enter field advance, star-masked password
- SSH_ASKPASS_REQUIRE=force for stored password auth (no sshpass)
- First-launch dialog to choose passphrase vs FIDO2
- Hyprland keybind: SUPER-ALT-CTRL-S

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:21:56 +02:00
Amir Alexander Abdelbaki c4b9c5bf92 add config-updater: config-driven update script with manifest
Replaces the hardcoded inline-generated ~/update-hypr-configs.sh with
a proper dotfiles-resident script + config file:

  config-updater/update-configs.sh  — reads updater.conf, applies
    configs, warns about untracked source items and manifest drift
  config-updater/updater.conf       — declares config/flat/ignore
    entries and SOURCE_BASE; hypr-usr is flat (contents → ~/.config/)

hyprland-new.sh step 15 now symlinks both into place instead of
generating a hardcoded script inline. The output is renamed from
~/update-hypr-configs.sh to ~/update-configs.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:46:02 +02:00
Amir Alexander Abdelbaki 968031ae11 timer-run: use system sound instead of generated PCM beep
Replace the Python sine-wave generator and raw PCM piping with
paplay playing alarm-clock-elapsed.oga, falling back to
canberra-gtk-play. Also export PULSE_RUNTIME_PATH for the detached
setsid process so paplay can find the PipeWire-Pulse socket.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:23:24 +02:00
Amir Alexander Abdelbaki d2c0c1ae1f wallpaper-picker: per-monitor support
- default selection = monitor under the mouse (cursorpos + geometry math)
- 1-9 toggle individual monitors, a toggles all
- Space/Enter both apply
- persist per-monitor state to ~/.config/wallpaper.conf using new wallpaper{} syntax
- hyprpaper.conf sources ~/.config/wallpaper.conf so picks survive reboot
2026-05-09 18:25:48 +02:00
Amir Alexander Abdelbaki 25c9e69ad2 gneral stuff 2026-05-09 17:22:55 +02:00
Amir Alexander Abdelbaki 2690f1bdd2 fixed timer size 2026-05-09 14:19:24 +02:00
Amir Alexander Abdelbaki 12e7283401 fix duplicate name in centered-L windowrule block
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 17:03:11 +02:00
Amir Alexander Abdelbaki 48c8845eb9 add wallpaper-picker script and bind to $mainMod+W
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 16:55:35 +02:00
Amir Alexander Abdelbaki e196e386b0 some general fixes 2026-05-08 16:20:53 +02:00
Amir Alexander Abdelbaki 691ce9db37 Merge branch 'main' of https://git.abdelbaki.eu/The_miro/Dotfiles 2026-05-08 15:16:06 +02:00
Amir Alexander Abdelbaki c61766960b added timer 2026-05-08 15:16:01 +02:00
Amir Alexander Abdelbaki e50cb5dc50 cleanup: archive deprecated configs, remove logs and merge artifacts
- Move old hypr/kitty/xfce4 configs into deprecated/ folders
- Move proto scripts into scripts/deprecated/
- Consolidate loose .old installer into setup/deprecated/
- Rename broken symlinks (old themiro home path) to .old
- Rename duplicate .deb.1 and .bak files to .old for consistency
- Delete btop.log, nohup.out (gitignore matches), thunar merge conflict files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:13:12 +02:00
Amir Alexander Abdelbaki 4b8dd4f5d9 cleanup: expand gitignore, add timer scripts, update hyprland binds
Remove stale yazi backup files and credentials, expand .gitignore to
cover keys, editor temp files, and yazi timestamp backups. Add timer
notification scripts and bind Super+Ctrl+T to open timer popup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:41:49 +02:00
Amir Alexander Abdelbaki dc0e964320 general stuff 2026-05-07 18:15:20 +02:00
Amir Alexander Abdelbaki 92f4148cb1 why was i missing windowrule tag???? 2026-04-08 18:18:35 +02:00
Amir Alexander Abdelbaki 8712978eac is my readme a html? 2026-03-26 09:33:16 +01:00
Amir Alexander Abdelbaki 36080f464a added WallRizz 2026-03-24 13:46:34 +01:00
Amir Alexander Abdelbaki 759d2a5395 vicinae window changed clas name 2026-03-10 09:36:32 +01:00
Amir Alexander Abdelbaki bf066dab47 window resize now repeats 2026-02-25 16:27:45 +01:00
Amir Alexander Abdelbaki 8b4813e1b7 fixed some of the fn-alt function binds 2026-02-23 11:20:04 +01:00
Amir Alexander Abdelbaki 92ec5d5873 now the notif shows for just long enough 2026-02-20 11:12:40 +01:00
Amir Alexander Abdelbaki 19b3ac8e9b further improvements on the earlier 2026-02-20 11:06:00 +01:00
Amir Alexander Abdelbaki 1e47547c52 added toggle-layout and chameleos for screen annotation 2026-02-20 10:27:45 +01:00