diff options
-rwxr-xr-x | bspwm/.config/bspwm/bspwmrc | 38 | ||||
-rwxr-xr-x | bspwm/scripts/bspwm/border_colors.sh | 19 | ||||
-rwxr-xr-x | bspwm/scripts/bspwm/desktops.sh | 38 | ||||
-rwxr-xr-x | bspwm/scripts/bspwm/wallpaper.sh | 46 | ||||
-rw-r--r-- | polybar/.config/polybar/bspwm.ini | 73 | ||||
-rw-r--r-- | polybar/.config/polybar/config | 140 | ||||
-rw-r--r-- | polybar/.config/polybar/i3.ini | 86 | ||||
-rw-r--r-- | polybar/.config/polybar/mpd | 22 | ||||
-rwxr-xr-x | polybar/scripts/polybar/cal.sh | 15 | ||||
-rw-r--r-- | sxhkd/.config/sxhkd/sxhkdrc | 164 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/move.sh | 4 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_new.sh | 7 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_rename.sh | 9 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_resize.sh | 18 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_rotate.sh | 21 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/show.sh | 3 |
16 files changed, 565 insertions, 138 deletions
diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc new file mode 100755 index 0000000..c6bbbfe --- /dev/null +++ b/bspwm/.config/bspwm/bspwmrc @@ -0,0 +1,38 @@ +#! /bin/bash + +run () { + pgrep -f "$*" && echo "$1 already running" || $* & +} + +xrdb -merge .Xdefaults +xsetroot -cursor_name left_ptr + +run sxhkd +run polybar bspwm +run ~/scripts/bspwm/desktops.sh +run ~/scripts/bspwm/border_colors.sh +~/scripts/bspwm/wallpaper.sh + +#compton -i .8 --focus-exclude '_NET_WM_NAME@:s = "rofi"' --blur-background --blur-kern '3,3,0.1,1,1,1,1,1,1,1' & + +# Create at least a desktop named "1" and add all the other existing desktop +bspc monitor -d $(cat <(echo 1) <(bspc query --names -D) | sort -u -V | tr -s '\n' ' ') + +bspc config border_width 2 +bspc config window_gap 12 + +bspc config split_ratio 0.52 +bspc config borderless_monocle true +bspc config gapless_monocle true +bspc config single_monocle true + +bspc config focus_follows_pointer true + +#bspc rule -a Gimp desktop='^8' state=floating follow=on +#bspc rule -a Screenkey manage=off +#bspc rule -a Thunderbird desktop='Mail' +#bspc rule -a 'Firefox-esr' desktop='Web' +#bspc rule -a Gmpc desktop='Musique' + +bspc rule -r "*" +bspc rule -a "QtPass:qtpass" sticky=on state=floating diff --git a/bspwm/scripts/bspwm/border_colors.sh b/bspwm/scripts/bspwm/border_colors.sh new file mode 100755 index 0000000..dc03a3f --- /dev/null +++ b/bspwm/scripts/bspwm/border_colors.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +: "${MARKED_NORMAL_BCOLOR:=0x0000ff}" +: "${MARKED_ACTIVE_BCOLOR:=0x00ff00}" +: "${MARKED_FOCUSED_BCOLOR:=0xff0000}" + +while bspc subscribe -c 1 node_focus node_flag > /dev/null; do + bspc config focused_border_color "$(bspc config focused_border_color)" + + bspc query -N -n '.marked.!focused.window' | while read -r wid; do + chwb -c "$MARKED_NORMAL_BCOLOR" "$wid" + done + bspc query -N -n '.marked.active.!focused.window' | while read -r wid; do + chwb -c "$MARKED_ACTIVE_BCOLOR" "$wid" + done + bspc query -N -n "focused.marked" | while read -r wid; do + chwb -c "$MARKED_FOCUSED_BCOLOR" "$wid" + done +done diff --git a/bspwm/scripts/bspwm/desktops.sh b/bspwm/scripts/bspwm/desktops.sh new file mode 100755 index 0000000..d073bb8 --- /dev/null +++ b/bspwm/scripts/bspwm/desktops.sh @@ -0,0 +1,38 @@ +#!/bin/sh +bspc subscribe desktop | while read -r event monitor_id desktop_id name; do + case $event in + desktop_focus) + ~/scripts/bspwm/wallpaper.sh & + for desktop in $(bspc query -D); do + test "x${desktop}" = "x${desktop_id}" && continue + + nodes=$(bspc query -d ${desktop} -N) + # If the desktop is empty, delete it + test -z "${nodes}" && bspc desktop ${desktop} -r + done + ;; + desktop_add) + bspc monitor -o $(bspc query --names -D| sort -V | tr -s '\n' ' ') + case $name in + Musique) + bspc node @$name:/ -i + bspc rule --add Gmpc -o node=@$name:/ + gmpc & + ;; + Web) + bspc node @$name:/ -i + bspc rule --add Firefox-esr -o node=@$name:/ + firefox & + ;; + Mail) + bspc node @$name:/ -i + bspc rule --add thunderbird -o node=@$name:/ + thunderbird & + ;; + esac + ;; + desktop_rename) + bspc monitor -o $(bspc query --names -D| sort -V | tr -s '\n' ' ') + ;; + esac +done diff --git a/bspwm/scripts/bspwm/wallpaper.sh b/bspwm/scripts/bspwm/wallpaper.sh new file mode 100755 index 0000000..552da76 --- /dev/null +++ b/bspwm/scripts/bspwm/wallpaper.sh @@ -0,0 +1,46 @@ +#!/bin/sh +#image=$(find ~/wallpaper/wallpaper/wallpapers -type f \( -name '*.jpg' -o -name '*.png' \) -print0 | shuf -n1 -z | xargs -0) +image=$1 + +#height=$(identify -format '%[fx:h/1.11]' ${image}) +#convert -crop %100x10+0+${height} ${image} out.jpg +#color=$(.virtualenvs/pywal/bin/colorz -n 1 --no-preview out.jpg | cut -d' ' -f1) +#rm out.jpg +#echo $color +#neg=$(python ~/scripts/i3/negate_color.py "${color}") + +#.virtualenvs/pywal/bin/wal -n -i "${image}" --saturate .8 -a 90 +#hsetroot \ +# -fill "${image}" \ +# -add "#ffffffff" \ +# -addd "#77777700" 5 \ +# -addd "#ffffff00" 10 \ +# -addd "#ffffff00" 90 \ +# -gradient 0 + +if [ -z "${VNCDESKTOP}" ]; then + hsetroot \ + -fill "${image}" \ + -add "#ffffff77" \ + -addd "#ffffff77" 2 \ + -addd "#ffffff00" 0 \ + -addd "#ffffff00" 90 \ + -gradient 0 +else + #dominant=$(hexdump -n 3 -e '"%06X" 1 "\n"' /dev/urandom) + + # Traverse the chromatic circle in 5 hours + cutoff=18000 + background="#eceff4" + + dominant=$(python3 -c "import colorsys ; import datetime ; now = datetime.datetime.now() ; min = datetime.datetime.min ; sec = (now - min).seconds % $cutoff ; print(''.join('%02x' % int(i*255) for i in colorsys.hsv_to_rgb(sec/$cutoff, 0.35, 1)))") + hsetroot \ + -solid "#${dominant}" \ + -add "${background}" \ + -addd "${background}" 5 \ + -addd "#ffffff77" 40 \ + -addd "#ffffff77" 90 \ + -addd "#F0F0F0FF" 40 \ + -addd "#F0F0F0" 5 \ + -gradient 0 +fi diff --git a/polybar/.config/polybar/bspwm.ini b/polybar/.config/polybar/bspwm.ini new file mode 100644 index 0000000..0e7d1dd --- /dev/null +++ b/polybar/.config/polybar/bspwm.ini @@ -0,0 +1,73 @@ +[bar/bspwm] +width = 100% +height = 25 +offset-y = 0 + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +; fixed-center = true + +background = ${colors.background} +foreground = ${colors.foreground} + +overline-size = 0 +overline-color = #f00 +underline-size = 1 +underline-color = #00f + +border-bottom-size = 1 +border-bottom-color = #d8dee9 + +spacing = 1 +padding-left = 0 +padding-right = 0 +module-margin-left = 1 +module-margin-right = 1 + +font-0 = Dejavu Sans Mono:size=12 +font-1 = materialdesignicons:size=16 + +modules-left = bspwm +#modules-center = +#modules-right = mopidy date +modules-right = date + +tray-position = right +tray-padding = 2 + +scroll-up = "#bspwm.prev" +scroll-down = "#bspwm.next" + +[module/bspwm] +label = %name% +padding = 2 +#label-active-font = 0 +type = internal/bspwm +enable-scroll = false + +label-focused = ${self.label} +label-focused-padding = ${self.padding} +label-focused-foreground = ${colors.foreground-alt} +label-focused-background = ${colors.background-emph} + +label-occupied = ${self.label} +label-occupied-background = ${colors.background-alt} +label-occupied-foreground = ${colors.foreground} +label-occupied-padding = ${self.padding} + +label-urgent = ${self.label} +label-urgent-background = ${colors.alert} +label-urgent-foreground = ${colors.foreground-alt} +label-urgent-padding = ${self.padding} + +label-visible = ${self.label} +label-visible-background = ${self.label-focused-background} +label-visible-padding = ${self.padding} + +#strip-wsnumbers = true +#fuzzy-match = true + +; Separator in between workspaces +; label-separator = | +; label-separator-padding = 2 +; label-separator-foreground = #ffb52a diff --git a/polybar/.config/polybar/config b/polybar/.config/polybar/config index 43f70d5..b709ba0 100644 --- a/polybar/.config/polybar/config +++ b/polybar/.config/polybar/config @@ -8,142 +8,36 @@ ;===================================================== include-file = ~/.config/polybar/tengwar_icons.ini +include-file = ~/.config/polybar/mpd +include-file = ~/.config/polybar/i3.ini +include-file = ~/.config/polybar/bspwm.ini [colors] #pseudo-transparency = true -#background = #fffffff -#background-alt = #fffffff -background = #d8dee9 -background-alt = #d8dee9 -foreground = ${xrdb:color7} -#foreground-alt = ${xrdb:color3} -foreground-alt = #4A3131 +; Used in the whole bar background +background = #2e3440 + +; Alternative background used in the workspaces +#background-alt = #4c566a +background-alt = ${background} +background-emph = #434c5e + +; Color useed in the default text +foreground = #d8dee9 +foreground-alt = #e5e9f0 + primary = #ffb52a secondary = #e60053 -alert = ${xrdb:color1} +alert = ${xrdb:color9} [global/wm] #margin-top = 0 margin-bottom = 0 -[bar/i3] -width = 100% -height = 30 -offset-y = 0 - -; Prefer fixed center position for the `modules-center` block -; When false, the center position will be based on the size of the other blocks. -fixed-center = true - -background = ${colors.background} -foreground = ${colors.foreground-alt} - -overline-size = 2 -overline-color = #f00 -underline-size = 2 -underline-color = #00f - -border-bottom-size = 0 -border-bottom-color = #333 - -spacing = 1 -padding-left = 0 -padding-right = 2 -module-margin-left = 1 -module-margin-right = 2 - -font-0 = Dejavu Sans Mono:size=12 -font-1 = materialdesignicons:size=16 - -#modules-left = i3 -modules-center = i3 -modules-right = date - -tray-position = right -tray-padding = 2 -;tray-transparent = true -;tray-background = #0063ff - -;wm-restack = bspwm -;wm-restack = i3 - -;override-redirect = true - -scroll-up = "#i3.prev" -scroll-down = "#i3.next" - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/bspwm] -type = internal/bspwm -ws-icon-default = x - -label-focused = %index% -label-focused-underline= ${colors.primary} -label-focused-padding = 2 - -label-occupied = %index% -label-occupied-padding = 2 - -label-urgent = %index%! -label-urgent-background = ${colors.alert} -label-urgent-padding = 2 - -label-empty = %index% -label-empty-foreground = ${colors.foreground-alt} -label-empty-padding = 2 - -[module/i3] -label = %icon%%name% -label-active-font = 0 -type = internal/i3 -index-sort = false -wrapping-scroll = false - -label-mode = %mode% -label-mode-padding = 2 -#label-mode-foreground = #000000 -#label-mode-background = ${colors.primary} - -#border-size = 1 -#border-colol = #000 - -label-focused = ${self.label} -label-focused-background = ${colors.foreground-alt} -label-focused-padding = ${module/bspwm.label-focused-padding} -label-focused-foreground = ${colors.foreground} - -label-unfocused = ${self.label} -label-unfocused-padding = ${module/bspwm.label-occupied-padding} -label-unfocused-background = ${colors.background-alt} -label-unfocused-foreground = ${colors.foreground-alt} - -label-urgent = ${self.label} -label-urgent-background = ${colors.background} -label-urgent-foreground = ${module/bspwm.label-urgent-background} -label-urgent-underline = ${module/bspwm.label-urgent-background} -label-urgent-padding = ${module/bspwm.label-urgent-padding} - -label-visible = ${self.label} -label-visible-background = ${self.label-focused-background} -#label-visible-underline = ${self.label-focused-underline} -label-visible-padding = ${self.label-focused-padding} - -strip-wsnumbers = true -fuzzy-match = true - - -; Separator in between workspaces -#label-separator = " " -#label-separator-padding = 0 -#label-separator-foreground = #ffb52a - [module/date] type = custom/script exec = ~/scripts/polybar/date.sh tail = true -click-left = ~/scripts/polybar/cal.sh +click-left = gsimplecal #click-left = kill -USR1 %pid% format-prefix = " " diff --git a/polybar/.config/polybar/i3.ini b/polybar/.config/polybar/i3.ini new file mode 100644 index 0000000..890b460 --- /dev/null +++ b/polybar/.config/polybar/i3.ini @@ -0,0 +1,86 @@ +[bar/i3] +width = 100% +height = 25 +offset-y = 0 + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +; fixed-center = true + +background = ${colors.background} +foreground = ${colors.foreground} + +overline-size = 2 +overline-color = #f00 +underline-size = 2 +underline-color = #00f + +border-bottom-size = 0 +border-bottom-color = #333 + +spacing = 0 +padding-left = 0 +padding-right = 0 +module-margin-left = 1 +module-margin-right = 1 + +font-0 = Dejavu Sans Mono:size=12 +font-1 = materialdesignicons:size=16 + +modules-left = i3 +#modules-center = +modules-right = mopidy date + +tray-position = right +tray-padding = 2 +;tray-transparent = true +;tray-background = #0063ff + +;wm-restack = bspwm +;wm-restack = i3 + +;override-redirect = true + +scroll-up = "#i3.prev" +scroll-down = "#i3.next" + +[module/i3] +label = %icon%%name% +padding = 2 +label-active-font = 0 +type = internal/i3 +index-sort = false +wrapping-scroll = false + +label-mode = %mode% +label-mode-padding = 2 +#label-mode-foreground = #000000 +#label-mode-background = ${colors.primary} + +label-focused = ${self.label} +label-focused-background = ${colors.background-emph} +label-focused-padding = ${self.padding} +label-focused-foreground = ${colors.foreground-alt} + +label-unfocused = ${self.label} +label-unfocused-padding = ${self.padding} +label-unfocused-background = ${colors.background-alt} +label-unfocused-foreground = ${colors.foreground} + +label-urgent = ${self.label} +label-urgent-background = ${colors.alert} +label-urgent-foreground = ${colors.foreground-alt} +label-urgent-padding = ${self.padding} + +label-visible = ${self.label} +label-visible-background = ${self.label-focused-background} +label-visible-padding = ${self.padding} + +strip-wsnumbers = true +fuzzy-match = true + +; Separator in between workspaces +#label-separator = "x" +#label-separator-padding = 1 +#label-separator-foreground = #ffb52a + diff --git a/polybar/.config/polybar/mpd b/polybar/.config/polybar/mpd new file mode 100644 index 0000000..4ee0087 --- /dev/null +++ b/polybar/.config/polybar/mpd @@ -0,0 +1,22 @@ +[module/mopidy] +type = internal/mpd + +host = 127.0.0.1 +port = 6600 + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 5 + +#format-playing = <icon-stop> <toggle> %{F#a3be8c}%{F-} <label-song> +format-playing = <icon-stop> <toggle> %{F#a3be8c}%{F-} +format-paused = <icon-stop> <toggle> +format-stopped = <toggle> + +label-song = %artist% - %title% +# label-song-background = ${colors.background-alt} + +; Only applies if <icon-X> is used +icon-play = +icon-stop = +icon-pause = diff --git a/polybar/scripts/polybar/cal.sh b/polybar/scripts/polybar/cal.sh deleted file mode 100755 index a69d088..0000000 --- a/polybar/scripts/polybar/cal.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# Add a fake tty to get the day highlight -# https://stackoverflow.com/a/32981392 -faketty () { - script -qfec "$(printf "%q " "$@")" -} - -# Get the max line width -width=$(ncal -3 | wc -L) - -cal=$(faketty ncal -3 \ - | sed 's|_\(.\)|<span background="white" foreground="black">\1</span>|g' \ - | sed 's|\s*$||') -rofi -font "mono 9" -markup -width -"${width}" -lines 8 -location 3 -e "${cal}" diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc new file mode 100644 index 0000000..2276c2d --- /dev/null +++ b/sxhkd/.config/sxhkd/sxhkdrc @@ -0,0 +1,164 @@ +# +# wm independent hotkeys +# + +# terminal emulator +super + Return + urxvtcd + +# program launcher +super + i + rofi -show run + +#super + @space +# dmenu_run + +# make sxhkd reload its configuration files: +super + Escape + pkill -USR1 -x sxhkd + +# +# bspwm hotkeys +# + +# quit/restart bspwm +super + alt + {q,r} + bspc {quit,wm -r} + +# close and kill +#super + {_,shift + }w +# bspc node -{c,k} +super + {_,shift + }q + bspc node -{c,k} + +XF86HomePage + bspc query -N -d Web || firefox & bspc desktop -f Web + +XF86Mail + bspc query -N -d Mail || thunderbird & bspc desktop -f Mail + +XF86Calculator + bspc query -N -d Musique || gmpc & bspc desktop -f Musique + +# alternate between the tiled and monocle layout +super + f + 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 node +super + g + bspc node -s biggest + +# +# state/flags +# + +## set the window state +#super + {t,shift + t,s,f} +# bspc node -t {tiled,pseudo_tiled,floating,fullscreen} + +# set the node flags +super + ctrl + {m,x,y,z} + bspc node -g {marked,locked,sticky,private} + +# +# focus/swap +# + +# focus the node in the given direction +super + {_,shift + }{h,j,k,l} + bspc node -{f,s} {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 node in the current desktop +super + {_,shift + }c + bspc node -f {next,prev}.local + +# focus the next/previous desktop in the current monitor +super + bracket{left,right} + bspc desktop -f {prev,next}.local + +# 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-9,0} +# bspc {desktop -f,node -d} '^{1-9,10}' + +# +# preselect +# + +# preselect the direction +super + ctrl + {h,j,k,l} + bspc node -p {west,south,north,east} + +# preselect the ratio +super + ctrl + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +super + ctrl + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +super + ctrl + shift + space + bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel + +super + r + rofi -modi "Reorganiser:~/scripts/sxhkd/rofi_resize.sh,Rotation:~/scripts/sxhkd/rofi_rotate.sh" -show Rotation + +# +# move/resize +# + +# expand a window by moving one of its side outward +super + shift + {Left,Down,Up,Right} + bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} + +# contract a window by moving one of its side inward +super + alt + shift + {h,j,k,l} + bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} + +# move a floating window +#super + {Left,Down,Up,Right} +# bspc node -v {-20 0,0 20,0 -20,20 0} +# + +super + {Up,Down,Left,Right} + bspc node {north,south,west,east} -f + +mod5 + Escape + ~/scripts/sxhkd/show.sh older + +shift + mod5 + Escape + ~/scripts/sxhkd/move.sh older + +mod5 + {_,shift + } F{1-5} + {~/scripts/sxhkd/show.sh, ~/scripts/sxhkd/move.sh} {1-5} + +super + n + rofi -modi "Desktop:~/scripts/sxhkd/rofi_new.sh,Renommer:~/scripts/sxhkd/rofi_rename.sh" -show Desktop + +super + a + bspc node @parent -f + +super + m + test -z $(bspc query -N -n any.marked) && bspc node -g marked; \ + bspc node --swap any.marked --follow && bspc node any.marked -g marked=off + +super + button{4,5} + bspc desktop -f {prev,next}.local diff --git a/sxhkd/scripts/sxhkd/move.sh b/sxhkd/scripts/sxhkd/move.sh new file mode 100755 index 0000000..2f0d5f1 --- /dev/null +++ b/sxhkd/scripts/sxhkd/move.sh @@ -0,0 +1,4 @@ +#!/bin/sh +bspc query -D $1 || bspc monitor -a $1 +bspc node --to-desktop $1 + diff --git a/sxhkd/scripts/sxhkd/rofi_new.sh b/sxhkd/scripts/sxhkd/rofi_new.sh new file mode 100755 index 0000000..4e28454 --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_new.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [ -z $1 ]; then + cat <(echo -e "Web\nMail\nMusique") <(bspc query --names -D) | sort -u +else + ~/scripts/sxhkd/show.sh $1 +fi + diff --git a/sxhkd/scripts/sxhkd/rofi_rename.sh b/sxhkd/scripts/sxhkd/rofi_rename.sh new file mode 100755 index 0000000..d2bb04d --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_rename.sh @@ -0,0 +1,9 @@ +#!/bin/sh +if [ -z $1 ]; then + echo "Edit" + echo "Musique" + exit 0 +else + bspc desktop -n ${1} + exit 1 +fi diff --git a/sxhkd/scripts/sxhkd/rofi_resize.sh b/sxhkd/scripts/sxhkd/rofi_resize.sh new file mode 100755 index 0000000..dfb9679 --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_resize.sh @@ -0,0 +1,18 @@ +#!/bin/sh +if [ -z $1 ]; then + echo "10" + echo "20" + echo "30" + echo "40" + echo "50" + echo "52" + echo "60" + echo "70" + echo "80" + echo "90" + exit 0 +else + bspc node @parent --ratio .${1} + exit 1 +fi + diff --git a/sxhkd/scripts/sxhkd/rofi_rotate.sh b/sxhkd/scripts/sxhkd/rofi_rotate.sh new file mode 100755 index 0000000..6438f2a --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_rotate.sh @@ -0,0 +1,21 @@ +#!/bin/bash +if [ -z $1 ]; then + echo "Horaire" + echo "Antihoraire" + echo "Flip" + exit 0 +else + case $1 in + Horaire) + bspc node @parent --rotate 90 + ;; + Antihoraire) + bspc node @parent --rotate 270 + ;; + Flip) + bspc node @parent --rotate 180 + ;; + esac + exit 1 +fi + diff --git a/sxhkd/scripts/sxhkd/show.sh b/sxhkd/scripts/sxhkd/show.sh new file mode 100755 index 0000000..4f83617 --- /dev/null +++ b/sxhkd/scripts/sxhkd/show.sh @@ -0,0 +1,3 @@ +#!/bin/sh +bspc query -D --names | grep -q "$1" || bspc monitor -a "$1" +bspc desktop -f "$1" |