diff --git a/archive.sh b/archive.sh index 780f2c8..39246d0 100755 --- a/archive.sh +++ b/archive.sh @@ -6,7 +6,6 @@ scripts_subdir="$PWD/scripts" # rsync -a ~/pictures/wallpapers/* wallpapers/ cd config || exit -rsync -a ~/.config/kitty . rsync -a \ --exclude 'bookmarks' \ --exclude 'quickmarks' \ diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc index 475d981..2d224c7 100755 --- a/config/bspwm/bspwmrc +++ b/config/bspwm/bspwmrc @@ -2,7 +2,10 @@ wmname LG3D & -bsp-auto-monitors +# START MONITOR BLOCK +bspc monitor HDMI-1 -d I II III IV V +# END MONITOR BLOCK + bsp-key-daemon bspc config border_width 1 @@ -22,6 +25,8 @@ bspc config pointer_action2 resize_corner bspc config focus_follows_pointer true bspc config pointer_follows_focus true +# bspc rule -a \* state=pseudo_tiled +bspc rule -a qutebrowser state=tiled bspc rule -a KittyScratch state=floating bspc rule -a Wrapper-2.0 state=floating # Xfce start menu bspc rule -a Rofi state=floating diff --git a/config/bspwm/colors b/config/bspwm/colors index 46e38cc..a10a9e2 100755 --- a/config/bspwm/colors +++ b/config/bspwm/colors @@ -1,3 +1,3 @@ -bspc config normal_border_color "#68615e" -bspc config active_border_color "#766e6b" -bspc config focused_border_color "#9c9491" +bspc config normal_border_color "#4a4543" +bspc config active_border_color "#5c5855" +bspc config focused_border_color "#807d7c" diff --git a/config/qutebrowser/base16.css b/config/qutebrowser/base16.css new file mode 100644 index 0000000..4057c79 --- /dev/null +++ b/config/qutebrowser/base16.css @@ -0,0 +1,27 @@ +# :root { + # --vii: #3a3432; + # --vi: #5c5855; + # --v: #db2d20; + # --iv: #a5a2a2; + # --iiv: #f7f7f7; + # --a: #b5e4f4; +# } + +:root { + --base00: #090300; + --base01: #3a3432; + --base02: #4a4543; + --base03: #5c5855; + --base04: #807d7c; + --base05: #a5a2a2; + --base06: #d6d5d4; + --base07: #f7f7f7; + --base08: #db2d20; + --base09: #e8bbd0; + --base0A: #fded02; + --base0B: #01a252; + --base0C: #b5e4f4; + --base0D: #01a0e4; + --base0E: #a16a94; + --base0F: #cdab53; +} diff --git a/config/qutebrowser/config.py b/config/qutebrowser/config.py index 390007e..b8520fb 100644 --- a/config/qutebrowser/config.py +++ b/config/qutebrowser/config.py @@ -9,12 +9,12 @@ c.tabs.show = "never" c.content.autoplay = False -c.colors.webpage.preferred_color_scheme +# c.colors.webpage.preferred_color_scheme config.bind('h', 'back') config.bind('l', 'forward') -config.bind('J', 'scroll-page 0 1') -config.bind('K', 'scroll-page 0 -1') +config.bind('j', 'scroll-page 0 1') +config.bind('k', 'scroll-page 0 -1') config.bind('gp', 'mode-enter passthrough') @@ -40,6 +40,8 @@ c.hints.selectors["bookmarks"] = [ ] config.bind(';b', 'hint bookmarks userscript copy-bookmark') +c.content.user_stylesheets = "base16.css" + #START SHCHEMES BLOCK : shchemes create_theme qutebrowser # base16-qutebrowser (https://github.com/theova/base16-qutebrowser) # Scheme name: @@ -47,22 +49,22 @@ config.bind(';b', 'hint bookmarks userscript copy-bookmark') # Template author: theova # Commentary: Tinted Theming: (https://github.com/tinted-theming) -base00 = "#1b1918" -base01 = "#2c2421" -base02 = "#68615e" -base03 = "#766e6b" -base04 = "#9c9491" -base05 = "#a8a19f" -base06 = "#e6e2e0" -base07 = "#f1efee" -base08 = "#f22c40" -base09 = "#df5320" -base0A = "#c38418" -base0B = "#7b9726" -base0C = "#3d97b8" -base0D = "#407ee7" -base0E = "#6666ea" -base0F = "#c33ff3" +base00 = "#090300" +base01 = "#3a3432" +base02 = "#4a4543" +base03 = "#5c5855" +base04 = "#807d7c" +base05 = "#a5a2a2" +base06 = "#d6d5d4" +base07 = "#f7f7f7" +base08 = "#db2d20" +base09 = "#e8bbd0" +base0A = "#fded02" +base0B = "#01a252" +base0C = "#b5e4f4" +base0D = "#01a0e4" +base0E = "#a16a94" +base0F = "#cdab53" # set qutebrowser colors diff --git a/config/rofi/theme.rasi b/config/rofi/theme.rasi index 60abf9d..a33bad9 100644 --- a/config/rofi/theme.rasi +++ b/config/rofi/theme.rasi @@ -7,13 +7,13 @@ */ * { - red: rgba ( 242, 44, 64, 100 % ); - blue: rgba ( 64, 126, 231, 100 % ); - lightfg: rgba ( 230, 226, 224, 100 % ); - lightbg: rgba ( 44, 36, 33, 100 % ); - foreground: rgba ( 168, 161, 159, 100 % ); - background: rgba ( 27, 25, 24, 100 % ); - background-color: rgba ( 27, 25, 24, 0 % ); + red: rgba ( 219, 45, 32, 100 % ); + blue: rgba ( 1, 160, 228, 100 % ); + lightfg: rgba ( 214, 213, 212, 100 % ); + lightbg: rgba ( 58, 52, 50, 100 % ); + foreground: rgba ( 165, 162, 162, 100 % ); + background: rgba ( 9, 3, 0, 100 % ); + background-color: rgba ( 9, 3, 0, 0 % ); separatorcolor: @foreground; border-color: @foreground; selected-normal-foreground: @lightbg; diff --git a/config/sxhkd/sxhkdrc b/config/sxhkd/sxhkdrc index 474730e..b6d49b7 100644 --- a/config/sxhkd/sxhkdrc +++ b/config/sxhkd/sxhkdrc @@ -4,11 +4,11 @@ # Open kitty super + Return - kitty + xfce4-terminal # Open floating kitty super + shift + Return - bsp-float kitty + bsp-float xfce4-terminal # launch program (drun) super + @space @@ -29,6 +29,16 @@ super + alt + Menu super + o qutesearch +# Preselect below and start a qutebrowser search +super + p + bspc node -p south -o 0.01 \ + && qutesearch \ + || bspc node -p cancel + +# Grab color +Print + grabc | xclip -sel clipboard + # Show keybinds super + slash sxhkd-help @@ -78,29 +88,23 @@ super + {_,shift + }w super + m bspc desktop -l next -# send the newest marked node to the newest preselected node -super + y - bspc node newest.marked.local -n newest.!automatic.local - # swap the current node and the biggest window super + g bspc node -s biggest.window -# Reveal hidden kitty (scratchpad) -super + alt + Return - bsp-toggle-visibility KittyScratch "kitty --class KittyScratch" - -# Plumb selected text -super + c - eval $(sselp | goawk $(cat ~/plumber.awk)) - # # state/flags # -# set the window state -super + {z,shift + z,x,f} - bspc node -t {tiled,pseudo_tiled,floating,fullscreen} +# toggle window state +super + c + bspc node 'focused.!tiled' -t tiled || bspc node 'focused.!floating' -t floating +# bspc node 'focused.!pseudo_tiled' -t pseudo_tiled + +# toggle window fullscreen +super + f + bspc node 'focused.!tiled' -t tiled || bspc node 'focused.!fullscreen' -t fullscreen + # set the node flags super + ctrl + {m,x,y,z} @@ -110,35 +114,18 @@ super + ctrl + {m,x,y,z} # focus/swap # -# focus the node in the given direction +# Focus the node in the given direction super + {h,j,k,l,Left,Down,Up,Right} bspc node -{f} {west,south,north,east,west,south,north,east} -# focus the node for the given path jump -super + {p,b,comma,period} - bspc node -f @{parent,brother,first,second} - -# # focus the next/previous window in the current desktop -# super + {a,d} -# bspc node -f {next,prev}.local.!hidden.window -# Rotate tree +# Rotate focus clockwise/counterclockwise super + {d,a} - bspc node @/ -C {forward,backward} - -# focus the next/previous desktop in the current monitor -super + bracket{left,right} - bspc desktop -f {prev,next}.local + bspc node -f {next,prev}.local.window # focus the last node/desktop super + {grave,Tab} bspc {node,desktop} -f last -# focus the older or newer node in the focus history -# super + {o,i} -# bspc wm -h off; \ -# bspc node {older,newer} -f; \ -# bspc wm -h on - # focus or send to the given desktop super + {_,shift + }{1-6} bspc {desktop -f,node -d} '^{1-6}' @@ -160,7 +147,7 @@ super + ctrl + shift + space bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel # swap current window with preselection -super + p +super + s bspc node -n last.\!automatic -t tiled # @@ -181,6 +168,20 @@ super + {h,j,k,l} super + shift + {h,j,k,l,Left,Down,Up,Right} bsp-smove {west,south,north,east,west,south,north,east} +# minimize current window, move down +super + {z,bracketleft} + bspc node -f 'focused.tiled' \ + && bspc node -f north; \ + bspc node -z bottom 0 9999 + +# minimize current window, move up +super + {x,bracketright} + bspc node -f 'focused.tiled' \ + && bspc node -f south; \ + bspc node -z top 0 -9999 + +super + backslash + bspc node -e # # Program launching binds @@ -193,4 +194,28 @@ super + 9 bitwarden super + 0 - kitty --hold sh -c micro + kitty -e micro + +# +# Media +# + +# Play/pause track +XF86AudioPlay + playerctl play-pause + +# Play/pause track +Pause + playerctl play-pause + +# Previus track +XF86AudioNext + playerctl next + +# Previous track +XF86AudioPrev + playerctl previous + +# Stop track +XF86AudioStop + playerctl stop diff --git a/config/vesktop/settings/settings.json b/config/vesktop/settings/settings.json index e505b25..ee29d11 100644 --- a/config/vesktop/settings/settings.json +++ b/config/vesktop/settings/settings.json @@ -318,9 +318,6 @@ "PreviewMessage": { "enabled": false }, - "PronounDB": { - "enabled": false - }, "QuickMention": { "enabled": false }, @@ -351,9 +348,6 @@ "RoleColorEverywhere": { "enabled": false }, - "SearchReply": { - "enabled": false - }, "SecretRingToneEnabler": { "enabled": false }, @@ -541,9 +535,6 @@ "VoiceDownload": { "enabled": false }, - "WatchTogetherAdblock": { - "enabled": false - }, "WebScreenShareFixes": { "enabled": true }, @@ -568,7 +559,16 @@ "NoOnboardingDelay": { "enabled": false }, - "ShowAllRoles": { + "AlwaysExpandRoles": { + "enabled": false + }, + "YoutubeAdblock": { + "enabled": false + }, + "FullSearchContext": { + "enabled": false + }, + "UserMessagesPronouns": { "enabled": false } }, @@ -582,6 +582,6 @@ "authenticated": false, "url": "https://api.vencord.dev/", "settingsSync": false, - "settingsSyncVersion": 1723460751842 + "settingsSyncVersion": 1731937700893 } -} +} \ No newline at end of file diff --git a/config/xfce4/help.rc b/config/xfce4/help.rc new file mode 100644 index 0000000..f9a741a --- /dev/null +++ b/config/xfce4/help.rc @@ -0,0 +1,2 @@ +auto-online=false + diff --git a/config/xfce4/terminal/terminalrc b/config/xfce4/terminal/terminalrc new file mode 100644 index 0000000..4271480 --- /dev/null +++ b/config/xfce4/terminal/terminalrc @@ -0,0 +1,40 @@ +[Configuration] +ColorForeground=#a5a2a2 +ColorBackground=#090300 +ColorCursor=#b5e4f4 +ColorSelection=#090300 +ColorBold=#a5a2a2 +ColorBoldUseDefault=FALSE +ColorPalette=#090300;#db2d20;#01a252;#fded02;#01a0e4;#a16a94;#b5e4f4;#a5a2a2;#5c5855;#db2d20;#01a252;#fded02;#01a0e4;#a16a94;#b5e4f4;#f7f7f7 +TabActivityColor=#fded02 +FontName=DejaVu Sans Mono 11 +MiscAlwaysShowTabs=FALSE +MiscBell=FALSE +MiscBellUrgent=FALSE +MiscBordersDefault=FALSE +MiscCursorBlinks=FALSE +MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK +MiscDefaultGeometry=80x24 +MiscInheritGeometry=FALSE +MiscMenubarDefault=FALSE +MiscMouseAutohide=FALSE +MiscMouseWheelZoom=TRUE +MiscToolbarDefault=FALSE +MiscConfirmClose=FALSE +MiscCycleTabs=TRUE +MiscTabCloseButtons=TRUE +MiscTabCloseMiddleClick=TRUE +MiscTabPosition=GTK_POS_TOP +MiscHighlightUrls=TRUE +MiscMiddleClickOpensUri=FALSE +MiscCopyOnSelect=FALSE +MiscShowRelaunchDialog=TRUE +MiscRewrapOnResize=TRUE +MiscUseShiftArrowsToScroll=FALSE +MiscSlimTabs=FALSE +MiscNewTabAdjacent=FALSE +MiscSearchDialogOpacity=100 +MiscShowUnsafePasteDialog=TRUE +MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU +ShortcutsNoMnemonics=TRUE + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml index 883245f..f8aabf2 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml @@ -4,12 +4,29 @@ - + + + + + + + + + + + + + + + + + + @@ -23,12 +40,29 @@ - + + + + + + + + + + + + + + + + + + @@ -41,4 +75,5 @@ + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml index 9fd09d6..2451271 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml @@ -3,5 +3,6 @@ + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml index ab7372c..d5af63d 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -9,14 +9,14 @@ - - + + - + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml index bd9ae14..69a3ffd 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -36,9 +36,10 @@ - + + @@ -61,13 +62,18 @@ + + + + + - - + + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml index 733d759..b491782 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml @@ -4,11 +4,12 @@ - + + @@ -29,4 +30,6 @@ + + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml index bf2d1c9..d3bfe1d 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -14,7 +14,6 @@ - @@ -29,6 +28,7 @@ + @@ -39,15 +39,16 @@ - - - - - + + + + - - + + + + @@ -65,7 +66,6 @@ - @@ -85,7 +85,7 @@ - + @@ -99,6 +99,7 @@ + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml index f1a16af..0680d1e 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml @@ -18,6 +18,8 @@ - + + + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml index 82a2357..e76b3fc 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml @@ -2,8 +2,8 @@ - - + + diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml index 6063e18..28660d8 100644 --- a/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml +++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -86,7 +86,12 @@ - + + + + + + diff --git a/scripts/bsp-auto-monitors b/scripts/bsp-auto-monitors index 9b4cc1c..c7b2ae2 100755 --- a/scripts/bsp-auto-monitors +++ b/scripts/bsp-auto-monitors @@ -1,14 +1,52 @@ #!/bin/env bash -monitors=($(xrandr | grep " connected " | awk '{ print$1 }')) -monitorcount=${#monitors[*]} -names=(I II III IV V) +path="$HOME/.config/bspwm/bspwmrc" +tmp=$(mktemp) +primary=$(xrandr | grep " connected" | rofi -dmenu -a | awk '{ print $1 }') +secondary=$(xrandr | grep " connected" | grep -v "^$primary" | awk '{ print $1 }') +use_secondary=$(printf 'Yes\nNo\n' | rofi -dmenu -e "Use secondary displays?" -format i) -if [ $monitorcount -eq 1 ]; then - bspc monitor -d ${names[@]} -else - for((i=0; i<${monitorcount}; i++)); do - name=${names[$i]} - bspc monitor ${monitors[$i]} -d ${name}-0 ${name}-1 - done -fi +p() { + if [ -n "$secondary" ] && [ "$use_secondary" == 0 ]; then + printf 'bspc monitor %s -d I II III IV\n' "$primary" + printf 'bspc monitor %s -d %s\n' "$secondary" "$secondary" + else + printf 'bspc monitor %s -d I II III IV V\n' "$primary" + bspc monitor "$secondary" -r + fi +} + +p | awk -v blockstart="# START MONITOR BLOCK" \ + -v blockend="# END MONITOR BLOCK" \ + -v sq="'" \ + -v nl="\n" ' +FILENAME == "-" { + block=block $0 nl + next +} +!inblock { print } +inblock { + lines[++bi] = $0 +} +$0 ~ blockstart { + inblock = 1; + bi = 0; + printf block + next +} +$0 == blockend && inblock { + inblock = 0; + print blockend; + next; +} +ENDFILE { + if(inblock) { + print nl blockend; + for(i=1;i<=bi;i++) { + print lines[i]; + } + } +} +' - "$path" > "$tmp" && mv "$tmp" "$path" +chmod +x "$path" +"$path" diff --git a/scripts/change-scheme b/scripts/change-scheme index 41dc137..450099e 100755 --- a/scripts/change-scheme +++ b/scripts/change-scheme @@ -18,14 +18,15 @@ fi shchemes inject "$HOME/.profile" shchemes inject "$HOME/.config/qutebrowser/config.py" +shchemes create_theme css > "$HOME/.config/base16.css" +shchemes create_theme css > "$HOME/.config/qutebrowser/base16.css" pkill -HUP qutebrowser BSPWM_THEME="$HOME/.config/bspwm/colors" shchemes create_theme bspwm > "$BSPWM_THEME" "$BSPWM_THEME" -shchemes inject "$HOME/.config/kitty/kitty.conf" -pkill -SIGUSR1 kitty +shchemes create_theme xfce4-terminal | shchemes merge "$HOME/.config/xfce4/terminal/terminalrc" shchemes create_theme rofi > "$HOME/.config/rofi/theme.rasi" shchemes create_theme better-discord > "$HOME/.config/vesktop/themes/theme.css" @@ -37,7 +38,7 @@ shchemes create_theme obsidian > "$HOME/media/vault/.obsidian/themes/base16.css" xfconf-query -c xsettings -p /Net/ThemeName -r xfconf-query -c xsettings -p /Net/ThemeName -s base16 -le-wallpaper +xrandr | awk '$2 == "connected" { system("le-wallpaper " $1) }' # WALLPAPER_OUT="$HOME/.wallpaper.png" # shchemes create_theme imagemagick \ diff --git a/scripts/le-wallpaper b/scripts/le-wallpaper index 0130aa8..a2bedfb 100755 --- a/scripts/le-wallpaper +++ b/scripts/le-wallpaper @@ -4,18 +4,22 @@ if [ -f "$HOME/.profile" ]; then source "$HOME/.profile" fi -# Note: In the future, when multi-monitor support is added, the monitor offset could be retrieved from xrandr -# here and fed into feh using --geometry -monitor=($(xrandr | grep " connected" | head -n 1 | awk '{ split($4, a, /[+x]/); print $1 " " a[1] " " a[2]; }')) +monitor=($(xrandr | awk -v name="$1" '$1 == name && $2 == "connected" { + for(i=1;i<=NF;i++) { + if($i ~ /[0-9]+x[0-9]+\+[0-9]+\+[0-9]+/) { + split($i, a, /[+x]/); print $1 " " a[1] " " a[2]; exit + } + } +}')) monitor_name="${monitor[0]}" monitor_width="${monitor[1]}" monitor_height="${monitor[2]}" prop="/backdrop/screen0/monitor${monitor_name}/workspace0/last-image" -path="$1" +path="$2" wallpaper_dir="$HOME/.local/share/le_wallpaper" -wallpaper_path="${wallpaper_dir}/wallpaper.png" -wallpaper_store="${wallpaper_dir}/source_path" +wallpaper_path="${wallpaper_dir}/${monitor_name}.png" +wallpaper_store="${wallpaper_dir}/${monitor_name}_path" mkdir -p "$wallpaper_dir" @@ -55,4 +59,5 @@ shchemes create_theme imagemagick \ echo "Setting wallpaper: $path" xfconf-query -c xfce4-desktop -p "$prop" -s "$wallpaper_path" echo "$path" > "$wallpaper_store" -feh --bg-center "$wallpaper_path" + +le-wallpaper-open diff --git a/scripts/qutebrowser b/scripts/qutebrowser index 837a25e..3283eb2 100755 --- a/scripts/qutebrowser +++ b/scripts/qutebrowser @@ -8,7 +8,7 @@ _proto_version=1 _ipc_socket="${XDG_RUNTIME_DIR}/qutebrowser/ipc-$(echo -n "$USER" | md5sum | cut -d' ' -f1)" _qute_bin="/home/dakedres/repos/qutebrowser/.venv/bin/qutebrowser" -printf '{"args": ["%s"], "target_arg": null, "version": "%s", "protocol_version": %d, "cwd": "%s"}\n' \ +printf '{"args": ["%s"], "target_arg": "window", "version": "%s", "protocol_version": %d, "cwd": "%s"}\n' \ "${_url}" \ "${_qb_version}" \ "${_proto_version}" \ diff --git a/scripts/xfce4-le-wallpaper b/scripts/xfce4-le-wallpaper index 32d5b83..1f2fc14 100755 --- a/scripts/xfce4-le-wallpaper +++ b/scripts/xfce4-le-wallpaper @@ -1,16 +1,10 @@ #!/bin/env bash -monitors=($(xrandr | grep " connected " | awk '{ print$1 }')) -monitor="${monitors[0]}" -prop="/backdrop/screen0/monitor${monitor}/workspace0/last-image" -wallpaper_dir="$HOME/.local/share/le_wallpaper" -wallpaper_path="${wallpaper_dir}/wallpaper.png" +# xrandr | awk '$2 == "connected" && $3 ~ /[0-9]+x[0-9]+\+[0-9]+\+[0-9]+/ { split($3, a, "+"); b[bi] = a[2]; c[bi] = $1; bi++ } END { PROCINFO["sorted_in"] = "@val_num_asc"; d = "feh --bg-center"; for(i in b) { d=d " $HOME/.local/share/le_wallpaper/" c[i] ".png" }; system(d) }' -feh --bg-scale "$wallpaper_path" +le-wallpaper-open -xfconf-query -c xfce4-desktop -p "$prop" -m | while read -r line; do - if echo "$line" | grep -e "^set:"; then - echo "Wallpaper updated, reacting" - le-wallpaper - fi -done +xfconf-query -c xfce4-desktop -m | awk -F '/' ' +$2 == "backdrop" && $3 == "screen0" && $4 ~ /^monitor/ { + system("le-wallpaper " substr($4, 8)) +}'