diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-26 00:13:26 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-26 00:13:26 +0530 |
| commit | 2f64a2097812c1820766909037e724f3415c7576 (patch) | |
| tree | 8dd91e2d68df1530e3db00db82be91135c672e36 /modules/scripts/i3-keybindings | |
| parent | 550cadaf45165ccbc3dbe050a45d0d041c2c221d (diff) | |
| download | home-manager-config-2f64a2097812c1820766909037e724f3415c7576.tar.gz home-manager-config-2f64a2097812c1820766909037e724f3415c7576.zip | |
feat: migrate to Wayland-native media tools, drop X11 cruft, polish waybar and hyprland
- Switch ffmpeg/maim/slop → grim/slurp/wf-recorder (X11→Wayland)
- Rewrite screen-recording script for wf-recorder+slurp
- Add window-rewrite icons and style workspace buttons in waybar
- Set --class on kitty desktop entries for correct hyprland window matching
- Remove i3-keybindings script and stale rofi window rules
- Tweak cursor size, border colors, file-explorer dimensions
Diffstat (limited to 'modules/scripts/i3-keybindings')
| -rw-r--r-- | modules/scripts/i3-keybindings/assertions.nix | 11 | ||||
| -rw-r--r-- | modules/scripts/i3-keybindings/default.nix | 30 | ||||
| -rw-r--r-- | modules/scripts/i3-keybindings/script.sh | 66 |
3 files changed, 0 insertions, 107 deletions
diff --git a/modules/scripts/i3-keybindings/assertions.nix b/modules/scripts/i3-keybindings/assertions.nix deleted file mode 100644 index ce1dd6b..0000000 --- a/modules/scripts/i3-keybindings/assertions.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, ... }: -[ - { - assertion = !config.scripts.i3-keybindings.enable || config.desktop.enable; - message = "scripts.i3-keybindings is enabled but requires `desktop.enable`."; - } - { - assertion = !config.scripts.i3-keybindings.enable || config.terminal.less.enable; - message = "scripts.i3-keybindings is enabled but requires `terminal.less.enable`."; - } -] diff --git a/modules/scripts/i3-keybindings/default.nix b/modules/scripts/i3-keybindings/default.nix deleted file mode 100644 index e1be7fe..0000000 --- a/modules/scripts/i3-keybindings/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule; - base = mkScriptModule { - name = "i3-keybindings"; - path = ./script.sh; - description = "Path to your i3 config file"; - deps = [ - pkgs.coreutils - pkgs.gawk - pkgs.ncurses - ]; - desktop = { - enable = true; - displayName = "i3 Keybindings"; - }; - inherit config; - }; -in -{ - options = base.options; - config = base.moduleConfig // { - assertions = base.moduleConfig.assertions ++ (import ./assertions.nix { inherit config lib; }); - }; -} diff --git a/modules/scripts/i3-keybindings/script.sh b/modules/scripts/i3-keybindings/script.sh deleted file mode 100644 index 326e8bd..0000000 --- a/modules/scripts/i3-keybindings/script.sh +++ /dev/null @@ -1,66 +0,0 @@ -I3_CONFIG="$HOME/.config/i3/config" - -# Function to wrap text -wrap_text() { - local text="$1" - local width="$2" - echo "$text" | fold -s -w "$width" -} - -# Get terminal width and calculate columns -terminal_width=$(tput cols) -table_width=$((terminal_width - 4)) -max_keybinding_length=$((table_width / 3)) # Keybindings are usually shorter in i3 -max_keybinding_content_length=$((max_keybinding_length - 2)) -description_width=$((table_width - max_keybinding_length - 1)) -description_content_width=$((description_width - 2)) - -# Border lines -top_border="┌$(printf '%.0s─' $(seq 1 $max_keybinding_length))┬$(printf '%.0s─' $(seq 1 $description_width))┐" -row_sep="├$(printf '%.0s─' $(seq 1 $max_keybinding_length))┼$(printf '%.0s─' $(seq 1 $description_width))┤" -bottom_border="└$(printf '%.0s─' $(seq 1 $max_keybinding_length))┴$(printf '%.0s─' $(seq 1 $description_width))┘" - -{ - echo "$top_border" - printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "KEYBINDING" "$description_content_width" "DESCRIPTION" - - last_comment="" - - # Read i3 config line by line - while IFS= read -r line; do - # If line is a comment, store it as a potential description - if [[ $line =~ ^#\ (.*) ]]; then - last_comment="${BASH_REMATCH[1]}" - - # If line contains a bindsym - elif [[ $line =~ ^bindsym ]]; then - # Extract the key combo (the parts between 'bindsym' and the start of the command/exec) - # This regex captures bindsym [options] <keysym> <command> - keybinding=$(echo "$line" | awk '{print $2}') - - # If the comment is empty, use the command itself as the description - if [[ -z "$last_comment" ]]; then - display_desc=$(echo "$line" | cut -d' ' -f3-) - else - display_desc="$last_comment" - fi - - wrapped_description=$(wrap_text "$display_desc" "$description_content_width") - - echo "$row_sep" - - # Print first line of binding and description - printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "$keybinding" "$description_content_width" "$(echo "$wrapped_description" | head -n 1)" - - # Print subsequent lines of wrapped description - echo "$wrapped_description" | sed '1d' | while read -r continuation; do - printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "" "$description_content_width" "$continuation" - done - - # Reset comment after use - last_comment="" - fi - done < "$I3_CONFIG" - - echo "$bottom_border" -} | less -R |
