Compare commits
5 Commits
4108cce1a4
...
ae154bcaa7
| Author | SHA1 | Date | |
|---|---|---|---|
| ae154bcaa7 | |||
| e3b628dab1 | |||
| 09f3684972 | |||
| ebe112090f | |||
| 682e0f962e |
@@ -5,6 +5,6 @@
|
||||
$filemanager = dolphin
|
||||
$applauncher = tofi-drun --drun-launch=true
|
||||
#$applauncher = rofi -show combi -modi window,run,combi -combi-modi window,run
|
||||
$terminal = alacritty
|
||||
$terminal = kitty
|
||||
$idlehandler = swayidle -w timeout 300 'swaylock -f -c 000000' before-sleep 'swaylock -f -c 000000'
|
||||
$capturing = grim -g "$(slurp)" - | swappy -f -
|
||||
|
||||
@@ -21,11 +21,6 @@ bindd = $mainMod, J, Toggles curren window split mode, togglesplit, # dwindle
|
||||
bindd = $mainMod, K, Toggles current window group mode (ungroup all related), togglegroup,
|
||||
bindd = $mainMod, Tab, Switches to the next window in the group, changegroupactive, f
|
||||
|
||||
# ======= Toggle Gaps =======
|
||||
|
||||
bindd = $mainMod SHIFT, G, Set CachyOS default gaps, exec, hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3"
|
||||
bindd = $mainMod, G, Remove gaps between window, exec, hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0"
|
||||
|
||||
# ======= Volume Control =======
|
||||
|
||||
bindel = , XF86AudioRaiseVolume, exec, ~/.config/hypr/scripts/volume-helper.sh up
|
||||
@@ -168,3 +163,9 @@ binds {
|
||||
movefocus_cycles_fullscreen = true
|
||||
window_direction_monitor_fallback = true
|
||||
}
|
||||
|
||||
# Toggle Waybar
|
||||
bind = $mainMod, W, exec, killall -SIGUSR1 waybar
|
||||
|
||||
# Toggle Monitor Flip
|
||||
bind = $mainMod, F7, exec, ~/.config/hypr/scripts/rotate_current_screen.sh
|
||||
|
||||
@@ -33,7 +33,7 @@ windowrule = pin, title:^(danmufloat)$
|
||||
windowrule = rounding 5, title:^(danmufloat|termfloat)$
|
||||
windowrule = animation slide right, class:^(kitty|Alacritty)$
|
||||
windowrule = noblur, class:^(org.mozilla.firefox)$
|
||||
windowrule = opacity 0.8, class:Code
|
||||
windowrule = opacity 0.88, class:Code
|
||||
# Decorations related to floating windows on workspaces 1 to 10
|
||||
windowrule = bordersize 2, floating:1, onworkspace:w[fv1-10]
|
||||
windowrule = bordercolor $color4, floating:1, onworkspace:w[fv1-10]
|
||||
@@ -41,6 +41,7 @@ windowrule = rounding 8, floating:1, onworkspace:w[fv1-10]
|
||||
# Decorations related to tiling windows on workspaces 1 to 10
|
||||
windowrule = bordersize 3, floating:0, onworkspace:f[1-10]
|
||||
windowrule = rounding 4, floating:0, onworkspace:f[1-10]
|
||||
windowrule = opacity 0.9, title:^(.+nvim$)
|
||||
# Windows Rules End #
|
||||
|
||||
# Workspaces Rules https://wiki.hyprland.org/0.45.0/Configuring/Workspace-Rules/ #
|
||||
|
||||
75
.config/hypr/scripts/rotate_current_screen.sh
Executable file
75
.config/hypr/scripts/rotate_current_screen.sh
Executable file
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
# Rotate the CURRENTLY FOCUSED monitor in 90° steps: 0→90→180→270→0…
|
||||
set -euo pipefail
|
||||
|
||||
notify() {
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send -a "Hyprland" "$1" "${2:-}"
|
||||
else
|
||||
[ -n "${2:-}" ] && printf '%s: %s\n' "$1" "$2" >&2 || printf '%s\n' "$1" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
# Read monitors
|
||||
MON_JSON="$(hyprctl -j monitors 2>/dev/null || true)"
|
||||
if [ -z "$MON_JSON" ]; then
|
||||
notify "Hyprland error" "Couldn’t read monitors via hyprctl."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Focused monitor info
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
NAME="$(printf '%s' "$MON_JSON" | jq -r '.[] | select(.focused==true) | .name' | head -n1)"
|
||||
DESC="$(printf '%s' "$MON_JSON" | jq -r '.[] | select(.focused==true) | .description' | head -n1)"
|
||||
TFORM="$(printf '%s' "$MON_JSON" | jq -r '.[] | select(.focused==true) | (.transform // 0)' | head -n1)"
|
||||
else
|
||||
NAME=""; DESC=""; TFORM=""; FOC=0; GOT=0
|
||||
while IFS= read -r line || [ -n "$line" ]; do
|
||||
if [[ $line =~ ^Monitor[[:space:]]+([^[:space:]]+)[[:space:]]+\(ID[[:space:]] ]]; then
|
||||
if (( FOC==1 )); then GOT=1; break; fi
|
||||
NAME="${BASH_REMATCH[1]}"; DESC=""; TFORM=""; FOC=0
|
||||
elif [[ $line =~ ^[[:space:]]*description:[[:space:]]*(.*)$ ]]; then
|
||||
DESC="${BASH_REMATCH[1]}"
|
||||
elif [[ $line =~ ^[[:space:]]*transform:[[:space:]]*([0-9]+)$ ]]; then
|
||||
TFORM="${BASHREMATCH[1]}"
|
||||
elif [[ $line =~ ^[[:space:]]*focused:[[:space:]]*yes$ ]]; then
|
||||
FOC=1
|
||||
elif [[ -z $line ]]; then
|
||||
if (( FOC==1 )); then GOT=1; break; fi
|
||||
fi
|
||||
done < <(hyprctl monitors 2>/dev/null)
|
||||
if (( GOT==0 && FOC==1 )); then GOT=1; fi
|
||||
if (( GOT==0 )); then NAME=""; fi
|
||||
: "${TFORM:=0}"
|
||||
fi
|
||||
|
||||
if [ -z "${NAME:-}" ] || [ "${NAME:-null}" = "null" ]; then
|
||||
notify "No active monitor to rotate" "Couldn’t determine a focused monitor."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use description if available (most specific), else connector name
|
||||
if [ -n "${DESC:-}" ] && [ "${DESC:-null}" != "null" ]; then
|
||||
IDENT="desc:${DESC}"
|
||||
else
|
||||
IDENT="${NAME}" # bare connector name; no "name:" prefix
|
||||
fi
|
||||
|
||||
# Base monitor string
|
||||
BASE="${IDENT}, highres@highrr, auto-right, 1"
|
||||
|
||||
# Compute next transform in 90° steps (ignore flipped bit if present)
|
||||
if ! [[ "${TFORM:-}" =~ ^[0-9]+$ ]]; then TFORM=0; fi
|
||||
BASE_ROT=$(( TFORM % 4 ))
|
||||
NEXT=$(( (BASE_ROT + 1) % 4 ))
|
||||
DEG=$(( NEXT * 90 ))
|
||||
|
||||
run_hyprctl() {
|
||||
if ! OUT="$(hyprctl keyword monitor "$1" 2>&1)"; then
|
||||
notify "hyprctl failed" "$OUT"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
run_hyprctl "$BASE, transform, $NEXT"
|
||||
notify "Rotation applied" "${DESC:-$NAME} → ${DEG}° (transform $NEXT)"
|
||||
6
.config/kitty/kitty.conf
Normal file
6
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,6 @@
|
||||
include colors.conf
|
||||
background_opacity .3
|
||||
background_blur 16
|
||||
|
||||
|
||||
|
||||
25
.config/wallust/templates/kitty.conf
Normal file
25
.config/wallust/templates/kitty.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
# uses https://codeberg.org/explosion-mental/wallust-templates/src/branch/master/kitty.conf
|
||||
|
||||
background {{ background }}
|
||||
foreground {{ foreground }}
|
||||
|
||||
color0 {{ color0 }}
|
||||
color1 {{ color1 }}
|
||||
color2 {{ color2 }}
|
||||
color3 {{ color3 }}
|
||||
color4 {{ color4 }}
|
||||
color5 {{ color5 }}
|
||||
color6 {{ color6 }}
|
||||
color7 {{ color7 }}
|
||||
color8 {{ color8 }}
|
||||
color9 {{ color9 }}
|
||||
color10 {{ color10 }}
|
||||
color11 {{ color11 }}
|
||||
color12 {{ color12 }}
|
||||
color13 {{ color13 }}
|
||||
color14 {{ color14 }}
|
||||
color15 {{ color15 }}
|
||||
|
||||
mark1_foreground {{ color6 | saturate(0.2) }}
|
||||
mark2_foreground {{ color7 | saturate(0.2) }}
|
||||
mark3_foreground {{ color6 | saturate(0.2) }}
|
||||
@@ -41,7 +41,8 @@ check_contrast = true
|
||||
|
||||
[templates]
|
||||
waybar = { template = 'waybar.css', target = '~/.config/waybar/colors-wallust.css' }
|
||||
alacritty = { template = 'alacritty.toml', target = '~/.config/alacritty/colors.toml' }
|
||||
# alacritty = { template = 'alacritty.toml', target = '~/.config/alacritty/colors.toml' }
|
||||
hyprland = { template = 'hyprland.conf', target = '~/.config/hypr/config/colors.conf' }
|
||||
vscode = { template = 'vscode', target = '~/.cache/wal/colors' }
|
||||
kitty = { template = 'kitty.conf', target = '~/.config/kitty/colors.conf'}
|
||||
tofi = { template = 'tofi', target = '~/.config/tofi/config' }
|
||||
|
||||
Reference in New Issue
Block a user