From befb444f1259f0a6f1934799220ac9e9aa504062 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Fri, 24 Apr 2026 20:43:54 -0400 Subject: [PATCH] feat(hypr): add hyprland config --- config/hypr/hyprland.conf | 18 ++++++++++++++---- script/v | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) create mode 100755 script/v diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index 7b1ae7a..6bdc433 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -66,7 +66,7 @@ general { } master { - allow_small_split = true + allow_small_split = true mfact = 0.50 new_status = master } @@ -79,6 +79,10 @@ dwindle { # single_window_aspect_ratio = 1 1 } +scrolling { + column_width = 1.0 +} + decoration { rounding = 3 active_opacity = 1.0 @@ -145,6 +149,7 @@ animations { bindd = SUPER, return, Tmux Terminal, exec, $terminal -e tmux new -A -s main +bindd = SUPER SHIFT, return, NVIM Terminal, exec, $terminal -e nvim bindd = SUPER, B, Browser, exec, $browser bindd = SUPER, T, Activity, exec, $terminal -e btop bindd = SUPER, S, Finder, exec, uwsm app -- rofi -show recursivebrowser @@ -217,8 +222,13 @@ bind = SUPER ALT, period, swapnext bind = SUPER ALT, comma, swapnext, prev # Cycle through applications on active workspace -bindd = ALT, Tab, Cycle to next window, cyclenext +# bindd = ALT, Tab, Cycle to next window, cyclenext +bindd = ALT, Tab, Cycle to next window, layoutmsg, cyclenext bindd = ALT, Tab, Reveal active window on top, alterzorder, top +bindd = ALT SHIFT, Tab, Cycle to next window, layoutmsg, focus r + +bindd = ALT SHIFT, Tab, Cycle to prev window, layoutmsg, cycleprev +bindd = ALT SHIFT, Tab, Cycle to prev window, layoutmsg, focus l bind = SUPER ALT, Tab, focusworkspaceoncurrentmonitor, previous @@ -231,9 +241,9 @@ bind = SUPER, minus, layoutmsg, mfact exact 0.3 bind = SUPER SHIFT, equal, layoutmsg, mfact exact 0.7 bind = SUPER, equal, layoutmsg, mfact exact 0.5 bind = SUPER, period, layoutmsg, cyclenext -bind = SUPER, period, layoutmsg, move +col +bind = SUPER, period, layoutmsg, focus r bind = SUPER, comma, layoutmsg, cycleprev -bind = SUPER, comma, layoutmsg, move -col +bind = SUPER, comma, layoutmsg, focus l bind = SUPER, M, layoutmsg, swapwithmaster #bind = SUPER, M, layoutmsg, rollnext diff --git a/script/v b/script/v new file mode 100755 index 0000000..ea2bb03 --- /dev/null +++ b/script/v @@ -0,0 +1,39 @@ +#!/usr/bin/env sh + +required_tools=(nvim realpath) +missing=() + +for tool in "${required_tools[@]}"; do + if ! command -v "$tool" &> /dev/null; then + missing+=("$tool") + fi +done + +if [ "${#missing[@]}" -ne 0 ]; then + echo "$0: error: missing required tools: ${missing[*]}" >&2 + exit 1 +fi + +for arg in "$@"; do + if [ -d "$arg" ]; then + echo "$0: error: '$arg' is a directory" >&2 + exit 1 + fi +done + +if [ ! -z "$NVIM" ]; then + # inside neovim + if [ "$#" -ne "0" ]; then + realpath --zero "$@" | xargs -0 -n1 nvim --server "$NVIM" --remote + fi + exit +fi + +# outside neovim + +if [ "$#" -eq "0" ]; then + nvim + exit +fi + +nvim "$@"