Update 2023-11-05 12:22 OpenBSD/amd64-x13

This commit is contained in:
c0dev0id 2023-11-05 12:22:05 +01:00
parent cd7fa30038
commit 356d7e8bc3
14 changed files with 742 additions and 12 deletions

BIN
.bin/cbar

Binary file not shown.

View File

@ -133,8 +133,8 @@ choose_browser() {
*codevoid.de*) DEFAULT="Vimb (default)"; ;;
*openbsd.org*) DEFAULT="Vimb (default)"; ;;
*google.*) DEFAULT="Firefox (default)"; ;;
*youtube.com*) DEFAULT="Chrome (default)"; ;;
*youtu.be*) DEFAULT="Chrome (default)"; ;;
*youtube.com/watch*) DEFAULT="Mpv (default)"; ;;
*media.ccc.de/v/*) DEFAULT="Mpv (default)"; ;;
*bsd.network*) DEFAULT="Chrome (default)"; ;;
*itch.io*) DEFAULT="Firefox (default)"; ;;
*chat.uugrn.org*) DEFAULT="Firefox (default)"; ;;
@ -159,7 +159,7 @@ choose_browser() {
[Tt]or-B*r*) BROWSER=tor-browser ;;
[Zz]athura*) BROWSER=zathura ;;
[Ll]agrange*) BROWSER=lagrange ;;
[Mm]pv*) BROWSER=mpv ;;
[Mm]pv*) export _SWM_WS=-1; BROWSER="mpv" ;;
*) exit 0;;
esac
}

45
.config/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,45 @@
#!/bin/sh
#export MIXERDEVICE=/dev/audioctl0
pgrep -q polybar || polybar &
# start hotkey daemon
pgrep -q sxhkd || sxhkd -c $HOME/.config/bspwm/sxhkdrc &
# configure bspwm
bspc monitor -d 1 2 3 4 5 6 7 8 9 10
bspc config border_width 1
bspc config window_gap 12
remove_disabled_monitors true
remove_unplugged_monitors true
bspc config split_ratio 0.52
bspc config focus_follows_pointer true
bspc config borderless_monocle false
bspc config gapless_monocle true
bspc config focused_border_color "#FF6A00"
bspc config presel_feedback_color "#FF6A00"
bspc config presel_feedback false
# automatic tiling
bspc config automatic_scheme longest_side
bspc config honor_size_hints false
# mouse can resize/move floating nodes
bspc config pointer_modifier mod1
bspc config pointer_action1 move
bspc config pointer_action2 resize_corner
RES=$(xrandr | grep "*+" | awk '{print $1}')
GAP=150
H=$(( ${RES%x*} - 2 * GAP ))
V=$(( ${RES#*x} - 2 * GAP ))
bspc rule -a mpv sticky=on state=floating rectangle=$GAP,$GAP,$H,$V
bspc rule -a Screenkey manage=off
bspc rule -a scratchpad sticky=on state=floating rectangle=$GAP,$GAP,$H,$V

253
.config/bspwm/lemonbar.sh Executable file
View File

@ -0,0 +1,253 @@
#!/bin/ksh
trap 'trap - TERM; kill 0' INT TERM QUIT EXIT
FONT="-zevv-peep-medium-r-normal--14-130-75-75-c-70-iso8859-15"
DEFAULT_FG="#222222"
DEFAULT_BG="#CCCCCC"
MONITOR_FG="#8dbcdf"
MONITOR_BG="#333232"
FOCUSED_MONITOR_FG="#b1d0e8"
FOCUSED_MONITOR_BG="#144b6c"
FREE_FG="#737171"
FREE_BG="#333232"
FOCUSED_FREE_FG="#000000"
FOCUSED_FREE_BG="#504e4e"
OCCUPIED_FG="#a7a5a5"
OCCUPIED_BG="#333232"
FOCUSED_OCCUPIED_FG="#d6d3d2"
FOCUSED_OCCUPIED_BG="#504e4e"
URGENT_FG="#f15d66"
URGENT_BG="#333232"
FOCUSED_URGENT_FG="#501d1f"
FOCUSED_URGENT_BG="#d5443e"
STATE_FG="#89b09c"
STATE_BG="#333232"
TITLE_FG="#a8a2c0"
TITLE_BG="#333232"
SYS_FG="#b1a57d"
SYS_BG="#333232"
BG="%{F#CCCCCC}"
FG="%{F#222222}"
CLEAR="%{F-}%{B-}"
_battery() {
ADAPTER=$(apm -a)
if [ $ADAPTER = 0 ] ; then
printf ">"
elif [ $ADAPTER = 1 ] ; then
printf "="
else
printf "?"
fi
BATTERY=$(apm -l)
if [ $BATTERY -gt 66 ] ; then
printf "$BATTERY%%"
elif [ $BATTERY -gt 33 ] ; then
printf "$BATTERY%%"
else
printf "$BATTERY%%"
fi
BATTERY=$(apm -m)
[[ "$BATTERY" != "unknown" ]] && printf " ($BATTERY m)"
}
_cputemp() {
printf "$(sysctl -n hw.sensors.cpu0.temp0 | cut -d"." -f1)°C"
}
_netload() {
set -A if_load $(ifstat -n -i trunk0 -b 0.1 1 | sed '1,2d')
printf "In: ${if_load[0]} kb/s Out: ${if_load[1]} kb/s "
}
_backlight() {
LIGHT=$(xbacklight | cut -d"." -f1)
printf "$LIGHT%%"
}
_volume() {
MUTE=$(mixerctl outputs.master.mute | awk -F '=' '{ print $2 }')
#LSPK=$(($(mixerctl outputs.master | awk -F '(=|,)' '{ print $2 }')*100/255))
RSPK=$(($(mixerctl outputs.master | awk -F '(=|,)' '{ print $2 }')*100/255))
if [ "$MUTE" = "on" ] ; then
printf "muted"
else
printf "$RSPK%%"
fi
}
_wlan() {
WLANSTAT=$(ifconfig iwn0 | awk '/status:/ { print $2 }')
WLANID=$(ifconfig iwn0 | awk '/(nwid|join)/ { print $3 }')
if [ "$WLANSTAT" = "active" ] ; then
printf '%s' "$WLANID"
else
printf '%s' "no-wifi"
fi
}
_datetime() {
printf '%s' "$(date +"%Y-%m-%d %H:%M")"
}
num_mon=$(bspc query -M | wc -l)
# INITIAL SETUP
cputemp=$(_cputemp)
battery=$(_battery)
date=$(_datetime)
backlight=$(_backlight)
volume=$(_volume)
wlan=$(_wlan)
netload=$(_netload)
datetime=$(_datetime)
mkfifo /tmp/panel-fifo
bspc subscribe report > /tmp/panel-fifo &
# TICK COUNTER FOR AUTOMATIC UPDATES
while true;
do
TICK=$(($TICK + 1))
case $TICK in
1)
printf '%s\n' "UBAT" > "$PANEL_FIFO"
printf '%s\n' "UBL" > "$PANEL_FIFO"
printf '%s\n' "UNETLOAD" > "$PANEL_FIFO"
;;
2)
printf '%s\n' "UCPU" > "$PANEL_FIFO"
;;
5)
printf '%s\n' "UWLAN" > "$PANEL_FIFO"
;;
10)
printf '%s\n' "UDATE" > "$PANEL_FIFO"
TICK=0
;;
esac
sleep 5
done &
# READ FIFO EVENTS
while read -r line;
do
case $line in
UVOL)
volume=$(_volume) ;;
UDATE)
datetime=$(_datetime) ;;
UBAT)
battery=$(_battery) ;;
UBL)
backlight=$(_backlight) ;;
UCPU)
cputemp=$(_cputemp) ;;
UWLAN)
wlan=$(_wlan) ;;
UNETLOAD)
netload=$(_netload) ;;
S*)
sys=${line#?}
;;
W*)
# BSPWM STATE
wm=
IFS=':'
set -- ${line#?}
while [ $# -gt 0 ] ; do
item=$1
name=${item#?}
case $item in
[mM]*)
case $item in
m*)
# monitor
FG=$MONITOR_FG
BG=$MONITOR_BG
on_focused_monitor=
;;
M*)
# focused monitor
FG=$FOCUSED_MONITOR_FG
BG=$FOCUSED_MONITOR_BG
on_focused_monitor=1
;;
esac
[ $num_mon -lt 2 ] && shift && continue
wm="${wm}%{F${FG}}%{B${BG}}%{A:bspc monitor -f ${name}:} ${name} %{A}%{B-}%{F-}"
;;
[fFoOuU]*)
case $item in
f*)
# free desktop
FG=$FREE_FG
BG=$FREE_BG
UL=$BG
;;
F*)
if [ "$on_focused_monitor" ] ; then
# focused free desktop
FG=$FOCUSED_FREE_FG
BG=$FOCUSED_FREE_BG
UL=$BG
else
# active free desktop
FG=$FREE_FG
BG=$FREE_BG
UL=$FOCUSED_FREE_BG
fi
;;
o*)
# occupied desktop
FG=$OCCUPIED_FG
BG=$OCCUPIED_BG
UL=$BG
;;
O*)
if [ "$on_focused_monitor" ] ; then
# focused occupied desktop
FG=$FOCUSED_OCCUPIED_FG
BG=$FOCUSED_OCCUPIED_BG
UL=$BG
else
# active occupied desktop
FG=$OCCUPIED_FG
BG=$OCCUPIED_BG
UL=$FOCUSED_OCCUPIED_BG
fi
;;
u*)
# urgent desktop
FG=$URGENT_FG
BG=$URGENT_BG
UL=$BG
;;
U*)
if [ "$on_focused_monitor" ] ; then
# focused urgent desktop
FG=$FOCUSED_URGENT_FG
BG=$FOCUSED_URGENT_BG
UL=$BG
else
# active urgent desktop
FG=$URGENT_FG
BG=$URGENT_BG
UL=$FOCUSED_URGENT_BG
fi
;;
esac
wm="${wm}%{F${FG}}%{B${BG}}%{U${UL}}%{+u}%{A:bspc desktop -f ${name}:} ${name} %{A}%{B-}%{F-}%{-u}"
;;
[LTG]*)
# layout, state and flags
wm="${wm}%{F$STATE_FG}%{B$STATE_BG} ${name} %{B-}%{F-}"
esac
shift
done
;;
esac
printf "%s\n" "%{l}${wm}%{c}%{r}$cputemp $backlight $volume $wlan $netload $battery $datetime "
done < "$PANEL_FIFO" | lemonbar -f "$FONT" -B "$DEFAULT_FG" -F "$DEFAULT_BG" -u 8 | sh

18
.config/bspwm/pidgin.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/ksh -x
ID=$(xdotool search --name "Buddy List")
if [ "$ID" == "" ]; then
pidgin &
else
for pid in $ID;
do
bspc node "$pid" --flag hidden --layer above -f
done
fi
#_pad=$(bspc config -m LVDS1 right_padding)
#if [ $_pad -gt 0 ]; then
# bspc config -m LVDS1 right_padding 0
#else
# bspc config -m LVDS1 right_padding 322
#fi

7
.config/bspwm/scratchpad.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/ksh
ID=$(xdotool search --class scratchpad)
if [ -e $ID ]; then
sterm -c scratchpad &
else
bspc node "$ID" --flag hidden -f
fi

175
.config/bspwm/sxhkdrc Normal file
View File

@ -0,0 +1,175 @@
#
# wm independent hotkeys
#
# terminal emulator
alt + Return
sterm
alt + shift + Return
bterm
alt + control + Return
hterm
alt + b
$HOME/.config/bspwm/pidgin.sh
# program launcher
alt + d
dexec
alt + s
dexec_ssh
alt + shift + f
dexec_browser
alt + shift + p
dexec_pass
alt + a
dexec_apps
alt + p
dexec_pim
#
# bspwm hotkeys
#
#XF86AudioRaiseVolume
# pkill -sigusr1 bspwmbar
#
#XF86AudioLowerVolume
# printf '%s\n' "UVOL" > "$PANEL_FIFO"
#
#XF86AudioMute
# printf '%s\n' "UVOL" > "$PANEL_FIFO"
# quit/restart bspwm
alt + shift + r
bspc wm -r
pkill -SIGUSR1 polybar
pkill -SIGUSR1 sxhkd
# close and kill
alt + q
bspc node -c
alt + shift + q
bspc node -c
# alternate between the tiled and monocle layout
alt + f
bspc node -t "~"{fullscreen,tiled}
# 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 node
alt + g
bspc node -s biggest
alt + space
bspc node -t "~"{floating,tiled}
Print
xpick_copy
alt + Print
sshot
#
# state/flags
#
# set the window state
#alt + {t,shift + t,s,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 + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node in the given direction
alt + {_,shift + }{Left,Down,Up,Right}
bspc node -{f,s} {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 node in the current desktop
#alt + {o,i}
ctrl + {Prior,Next}
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
alt + {Prior,Next}
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 + {_,shift + }c
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}'
ctrl + alt + shift + {1-9,0}
bspc desktop -f '^{1-9,10}'
#
# preselect
#
# preselect the direction
alt + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
alt + ctrl + {Left,Down,Up,Right}
bspc node -p {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
#
# expand a window by moving one of its side outward
#shift + alt + {h,j,k,l}
# 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
#shift + 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
#alt + {Left,Down,Up,Right}
# bspc node -v {-20 0,0 20,0 -20,20 0}

4
.config/bspwm/updatebar.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
if [ ! -z "$PANEL_FIFO" ]; then
printf '%s\n' "$1" > "$PANEL_FIFO"
fi

View File

@ -12,24 +12,24 @@
border_width = 1
color_focus = rgb:ff/6A/00
color_focus_maximized = rgb:28/28/28
color_focus_maximized = rgb:ff/6A/00
color_focus_free = rgb:77/77/77
color_unfocus = rgb:47/47/47
color_unfocus_free = rgb:47/47/47
region_padding = 12
tile_gap = 12
region_padding = 12
disable_border = 1
tile_gap = -1
region_padding = 0
disable_border = 0
# +--------------------------------------------------
# | BAR SETTINGS
# +--------------------------------------------------
bar_enabled = 1
bar_border_width = 4
bar_border = rgb:18/18/18
bar_border_unfocus = rgb:18/18/18
bar_border_free = rgb:18/18/18
bar_color = rgb:18/18/18
bar_color_free = rgb:18/18/18
bar_color_free = red
bar_color_selected = rgb:18/24/28
bar_font_color = rgb:99/99/99,rgb:ff/6A/00,red
bar_font_color_selected = rgb:ff/ff/ff
@ -38,7 +38,29 @@ bar_font = FuraCodeNerdFont-12
bar_action = cbar
bar_action_expand = 0
bar_at_bottom = 0
# +< Pad with a space
# +A Output of the external script
# +C Window class (from WM_CLASS)
# +D Workspace name
# +F Focus status indicator
# +I Workspace index
# +L Workspace list indicator
# +M Number of iconic (minimized) windows in workspace
# +N Screen number
# +P Window class and instance separated by a colon
# +R Region index
# +S Stacking algorithm
# +T Window instance (from WM_CLASS)
# +U Urgency hint
# +V Program version
# +w Number of windows in workspace
# +W Window name (from _NET_WM_NAME/WM_NAME)
# ++ A literal +
# +@ Prefix for text markup sequences
bar_format = +S +L  +R   +I   +M  +W +|1R +A %Y-%m-%d %H:%M
#bar_format = +I +S (+M) +|1R +A %Y-%m-%d %H:%M
# +--------------------------------------------------
# | WORKSPACE LAYOUT
@ -46,6 +68,7 @@ bar_format = +S +L  +R   +I   +M  +W +|1R +A %
workspace_indicator = listall,markcurrent,markactive,markempty,markurgent,noindexes
workspace_mark_active = ''
#workspace_mark_active = ''
workspace_mark_current = '+@fg=1;+@fg=0;'
workspace_mark_empty = ''
workspace_mark_urgent = '+@fg=2;+@fg=0;'
@ -55,9 +78,21 @@ stack_mark_horizontal_flip = ''
stack_mark_vertical = ''
stack_mark_vertical_flip = ''
stack_mark_max = ''
verbose_layout = 1
stack_mark_floating = '~'
verbose_layout = 0
urgent_enabled = 1
name = ws[1]:1
name = ws[2]:2
name = ws[3]:3
name = ws[4]:4
name = ws[5]:5
name = ws[6]:6
name = ws[7]:7
name = ws[8]:8
name = ws[9]:9
name = ws[10]:10
# +--------------------------------------------------
# | FOCUS BEHAVIOR
# +--------------------------------------------------

View File

@ -0,0 +1,70 @@
# Black ansi_233
# White ansi_251
# Sky Blue ansi_202
# Bluish Green ansi_202
# Yellow ansi_202
# Blue ansi_32
# Vermillion ansi_202
# Reddish Purple ansi_175
[theme]
;<element> = <foreground> <background> <attributes>
Normal = ansi_251 ansi_233 normal
Selected = - ansi_236 normal
SelectedCursor = - - reverse
TitleBar = ansi_202 - normal
OrderBar = ansi_202 - normal
OrderBarHighlight = ansi_202 - normal+reverse
HelpBar = ansi_202 - normal
Prompt = ansi_202 - normal
NoticeInfo = - - normal
NoticeLoading = - - normal
NoticeError = - - normal
NoticeSuccess = - - normal
CursorBlock = - - -
CursorBar1 = ansi_175 - -
CursorBar2 = ansi_202 - -
CursorBar3 = ansi_202 - -
CursorBar4 = ansi_202 - -
CommentAuthor = ansi_32 - normal
CommentAuthorSelf = ansi_202 - normal
CommentCount = - - -
CommentText = - - -
Created = - - -
Downvote = ansi_202 - normal
Gold = ansi_202 - normal
HiddenCommentExpand = - - normal
HiddenCommentText = - - -
MultiredditName = ansi_202 - normal
MultiredditText = - - -
NeutralVote = - - normal
NSFW = ansi_202 - normal+reverse
Saved = ansi_202 - -
Hidden = ansi_202 - -
Score = - - -
Separator = - - normal
Stickied = ansi_202 - -
SubscriptionName = ansi_202 - normal
SubscriptionText = - - -
SubmissionAuthor = ansi_202 - normal
SubmissionFlair = ansi_202 - -
SubmissionSubreddit = ansi_202 - -
SubmissionText = - - -
SubmissionTitle = - - normal
SubmissionTitleSeen = - - -
Upvote = ansi_202 - normal
Link = ansi_32 - underline
LinkSeen = ansi_175 - underline
UserFlair = ansi_202 - normal
New = ansi_202 - normal
Distinguished = ansi_202 - normal
MessageSubject = ansi_32 - normal
MessageLink = ansi_175 - normal
MessageAuthor = ansi_202 - normal
MessageSubreddit = ansi_202 - -
MessageText = - - -

View File

@ -0,0 +1,14 @@
background="#121212"
text="#CCCCCC"
subtle="#FF6A00"
warning-text="#FF6A00"
text-special-one="#888888"
text-special-two="#AAAAAA"
top-bar-background="#181818"
top-bar-text="#CCCCCC"
status-bar-background="#222222"
status-bar-text="#CCCCCC"
status-bar-view-background="#222222"
status-bar-view-text="#CCCCCC"
list-selected-background="#222222"
list-selected-text="#FFFFFF"

View File

@ -275,8 +275,8 @@ bindsym $mod+minus scratchpad show
bindsym $mod+Shift+minus move scratchpad, scratchpad show
# start dmenu (a program launcher)
bindsym $mod+Return fullscreen disable, exec bterm
bindsym $mod+Shift+Return fullscreen disable, exec sterm
bindsym $mod+Return fullscreen disable, exec sterm
bindsym $mod+Shift+Return fullscreen disable, exec bterm
bindsym $mod+Control Return fullscreen disable, exec hterm
bindsym $mod+End exec i3lock -c "#000000"
bindsym $mod+D exec dexec

2
.kshrc
View File

@ -132,6 +132,8 @@ set bell-style none
alias kshrc="vim ~/.kshrc"
alias muttrc="vim ~/.mutt/rc-common"
alias vimrc="vim ~/.vim/vimrc"
alias bspwmrc="vim ~/.config/bspwm/bspwmrc"
alias sxhkdrc="vim ~/.config/bspwm/sxhkdrc"
alias vimbrc="vim ~/.config/vimb/config"
alias exrc="vim ~/.exrc"
alias web-update='ssh home.codevoid.de "cd web && make update && make"'

107
.xsession.sample Normal file
View File

@ -0,0 +1,107 @@
#!/bin/ksh
# set shell
export ENV=$HOME/.kshrc
. $ENV
# allow ctrl+alt+backspace to kill X
setxkbmap -option "terminate:ctrl_alt_bksp"
# capslock shall be escape
setxkbmap -option caps:escape
# turn this annoying bell off
xset -b
# set keyboard layout
setxkbmap "de"
# accelerate keyboard
xset r rate 300 50
# accelerate mouse
xinput set-prop /dev/wsmouse "Device Accel Constant Deceleration" 0.4
xinput set-prop /dev/wsmouse "Device Accel Adaptive Deceleration" 1.2
# scroll with middle button
xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation" 1
xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Button" 2
xinput set-prop /dev/wsmouse "WS Pointer Wheel Emulation Axes" 6 7 4 5
# xkeyboard preferences
export XKB_DEFAULT_LAYOUT=de
export XKB_DEFAULT_VARIANT=,nodeadkeys
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle
# set w3mimg patch for ranger
export W3MIMGDISPLAY_PATH="/usr/local/libexec/w3m/w3mimgdisplay"
# force webkit to one process mode
export WEBKIT_USE_SINGLE_WEB_PROCESS=1
# fixes
#export LIBGL_DRI3_DISABLE=1 # fix video on luakit
#export XLIB_SKIP_ARGB_VISUALS=1
#export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0 # fix fullscreen loop
#export FNA3D_OPENGL_FORCE_ES3=1 # fnaifi fix for iris gpu
#export _JAVA_AWT_WM_NONREPARENTING=1
#export GSK_RENDERER=cairo # render gtk4 in cario instead of opengl
# accelerate firefox
export MOZ_ACCELERATED=1
export MOZ_WEBRENDER=1
# sndio devices
#export AUDIOPLAYDEVICE=snd/default
#export AUDIORECDEVICE=snd/rec
#export AUDIOMONDEVICE=snd/mon
# gtk/qt scaling
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=1
export GDK_DPI_SCALE=1
# qt theme
export QT_QPA_PLATFORMTHEME=qt5ct # or lxqt
# add custom fonts
xset +fp $HOME/.fonts
# keep cutbuffer and selections in sync
autocutsel -fork
autocutsel -selection PRIMARY -fork
# set background
xsetroot -solid rgb:22/22/22
hsetroot -solid "#222222"
# allow local users to access X
xhost +local:
# give user access to camara and hid devices
doas chown sdk /dev/video* /dev/uhid* /dev/dri/card* /dev/cua*
# all those tools... *sigh*
# dunst &
# twmnd &
dunst &
#stalonetray &
xbanish &
#xautolock -time 30 -locker xlock &
export $(<~/.dbus_address)
gnome-keyring-daemon --replace --components=secrets
dbus-update-activation-environment --all
export GNOME_KEYRING_CONTROL GNOME_KEYRING_SOCKET GNOME_KEYRING_PID
# huh, we're hipster now
# picom &
#hsetroot -solid "#222"
srandrd /home/sdk/.bin/autorandr-c
mv $HOME/.xsession-wm $HOME/.xsession-wm.old
mv $HOME/.xsession-errors.log $HOME/.xsession-errors.old
#exec "/usr/local/bin/spectrwm" > $HOME/.xsession-wm 2>&1
#exec "/usr/local/bin/i3" > $HOME/.xsession-wm 2>&1
exec "/usr/local/bin/bspwm" > $HOME/.xsession-wm 2>&1
#exec "/usr/local/bin/notion" > $HOME/.xsession-wm 2>&1