From 356d7e8bc312d70a64072fcc7e191c1623a5ada4 Mon Sep 17 00:00:00 2001 From: c0dev0id Date: Sun, 5 Nov 2023 12:22:05 +0100 Subject: [PATCH] Update 2023-11-05 12:22 OpenBSD/amd64-x13 --- .bin/cbar | Bin 11336 -> 11288 bytes .bin/dexec_browser | 6 +- .config/bspwm/bspwmrc | 45 ++++++ .config/bspwm/lemonbar.sh | 253 +++++++++++++++++++++++++++++++ .config/bspwm/pidgin.sh | 18 +++ .config/bspwm/scratchpad.sh | 7 + .config/bspwm/sxhkdrc | 175 +++++++++++++++++++++ .config/bspwm/updatebar.sh | 4 + .config/spectrwm/spectrwm.conf | 49 +++++- .config/tuir/themes/codevoid.cfg | 70 +++++++++ .config/tut/themes/codevoid.toml | 14 ++ .i3/config | 4 +- .kshrc | 2 + .xsession.sample | 107 +++++++++++++ 14 files changed, 742 insertions(+), 12 deletions(-) create mode 100755 .config/bspwm/bspwmrc create mode 100755 .config/bspwm/lemonbar.sh create mode 100755 .config/bspwm/pidgin.sh create mode 100755 .config/bspwm/scratchpad.sh create mode 100644 .config/bspwm/sxhkdrc create mode 100755 .config/bspwm/updatebar.sh create mode 100644 .config/tuir/themes/codevoid.cfg create mode 100644 .config/tut/themes/codevoid.toml create mode 100644 .xsession.sample diff --git a/.bin/cbar b/.bin/cbar index d69b4ebe5bd1040be5916a3285e853507fcbe96c..d474a1832a0b8d2a0d5c844f349c8202a8b0efc4 100755 GIT binary patch delta 2445 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 diff --git a/.bin/dexec_browser b/.bin/dexec_browser index 58a027e..8b7964c 100755 --- a/.bin/dexec_browser +++ b/.bin/dexec_browser @@ -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 } diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc new file mode 100755 index 0000000..7e63c8f --- /dev/null +++ b/.config/bspwm/bspwmrc @@ -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 diff --git a/.config/bspwm/lemonbar.sh b/.config/bspwm/lemonbar.sh new file mode 100755 index 0000000..2dfb024 --- /dev/null +++ b/.config/bspwm/lemonbar.sh @@ -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 diff --git a/.config/bspwm/pidgin.sh b/.config/bspwm/pidgin.sh new file mode 100755 index 0000000..d9c8a90 --- /dev/null +++ b/.config/bspwm/pidgin.sh @@ -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 diff --git a/.config/bspwm/scratchpad.sh b/.config/bspwm/scratchpad.sh new file mode 100755 index 0000000..b5448de --- /dev/null +++ b/.config/bspwm/scratchpad.sh @@ -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 diff --git a/.config/bspwm/sxhkdrc b/.config/bspwm/sxhkdrc new file mode 100644 index 0000000..cc5aedf --- /dev/null +++ b/.config/bspwm/sxhkdrc @@ -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} diff --git a/.config/bspwm/updatebar.sh b/.config/bspwm/updatebar.sh new file mode 100755 index 0000000..d583dc0 --- /dev/null +++ b/.config/bspwm/updatebar.sh @@ -0,0 +1,4 @@ +#!/bin/sh +if [ ! -z "$PANEL_FIFO" ]; then + printf '%s\n' "$1" > "$PANEL_FIFO" +fi diff --git a/.config/spectrwm/spectrwm.conf b/.config/spectrwm/spectrwm.conf index 9d66706..6c00be7 100644 --- a/.config/spectrwm/spectrwm.conf +++ b/.config/spectrwm/spectrwm.conf @@ -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 # +-------------------------------------------------- diff --git a/.config/tuir/themes/codevoid.cfg b/.config/tuir/themes/codevoid.cfg new file mode 100644 index 0000000..dcc3eaf --- /dev/null +++ b/.config/tuir/themes/codevoid.cfg @@ -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] +; = +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 = - - - diff --git a/.config/tut/themes/codevoid.toml b/.config/tut/themes/codevoid.toml new file mode 100644 index 0000000..07ee47e --- /dev/null +++ b/.config/tut/themes/codevoid.toml @@ -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" diff --git a/.i3/config b/.i3/config index 998a25f..bfcb4e5 100644 --- a/.i3/config +++ b/.i3/config @@ -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 diff --git a/.kshrc b/.kshrc index 6ab2863..a9b5ec9 100644 --- a/.kshrc +++ b/.kshrc @@ -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"' diff --git a/.xsession.sample b/.xsession.sample new file mode 100644 index 0000000..9d46a0d --- /dev/null +++ b/.xsession.sample @@ -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