diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index 9f7a031..f2d6d17 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -2,16 +2,27 @@ pgrep -x sxhkd > /dev/null || sxhkd & -bspc monitor -d 1 2 3 4 5 6 7 8 9 0 +bspc monitor eDP1 -d 1 2 3 4 5 6 7 8 9 0 '#' +my_laptop_external_monitor=$(xrandr --query | grep 'HDMI1') +if [[ $my_laptop_external_monitor != *disconnected* ]]; then + # xrandr --output eDP1 --primary --mode 1920x1080 --rotate normal --output HDMI1 --mode 1920x1080 --rotate normal --above eDP1 + enact --pos top + bspc monitor HDMI1 -d 1 2 3 4 5 '#' + bspc monitor eDP1 -d 6 7 8 9 0 + ~/.config/polybar/launch.sh duo +else + ~/.config/polybar/launch.sh duo + bspc monitor eDP1 -d 1 2 3 4 5 6 7 8 9 0 '#' +fi #           -bspc config border_width 2 +bspc config border_width 3 bspc config active_border_color "#44475a" bspc config normal_border_color "#282a36" -bspc config focused_border_color "#ff5555" +bspc config focused_border_color "#6272a4" -bspc config window_gap 12 +bspc config window_gap 10 bspc config split_ratio 0.52 bspc config borderless_monocle true @@ -19,16 +30,46 @@ bspc config gapless_monocle true bspc rule -a Gimp desktop='^8' state=floating follow=on bspc rule -a Chromium desktop='^2' -bspc rule -a mplayer2 state=floating +bspc rule -a mplaye2 state=floating bspc rule -a Kupfer.py focus=on bspc rule -a Screenkey manage=off +bspc rule -a polybar state=sticky + + #Startup +export MAIN_DISPLAY=eDP1 +export SECOND_DISPLAY=HDMI1 +export BINSCRIPTS=$HOME/.local/bin/ -$HOME/.config/polybar/launch.sh -$HOME/Scripts/startup/touchpad.sh -$HOME/Scripts/startup/wifi.sh +$HOME/scripts/startup/touchpad.sh & +$HOME/scripts/startup/wifi.sh & +#$HOME/scripts/startup/spotifyshit & +$HOME/.local/bin/fullscreen-daemon & picom & +blueman-tray & -setxkbmap -layout us,fi,ru +setxkbmap -layout us,fi,ru & +variety --next + +# --- Scratchpads --- # + # terminal dropdown + bspc rule -a dropdown sticky=on state=floating hidden=on + alacritty --class dropdown,dropdown -d 85 26 -e "tmux" & + tmux new -s scratchpad + echo "" > /tmp/dropdown + + +# $HOME/scripts/startup/spotifyshit & +# bspc rule -a Spotify sticky=on state=floating hidden=on +# spotify +# $HOME/scripts/startup/spotifyshit & + + +bspc() { + echo $@ | grep -q " fullscreen" && touch /tmp/bspcblock + /usr/local/bin/bspc $@ +} + +killall flameshot diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf index dcc4511..6d28d9a 100644 --- a/.config/picom/picom.conf +++ b/.config/picom/picom.conf @@ -24,7 +24,7 @@ # unless explicitly requested using the wintypes option. # # shadow = false -shadow = true; +shadow = false; # The blur radius for shadows, in pixels. (defaults to 12) # shadow-radius = 12 @@ -82,6 +82,7 @@ shadow-exclude = [ "name = 'Polybar tray window'", "name = 'xmobar'", "class_g = 'Conky'", + "class_g = 'Polybar'", "class_g ?= 'Notify-osd'", "class_g = 'Cairo-clock'", "_GTK_FRAME_EXTENTS@:c" @@ -170,13 +171,19 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ]; # opacity-rule = [ "80:class_g = 'URxvt'" ]; # opacity-rule = [ - "95:class_g = 'Alacritty'", + "90:class_g = 'Alacritty'", "95:class_g = 'Emacs'", - "95:class_g *= 'alacritty'", + "80:class_g *= 'Alacritty'", + "78:class_g *= 'Zathura'", + "80:class_g = 'dropdown'", + "50:class_g = 'Firefox'", "90:class_g *= 'emacs'", + "70:class_g = 'dmenu'", "95:name *= 'alacritty'", "90:name *= 'emacs'", - "85:name *= 'xmobar'" + "85:name *= 'xmobar'", + "85:class_g = 'Spotify'", + "60:class_g = 'Polybar'" ] diff --git a/.config/sxhkd/keys b/.config/sxhkd/keys new file mode 100644 index 0000000..90bd105 --- /dev/null +++ b/.config/sxhkd/keys @@ -0,0 +1,70 @@ +# For the benefit of emacs users: -*- shell-script -*- +########################### +# xbindkeys configuration # +########################### +# +# Version: 1.8.7 +# +# If you edit this file, do not forget to uncomment any lines +# that you change. +# The pound(#) symbol may be used anywhere for comments. +# +# To specify a key, you can use 'xbindkeys --key' or +# 'xbindkeys --multikey' and put one of the two lines in this file. +# +# The format of a command line is: +# "command to start" +# associated key +# +# +# A list of keys is in /usr/include/X11/keysym.h and in +# /usr/include/X11/keysymdef.h +# The XK_ is not needed. +# +# List of modifier: +# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock), +# Mod3 (CapsLock), Mod4, Mod5 (Scroll). +# + +# The release modifier is not a standard X modifier, but you can +# use it if you want to catch release events instead of press events + +# By defaults, xbindkeys does not pay attention with the modifiers +# NumLock, CapsLock and ScrollLock. +# Uncomment the lines above if you want to pay attention to them. + +#keystate_numlock = enable +#keystate_capslock = enable +#keystate_scrolllock= enable + +# Examples of commands: + +"xbindkeys_show" + control+shift + q + +# set directly keycode (here control + f with my keyboard) +"xterm" + c:41 + m:0x4 + +# specify a mouse button +"xterm" + control + b:2 + +#"xterm -geom 50x20+20+20" +# Shift+Mod2+alt + s +# +## set directly keycode (here control+alt+mod2 + f with my keyboard) +#"xterm" +# alt + c:0x29 + m:4 + mod2 +# +## Control+Shift+a release event starts rxvt +#"rxvt" +# release+control+shift + a +# +## Control + mouse button 2 release event starts rxvt +#"rxvt" +# Control + b:2 + Release + +################################## +# End of xbindkeys configuration # +################################## diff --git a/.config/sxhkd/scratchpads.sh b/.config/sxhkd/scratchpads.sh new file mode 100755 index 0000000..6aa0fe6 --- /dev/null +++ b/.config/sxhkd/scratchpads.sh @@ -0,0 +1,5 @@ +dropdown_enabled=$(cat /tmp/dropdown | grep 'dropdown') +if [[ $dropdown_enabled == dropdown ]]; +then + echo true +fi diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index d163432..1bf3b77 100755 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -45,8 +45,11 @@ super + Enter # # set the window state -super + {t,shift + t,s,f} - bspc node -t {tiled,pseudo_tiled,floating,fullscreen} +super + {t,shift + t,s} + bspc node -t {tiled,pseudo_tiled,floating} + +super + f + bspc node -t fullscreen # set the node flags super + ctrl + {m,x,y,z} @@ -61,7 +64,7 @@ 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} +super + {v,b,comma,period} bspc node -f @{parent,brother,first,second} # focus the next/previous window in the current desktop @@ -83,8 +86,8 @@ super + {o,i} bspc wm -h on # focus or send to the given desktop -super + {_,shift + }{1-9,0} - bspc {desktop -f,node -d} '^{1-9,10}' +super + {_,shift + }{1-9,0,e} + bspc {desktop -f,node -d} '^{1-9,10,11}' # # preselect @@ -122,6 +125,39 @@ super + alt + shift + {h,j,k,l} super + {Left,Down,Up,Right} bspc node -v {-20 0,0 20,0 -20,20 0} -# my hotkeys +# +# System +# +XF86MonBrightness{Down,Up} + light { -U 10,-T 10} + + + +# +# My hotkeys +# + super + shift + a anki + +super + shift + s + flameshot gui + + +super + u + $HOME/scripts/scratchpads/dropdown.sh + +# +# Applicons +# + +super + alt + a + anki +super + alt + t + ticktick +super + alt + d + duolingo-desktop +super + alt + e + emacs + +