Regenerated

This commit is contained in:
2026-03-26 17:23:20 +00:00
parent 3a4998acfb
commit bf160e963a
46 changed files with 3403 additions and 32 deletions
@@ -25,8 +25,7 @@ bind = ALT, TAB, cyclenext,
# bind = ALT SHIFT, TAB, cyclenext prev
# switch layouts
# $MOD+A opens layout selector
bind = $MOD+A, exec, ~/.config/hypr/scripts/layout-selector.sh
# Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col
@@ -36,7 +35,7 @@ bind = $mainMod, S, togglegroup
# Cycle tabs in the group
bind = $mainMod, L, changegroupactive, f
bind = $mainMod, H, changegroupactive, b
bind = $mainMod, T, exec, ~/.config/hypr/scripts/toggle-layout-scrolling-dwindle.sh
bind = $mainMod, T, exec, ~/.config/hypr/scripts/layout-selector.sh
# Focus movement
bind = $mainMod, H, movefocus, l
@@ -0,0 +1 @@
workspace_layouts = dwindle, master, scrolling, monocle
@@ -1,25 +1,34 @@
#!/usr/bin/env bash
# layout-selector.sh
# Cycles through layouts using Wofi for selection, commits on key choice
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
# Hyprland workspace info
CURRENT_WS=$(hyprctl activeworkspace -j | jq -r '.id')
CURRENT_LAYOUT=$(hyprctl workspaces -j | jq -r ".[] | select(.id==$CURRENT_WS) | .layout")
# Define layouts and descriptions
declare -A LAYOUTS=(
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
[master]=" Master: One main window, others stacked"
[scrolling]=" Scrolling: Vertical list, scroll through windows"
[monocle]=" Monocle: One window fills the screen"
[floating]=" Floating: Free move & resize"
)
ORDER=(dwindle master scrolling monocle floating)
# Define your layouts (change as you like)
LAYOUTS=("master-stack" "monocle" "bsp" "grid" "floating")
# Prepare Wofi menu: show "layoutname: description"
MENU_ITEMS=()
for key in "${ORDER[@]}"; do
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
done
# Show selection menu via Wofi
CHOICE=$(printf '%s\n' "${LAYOUTS[@]}" | wofi --dmenu --prompt "Select Layout")
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
# If user cancelled
# Exit if cancelled
[ -z "$CHOICE" ] && exit 0
# Skip if already current layout
[ "$CHOICE" == "$CURRENT_LAYOUT" ] && exit 0
# Extract layout name from selection (before colon)
LAYOUT_NAME="${CHOICE%%:*}"
# Apply the layout
hyprctl dispatch workspace "$CURRENT_WS" layout "$CHOICE"
# Apply layout via layoutmsg
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
# Show OSD feedback
hyprctl dispatch oSD "Layout: $CHOICE" 2000
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
@@ -0,0 +1,75 @@
/* Catppuccin Mocha theme for Wofi with transparency and rounded corners */
@define-color base rgba(30, 30, 46, 0.9); /* Added transparency */
@define-color surface0 rgba(49, 50, 68, 0.95); /* Added transparency */
@define-color surface1 #45475A;
@define-color surface2 #585B70;
@define-color text #CDD6F4;
@define-color lavender #B4BEFE;
@define-color blue #89B4FA;
@define-color sapphire #74C7EC;
@define-color teal #94E2D5;
@define-color green #A6E3A1;
@define-color yellow #F9E2AF;
@define-color peach #FAB387;
@define-color maroon #EBA0AC;
@define-color red #F38BA8;
@define-color mauve #CBA6F7;
@define-color pink #F5C2E7;
@define-color flamingo #F2CDCD;
@define-color rosewater #F5E0DC;
* {
background-color: transparent;
color: @text;
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 12pt;
}
#main {
background-color: @base;
border: 1px solid @surface0;
border-radius: 10px; /* Rounded corners */
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
#input {
background-color: @surface0;
color: @text;
border: 1px solid @surface1;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin-bottom: 10px;
}
#entry {
background-color: transparent;
color: @text;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin: 2px 0;
}
#entry:focus {
background-color: @surface1;
color: @lavender;
border-radius: 10px; /* Rounded corners */
}
#entry:selected {
background-color: @surface2;
color: @text;
border-radius: 10px; /* Rounded corners */
}
#scrollbar {
background-color: @surface0;
border-radius: 10px; /* Rounded corners */
width: 8px;
}
#scrollbar.handle {
background-color: @blue;
border-radius: 10px; /* Rounded corners */
}
@@ -0,0 +1,38 @@
[global]
allow_images = true
allow_markup = true
show_drun = true:apps,false:others
show_run = true
show_files = false
show_windowed = false
show_dmenu = false
show_ssh = false
show_power = false
width = 800
height = 600
# Center on the active monitor
x = 50%
y = 50%
lines = 10
columns = 1
sort_order = last-used
sort_method = fuzzy
allow_scrolling = true
scroll_wrap = true
scroll_step = 10
cycle = true
hide_scroll = false
hide_search = false
show_labels = true
label_search = true
label_run = Run
label_files = Files
label_windowed = Windows
label_drun = Applications
label_dmenu = Commands
label_ssh = SSH
label_power = Power
prompt = >