This commit is contained in:
Leon Kowarschick 2020-04-27 17:21:09 +02:00
parent be78462814
commit aaf8e1de21
17 changed files with 389 additions and 10 deletions

View file

@ -18,3 +18,35 @@ rofi.color-active: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd
rofi.font: System San Francisco Display 18 rofi.font: System San Francisco Display 18
dzen.font: -*-fixed-medium-r-s*--12-87-*-*-*-*-iso10???-1 dzen.font: -*-fixed-medium-r-s*--12-87-*-*-*-*-iso10???-1
URxvt.color24: #076678
URxvt.color66: #427b58
URxvt.color88: #9d0006
URxvt.color96: #8f3f71
URxvt.color100: #79740e
URxvt.color108: #8ec07c
URxvt.color109: #83a598
URxvt.color130: #af3a03
URxvt.color136: #b57614
URxvt.color142: #b8bb26
URxvt.color167: #fb4934
URxvt.color175: #d3869b
URxvt.color208: #fe8019
URxvt.color214: #fabd2f
URxvt.color223: #ebdbb2
URxvt.color228: #f2e5bc
URxvt.color229: #fbf1c7
URxvt.color230: #f9f5d7
URxvt.color234: #1d2021
URxvt.color235: #282828
URxvt.color236: #32302f
URxvt.color237: #3c3836
URxvt.color239: #504945
URxvt.color241: #665c54
URxvt.color243: #7c6f64
URxvt.color244: #928374
URxvt.color245: #928374
URxvt.color246: #a89984
URxvt.color248: #bdae93
URxvt.color250: #d5c4a1

View file

@ -12,8 +12,8 @@ window:
# y: 0 # y: 0
padding: padding:
x: 0 x: 10
y: 0 y: 10
#Spread additional padding evenly around the terminal content. #Spread additional padding evenly around the terminal content.
dynamic_padding: true dynamic_padding: true
@ -301,8 +301,9 @@ schemes:
# }}} # }}}
# https://github.com/alacritty/alacritty/wiki/Color-schemes # https://github.com/alacritty/alacritty/wiki/Color-schemes
colors: *onedark colors: *gruvbox
background_opacity: 0.95 #background_opacity: 0.95
background_opacity: 1
font: font:
size: 13 size: 13

View file

@ -0,0 +1,25 @@
#!/bin/bash
case $1 in "-a") PROMPT="Goto:"; MODE="go" ;; "-R") PROMPT="Bring:"; MODE="bring" ;; esac
if [ -n "$2" ]; then
WINDOW="$2"
else
WINDOW=$(paste \
<(xdotool search .) \
<(xdotool search . get_desktop_for_window %@ 2> /dev/null) \
<(xdotool search . getwindowname %@) |\
awk '{FS="\t"; if($2 != -1) printf "%10d [%d] %s\n",$1,$2+1,$3}' |\
vmenu --no-refocus -p $PROMPT |\
sed 's/^ *//g' |\
cut -d ' ' -f 1)
fi
if [ -n "$WINDOW" ]; then
if [ bring = $MODE ]; then
if DESK=$(xdotool get_desktop 2> /dev/null); then
xdotool set_desktop_for_window "$WINDOW" $DESK
sleep 0.005 # wait for wm to notice
fi
fi
xdotool windowmap "$WINDOW" windowactivate "$WINDOW" windowfocus "$WINDOW" windowraise "$WINDOW"
fi

View file

@ -0,0 +1,11 @@
#!/bin/bash
if [ -z "$1" ]; then
echo "Usage: $0 <name of hidden scratchpad window>"
exit 1
fi
pids=$(xdotool search --class "${1}")
for pid in $pids; do
echo "Toggle $pid"
bspc node "$pid" --flag hidden -f
done

View file

@ -0,0 +1,107 @@
#!/bin/bash
# Config
# ======
# Where to look for wid files:
TMPDIR="$XDG_RUNTIME_DIR/drawers.wids/"
# Find and show/hide the window if it exists
# ==========================================
NAME=$1
if [[ -e $TMPDIR$NAME ]]; then
read -r WINDOW < "$TMPDIR$NAME"
# Window exists? Show/hide it and we're done.
if xdotool getwindowname "$WINDOW" &> /dev/null; then
if xdotool search --onlyvisible . | grep -q "$WINDOW"; then
xdotool windowminimize "$WINDOW"
else
~/.config/bspwm/bspwm_scripts/bringwindow -R "$WINDOW"
fi
exit
fi
fi
if [[ $# -lt 5 ]]; then
echo "Not enough args to launch a new $NAME."
exit 1
fi
# No window to show/hide, better create it. Do setup for that.
# ============================================================
# no xinerama for now
CFG=($(xdotool getdisplaygeometry))
SCR_WIDTH=${CFG[0]}
SCR_HEIGHT=${CFG[1]}
SCR_LEFT=0 #${CFG[2]}
SCR_TOP=0 #${CFG[3]}
SIDE=$2
WIDTH=$3
HEIGHT=$4
shift 4
# Handle fractions of screen size for width and height
# ====================================================
if [[ $WIDTH == *% ]]; then
WIDTH=${WIDTH:0:-1} # chomp '%'
WIDTH=$(( (WIDTH*10*SCR_WIDTH)/1000 ))
fi
if [[ $HEIGHT == *% ]]; then
HEIGHT=${HEIGHT:0:-1} # chomp '%'
HEIGHT=$(( (HEIGHT*10*SCR_HEIGHT)/1000 ))
fi
# Figure out where to put the window
# ==================================
TOP_ADJ=$(( (SCR_HEIGHT-HEIGHT)/2 ))
LEFT_ADJ=$(( (SCR_WIDTH-WIDTH)/2 ))
case $SIDE in
"left")
LEFT=$SCR_LEFT
TOP=$(( SCR_TOP + TOP_ADJ ))
;;
"right")
LEFT=$(( SCR_WIDTH - WIDTH ))
TOP=$(( SCR_TOP + TOP_ADJ ))
;;
"bottom")
LEFT=$(( SCR_LEFT + LEFT_ADJ ))
TOP=$(( SCR_HEIGHT - HEIGHT ))
;;
"top")
LEFT=$(( SCR_LEFT + LEFT_ADJ ))
TOP=$SCR_TOP
esac
# Create the window
# =================
$@ &
# await new window:
countWins() {
xdotool search --onlyvisible . 2> /dev/null | wc -l
}
WIN_CNT="$(countWins)"
while [[ $(countWins) = "$WIN_CNT" ]]; do sleep 0.1; done
sleep 0.25
# new window should now be active, make it our window:
WINDOW="$(xdotool getactivewindow)"
xdotool set_window --role "drawer" $WINDOW
mkdir -p "$TMPDIR"
echo "$WINDOW" > "$TMPDIR$NAME"
border_width="$(xgetres awesome border_width)"
which awesome-client &> /dev/null && echo "client.focus.floating = true; client.focus.border_width=$border_width" | awesome-client
xdotool windowmove $WINDOW $LEFT $TOP windowsize $WINDOW $WIDTH $HEIGHT windowfocus $WINDOW windowraise $WINDOW

View file

@ -0,0 +1,14 @@
#!/bin/bash
options="screenshot\nscreengif"
selected="$(echo -e "$options" | rofi -dmenu -i -theme ~/scripts/rofi-scripts/default_theme.rasi)"
case "$selected" in
screenshot)
~/scripts/screenshot.sh
;;
screengif)
notify-send gif "press M-S-C-g to end gif"
~/scripts/screengif.sh
;;
esac

View file

@ -0,0 +1,2 @@
#!/bin/bash
pgrep "$@" > /dev/null || ("$@" &)

View file

@ -0,0 +1,2 @@
#!/bin/dash
appres "$1" | grep "$2" | cut -f 2-

34
files/.config/bspwm/bspwmrc Executable file
View file

@ -0,0 +1,34 @@
#! /bin/sh
sxhkd &
killall -q picom && picom --config ~/.config/picom.conf --experimental-backends --no-fading-openclose &
killall -q pasystray && pasystray &
killall -q nm-applet && nm-applet &
killall -q clipmenud && clipmenud &
xset r rate 300 50 &
/home/leon/.config/polybar/launch.sh &
feh --bg-fill /home/leon/Bilder/wallpapers/mountains_with_clounds.jpg &
bspc monitor -d 1 2 3 4 5 6 7 8 9 10
bspc config border_width 2
bspc config window_gap 14
bspc config focus_follows_pointer true
bspc config split_ratio 0.50
bspc config borderless_monocle false
bspc config gapless_monocle false
bspc config automatic_scheme alternate
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
bspc rule -a feh state=floating
bspc rule -a Sxiv state=floating
#bspc rule -a kitty_scratchpad sticky=on state=floating hidden=on
#kitty --class kitty_scratchpad &

View file

@ -1,4 +1,4 @@
{ {
"optOut": false, "optOut": false,
"lastUpdateCheck": 1587664774612 "lastUpdateCheck": 1587976757501
} }

View file

@ -16,6 +16,7 @@
; ;
;========================================================== ;==========================================================
;; Colors ------------------------------------------- {{{ ;; Colors ------------------------------------------- {{{
[colors] [colors]
@ -39,6 +40,10 @@ alert = #bd2c40
;; Bar config ----------------------------------------- {{{ ;; Bar config ----------------------------------------- {{{
[bar/main] [bar/main]
override-redirect = true
wm-restack = xmonad
width = 100%:-28 width = 100%:-28
height = 30 height = 30

View file

@ -6,5 +6,5 @@
config_version: 2 config_version: 2
settings: settings:
content.notifications: content.register_protocol_handler:
https://www.reddit.com: false https://mail.google.com?extsrc=mailto&url=%25s: false

146
files/.config/sxhkd/sxhkdrc Normal file
View file

@ -0,0 +1,146 @@
super + Escape
pkill -USR1 -x sxhkd
super + shift + Return
alacritty
super + p
rofi -show run -theme ~/scripts/rofi-scripts/default_theme.rasi
super + shift + p
rofi -modi drun -show drun -theme ~/scripts/rofi-scripts/default_theme.rasi
#
# bspwm hotkeys
#
super + ctrl + shift + q
bspc quit
# restart bspwm
super + q
bspc wm -r
# close a window
super + ctrl + shift + c
bspc node -c
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + alt + comma
bspc node newest.marked.local -n newest.!automatic.local
super + Return
bspc node -s biggest.local
#
# 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 + alt + m
bspc node -g marked
#
# 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 + {shift+b,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 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 + alt + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + alt + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + alt + shift + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + alt + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
super + ctrl + {h,j,k,l}
bspc node -z {left -40 0,bottom 0 40,top 0 -40,right 40 0}
super + ctrl + shift + {h,j,k,l}
bspc node -z {right -40 0,top 0 40,bottom 0 -40,left 40 0}
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
#
# start stuff
#
super + b
qutebrowser --target window
super + e
sh ~/.config/bspwm/bspwm_scripts/execute_menu.sh
super + shift + ctrl + g
killall -INT -g giph;\
notify-send gif "saved gif to ~/Bilder/gifs"
#
# scratchpads
#
# super + n; super + d
# pids=$(xdotool search --class "discord"); \
# for pid in $pids; do bspc node $pid --flag hidden -f; done
#super + n; super + d
# tdrop -ma -w -4 --class discord -y "$PANEL_HEIGHT" discord
#
#super + n; super + n
# ~/.config/bspwm/bspwm_scripts/bsp_scratchpad.sh kitty_scratchpad
#super + n; super + n
#id=$(cat /tmp/scratchid); bspc node $id --flag hidden; bspc node -f $id

View file

@ -6,7 +6,7 @@ font = Iosevka Nerd Font Medium 12
[colors] [colors]
# hard contrast: background = #1d2021 # hard contrast: background = #1d2021
background = rgba(40, 40, 40, 0.5) background = rgba(40, 40, 40, 1)
;background = rgba(40, 40, 40, 0.95) ;background = rgba(40, 40, 40, 0.95)
# soft contrast: background = #32302f # soft contrast: background = #32302f
foreground = #ebdbb2 foreground = #ebdbb2

View file

@ -64,7 +64,7 @@ import qualified XMonad.Util.XSelection as XSel
myModMask = mod4Mask myModMask = mod4Mask
myLauncher = Rofi.asCommand (def { Rofi.theme = Rofi.bigTheme }) ["-show run"] myLauncher = Rofi.asCommand (def { Rofi.theme = Rofi.bigTheme }) ["-show run"]
myTerminal = "kitty --single-instance" myTerminal = "termite"
myBrowser = "qutebrowser" myBrowser = "qutebrowser"
--myBrowser = "google-chrome-stable" --myBrowser = "google-chrome-stable"
@ -216,7 +216,7 @@ myKeys = [ ("M-+", sendMessage zoomIn)
toggleFullscreen = do toggleFullscreen = do
sendMessage ToggleLayout -- toggle fullscreen layout sendMessage ToggleLayout -- toggle fullscreen layout
sendMessage ToggleStruts -- bar is hidden -> no need to make place for it sendMessage ToggleStruts -- bar is hidden -> no need to make place for it
safeSpawn "polybar-msg" ["cmd", "toggle"] -- toggle polybar visibility --safeSpawn "polybar-msg" ["cmd", "toggle"] -- toggle polybar visibility
scratchpadSubmap :: X () scratchpadSubmap :: X ()

Binary file not shown.