mirror of
https://git.davidovski.xyz/dot.git
synced 2024-08-15 00:43:28 +00:00
remove multi monitor references, to be added manually
This commit is contained in:
parent
381aaffe4e
commit
20b78d47c5
15 changed files with 51 additions and 267 deletions
11
Xdefaults
11
Xdefaults
|
@ -40,13 +40,12 @@ URxvt.borderColor: BG
|
|||
! Set depth to make transparency work.
|
||||
URxvt*depth: 32
|
||||
|
||||
URxvt.font: xft:mononoki:size=10:antialias=true,xft:MesloLGM Nerd Font:size=10,Noto Sans Mono CJK TC:size=10
|
||||
URxvt.boldFont: xft:mononoki:style=bold:size=10,xft:MesloLGM Nerd Font:size=10,Noto Sans Mono CJK TC:size=10
|
||||
URxvt.italicFont: xft:mononoki:style=italic:size=10
|
||||
URxvt.boldItalicfont: xft:mononoki:style=bolditalic:size=10
|
||||
URxvt.font: xft:mononoki:minispace=False:size=10:antialias=true,xft:MesloLGM Nerd Font:minispace=False:size=10,Noto Sans Mono CJK TC:minispace=False:size=10
|
||||
URxvt.boldFont: xft:mononoki:minispace=False:style=bold:size=10,xft:MesloLGM Nerd Font:minispace=False:size=10,Noto Sans Mono CJK TC:minispace=False:size=10
|
||||
URxvt.italicFont: xft:mononoki:minispace=False:style=italic:size=10
|
||||
URxvt.boldItalicfont: xft:mononoki:minispace=False:style=bolditalic:size=10
|
||||
URxvt.letterSpace: 0
|
||||
URxvt.lineSpace: -4
|
||||
URxvt.geometry: 92x24
|
||||
|
||||
URxvt.internalBorder: 20
|
||||
URxvt.cursorBlink: true
|
||||
|
@ -55,7 +54,7 @@ URxvt.saveline: 2048
|
|||
URxvt.scrollBar: false
|
||||
URxvt.scrollBar_right: false
|
||||
URxvt.pointerBlank: true
|
||||
|
||||
URxvt.geometry: 92x24
|
||||
|
||||
URxvt.urgentOnBell: true
|
||||
URxvt.iso14755: false
|
||||
|
|
61
bash_aliases
61
bash_aliases
|
@ -1,61 +0,0 @@
|
|||
alias l="ls -lah"
|
||||
|
||||
alias cls="clear"
|
||||
alias cp="cp -v"
|
||||
alias gif-for-cli="gif-for-cli -l 0 -c █ --display-mode=truecolor"
|
||||
alias cdu="cdu -s -dh"
|
||||
alias dclock="tput civis; watch -t -n1 \"date +%T|toilet --font mono12\""
|
||||
alias blank="tput civis ; clear ; read"
|
||||
alias open="xdg-open 2>/dev/null"
|
||||
alias sl="ls"
|
||||
alias resettabletscale='tablet 8 156 1 4:3'
|
||||
#alias settabletscale="tablet 8 156 2.5063 4:3"
|
||||
alias settabletscale="tablet 18 155 2 4:3"
|
||||
|
||||
alias gosumemory-default="sudo /home/david/.local/share/gosumemory/gosumemory -path /home/david/.local/share/osu-wine/OSU/Songs"
|
||||
|
||||
alias yta="yt-dlp --no-mtime --add-metadata --no-check-certificate -x -f bestaudio/best"
|
||||
|
||||
alias suspend="i3lock-fancy -p -t ''; systemctl suspend"
|
||||
|
||||
alias vim="nvim"
|
||||
#alias tablet2='tablet 18 156 2.4'
|
||||
|
||||
rfc() { (for f in */; do du -a "$f" | tail -n+2 | wc -l | xargs printf "%s\t$f\n" ; done) | sort -Vr ;}
|
||||
|
||||
pandoc-md () {
|
||||
pandoc --pdf-engine=xelatex --variable mainfont="Arial" --variable sansfont=Arial --from markdown -o `basename $1`.pdf $1
|
||||
}
|
||||
|
||||
mp4-gif () {
|
||||
ffmpeg -i $1 -r 15 -vf "scale=360:-1,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" $2
|
||||
}
|
||||
|
||||
alias zth="zathura"
|
||||
alias nb="nb --blog-dir $BLOG_DIR"
|
||||
alias looking-glass-client="looking-glass-client -G input:rawMouse=yes input:escapekey=119 input:autocapture=yes -k -j"
|
||||
alias show-keymap="vim qmk_firmware/keyboards/ergo42/keymaps/iksvo/keymap.c"
|
||||
|
||||
|
||||
configure () {
|
||||
vim ~/.config/$1
|
||||
}
|
||||
|
||||
bitrate () {
|
||||
mediainfo Aphrodite_-_Superman_\(dnb\).mp3 | grep 'Bit rate '
|
||||
|
||||
}
|
||||
|
||||
alias syncdir="sudo rsync -rv --no-perms --no-owner --no-group --delete"
|
||||
alias chromium-tor="chromium --incognito --proxy-server=socks5://localhost:9050 --user-data-dir=/tmp"
|
||||
|
||||
alarmclock () {
|
||||
sudo rtcwake -m no -t "$(date -d 'tomorrow 07:00:00' '+%s')" && echo 'set alarm for tomorrow at 7am'
|
||||
}
|
||||
|
||||
# does tail -f on a dir... bit of a hack
|
||||
mutlitail1 () {
|
||||
while true; do
|
||||
f=$(ls -1 --sort time $1| head -1);
|
||||
tail -$(tput lines) $1/$f; done;
|
||||
}
|
103
bashrc
103
bashrc
|
@ -1,103 +0,0 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
export VIMINIT="source ~/.config/vim/vimrc"
|
||||
export NVIMINIT="source ~/.config/vim/vimrc"
|
||||
|
||||
# don't put duplicate lines or lines starting with space in the history.
|
||||
# See bash(1) for more options
|
||||
HISTCONTROL=ignoreboth
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
shopt -s checkwinsize
|
||||
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
alias dir='dir --color=auto'
|
||||
alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
if ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# parse the current branch and status of git to be added to the prompt
|
||||
function parse_git_branch() {
|
||||
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
|
||||
if [ ! "${BRANCH}" == "" ]
|
||||
then
|
||||
STAT=`parse_git_dirty`
|
||||
echo " [${BRANCH}${STAT}]"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
function parse_git_dirty {
|
||||
status=`git status 2>&1 | tee`
|
||||
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
|
||||
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
|
||||
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
|
||||
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
|
||||
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
|
||||
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
|
||||
bits=''
|
||||
if [ "${renamed}" == "0" ]; then
|
||||
bits=">${bits}"
|
||||
fi
|
||||
if [ "${ahead}" == "0" ]; then
|
||||
bits="*${bits}"
|
||||
fi
|
||||
if [ "${newfile}" == "0" ]; then
|
||||
bits="+${bits}"
|
||||
fi
|
||||
if [ "${untracked}" == "0" ]; then
|
||||
bits="?${bits}"
|
||||
fi
|
||||
if [ "${deleted}" == "0" ]; then
|
||||
bits="x${bits}"
|
||||
fi
|
||||
if [ "${dirty}" == "0" ]; then
|
||||
bits="!${bits}"
|
||||
fi
|
||||
if [ ! "${bits}" == "" ]; then
|
||||
echo " ${bits}"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
source "$HOME/.scripts/fzf-bash-completion.sh"
|
||||
|
||||
bind -x '"\C-\t": fzf_bash_completion'
|
||||
|
||||
export PS1="\[\e[0;97m\]\w\[\e[0;37m\]\`parse_git_branch\` > \[\e[0;0m\]"
|
||||
|
||||
PATH="/home/david/.mangadl-bash:${PATH}"
|
|
@ -6,26 +6,17 @@ COLOR_SECONDARY="#5977b3"
|
|||
|
||||
xsetroot -cursor_name left_ptr &
|
||||
xrdb ~/.Xdefaults
|
||||
bash $HOME/.config/xrandr.alt.sh
|
||||
|
||||
|
||||
bspc monitor DP-2 -n A
|
||||
bspc monitor DP-1 -n B
|
||||
bspc monitor DP-4 -n C
|
||||
bspc monitor HDMI-0 -n D
|
||||
bspc monitor -d a1 a2 a3 a4 a5 a6 a7 a8 a9
|
||||
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
pgrep -x picom > /dev/null || picom &
|
||||
pgrep -x xss-lock > /dev/null || xss-lock slock &
|
||||
|
||||
$HOME/.config/polybar/launch.sh
|
||||
$HOME/.scripts/bg.sh
|
||||
|
||||
bspc monitor A -d a1 a2 a3 a4 a5 a6 a7 a8 a9
|
||||
bspc monitor B -d b1 b2 b3 b4 b5 b6 b7 b8 b9
|
||||
bspc monitor C -d c1 c2 c3 c4 c5 c6 c7 c8 c9
|
||||
bspc monitor D -d d1 d2
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config border_width 1
|
||||
bspc config window_gap 0
|
||||
|
||||
bspc config focus_follows_pointer false
|
||||
|
@ -35,4 +26,6 @@ bspc config active_border_color "$COLOR_BACKGROUND"
|
|||
bspc config focused_border_color "$COLOR_PRIMARY"
|
||||
wmname bspwm
|
||||
|
||||
sleep 1; $HOME/.scripts/start-mpd
|
||||
urxvt &
|
||||
|
||||
$HOME/.scripts/start-mpd
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
# For alsa 'source' will be the capture device.
|
||||
# For fifo 'source' will be the path to fifo-file.
|
||||
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||
method = pulse
|
||||
; source = auto
|
||||
|
||||
; method = alsa
|
||||
|
|
|
@ -9,3 +9,5 @@ file:///home/david/hd1/library library
|
|||
file:///tmp tmp
|
||||
file:///home/david/docs/school
|
||||
file:///home/david/video/anime
|
||||
file:///home/david/lmms
|
||||
file:///home/david/docs/proj/ardour
|
||||
|
|
|
@ -3,15 +3,15 @@ input {
|
|||
plugin "curl"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "httpd"
|
||||
name "My HTTP Stream"
|
||||
encoder "lame" # optional, vorbis or lame
|
||||
port "6680"
|
||||
bitrate "420"
|
||||
format "44100:16:1"
|
||||
max_clients "0"
|
||||
}
|
||||
#audio_output {
|
||||
# type "httpd"
|
||||
# name "My HTTP Stream"
|
||||
# encoder "lame" # optional, vorbis or lame
|
||||
# port "6680"
|
||||
# bitrate "420"
|
||||
# format "44100:16:1"
|
||||
# max_clients "0"
|
||||
#}
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
vo=gpu
|
||||
#vo=gpu
|
||||
hwdec=auto
|
||||
screenshot-directory=~/pics/screenshot
|
||||
glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN.glsl:~~/shaders/Anime4K_Restore_CNN_Moderate_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"
|
||||
|
|
|
@ -694,7 +694,7 @@ disk_display="off"
|
|||
# Values: 'ascii', 'caca', 'chafa', 'jlp2a', 'iterm2', 'off',
|
||||
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
||||
# Flag: --backend
|
||||
image_backend="ascii"
|
||||
#image_backend="ascii"
|
||||
|
||||
# Image Source
|
||||
#
|
||||
|
@ -708,7 +708,7 @@ image_backend="ascii"
|
|||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||
# wallpaper will be used.
|
||||
image_source="auto"
|
||||
#image_source="auto"
|
||||
|
||||
|
||||
# Ascii Options
|
||||
|
@ -760,7 +760,7 @@ image_source="auto"
|
|||
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||
# postmarketOS, and Void have a smaller logo variant.
|
||||
# Use '{distro name}_small' to use the small variants.
|
||||
ascii_distro="arch"
|
||||
#ascii_distro="arch"
|
||||
|
||||
# Ascii Colors
|
||||
#
|
||||
|
@ -771,7 +771,7 @@ ascii_distro="arch"
|
|||
# Example:
|
||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||
ascii_colors=(distro)
|
||||
#ascii_colors=(distro)
|
||||
|
||||
# Bold ascii logo
|
||||
# Whether or not to bold the ascii logo.
|
||||
|
@ -779,7 +779,7 @@ ascii_colors=(distro)
|
|||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --ascii_bold
|
||||
ascii_bold="on"
|
||||
#ascii_bold="on"
|
||||
|
||||
|
||||
# Image Options
|
||||
|
|
|
@ -291,11 +291,12 @@ blur-background-exclude = [
|
|||
experimental-backends = true;
|
||||
backend = "glx";
|
||||
#backend = "xrender";
|
||||
#backend = "xr_glx_hybrid";
|
||||
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true
|
||||
vsync = false
|
||||
#vsync = true
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
|
|
@ -6,19 +6,4 @@ killall -q polybar
|
|||
# Wait until the processes have been shut down
|
||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 0.1; done
|
||||
|
||||
# Launch Polybar, using default config location ~/.config/polybar/config
|
||||
#polybar music &
|
||||
|
||||
#MONITOR=DP-0 polybar --reload wsonly &
|
||||
|
||||
export MONITOR=DP-1
|
||||
polybar wsonly &
|
||||
|
||||
export MONITOR=DP-4
|
||||
polybar wsonly &
|
||||
|
||||
export MONITOR=HDMI-0
|
||||
polybar wsonly &
|
||||
|
||||
export MONITOR=DP-2
|
||||
polybar ws &
|
||||
|
|
|
@ -17,10 +17,6 @@ super + ctrl + alt + f
|
|||
{XF86AudioMute}
|
||||
amixer -D pulse set Master 1+ toggle
|
||||
|
||||
#backlight
|
||||
{XF86MonBrightnessUp, XF86MonBrightnessDown}
|
||||
xbacklight -{inc,dec} 5
|
||||
|
||||
# runner
|
||||
super + r
|
||||
rofi -show drun -show-icons
|
||||
|
@ -52,6 +48,10 @@ super + v
|
|||
super + b
|
||||
$BROWSER
|
||||
|
||||
# open xlinks
|
||||
super + x
|
||||
$HOME/.scripts/links-launcher
|
||||
|
||||
# open email
|
||||
super + m
|
||||
$EMAIL_CLIENT
|
||||
|
@ -151,7 +151,7 @@ super + period
|
|||
|
||||
# file search and open
|
||||
super + slash
|
||||
bspc rule -a \* -o state=floating && $TERMINAL -e ~/.scripts/fzf_menu.sh
|
||||
websearch
|
||||
shift + super + slash
|
||||
bspc rule -a \* -o state=floating && $TERMINAL -e ~/.scripts/fzf_menu.sh
|
||||
|
||||
|
@ -242,7 +242,7 @@ super + ctrl + {_, shift +} Tab
|
|||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + ctrl + {Left,Right}
|
||||
super + {Left,Right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
|
@ -279,6 +279,6 @@ super + 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
|
||||
super + {Left,Down,Up,Right}
|
||||
ctrl + super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
|
|
12
deploy.sh
12
deploy.sh
|
@ -1,11 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
configurations=( iocane bg bspwm cava neofetch mpd mpv ncmpcpp vim sxhkd polybar picom rofi user-dirs.dirs gtk-3.0)
|
||||
configurations="iocane bg bspwm cava neofetch mpd mpv ncmpcpp vim sxhkd polybar picom rofi user-dirs.dirs gtk-3.0"
|
||||
|
||||
|
||||
save () {
|
||||
mkdir config
|
||||
for i in "${configurations[@]}"; do
|
||||
for i in ${configurations}; do
|
||||
cp -r "$HOME/.config/$i" config/
|
||||
done
|
||||
|
||||
|
@ -13,8 +13,8 @@ save () {
|
|||
cp -r "$HOME/.scripts" scripts
|
||||
|
||||
cp $HOME/.profile profile
|
||||
cp $HOME/.bashrc bashrc
|
||||
cp $HOME/.bash_aliases bash_aliases
|
||||
cp $HOME/.mkshrc mkshrc
|
||||
cp $HOME/.sh_aliases sh_aliases
|
||||
cp $HOME/.Xdefaults Xdefaults
|
||||
cp $HOME/.xinitrc xinitrc
|
||||
|
||||
|
@ -56,8 +56,8 @@ load () {
|
|||
mkdir -p $HOME/.scripts
|
||||
cp -r scripts/* $HOME/.scripts
|
||||
|
||||
cp bashrc $HOME/.bashrc
|
||||
cp bash_aliases $HOME/.bash_aliases
|
||||
cp mkshrc $HOME/.mkshrc
|
||||
cp sh_aliases $HOME/.sh_aliases
|
||||
|
||||
cp Xdefaults $HOME/.Xdefaults
|
||||
cp xinitrc $HOME/.xinitrc
|
||||
|
|
43
profile
43
profile
|
@ -1,46 +1,17 @@
|
|||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
[ -n "$BASH_VERSION" ] && [ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
[ -d "$HOME/bin" ] && PATH="$HOME/bin:$PATH"
|
||||
[ -d "$HOME/.local/bin" ] && PATH="$HOME/.local/bin:$PATH"
|
||||
[ -d "$HOME/.scripts" ] && PATH="$HOME/.scripts:$PATH"
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
alias editor=vim
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
|
||||
if [ -d "$HOME/.scripts" ] ; then
|
||||
PATH="$HOME/.scripts:$PATH"
|
||||
fi
|
||||
|
||||
#export LC_ALL="C"
|
||||
#export TERMINAL="konsole --hide-menubar --profile qtile"
|
||||
alias editor=vim
|
||||
export TERMINAL="urxvt"
|
||||
export BROWSER="/usr/bin/chromium"
|
||||
export BROWSER="/usr/bin/chromium-browser"
|
||||
export FILE_MANAGER="/usr/bin/thunar"
|
||||
export EMAIL_CLIENT="/usr/bin/thunderbird"
|
||||
export BLOG_DIR="/home/david/docs/proj/blog"
|
||||
export EDITOR="/usr/bin/vim"
|
||||
|
||||
export ANDROID_SDK_ROOT=/opt/android-sdk
|
||||
[[ $(fgconsole 2>/dev/null) == 1 ]] && exec startx -- vt1 &> /dev/null
|
||||
[ "$(fgconsole 2>/dev/null)" = "1" ] && exec startx -- vt1 &> /dev/null
|
||||
|
||||
|
|
2
xinitrc
2
xinitrc
|
@ -1,5 +1,3 @@
|
|||
xrdb ~/.Xdefaults
|
||||
eval $(gnome-keyring-daemon --start)
|
||||
export SSH_AUTH_SOCK
|
||||
exec bspwm
|
||||
|
||||
|
|
Loading…
Reference in a new issue