Add bspwm workspace saving functionality to dmenu and zsh
This commit is contained in:
parent
408c0d5f3c
commit
b546276ae0
6 changed files with 104 additions and 14 deletions
|
@ -22,7 +22,7 @@ local desktop=""
|
||||||
if [[ $1 == "delete" || $1 == "rename" ]]; then
|
if [[ $1 == "delete" || $1 == "rename" ]]; then
|
||||||
desktop=$(echo "" | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
|
desktop=$(echo "" | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
|
||||||
else
|
else
|
||||||
if [[ $1 != "bubbleprev" && $1 != "bubblenext" ]]; then
|
if [[ $1 != "bubbleprev" && $1 != "bubblenext" && $1 != "save" && $1 != "load" ]]; then
|
||||||
desktop=$(bspc query -m focused -D --names | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
|
desktop=$(bspc query -m focused -D --names | dmenu -i -fn $(get-font) -nb "#282a36" -nf "#f8f8f2" -sb "#44475a" -sf "#f8f8f2" -p "$dmenu_string")
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -49,4 +49,8 @@ case $1 in
|
||||||
bspc desktop -b prev ;;
|
bspc desktop -b prev ;;
|
||||||
"bubblenext")
|
"bubblenext")
|
||||||
bspc desktop -b next ;;
|
bspc desktop -b next ;;
|
||||||
|
"save")
|
||||||
|
bspwm-save ;;
|
||||||
|
"load")
|
||||||
|
bspwm-load ;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -149,6 +149,12 @@ alt + z; h
|
||||||
alt + z; l
|
alt + z; l
|
||||||
$HOME/.config/dmenu/dmenu_bspwm_desktop bubblenext
|
$HOME/.config/dmenu/dmenu_bspwm_desktop bubblenext
|
||||||
|
|
||||||
|
alt + z; y
|
||||||
|
$HOME/.config/dmenu/dmenu_bspwm_desktop save
|
||||||
|
|
||||||
|
alt + z; p
|
||||||
|
$HOME/.config/dmenu/dmenu_bspwm_desktop load
|
||||||
|
|
||||||
alt + a; g
|
alt + a; g
|
||||||
$HOME/.config/dmenu/dmenu_bspwm_monitor goto
|
$HOME/.config/dmenu/dmenu_bspwm_monitor goto
|
||||||
|
|
||||||
|
|
|
@ -7,3 +7,4 @@ ssh.strato.de,81.169.145.126 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTY
|
||||||
aur.archlinux.org,95.216.144.15 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLMiLrP8pVi5BFX2i3vepSUnpedeiewE5XptnUnau+ZoeUOPkpoCgZZuYfpaIQfhhJJI5qgnjJmr4hyJbe/zxow=
|
aur.archlinux.org,95.216.144.15 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLMiLrP8pVi5BFX2i3vepSUnpedeiewE5XptnUnau+ZoeUOPkpoCgZZuYfpaIQfhhJJI5qgnjJmr4hyJbe/zxow=
|
||||||
2a01:4f9:c010:50::1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLMiLrP8pVi5BFX2i3vepSUnpedeiewE5XptnUnau+ZoeUOPkpoCgZZuYfpaIQfhhJJI5qgnjJmr4hyJbe/zxow=
|
2a01:4f9:c010:50::1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLMiLrP8pVi5BFX2i3vepSUnpedeiewE5XptnUnau+ZoeUOPkpoCgZZuYfpaIQfhhJJI5qgnjJmr4hyJbe/zxow=
|
||||||
140.82.121.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
140.82.121.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
||||||
|
140.82.121.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
||||||
|
|
10
.xinitrc
10
.xinitrc
|
@ -29,10 +29,14 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
setxkbmap "us,us" ",intl" "grp:shifts_toggle"
|
setxkbmap "us,us" ",intl" "grp:shifts_toggle"
|
||||||
xset m 0 0
|
xset m 1 1
|
||||||
xsetroot -cursor_name left_ptr
|
xsetroot -cursor_name left_ptr
|
||||||
|
|
||||||
export _JAVA_AWT_WM_NONPARENTING=1
|
export _JAVA_AWT_WM_NONPARENTING=1
|
||||||
|
|
||||||
mkdir -p $HOME/.local/share/bspwm
|
if [ -n $BSPWM_FILES ]; then
|
||||||
exec bspwm >$HOME/.local/share/bspwm/output.log 2>$HOME/.local/share/bspwm/error.log
|
mkdir -p $BSPWM_FILES
|
||||||
|
exec bspwm >$BSPWM_FILES/output.log 2>$BSPWM_FILES/error.log
|
||||||
|
else
|
||||||
|
exec bspwm
|
||||||
|
fi
|
||||||
|
|
93
.zsh_alias
93
.zsh_alias
|
@ -1,19 +1,67 @@
|
||||||
|
# ===
|
||||||
|
# Directory listing
|
||||||
|
# ===
|
||||||
alias la='ls -lahF'
|
alias la='ls -lahF'
|
||||||
alias ll='ls -lhF'
|
alias ll='ls -lhF'
|
||||||
alias ls='ls -F --color=tty'
|
alias ls='ls -F --color=tty'
|
||||||
alias lsa='ls -aF'
|
alias lsa='ls -aF'
|
||||||
|
|
||||||
|
# ===
|
||||||
|
# Software
|
||||||
|
# ===
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Keyboard layout
|
||||||
|
# ======
|
||||||
alias layout='xkblayout-state print "%s(%v)" && echo -n "\n"'
|
alias layout='xkblayout-state print "%s(%v)" && echo -n "\n"'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Compositing
|
||||||
|
# ======
|
||||||
alias picom-default='picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync'
|
alias picom-default='picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Octave
|
||||||
|
# ======
|
||||||
|
alias octave-gui='octave --force-gui'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Polkit
|
||||||
|
# ======
|
||||||
|
alias xfce-polkit='/usr/lib/xfce-polkit/xfce-polkit'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Resolve
|
||||||
|
# ======
|
||||||
|
alias davinci-resolve='/opt/resolve/bin/resolve'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Tmate
|
||||||
|
# ======
|
||||||
|
alias tmate-obs='tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice'
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# Screenkey
|
||||||
|
# ======
|
||||||
function screenkey-obs-func() {
|
function screenkey-obs-func() {
|
||||||
width=$(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[1];}')
|
width=$(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[1];}')
|
||||||
height=$(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[2];}')
|
height=$(xrandr | awk '$0 ~ "*" {split($1,res,"x"); print res[2];}')
|
||||||
screenkey --no-systray -t 2 -p fixed -s small -g $(awk -v height=$height -v width=$width 'BEGIN {printf "%.0fx%.0f+%.0f+%.0f", (width * 0.5), (height * 0.06), (width * 0.25), (height * 0.02)}') --key-mode composed --bak-mode full --mods-mode normal -f Hack --font-color "#f8f8f2" --bg-color "#44475a" --opacity "1.0"
|
screenkey --no-systray -t 2 -p fixed -s small -g $(awk -v height=$height -v width=$width 'BEGIN {printf "%.0fx%.0f+%.0f+%.0f", (width * 0.5), (height * 0.06), (width * 0.25), (height * 0.02)}') --key-mode composed --bak-mode full --mods-mode normal -f Hack --font-color "#f8f8f2" --bg-color "#44475a" --opacity "1.0"
|
||||||
}
|
}
|
||||||
alias screenkey-obs='screenkey-obs-func'
|
|
||||||
|
|
||||||
|
alias screenkey-obs='screenkey-obs-func'
|
||||||
|
# ======
|
||||||
|
# ===
|
||||||
|
|
||||||
|
# ===
|
||||||
|
# Font
|
||||||
|
# ===
|
||||||
function get-font-func() {
|
function get-font-func() {
|
||||||
fallback_font="Hack:size=10:antialias=true:autohint=true"
|
fallback_font="Hack:size=10:antialias=true:autohint=true"
|
||||||
font=""
|
font=""
|
||||||
|
@ -25,15 +73,40 @@ function get-font-func() {
|
||||||
echo "$font"
|
echo "$font"
|
||||||
}
|
}
|
||||||
alias get-font='get-font-func'
|
alias get-font='get-font-func'
|
||||||
|
# ===
|
||||||
|
|
||||||
alias tmate-obs='tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice'
|
# ===
|
||||||
|
# Lockscreen
|
||||||
alias xfce-polkit='/usr/lib/xfce-polkit/xfce-polkit'
|
# ===
|
||||||
|
|
||||||
alias davinci-resolve='/opt/resolve/bin/resolve'
|
|
||||||
|
|
||||||
alias rofi-scripts='alias | sed -e "s/=.*//"'
|
|
||||||
|
|
||||||
alias lock-screen='xset 600 60 && env XSECURELOCK_AUTH_BACKGROUND_COLOR=rgb:28/2a/36 XSECURELOCK_AUTH_FOREGROUND_COLOR=rgb:f8/f8/f2 XSECURELOCK_AUTH_TIMEOUT=10 XSECURELOCK_BLANK_TIMEOUT=-1 XSECURELOCK_BLANK_DPMS_STATE=on XSECURELOCK_DISCARD_FIRST_KEYPRESS=1 XSECURELOCK_PASSWORD_PROMPT=cursor XSECURELOCK_SHOW_DATETIME=1 XSECURELOCK_SHOW_HOSTNAME=1 XSECURELOCK_SHOW_USERNAME=1 xsecurelock &'
|
alias lock-screen='xset 600 60 && env XSECURELOCK_AUTH_BACKGROUND_COLOR=rgb:28/2a/36 XSECURELOCK_AUTH_FOREGROUND_COLOR=rgb:f8/f8/f2 XSECURELOCK_AUTH_TIMEOUT=10 XSECURELOCK_BLANK_TIMEOUT=-1 XSECURELOCK_BLANK_DPMS_STATE=on XSECURELOCK_DISCARD_FIRST_KEYPRESS=1 XSECURELOCK_PASSWORD_PROMPT=cursor XSECURELOCK_SHOW_DATETIME=1 XSECURELOCK_SHOW_HOSTNAME=1 XSECURELOCK_SHOW_USERNAME=1 xsecurelock &'
|
||||||
|
# ===
|
||||||
|
|
||||||
alias octave-gui='octave --force-gui'
|
# ===
|
||||||
|
# bspwm
|
||||||
|
# ===
|
||||||
|
function bspwm-workspaces-init-func() {
|
||||||
|
if [[ ! -n $BSPWM_FILES ]]; then
|
||||||
|
export BSPWM_FILES="$HOME/.local/share/bspwm"
|
||||||
|
fi
|
||||||
|
mkdir -p $BSPWM_FILES
|
||||||
|
}
|
||||||
|
|
||||||
|
function bspwm-save-func() {
|
||||||
|
bspwm-workspaces-init-func
|
||||||
|
if [[ -f $BSPWM_FILES/$1 ]]; then
|
||||||
|
cp $BSPWM_FILES/$1 $BSPWM_FILES/$2
|
||||||
|
fi
|
||||||
|
bspc query -m focused -D --names | tr '\n' ' ' | sed 's/ $//g' > $BSPWM_FILES/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
function bspwm-load-func() {
|
||||||
|
bspwm-workspaces-init-func
|
||||||
|
if [[ -f $BSPWM_FILES/$1 ]]; then
|
||||||
|
bspwm-save-func $2 $2
|
||||||
|
bspc monitor -d $(< $BSPWM_FILES/$1)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
alias bspwm-save="bspwm-save-func workspaces workspaces.prev_save"
|
||||||
|
alias bspwm-load="bspwm-load-func workspaces workspaces.prev_load"
|
||||||
|
# ===
|
||||||
|
|
2
.zshenv
2
.zshenv
|
@ -48,6 +48,8 @@ export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
|
||||||
export WINIT_X11_SCALE_FACTOR=1
|
export WINIT_X11_SCALE_FACTOR=1
|
||||||
|
|
||||||
|
export BSPWM_FILES="$HOME/.local/share/bspwm"
|
||||||
|
|
||||||
if [[ -f $HOME/.zsh_alias ]]; then
|
if [[ -f $HOME/.zsh_alias ]]; then
|
||||||
source $HOME/.zsh_alias
|
source $HOME/.zsh_alias
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue