aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/sxhkd/scripts/keybindings.sh
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@proton.me>2026-03-13 16:31:58 +0530
committerArpit Chakladar <arpitchakladar@proton.me>2026-03-13 16:31:58 +0530
commite0c724f14042bd90b9eb5687a351c9945b74fc9b (patch)
tree69a28737123f0db807b4522688e90817a6c555bf /modules/desktop/sxhkd/scripts/keybindings.sh
parentd0936afa8fea372bc2d3114499ad10d354089c38 (diff)
downloadhome-manager-config-e0c724f14042bd90b9eb5687a351c9945b74fc9b.tar.gz
home-manager-config-e0c724f14042bd90b9eb5687a351c9945b74fc9b.zip
Moving to xremap for shortcuts from sxhkd. Added the basic configs
Diffstat (limited to 'modules/desktop/sxhkd/scripts/keybindings.sh')
-rwxr-xr-xmodules/desktop/sxhkd/scripts/keybindings.sh76
1 files changed, 0 insertions, 76 deletions
diff --git a/modules/desktop/sxhkd/scripts/keybindings.sh b/modules/desktop/sxhkd/scripts/keybindings.sh
deleted file mode 100755
index e713415..0000000
--- a/modules/desktop/sxhkd/scripts/keybindings.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-
-# Path to your sxhkd config file
-SXHKD_FILE="$HOME/.config/sxhkd/sxhkdrc"
-
-# Function to wrap text to a specified width
-wrap_text() {
- local text="$1"
- local width="$2"
- echo "$text" | fold -s -w "$width"
-}
-
-# Get terminal width
-terminal_width=$(tput cols)
-
-# Set the table width to the full terminal width, leaving space for borders
-table_width=$((terminal_width - 4)) # 4 for the borders and space between columns
-
-# Set keybinding column width to half of the available width
-max_keybinding_length=$((table_width / 2))
-
-# Length of the cotent inside the cell (2 spaces are substracted for padding)
-max_keybinding_content_length=$((max_keybinding_length - 2))
-
-# Set the description column width to the other half
-description_width=$((table_width - max_keybinding_length - 1)) # 1 for the separator between columns
-
-# Length of the cotent inside the cell (2 spaces are substracted for padding)
-description_content_width=$((description_width - 2))
-
-# Generate the top border line and row separator
-border_line="├$(printf '%.0s─' $(seq 1 $max_keybinding_length))┼$(printf '%.0s─' $(seq 1 $description_width))┤"
-
-# Pipe all output to less
-{
- # Print table header with borders
- echo "┌$(printf '%.0s─' $(seq 1 $max_keybinding_length))┬$(printf '%.0s─' $(seq 1 $description_width))┐"
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "KEYBINDING" "$description_content_width" "DESCRIPTION"
-
- description=""
-
- # Load the sxhkd file into an array
- mapfile -t lines < "$SXHKD_FILE"
-
- # Loop through lines for output
- for line in "${lines[@]}"; do
- # Check if the line is a comment
- if [[ $line =~ ^# ]]; then
- # Remove the "#" and any leading/trailing whitespace to capture the description
- description="${line#\# }"
- elif [[ $line =~ ^[^#[:space:]] ]]; then
- # If it's a keybinding line, store it
- keybinding="$line"
- # Move to the next line for the command
- command="${lines[((++i))]}"
-
- # Wrap the description to the calculated width
- wrapped_description=$(wrap_text "$description" "$description_width")
-
- # Print the keybinding with a border line above and below it
- echo "$border_line"
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "$keybinding" "$description_content_width" "$(echo "$wrapped_description" | head -n 1)"
-
- # Print wrapped description lines with empty keybinding column
- echo "$wrapped_description" | sed '1d' | while read -r continuation; do
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "" "$description_content_width" "$continuation"
- done
-
- # Reset description for the next keybinding
- description=""
- fi
- done
-
- # Print the final border line
- echo "└$(printf '%.0s─' $(seq 1 $max_keybinding_length))┴$(printf '%.0s─' $(seq 1 $description_width))┘"
-} | less