diff --git a/.bin/colorpicker b/.bin/colorpicker index 37440fa..3d25868 100755 --- a/.bin/colorpicker +++ b/.bin/colorpicker @@ -1,6 +1,6 @@ #!/usr/bin/env sh grim -g "$(slurp -c bd93f9 -p)" -t ppm - \ - | convert - -format '%[pixel:p{0,0}]' txt:- \ + | magick - -format '%[pixel:p{0,0}]' txt:- \ | grep -o '#[0-9A-F]\{6\}' \ | wl-copy -n diff --git a/.bin/host-mode##hostname.portalo b/.bin/host-mode##hostname.portalo index fc3d90d..5a41758 100755 --- a/.bin/host-mode##hostname.portalo +++ b/.bin/host-mode##hostname.portalo @@ -2,7 +2,8 @@ modes="std single -single-sec" +single-sec +layout" portalo_mode_std () { echo "Loading portalo standard screen layout" @@ -22,6 +23,15 @@ portalo_mode_single_sec () { yadm config --add local.class monitor-single-sec } +portalo_mode_layout () { + layout_dir="$HOME/.config/hypr/layouts" + layouts=$(\ls -1 "$layout_dir") + layout=$(echo "$layouts" | $DMENU -p "layout") + if [ -n "$layout" ]; then + "$layout_dir/$layout" + fi +} + if [ -z "$1" ]; then mode=$(echo "$modes" | $DMENU -p "mode") else @@ -32,5 +42,6 @@ case $mode in "std") portalo_mode_std ;; "single") portalo_mode_single ;; "single-sec") portalo_mode_single_sec ;; + "layout") portalo_mode_layout ;; *) echo "'$mode' is not a valid mode (single, std)" ;; esac diff --git a/.config/env.d/99-local##hostname.portalo b/.config/env.d/99-local##hostname.portalo index ff522a2..6fd70aa 100755 --- a/.config/env.d/99-local##hostname.portalo +++ b/.config/env.d/99-local##hostname.portalo @@ -2,6 +2,8 @@ export AUTOSTART_DISPLAY="Hyprland" +export KDE_CONNECT_DEVICE="Fairphone3" + export MONITOR_PRIMARY="DP-1" export MONITOR_SECONDARY="HDMI-A-1" diff --git a/.config/hypr/binds.conf b/.config/hypr/binds.conf index cddb916..3b58806 100644 --- a/.config/hypr/binds.conf +++ b/.config/hypr/binds.conf @@ -26,19 +26,26 @@ bindl = , XF86AudioPause, exec, playerctl pause bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPrev, exec, playerctl prev +### hjkl Keys + # Move focus with mainMod + hjkl keys bind = $main_mod, h, movefocus, l bind = $main_mod, j, movefocus, d bind = $main_mod, k, movefocus, u bind = $main_mod, l, movefocus, r + # Move window with mainMod + hjkl keys bind = $main_mod SHIFT, h, movewindow, l bind = $main_mod SHIFT, j, movewindow, d bind = $main_mod SHIFT, k, movewindow, u bind = $main_mod SHIFT, l, movewindow, r -# Move focus between windows -bind = $main_mod, c, layoutmsg, swapwithmaster master +# Preselect split window with mainMod + hjkl keys +bind = $main_mod CTRL, h, layoutmsg, preselect l +bind = $main_mod CTRL, j, layoutmsg, preselect d +bind = $main_mod CTRL, k, layoutmsg, preselect u +bind = $main_mod CTRL, l, layoutmsg, preselect r + # Switch workspaces with mainMod + [0-9] diff --git a/.config/hypr/dracula.conf b/.config/hypr/dracula.conf index 077d580..568308b 100644 --- a/.config/hypr/dracula.conf +++ b/.config/hypr/dracula.conf @@ -1,12 +1,18 @@ # dracula/hyprland general { - col.active_border = rgb(44475a) rgb(bd93f9) 90deg - col.inactive_border = rgba(44475aaa) - # non-gradient alternative - #col.active_border = rgb(bd93f9) + #col.active_border = rgb(44475a) rgb(bd93f9) 90deg #col.inactive_border = rgba(44475aaa) + col.nogroup_border = rgba(282a36dd) + col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg + no_border_on_floating = false + border_size = 2 + + # non-gradient alternative + col.active_border = rgb(bd93f9) + col.inactive_border = rgba(44475aaa) #col.group_border = rgba(282a36dd) #col.group_border_active = rgb(bd93f9) + # darker alternative #col.active_border = rgb(44475a) # or rgb(6272a4) #col.inactive_border = rgb(282a36) @@ -16,6 +22,7 @@ general { } decoration { col.shadow = rgba(1E202966) + # suggested shadow setting #drop_shadow = yes #shadow_range = 60 @@ -23,6 +30,7 @@ decoration { #shadow_render_power = 3 #shadow_scale = 0.97 } + group { groupbar { col.active = rgb(bd93f9) rgb(44475a) 90deg diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf index 319e190..1ea5e0f 100644 --- a/.config/hypr/rules.conf +++ b/.config/hypr/rules.conf @@ -10,9 +10,9 @@ windowrulev2 = workspace $ws_web, class:(firefox) windowrulev2 = workspace $ws_focus, class:^(jetbrains-) -windowrulev2 = workspace $ws_media silent, class:(Chromium) -windowrulev2 = workspace $ws_media silent, class:(FreeTube) -windowrulev2 = workspace $ws_media silent, class:(qutebrowser-kiosk) +windowrulev2 = workspace $ws_media, class:([cC]hromium) +windowrulev2 = workspace $ws_media, class:(FreeTube) +windowrulev2 = workspace $ws_media, class:(qutebrowser-kiosk) windowrulev2 = workspace $ws_chat silent, class:(discord) windowrulev2 = workspace $ws_chat silent, class:(Element) diff --git a/.config/qutebrowser/keybindings.py b/.config/qutebrowser/keybindings.py index 256567a..03e45af 100644 --- a/.config/qutebrowser/keybindings.py +++ b/.config/qutebrowser/keybindings.py @@ -8,6 +8,7 @@ def init(c): c.bind(',ef', 'spawn firefox {url}') c.bind(',eF', 'hint links spawn firefox {hint-url}') c.bind(',es', 'spawn xdg-open steam://openurl/{url}') + c.bind(',ep', 'spawn kdeconnect-cli -n Fairphone3 --share {url}') c.bind(',g', 'open {url:scheme}://github1s.com{url:path}{url:query}') diff --git a/.config/qutebrowser/userscripts/qutebrowser-linkwarden b/.config/qutebrowser/userscripts/qutebrowser-linkwarden index b38886b..78a04de 100755 --- a/.config/qutebrowser/userscripts/qutebrowser-linkwarden +++ b/.config/qutebrowser/userscripts/qutebrowser-linkwarden @@ -11,6 +11,12 @@ collection=$(get_collections | $DMENU -p "Collection: ") url=$QUTE_URL name=$(echo "$QUTE_TITLE" | $DMENU -p "Title: ") +if [ -z "$url" ] || [ -z "$name" ] || [ -z "$collection" ] +then + echo "message-error \"Failed to save link: Missing required fields\"" >> "$QUTE_FIFO" + exit 0 +fi + payload=$(jq -n \ --arg u "$url" \ --arg n "$name" \