diff --git a/archive.sh b/archive.sh
index a71a708..a98157a 100755
--- a/archive.sh
+++ b/archive.sh
@@ -3,30 +3,36 @@
dir=$PWD
scripts_subdir=$(echo "$PWD/scripts")
-rsync -a ~/pictures/wallpapers/* wallpapers/
+# rsync -a ~/pictures/wallpapers/* wallpapers/
cd config
rsync -a ~/.config/kitty .
-rsync -a --exclude 'bookmarks' ~/.config/qutebrowser .
+rsync -a \
+ --exclude 'bookmarks' \
+ --exclude 'quickmarks' \
+ --exclude 'qsettings' \
+ --exclude 'autoconfig.yml' \
+ ~/.config/qutebrowser .
rsync -a ~/.config/bspwm .
rsync -a ~/.config/sxhkd .
-rsync -a ~/.config/tint2/tint2rc tint2/
-rsync -a ~/.config/lxqt .
+rsync -a ~/.config/xfce4 \
+ --exclude 'desktop' .
rsync -a ~/.config/rofi .
-cp ~/.config/picom.conf .
+# cp ~/.config/picom.conf .
cd ~/bin
cp \
+bsp-auto-monitors \
bsp-float \
-bsp-floating-only \
+bsp-key-daemon \
bsp-smove \
-bsp-status \
-bsp-toggle-visibility \
-ezmount \
-pfetch \
-qutesearch \
-rofi-ask \
-tabc-smart-detach \
+le-keyboard \
sxhkd-help \
-web \
-$scripts_subdir
\ No newline at end of file
+change-scheme \
+le-wallpaper \
+xfce4-le-wallpaper \
+qutebrowser \
+qutesearch \
+rack \
+f \
+"$scripts_subdir"
diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc
index 1646f6f..b3463fc 100755
--- a/config/bspwm/bspwmrc
+++ b/config/bspwm/bspwmrc
@@ -1,12 +1,9 @@
-#! /bin/sh
+#!/bin/sh
-# Import user bin for sxhkd
-PATH="/home/dakedres/bin:$PATH"
-
-pgrep -x sxhkd > /dev/null || sxhkd &
wmname LG3D &
-bspc monitor -d I II III IV V
+bsp-auto-monitors
+bsp-key-daemon
bspc config border_width 1
bspc config window_gap 4
@@ -15,7 +12,7 @@ bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
-bspc config pointer_modifier mod1
+bspc config pointer_modifier mod4
bspc config pointer_action1 move
# bspc config pointer_action2 resize_side
bspc config pointer_action2 resize_corner
@@ -26,6 +23,7 @@ bspc config focus_follows_pointer true
bspc config pointer_follows_focus true
bspc rule -a KittyScratch state=floating
+bspc rule -a Wrapper-2.0 state=floating # Xfce start menu
bspc rule -a Gimp state=floating
bspc rule -a Chromium desktop='^2'
bspc rule -a mplayer2 state=floating
@@ -33,5 +31,6 @@ bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
xsetroot -cursor_name left_ptr &
+$(dirname $0)/colors
-export _JAVA_AWT_WM_NONREPARENTING=1
\ No newline at end of file
+export _JAVA_AWT_WM_NONREPARENTING=1
diff --git a/config/bspwm/colors b/config/bspwm/colors
new file mode 100755
index 0000000..796ee24
--- /dev/null
+++ b/config/bspwm/colors
@@ -0,0 +1,3 @@
+bspc config normal_border_color "#2E303E"
+bspc config active_border_color "#6F6F70"
+bspc config focused_border_color "#9DA0A2"
diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf
index 4d6f2d0..34929f8 100644
--- a/config/kitty/kitty.conf
+++ b/config/kitty/kitty.conf
@@ -1,9 +1,12 @@
# Theme: https://github.com/alternateved/kaolin-inspired/blob/main/kaolin-dark/kitty/Kaolin_Dark.conf
-shell fish
editor micro
+confirm_os_window_close 0
+
enable_audio_bell no
+visual_bell_duration 0.6
+visual_bell_color #111111
font_family Ubuntu Mono
bold_font Ubuntu Medium
@@ -11,59 +14,51 @@ italic_font Ubuntu Italic
bold_italic_font Ubuntu Medium Italic
font_size 11.5
-## name: Kaolin Dark
-## author: Ogden Webb
-## license: GNU GPLv3
-## blurb: Dark jade theme inspired by Sierra.vim.
+#START SHCHEMES BLOCK : shchemes create_theme kitty
+# Base16 - kitty color config
+# Scheme by
+visual_bell_color #171921
-# The basic colors
-foreground #E4E4E8
-background #18181B
-selection_foreground #18181B
-selection_background #E4E4E8
+background #1C1E26
+foreground #CBCED0
+selection_background #CBCED0
+selection_foreground #1C1E26
+url_color #26BBD9
+cursor #26BBD9
+cursor_text_color #1C1E26
+active_border_color #6F6F70
+inactive_border_color #232530
+active_tab_background #1C1E26
+active_tab_foreground #CBCED0
+inactive_tab_background #232530
+inactive_tab_foreground #9DA0A2
-# Cursor colors
-cursor #E4E4E8
-cursor_text_color #ffffff
+# Normal
+color0 #1C1E26
+color1 #E95678
+color2 #29D398
+color3 #FAC29A
+color4 #26BBD9
+color5 #EE64AC
+color6 #59E1E3
+color7 #CBCED0
-# kitty window border colors
-active_border_color #4D9391
-inactive_border_color #4B5254
+# Bright (same as Normal except 8/15)
+color8 #6F6F70
+color9 #E95678
+color10 #29D398
+color11 #FAC29A
+color12 #26BBD9
+color13 #EE64AC
+color14 #59E1E3
+color15 #E3E6EE
-# Tab bar colors
-active_tab_background #E4E4E8
-active_tab_foreground #18181B
-inactive_tab_background #879193
-inactive_tab_foreground #18181B
+# Other (like base16-shell)
+color16 #FAB795
+color17 #F09383
+color18 #232530
+color19 #2E303E
+color20 #9DA0A2
+color21 #DCDFE4
-# black
-color0 #4B5254
-color8 #879193
-
-# red
-color1 #CD5C60
-color9 #E36D5B
-
-# green
-color2 #6FB593
-color10 #72CCBA
-
-# yellow
-color3 #DBAC66
-color11 #F2C866
-
-# blue
-color4 #91B9C7
-color12 #97B8DE
-
-# magenta
-color5 #845A84
-color13 #8C629C
-
-# cyan
-color6 #4D9391
-color14 #5096AB
-
-# white
-color7 #E4E4E8
-color15 #EFEFF1
+#END SHCHEMES BLOCK
diff --git a/config/qutebrowser/config.py b/config/qutebrowser/config.py
index 038a55c..9a42300 100644
--- a/config/qutebrowser/config.py
+++ b/config/qutebrowser/config.py
@@ -1,28 +1,68 @@
-# Theme: https://github.com/alternateved/kaolin-inspired/blob/main/kaolin-dark/qutebrowser/default/base16-kaolin-dark.config.py
-
config.load_autoconfig()
-# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
-# Base16 qutebrowser template by theova
-# Kaolin-dark scheme by alternateved (http://github.com/alternateved)
-# Inspired by (https://github.com/ogdenwebb/emacs-kaolin-themes)
+# c.tabs.tabs_are_windows = True
+#
+# c.content.autoplay.global = False
-base00 = "#18181B"
-base01 = "#222225"
-base02 = "#4B5254"
-base03 = "#545C5E"
-base04 = "#879193"
-base05 = "#9ba5a7"
-base06 = "#d0d0d4"
-base07 = "#E4E4E8"
-base08 = "#CD5C60"
-base09 = "#DBAC66"
-base0A = "#F2C866"
-base0B = "#6FB593"
-base0C = "#4D9391"
-base0D = "#91B9C7"
-base0E = "#845A84"
-base0F = "#E36D5B"
+c.tabs.tabs_are_windows = True
+c.tabs.show = "never"
+
+c.content.autoplay = False
+
+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('gp', 'mode-enter passthrough')
+
+c.hints.selectors["bookmarks"] = [
+ "h1[id]",
+ "h2[id]",
+ "h3[id]",
+ "h4[id]",
+ "h5[id]",
+ "h6[id]",
+ "h1 > a[id]",
+ "h2 > a[id]",
+ "h3 > a[id]",
+ "h4 > a[id]",
+ "h5 > a[id]",
+ "h6 > a[id]",
+ "header[id]",
+ "footer[id]",
+ "article[id]",
+ "section[id]",
+ "p[id]",
+ "div[itemtype=\"https://schema.org/Answer\"]" # Stackoverflow answers
+]
+config.bind(';b', 'hint bookmarks userscript copy-bookmark')
+
+#START SHCHEMES BLOCK : shchemes create_theme qutebrowser
+# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
+# Scheme name:
+# Scheme author:
+# Template author: theova
+# Commentary: Tinted Theming: (https://github.com/tinted-theming)
+
+base00 = "#1C1E26"
+base01 = "#232530"
+base02 = "#2E303E"
+base03 = "#6F6F70"
+base04 = "#9DA0A2"
+base05 = "#CBCED0"
+base06 = "#DCDFE4"
+base07 = "#E3E6EE"
+base08 = "#E95678"
+base09 = "#FAB795"
+base0A = "#FAC29A"
+base0B = "#29D398"
+base0C = "#59E1E3"
+base0D = "#26BBD9"
+base0E = "#EE64AC"
+base0F = "#F09383"
# set qutebrowser colors
@@ -302,4 +342,6 @@ c.colors.tabs.selected.even.bg = base02
# Background color for webpages if unset (or empty to use the theme's
# color).
-# c.colors.webpage.bg = base00
\ No newline at end of file
+# c.colors.webpage.bg = base00
+
+#END SHCHEMES BLOCK
diff --git a/config/qutebrowser/quickmarks b/config/qutebrowser/quickmarks
deleted file mode 100644
index cde93fe..0000000
--- a/config/qutebrowser/quickmarks
+++ /dev/null
@@ -1 +0,0 @@
-Uxn tutorial d2 https://compudanzas.net/uxn_tutorial_day_2.html
diff --git a/config/rofi/config.rasi b/config/rofi/config.rasi
index c74465b..74b4a3a 100644
--- a/config/rofi/config.rasi
+++ b/config/rofi/config.rasi
@@ -1,6 +1,25 @@
configuration {
modes: [ combi ];
combi-modes: [ window, drun, run, dmenu ];
+ font: "Inconsolata 13";
}
-@theme "theme"
\ No newline at end of file
+@theme "theme"
+
+window {
+ location: north;
+ anchor: north;
+ background-color: @background;
+ border: 1;
+ padding: 5;
+ y-offset: 29;
+}
+
+element-icon {
+ size: 1em;
+ padding: 2px;
+}
+
+element-text {
+ vertical-align: 0.5;
+}
diff --git a/config/rofi/theme.rasi b/config/rofi/theme.rasi
index 59ba0bd..0839b08 100644
--- a/config/rofi/theme.rasi
+++ b/config/rofi/theme.rasi
@@ -1,159 +1,150 @@
-// Kaolin Dark theme for Rofi
-// by Dakedres
-// edited from a theme by Qball
+/**
+ * Base16 ROFI Color theme
+ *
+ * Authors
+ * Scheme:
+ * Template: Tinted Theming (https://github.com/tinted-theming)
+ */
* {
- base00: #18181B;
- base01: #222225;
- base02: #4B5254;
- base03: #545C5E;
- base04: #879193;
- base05: #9ba5a7;
- base06: #d0d0d4;
- base07: #E4E4E8;
- base08: #CD5C60;
- base09: #DBAC66;
- base0A: #F2C866;
- base0B: #6FB593;
- base0C: #4D9391;
- base0D: #91B9C7;
- base0E: #845A84;
- base0F: #E36D5B;
-
- foreground: @base05;
+ red: rgba ( 233, 86, 120, 100 % );
+ blue: rgba ( 38, 187, 217, 100 % );
+ lightfg: rgba ( 220, 223, 228, 100 % );
+ lightbg: rgba ( 35, 37, 48, 100 % );
+ foreground: rgba ( 203, 206, 208, 100 % );
+ background: rgba ( 28, 30, 38, 100 % );
+ background-color: rgba ( 28, 30, 38, 0 % );
+ separatorcolor: @foreground;
+ border-color: @foreground;
+ selected-normal-foreground: @lightbg;
+ selected-normal-background: @lightfg;
+ selected-active-foreground: @background;
+ selected-active-background: @blue;
+ selected-urgent-foreground: @background;
+ selected-urgent-background: @red;
normal-foreground: @foreground;
+ normal-background: @background;
+ active-foreground: @blue;
+ active-background: @background;
+ urgent-foreground: @red;
+ urgent-background: @background;
alternate-normal-foreground: @foreground;
- selected-urgent-foreground: rgba ( 245, 245, 245, 100 % );
- urgent-foreground: rgba ( 215, 95, 0, 100 % );
- alternate-urgent-background: rgba ( 208, 208, 208, 100 % );
- active-foreground: rgba ( 0, 95, 135, 100 % );
- selected-active-foreground: rgba ( 245, 245, 245, 100 % );
- background: @base00;
- normal-background: @base00;
- alternate-normal-background: @base01;
- selected-normal-background: @base0C;
- selected-normal-foreground: @base07;
- border-color: @base02;
+ alternate-normal-background: @lightbg;
+ alternate-active-foreground: @blue;
+ alternate-active-background: @lightbg;
+ alternate-urgent-foreground: @red;
+ alternate-urgent-background: @lightbg;
spacing: 2;
- separator: @border-color;
- urgent-background: rgba ( 245, 245, 245, 100 % );
- selected-urgent-background: rgba ( 215, 95, 0, 100 % );
- alternate-urgent-foreground: @urgent-foreground;
- background-color: rgba ( 0, 0, 0, 0 % );
- active-background: @base0C;
- alternate-active-background: @active-background;
- selected-active-background: @active-background;
}
window {
- location: north;
- anchor: north;
background-color: @background;
border: 1;
padding: 5;
- y-offset: 20;
- c: "Ubuntu Mono 11";
}
mainbox {
- border: 0;
- padding: 0;
+ border: 0;
+ padding: 0;
}
message {
- border: 2px 0px 0px ;
- border-color: @separator;
- padding: 1px ;
+ border: 1px dash 0px 0px ;
+ border-color: @separatorcolor;
+ padding: 1px ;
}
textbox {
- text-color: @foreground;
+ text-color: @foreground;
}
listview {
- fixed-height: 0;
- border: 2px 0px 0px ;
- border-color: @separator;
- spacing: 2px ;
- scrollbar: true;
- padding: 2px 0px 0px ;
+ fixed-height: 0;
+ border: 2px dash 0px 0px ;
+ border-color: @separatorcolor;
+ spacing: 2px ;
+ scrollbar: true;
+ padding: 2px 0px 0px ;
}
-element {
- border: 0;
- padding: 1px ;
-}
-element-text {
+element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
-element.normal.normal {
+element {
+ border: 0;
+ padding: 1px ;
+}
+element normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
-element.normal.urgent {
+element normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
-element.normal.active {
+element normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
-element.selected.normal {
+element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
-element.selected.urgent {
+element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
-element.selected.active {
+element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
-element.alternate.normal {
+element alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
-element.alternate.urgent {
+element alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
-element.alternate.active {
+element alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
- width: 4px ;
- border: 0;
- handle-width: 8px ;
- padding: 0;
+ width: 4px ;
+ border: 0;
+ handle-color: @normal-foreground;
+ handle-width: 8px ;
+ padding: 0;
}
-mode-switcher {
- border: 2px 0px 0px ;
- border-color: @separator;
+sidebar {
+ border: 2px dash 0px 0px ;
+ border-color: @separatorcolor;
}
-button.selected {
+button {
+ spacing: 0;
+ text-color: @normal-foreground;
+}
+button selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
- spacing: 0;
- text-color: @normal-foreground;
- padding: 1px ;
+ spacing: 0px;
+ text-color: @normal-foreground;
+ padding: 1px ;
+ children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
- spacing: 0;
- text-color: @normal-foreground;
+ spacing: 0;
+ text-color: @normal-foreground;
}
entry {
- spacing: 0;
- text-color: @normal-foreground;
+ spacing: 0;
+ text-color: @normal-foreground;
}
prompt {
- spacing: 0;
- text-color: @normal-foreground;
-}
-inputbar {
- children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
+ spacing: 0;
+ text-color: @normal-foreground;
}
textbox-prompt-colon {
- expand: false;
- str: ":";
- margin: 0px 0.3em 0em 0em ;
- text-color: @normal-foreground;
+ expand: false;
+ str: ":";
+ margin: 0px 0.3000em 0.0000em 0.0000em ;
+ text-color: inherit;
}
diff --git a/config/sxhkd/sxhkdrc b/config/sxhkd/sxhkdrc
old mode 100755
new mode 100644
index ab1f572..db8f1ad
--- a/config/sxhkd/sxhkdrc
+++ b/config/sxhkd/sxhkdrc
@@ -3,85 +3,99 @@
#
# Open kitty
-alt + Return
+super + Return
kitty
# Open floating kitty
-alt + shift + Return
+super + shift + Return
bsp-float kitty
-# launch program
-alt + @space
+# launch program (drun)
+super + @space
+ rofi -show drun -show-icons
+
+# launch program (standard run)
+super + shift + @space
rofi -show run
-
-# launch program as root
-alt + shift + @space
- rofi-ask rofi -show drun -run-command "sudo -A {cmd}"
# make sxhkd reload its configuration files:
-alt + Escape
- pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
+super + Escape
+ pkill -USR1 -x sxhkd && notify-send 'Key daemon reloaded'
+super + alt + Menu
+ le-keyboard && notify-send 'Remapped Keyboard'
+
# Start a qutebrowser search
-alt + o
+super + o
qutesearch
# Show keybinds
-alt + slash
+super + slash
sxhkd-help
# Show clipmenu
-alt + v
- rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
+super + v
+ xfce4-popup-clipman
+
+# Exit session
+super + q
+ xfce4-session-logout
-alt + shift + v
- greenclip clear
+# Lock screen
+super + shift + q
+ xflock4
+
+# Open task manager
+super + t
+ # Arguable how valuable this is tbh
+ bsp-float xfce4-taskmanager
+
+# Screenshot region
+super + Print
+ xfce4-screenshooter -r
#
# bspwm hotkeys
#
# quit/restart bspwm
-alt + shift + {q,r}
+super + shift + {q,r}
bspc {quit,wm -r}
# close and kill
-alt + {_,shift + }w
+super + {_,shift + }w
bspc node -{c,k}
-alt + q
- bspc node -c
-
-# alternate between the tiled and monocle layout
-alt + m
+# superernate between the tiled and monocle layout
+super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
-alt + y
+super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest window
-alt + g
+super + g
bspc node -s biggest.window
# Reveal hidden kitty (scratchpad)
-alt + super + Return
+super + alt + Return
bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
-# flameshot
-alt + Print
- flameshot gui
+# Plumb selected text
+super + c
+ eval $(sselp | goawk $(cat ~/plumber.awk))
#
# state/flags
#
# set the window state
-alt + {z,shift + z,x,f}
+super + {z,shift + z,x,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
-alt + ctrl + {m,x,y,z}
+super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
@@ -89,53 +103,56 @@ alt + ctrl + {m,x,y,z}
#
# focus the node in the given direction
-alt + {h,j,k,l,Left,Down,Up,Right}
+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
-alt + {p,b,comma,period}
+super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
-# focus the next/previous window in the current desktop
-alt + {a,d}
- bspc node -f {next,prev}.local.!hidden.window
+# # focus the next/previous window in the current desktop
+# super + {a,d}
+# bspc node -f {next,prev}.local.!hidden.window
+# Rotate tree
+super + {d,a}
+ bspc node @/ -C {forward,backward}
# focus the next/previous desktop in the current monitor
-alt + bracket{left,right}
+super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
-alt + {grave,Tab}
+super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
-alt + {o,i}
- bspc wm -h off; \
- bspc node {older,newer} -f; \
- bspc wm -h on
+# super + {o,i}
+# bspc wm -h off; \
+# bspc node {older,newer} -f; \
+# bspc wm -h on
# focus or send to the given desktop
-alt + {_,shift + }{1-9,0}
- bspc {desktop -f,node -d} '^{1-9,10}'
+super + {_,shift + }{1-6}
+ bspc {desktop -f,node -d} '^{1-6}'
#
# preselect
#
# preselect the direction
-alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
+super + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
bspc node -p {west,south,north,east,west,south,north,east}
# preselect the ratio
-alt + ctrl + {1-9}
+super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
-alt + ctrl + space
+super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
-alt + ctrl + shift + space
+super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
@@ -143,17 +160,17 @@ alt + ctrl + shift + space
#
# Resize a window by moving one of its side outward/inward
-alt + s ; {h,j,k,l,Left,Down,Up,Right}
+super + s ; {h,j,k,l,Left,Down,Up,Right}
STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \
bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
# move a floating window
-alt + {h,j,k,l}
+super + {h,j,k,l}
bspc node -v {-30 0,0 20,0 -30,20 0}
-# move a not-floating window
-alt + shift + {h,j,k,l,Left,Down,Up,Right}
+# move a window
+super + shift + {h,j,k,l,Left,Down,Up,Right}
bsp-smove {west,south,north,east,west,south,north,east}
#
@@ -161,16 +178,29 @@ alt + shift + {h,j,k,l,Left,Down,Up,Right}
#
# move in/out of tabbed container
-alt + ctrl + {h,j,k,l,Left,Down,Up,Right}
+super + ctrl + {h,j,k,l,Left,Down,Up,Right}
tabc-smart-detach {west,south,north,east,west,south,north,east}
# tab/untab window
-alt + t
+super + t
id=$(bspc query -N -n); \
[[ "$(tabc printclass $id)" == "tabbed" ]] \
&& tabc detach $id \
|| tabc create $id
# toggle autoattach in tabbed container
-alt + shift + t
- tabc autoattach $(bspc query -N -n)
\ No newline at end of file
+super + shift + t
+ tabc autoattach $(bspc query -N -n)
+
+#
+# Program launching binds
+#
+
+super + 8
+ vesktop
+
+super + 9
+ bitwarden
+
+super + 0
+ kitty --hold sh -c micro
diff --git a/config/sxhkd/sxhkdrc.old b/config/sxhkd/sxhkdrc.old
new file mode 100755
index 0000000..ab1f572
--- /dev/null
+++ b/config/sxhkd/sxhkdrc.old
@@ -0,0 +1,176 @@
+#
+# wm independent hotkeys
+#
+
+# Open kitty
+alt + Return
+ kitty
+
+# Open floating kitty
+alt + shift + Return
+ bsp-float kitty
+
+# launch program
+alt + @space
+ rofi -show run
+
+# launch program as root
+alt + shift + @space
+ rofi-ask rofi -show drun -run-command "sudo -A {cmd}"
+
+# make sxhkd reload its configuration files:
+alt + Escape
+ pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
+
+# Start a qutebrowser search
+alt + o
+ qutesearch
+
+# Show keybinds
+alt + slash
+ sxhkd-help
+
+# Show clipmenu
+alt + v
+ rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
+
+alt + shift + v
+ greenclip clear
+
+#
+# bspwm hotkeys
+#
+
+# quit/restart bspwm
+alt + shift + {q,r}
+ bspc {quit,wm -r}
+
+# close and kill
+alt + {_,shift + }w
+ bspc node -{c,k}
+
+alt + q
+ bspc node -c
+
+# alternate between the tiled and monocle layout
+alt + m
+ bspc desktop -l next
+
+# send the newest marked node to the newest preselected node
+alt + y
+ bspc node newest.marked.local -n newest.!automatic.local
+
+# swap the current node and the biggest window
+alt + g
+ bspc node -s biggest.window
+
+# Reveal hidden kitty (scratchpad)
+alt + super + Return
+ bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
+
+# flameshot
+alt + Print
+ flameshot gui
+
+#
+# state/flags
+#
+
+# set the window state
+alt + {z,shift + z,x,f}
+ bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
+
+# set the node flags
+alt + ctrl + {m,x,y,z}
+ bspc node -g {marked,locked,sticky,private}
+
+#
+# focus/swap
+#
+
+# focus the node in the given direction
+alt + {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
+alt + {p,b,comma,period}
+ bspc node -f @{parent,brother,first,second}
+
+# focus the next/previous window in the current desktop
+alt + {a,d}
+ bspc node -f {next,prev}.local.!hidden.window
+
+# focus the next/previous desktop in the current monitor
+alt + bracket{left,right}
+ bspc desktop -f {prev,next}.local
+
+# focus the last node/desktop
+alt + {grave,Tab}
+ bspc {node,desktop} -f last
+
+# focus the older or newer node in the focus history
+alt + {o,i}
+ bspc wm -h off; \
+ bspc node {older,newer} -f; \
+ bspc wm -h on
+
+# focus or send to the given desktop
+alt + {_,shift + }{1-9,0}
+ bspc {desktop -f,node -d} '^{1-9,10}'
+
+#
+# preselect
+#
+
+# preselect the direction
+alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
+ bspc node -p {west,south,north,east,west,south,north,east}
+
+# preselect the ratio
+alt + ctrl + {1-9}
+ bspc node -o 0.{1-9}
+
+# cancel the preselection for the focused node
+alt + ctrl + space
+ bspc node -p cancel
+
+# cancel the preselection for the focused desktop
+alt + ctrl + shift + space
+ bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
+
+#
+# move/resize
+#
+
+# Resize a window by moving one of its side outward/inward
+alt + s ; {h,j,k,l,Left,Down,Up,Right}
+ STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \
+ bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
+ bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
+
+# move a floating window
+alt + {h,j,k,l}
+ bspc node -v {-30 0,0 20,0 -30,20 0}
+
+# move a not-floating window
+alt + shift + {h,j,k,l,Left,Down,Up,Right}
+ bsp-smove {west,south,north,east,west,south,north,east}
+
+#
+# tabs
+#
+
+# move in/out of tabbed container
+alt + ctrl + {h,j,k,l,Left,Down,Up,Right}
+ tabc-smart-detach {west,south,north,east,west,south,north,east}
+
+# tab/untab window
+alt + t
+ id=$(bspc query -N -n); \
+ [[ "$(tabc printclass $id)" == "tabbed" ]] \
+ && tabc detach $id \
+ || tabc create $id
+
+# toggle autoattach in tabbed container
+alt + shift + t
+ tabc autoattach $(bspc query -N -n)
\ No newline at end of file
diff --git a/config/xfce4/helpers.rc b/config/xfce4/helpers.rc
new file mode 100644
index 0000000..0d27a76
--- /dev/null
+++ b/config/xfce4/helpers.rc
@@ -0,0 +1,2 @@
+WebBrowser=custom-WebBrowser
+
diff --git a/config/xfce4/panel/xfce4-clipman-actions.xml b/config/xfce4/panel/xfce4-clipman-actions.xml
new file mode 100644
index 0000000..9de88e8
--- /dev/null
+++ b/config/xfce4/panel/xfce4-clipman-actions.xml
@@ -0,0 +1,44 @@
+
+
+
+ Bugz
+ bug\s*#?\s*([0-9]+)
+ 0
+
+
+ GNOME Bug
+ exo-open http://bugzilla.gnome.org/show_bug.cgi?id=\1
+
+
+ Xfce Bug
+ exo-open http://bugzilla.xfce.org/show_bug.cgi?id=\1
+
+
+
+
+ Image
+ (http|ftp).+\.(jpg|png|gif)
+ 0
+
+
+ View with Ristretto
+ ristretto "\0"
+
+
+ Edit with Gimp
+ gimp-remote "\0"
+
+
+
+
+ Long URL
+ https?://[^\s]{120,}
+ 0
+
+
+ Shrink the URL
+ exo-open http://tinyurl.com/create.php?url=\0
+
+
+
+
\ No newline at end of file
diff --git a/config/xfce4/xfce4-screenshooter b/config/xfce4/xfce4-screenshooter
new file mode 100644
index 0000000..06e7a55
--- /dev/null
+++ b/config/xfce4/xfce4-screenshooter
@@ -0,0 +1,13 @@
+app=/usr/bin/display-im6.q16
+custom_action_command=none
+last_user=
+last_extension=png
+enable_imgur_upload=true
+show_in_folder=false
+screenshot_dir=file:/home/dakedres/documents
+action=2
+delay=0
+region=3
+show_mouse=1
+show_border=1
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
new file mode 100644
index 0000000..883245f
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml b/config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml
new file mode 100644
index 0000000..b536a7e
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
new file mode 100644
index 0000000..9fd09d6
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
new file mode 100644
index 0000000..5f1a8e7
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml
new file mode 100644
index 0000000..75cf55d
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
new file mode 100644
index 0000000..4b868ce
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
new file mode 100644
index 0000000..c825d97
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
new file mode 100644
index 0000000..89e9057
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
new file mode 100644
index 0000000..a6080c9
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
new file mode 100644
index 0000000..f1a16af
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml
new file mode 100644
index 0000000..932a482
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
new file mode 100644
index 0000000..4ad5c08
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml
new file mode 100644
index 0000000..82a2357
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml
new file mode 100644
index 0000000..8916f54
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml
new file mode 100644
index 0000000..8f26c64
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
new file mode 100644
index 0000000..6063e18
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
new file mode 100644
index 0000000..4d886a5
--- /dev/null
+++ b/config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/bsp-auto-monitors b/scripts/bsp-auto-monitors
new file mode 100755
index 0000000..9b4cc1c
--- /dev/null
+++ b/scripts/bsp-auto-monitors
@@ -0,0 +1,14 @@
+#!/bin/env bash
+
+monitors=($(xrandr | grep " connected " | awk '{ print$1 }'))
+monitorcount=${#monitors[*]}
+names=(I II III IV V)
+
+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
diff --git a/scripts/bsp-key-daemon b/scripts/bsp-key-daemon
new file mode 100755
index 0000000..077ffe7
--- /dev/null
+++ b/scripts/bsp-key-daemon
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Make sure user bin is imported for sxhkd
+PATH="/home/dakedres/bin:$PATH"
+
+pgrep -x sxhkd > /dev/null || sxhkd &
diff --git a/scripts/change-scheme b/scripts/change-scheme
new file mode 100755
index 0000000..10b56bb
--- /dev/null
+++ b/scripts/change-scheme
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+
+
+# Favorites:
+# - horizon-terminal-dark
+# - heetch
+# - blueforest
+# - tarot
+
+if [[ -n "$1" ]]; then
+ export SCHEME=$1
+fi
+
+if ! shchemes install_tinted_scheme; then
+ exit 1
+fi
+
+shchemes inject "$HOME/.profile"
+
+shchemes inject "$HOME/.config/qutebrowser/config.py"
+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 rofi > "$HOME/.config/rofi/theme.rasi"
+shchemes create_theme better-discord > "$HOME/.config/vesktop/themes/.theme.css"
+shchemes create_theme obsidian > "$HOME/media/vault/.obsidian/themes/base16.css"
+
+"$HOME/repos/oomox-gtk-theme/change_color.sh" -o base16 <(shchemes create_theme oomox-gtk)
+
+# Reload XFCE theme
+xfconf-query -c xsettings -p /Net/ThemeName -r
+xfconf-query -c xsettings -p /Net/ThemeName -s base16
+
+le-wallpaper
+
+# WALLPAPER_OUT="$HOME/.wallpaper.png"
+# shchemes create_theme imagemagick \
+ # | convert ~/pictures/wallpapers/tradin.jpg -dither FloydSteinberg -colorspace srgb -remap txt:- "$WALLPAPER_OUT"
+# feh --bg-scale "$WALLPAPER_OUT"
+
+# terminal=$(ps -o comm= -p "$(($(ps -o ppid= -p "$(($(ps -o sid= -p "$$")))")))")
+# if [[ "$terminal" == "kitty" ]]; then
+ # tmp=$(mktemp)
+ # shchemes create_theme imagemagick \
+ # | convert txt:- -filter point -resize 2400% "$tmp"
+ # kitty +kitten icat "$tmp"
+# fi
diff --git a/scripts/f b/scripts/f
new file mode 100755
index 0000000..0cc4536
--- /dev/null
+++ b/scripts/f
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+path=$1
+
+if [ -z "$path" ]; then
+ path="."
+fi
+
+if [ -d "$path" ]; then
+ ls -lh --color=tty "$path"
+else
+ if [ ! -f "$path" ]; then
+ echo "No such file: $path"
+ exit 0
+ fi
+
+ format="$(file -i "$path" | cut -d' ' -f2)"
+ format="${format%%/*}"
+
+ case "$format" in
+ "text")
+ batcat "$path" --paging=never
+ ;;
+
+ "image")
+ kitty +kitten icat "$path"
+ ;;
+
+ *)
+ xdg-open "$path"
+ esac
+fi
diff --git a/scripts/le-keyboard b/scripts/le-keyboard
new file mode 100755
index 0000000..1e4263d
--- /dev/null
+++ b/scripts/le-keyboard
@@ -0,0 +1,2 @@
+setxkbmap -option altwin:swap_alt_win
+setxkbmap -option caps:swapescape
diff --git a/scripts/le-wallpaper b/scripts/le-wallpaper
new file mode 100755
index 0000000..0130aa8
--- /dev/null
+++ b/scripts/le-wallpaper
@@ -0,0 +1,58 @@
+#!/bin/env bash
+
+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_name="${monitor[0]}"
+monitor_width="${monitor[1]}"
+monitor_height="${monitor[2]}"
+prop="/backdrop/screen0/monitor${monitor_name}/workspace0/last-image"
+
+path="$1"
+wallpaper_dir="$HOME/.local/share/le_wallpaper"
+wallpaper_path="${wallpaper_dir}/wallpaper.png"
+wallpaper_store="${wallpaper_dir}/source_path"
+
+mkdir -p "$wallpaper_dir"
+
+if [ -z "$path" ]; then
+ path="$(xfconf-query -c xfce4-desktop -p "$prop")"
+
+ if [[ ! "$path" = /* ]]; then
+ path="${HOME}/${path}"
+ fi
+fi
+
+if [ "$path" == "$wallpaper_path" ]; then
+ path=$(cat "$wallpaper_store")
+fi
+
+# path="$(readlink -f "$path")"
+
+if [ ! -f "$path" ]; then
+ echo "No wallpaper source"
+ exit 0
+fi
+
+filename=$(basename -- "$path")
+ext="${filename##*.}"
+
+# The following always assumes the monitor is landscape
+if [ "$ext" == "svg" ] && command -v inkscape; then
+ tmp="$(mktemp).png"
+ inkscape -h "$monitor_height" "$path" -o "$tmp"
+ path="$tmp"
+fi
+
+export SCHEME
+shchemes create_theme imagemagick \
+ | convert "$path" -colorspace srgb -dither FloydSteinberg -geometry "${monitor_width}x" -remap txt:- "$wallpaper_path"
+
+echo "Setting wallpaper: $path"
+xfconf-query -c xfce4-desktop -p "$prop" -s "$wallpaper_path"
+echo "$path" > "$wallpaper_store"
+feh --bg-center "$wallpaper_path"
diff --git a/scripts/qutebrowser b/scripts/qutebrowser
new file mode 100755
index 0000000..837a25e
--- /dev/null
+++ b/scripts/qutebrowser
@@ -0,0 +1,15 @@
+#!/bin/sh
+# initial idea: Florian Bruhin (The-Compiler)
+# author: Thore Bödecker (foxxx0)
+
+_url="$1"
+_qb_version='1.0.4'
+_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' \
+ "${_url}" \
+ "${_qb_version}" \
+ "${_proto_version}" \
+ "${PWD}" | socat -lf /dev/null - UNIX-CONNECT:"${_ipc_socket}" || "$_qute_bin" "$@" &
diff --git a/scripts/qutesearch b/scripts/qutesearch
index 98ce7e7..c73c806 100755
--- a/scripts/qutesearch
+++ b/scripts/qutesearch
@@ -1,6 +1,6 @@
#!/bin/sh
db=$HOME/.local/share/qutebrowser/history.sqlite
-url=$(sqlite3 "$db" "select title,url from History" | tac | awk '!a[$0]++' | rofi -dmenu | awk -F '|' '{print $NF}')
+url=$(sqlite3 "$db" "select title,url from History" | tac | rofi -dmenu | awk -F '|' '{print $NF}')
[ -z "$url" ] && exit
-qutebrowser --target window "$url"
+qutebrowser "$url"
diff --git a/scripts/rack b/scripts/rack
new file mode 100755
index 0000000..b37e88e
--- /dev/null
+++ b/scripts/rack
@@ -0,0 +1,2 @@
+cd $HOME/apps/Rack2Free
+./Rack
diff --git a/scripts/xfce4-le-wallpaper b/scripts/xfce4-le-wallpaper
new file mode 100755
index 0000000..32d5b83
--- /dev/null
+++ b/scripts/xfce4-le-wallpaper
@@ -0,0 +1,16 @@
+#!/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"
+
+feh --bg-scale "$wallpaper_path"
+
+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