mirror of
https://github.com/arcan1s/dotfiles.git
synced 2025-07-15 22:59:56 +00:00
update zsh configuration files
This commit is contained in:
50
zsh/archive_functions
Normal file
50
zsh/archive_functions
Normal file
@ -0,0 +1,50 @@
|
||||
# function to extract archives
|
||||
# EXAMPLE: unpack file
|
||||
unpack() {
|
||||
if [[ -f $1 ]]; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjfv $1 ;;
|
||||
*.tar.gz) tar xzfv $1 ;;
|
||||
*.tar.xz) tar xvJf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz) tar xjvf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "I don't know how to extract '$1'" ;;
|
||||
esac
|
||||
else
|
||||
case $1 in
|
||||
*help) echo "Usage: unpack ARCHIVE_NAME" ;;
|
||||
*) echo "'$1' is not a valid file" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# function to create archives
|
||||
# EXAMPLE: pack tar file
|
||||
pack() {
|
||||
if [ $1 ]; then
|
||||
case $1 in
|
||||
tar.bz2) tar -cjvf $2.tar.bz2 $2 ;;
|
||||
tar.gz) tar -czvf $2.tar.bz2 $2 ;;
|
||||
tar.xz) tar -cf - $2 | xz -9 -c - > $2.tar.xz ;;
|
||||
bz2) bzip $2 ;;
|
||||
gz) gzip -c -9 -n $2 > $2.gz ;;
|
||||
tar) tar cpvf $2.tar $2 ;;
|
||||
tbz) tar cjvf $2.tar.bz2 $2 ;;
|
||||
tgz) tar czvf $2.tar.gz $2 ;;
|
||||
zip) zip -r $2.zip $2 ;;
|
||||
7z) 7z a $2.7z $2 ;;
|
||||
*help) echo "Usage: pack TYPE FILES" ;;
|
||||
*) echo "'$1' cannot be packed via pack()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
40
zsh/custom_rm
Normal file
40
zsh/custom_rm
Normal file
@ -0,0 +1,40 @@
|
||||
# redefine rm command
|
||||
rm() {
|
||||
# error check
|
||||
[ $# -eq 0 ] && { echo "Files are not set"; return 1 }
|
||||
echo "$@" | grep -qe '-h\|--help' && { echo "Usage: rm FILE..."; return 0 }
|
||||
echo "$@" | grep -q " -" && echo "Warning: this function doesn't support any flags"
|
||||
# set trash path
|
||||
TRASHDIR="$HOME/.local/share/Trash"
|
||||
TRASHFILE="${TRASHDIR}/files"
|
||||
TRASHINFO="${TRASHDIR}/info"
|
||||
for DIRECTORY in "${TRASHDIR}" "${TRASHFILE}" "${TRASHINFO}"; do
|
||||
if [ -e "${DIRECTORY}" ]; then
|
||||
[ -d "${DIRECTORY}" ] || { echo "'${DIRECTORY}' is a file"; return 1 }
|
||||
else
|
||||
mkdir -p -m755 "${DIRECTORY}"
|
||||
fi
|
||||
done
|
||||
# confirm
|
||||
CONFIRM=""
|
||||
echo -n "Do you realy want to remove '$@'? [ny] "; read -k1 CONFIRM; echo
|
||||
[[ ! $CONFIRM =~ [yY] ]] && return 1
|
||||
# move
|
||||
for FILE in "$@"; do
|
||||
DESTFILE="$(basename -- "${FILE}")"
|
||||
SUFFIX='';
|
||||
ITER=0;
|
||||
while [ -e "${TRASHFILE}/${DESTFILE}${SUFFIX}" ]; do
|
||||
SUFFIX="_${ITER}";
|
||||
ITER=$(expr ${ITER} + 1)
|
||||
done
|
||||
echo "Remove '${FILE}'"
|
||||
if [ "$(dirname -- "$(realpath -- "${FILE}")")" == "${TRASHFILE}" ]; then
|
||||
/usr/bin/rm -rf -- "${FILE}"
|
||||
/usr/bin/rm -rf -- "${TRASHINFO}/${DESTFILE}.trashinfo"
|
||||
else
|
||||
mv -- "${FILE}" "${TRASHFILE}/${DESTFILE}${SUFFIX}" || return 1
|
||||
echo "[Trash Info]\nPath=$(realpath -- "${FILE}")\nDeletionDate=$(date +%Y-%m-%dT%H:%M:%S)" > "${TRASHINFO}/${DESTFILE}${SUFFIX}.trashinfo" || return 1
|
||||
fi
|
||||
done
|
||||
}
|
15
zsh/custom_su
Normal file
15
zsh/custom_su
Normal file
@ -0,0 +1,15 @@
|
||||
# redefine su command
|
||||
su() {
|
||||
CHECKSU=0
|
||||
for FLAG in $*; do
|
||||
[[ $FLAG == "-" ]] && CHECKSU=1
|
||||
[[ $FLAG == "-l" ]] && CHECKSU=1
|
||||
[[ $FLAG == "--login" ]] && CHECKSU=1
|
||||
done
|
||||
if [[ $CHECKSU == 0 ]]; then
|
||||
echo "Use 'su -', Luke"
|
||||
/usr/bin/su - $*
|
||||
else
|
||||
/usr/bin/su $*
|
||||
fi
|
||||
}
|
7
zsh/filetypes_aliases
Normal file
7
zsh/filetypes_aliases
Normal file
@ -0,0 +1,7 @@
|
||||
# alias -s
|
||||
alias -s {avi,mpeg,mpg,mov,m2v,mkv}=mpv
|
||||
alias -s {mp3,flac}=qmmp
|
||||
alias -s {odt,doc,xls,ppt,docx,xlsx,pptx,csv}=libreoffice
|
||||
alias -s {pdf}=okular
|
||||
autoload -U pick-web-browser
|
||||
alias -s {html,htm}=firefox
|
4
zsh/hash_common
Normal file
4
zsh/hash_common
Normal file
@ -0,0 +1,4 @@
|
||||
# common hashs
|
||||
hash -d iso="/mnt/iso"
|
||||
hash -d u1="/mnt/usbdev1"
|
||||
hash -d u2="/mnt/usbdev2"
|
3
zsh/hash_desktop
Normal file
3
zsh/hash_desktop
Normal file
@ -0,0 +1,3 @@
|
||||
# hash
|
||||
hash -d global="/mnt/global"
|
||||
hash -d windows="/mnt/windows"
|
44
zsh/highlighting
Normal file
44
zsh/highlighting
Normal file
@ -0,0 +1,44 @@
|
||||
# highlighting
|
||||
source "/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
|
||||
# brackets
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=blue,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=red,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=yellow,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=magenta,bold'
|
||||
# cursor
|
||||
#ZSH_HIGHLIGHT_STYLES[cursor]='bg=blue'
|
||||
# main
|
||||
# default
|
||||
ZSH_HIGHLIGHT_STYLES[default]='none'
|
||||
# unknown
|
||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red'
|
||||
# command
|
||||
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=magenta,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=yellow,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[builtin]='fg=green,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[function]='fg=green,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[command]='fg=green'
|
||||
ZSH_HIGHLIGHT_STYLES[precommand]='fg=blue,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=yellow'
|
||||
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green'
|
||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue,bold'
|
||||
# path
|
||||
ZSH_HIGHLIGHT_STYLES[path]='fg=cyan,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[path_approx]='fg=cyan'
|
||||
# shell
|
||||
ZSH_HIGHLIGHT_STYLES[globbing]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=blue'
|
||||
ZSH_HIGHLIGHT_STYLES[assign]='fg=magenta'
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=blue'
|
||||
# quotes
|
||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=yellow,underline'
|
||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow'
|
||||
# pattern
|
||||
ZSH_HIGHLIGHT_PATTERNS+=('\~b/rm ' 'fg=green')
|
||||
# root
|
||||
#ZSH_HIGHLIGHT_STYLES[root]='bg=red'
|
7
zsh/pacman_common
Normal file
7
zsh/pacman_common
Normal file
@ -0,0 +1,7 @@
|
||||
# redefine pacman and yaourt
|
||||
pacman() {
|
||||
/usr/bin/sudo /usr/bin/pacman $* && echo "$*" | grep -q "S\|R\|U" && rehash
|
||||
}
|
||||
yaourt() {
|
||||
/usr/bin/yaourt $* && echo "$*" | grep -q "S\|R\|U" && rehash
|
||||
}
|
7
zsh/pacman_test
Normal file
7
zsh/pacman_test
Normal file
@ -0,0 +1,7 @@
|
||||
# pacman commands with repo variations
|
||||
yatest() {
|
||||
/usr/bin/yaourt --config /etc/pactest.conf $* && echo "$*" | grep -q "S\|R\|U" && rehash
|
||||
}
|
||||
yaaur() {
|
||||
/usr/bin/yaourt --config /etc/pacaur.conf $* && echo "$*" | grep -q "S\|R\|U" && rehash
|
||||
}
|
2
zsh/pkgfile
Normal file
2
zsh/pkgfile
Normal file
@ -0,0 +1,2 @@
|
||||
# pkgfile
|
||||
source "/usr/share/doc/pkgfile/command-not-found.zsh"
|
41
zsh/prompt
Normal file
41
zsh/prompt
Normal file
@ -0,0 +1,41 @@
|
||||
# PROMPT && RPROMPT
|
||||
if [[ $EUID == 0 ]]; then
|
||||
# [root@host dir]#
|
||||
PROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[red]%}%n%{$reset_color%}\
|
||||
%{$fg_bold[white]%}@%{$reset_color%}\
|
||||
%{$fg_no_bold[red]%}%m %{$reset_color%}\
|
||||
%{$fg_bold[yellow]%}%1/%{$reset_color%}\
|
||||
%{$fg_bold[white]%}]# %{$reset_color%}"
|
||||
else
|
||||
# [user@host dir]$
|
||||
PROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[green]%}%n%{$reset_color%}\
|
||||
%{$fg_bold[white]%}@%{$reset_color%}\
|
||||
%{$fg_no_bold[green]%}%m %{$reset_color%}\
|
||||
%{$fg_bold[yellow]%}%1/%{$reset_color%}\
|
||||
%{$fg_bold[white]%}]$ %{$reset_color%}"
|
||||
fi
|
||||
precmd() {
|
||||
# battery charge
|
||||
function batcharge {
|
||||
bat_perc=$(acpi | awk {'print $4;'} | sed -e "s/\s//" -e "s/%.*//")
|
||||
if [[ ${bat_perc} < 15 ]]; then
|
||||
col="%{$fg_bold[red]%}"
|
||||
elif [[ ${bat_perc} < 50 ]]; then
|
||||
col="%{$fg_bold[yellow]%}"
|
||||
else
|
||||
col="%{$fg_bold[green]%}"
|
||||
fi
|
||||
echo "%{$fg_bold[white]%}["$col$bat_perc"%{$fg_bold[white]%}%%]%{$reset_color%}"
|
||||
}
|
||||
# last command
|
||||
returncode="%(?.%{$fg[green]%}.%{$fg[red]%})%?%{$resetcolor%}"
|
||||
RPROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[cyan]%}%T%{$reset_color%}\
|
||||
%{$fg_bold[white]%}]%{$reset_color%}"\
|
||||
$(batcharge)\
|
||||
"%{$fg_bold[white]%}[%{$reset_color%}"\
|
||||
${returncode}\
|
||||
"%{$fg_bold[white]%}]%{$reset_color%}"
|
||||
}
|
27
zsh/prompt_server
Normal file
27
zsh/prompt_server
Normal file
@ -0,0 +1,27 @@
|
||||
# PROMPT && RPROMPT
|
||||
if [[ $EUID == 0 ]]; then
|
||||
# [root@host dir]#
|
||||
PROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[red]%}%n%{$reset_color%}\
|
||||
%{$fg_bold[white]%}@%{$reset_color%}\
|
||||
%{$fg_no_bold[blue]%}%m %{$reset_color%}\
|
||||
%{$fg_bold[yellow]%}%1/%{$reset_color%}\
|
||||
%{$fg_bold[white]%}]# %{$reset_color%}"
|
||||
else
|
||||
# [user@host dir]$
|
||||
PROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[green]%}%n%{$reset_color%}\
|
||||
%{$fg_bold[white]%}@%{$reset_color%}\
|
||||
%{$fg_no_bold[blue]%}%m %{$reset_color%}\
|
||||
%{$fg_bold[yellow]%}%1/%{$reset_color%}\
|
||||
%{$fg_bold[white]%}]$ %{$reset_color%}"
|
||||
fi
|
||||
precmd() {
|
||||
# last command
|
||||
returncode="%(?.%{$fg[green]%}.%{$fg[red]%})%?%{$resetcolor%}"
|
||||
RPROMPT="%{$fg_bold[white]%}[%{$reset_color%}\
|
||||
%{$fg_bold[cyan]%}%T%{$reset_color%}\
|
||||
%{$fg_bold[white]%}][%{$reset_color%}"\
|
||||
${returncode}\
|
||||
"%{$fg_bold[white]%}]%{$reset_color%}"
|
||||
}
|
12
zsh/sudo_aliases_pc
Normal file
12
zsh/sudo_aliases_pc
Normal file
@ -0,0 +1,12 @@
|
||||
# sudo alias
|
||||
if [[ ${EUID} == 0 ]]; then
|
||||
alias mts_3g='eject /dev/sr1 && sleep 5 && wvdial mts3g && disown'
|
||||
alias sddm='systemctl start sddm && exit'
|
||||
else
|
||||
alias cpu='sudo cpu'
|
||||
alias backlight='sudo backlight'
|
||||
alias exante='sudo netctl start exante && sudo systemctl start exante-vpn && sddm'
|
||||
alias mts_3g='sudo eject /dev/sr1 && sleep 5 && sudo wvdial mts3g && disown'
|
||||
alias sddm='sudo systemctl start sddm && exit'
|
||||
alias wifi-menu='sudo wifi-menu'
|
||||
fi
|
28
zsh/sudo_aliases_server
Normal file
28
zsh/sudo_aliases_server
Normal file
@ -0,0 +1,28 @@
|
||||
# sudo alias
|
||||
if [[ ${EUID} == 0 ]]; then
|
||||
alias fat32mnt='mount -t vfat -o codepage=866,iocharset=utf8,umask=000'
|
||||
alias synctime='{ ntpd -qg; hwclock -w; date; }'
|
||||
else
|
||||
alias dhcpcd='sudo dhcpcd'
|
||||
alias extra-i686-build='sudo extra-i686-build'
|
||||
alias extra-x86_64-build='sudo extra-x86_64-build'
|
||||
alias fat32mnt='sudo mount -t vfat -o codepage=866,iocharset=utf8,umask=000'
|
||||
alias modprobe='sudo modprobe'
|
||||
alias mount='sudo mount'
|
||||
alias multilib-build='sudo multilib-build'
|
||||
alias multilib-staging-build='sudo multilib-staging-build'
|
||||
alias multilib-testing-build='sudo multilib-testing-build'
|
||||
alias netctl='sudo netctl'
|
||||
alias pacdiff='sudo pacdiff'
|
||||
alias rmmod='sudo rmmod'
|
||||
alias scat='sudo cat'
|
||||
alias sgrep='sudo grep'
|
||||
alias staging-i686-build='sudo staging-i686-build'
|
||||
alias staging-x86_64-build='sudo staging-x86_64-build'
|
||||
alias svim='sudo vim'
|
||||
alias synctime='{ sudo ntpd -qg; sudo hwclock -w; date; }'
|
||||
alias systemctl='sudo systemctl'
|
||||
alias testing-i686-build='sudo testing-i686-build'
|
||||
alias testing-x86_64-build='sudo testing-x86_64-build'
|
||||
alias umount='sudo umount'
|
||||
fi
|
5
zsh/vimpager
Normal file
5
zsh/vimpager
Normal file
@ -0,0 +1,5 @@
|
||||
# use vimpager instead of less
|
||||
alias less='vimpager'
|
||||
alias zless='vimpager'
|
||||
|
||||
export PAGER="vimpager"
|
48
zsh/xrandr_e530
Normal file
48
zsh/xrandr_e530
Normal file
@ -0,0 +1,48 @@
|
||||
# xrandr functions for ThinkPad E530
|
||||
# functions to contorl xrandr
|
||||
# EXAMPLE: projctl 1024x768
|
||||
projctl() {
|
||||
MONITORS="$(xrandr | grep connected | cut -d ' ' -f 1 | tr '\n' ' ')"
|
||||
echo "Available monitors are: ${MONITORS}"
|
||||
FIRSTMON="LVDS1"
|
||||
SECONDMON="VGA1"
|
||||
RESOLUTION="1366x768"
|
||||
until [ -z $1 ]; do
|
||||
case "$1" in
|
||||
"-h" | "--help" ) echo "Usage: projctl [ off/resol ] [ -o MON | --output MON ]" && return 0 ;;
|
||||
"-o" | "--output" ) [ -z "$2" ] || SECONDMON="$2" && shift ;;
|
||||
* ) RESOLUTION="$1" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if [[ "${RESOLUTION}" == "off" ]]; then
|
||||
echo "Disable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --mode ${RESOLUTION} --output ${SECONDMON} --off
|
||||
else
|
||||
echo "Using resolution: ${RESOLUTION}"
|
||||
xrandr --output ${FIRSTMON} --mode ${RESOLUTION} --output ${SECONDMON} --mode ${RESOLUTION}
|
||||
fi
|
||||
}
|
||||
|
||||
twinmon() {
|
||||
MONITORS="$(xrandr | grep connected | cut -d ' ' -f 1 | tr '\n' ' ')"
|
||||
echo "Available monitors are: ${MONITORS}"
|
||||
FIRSTMON="LVDS1"
|
||||
SECONDMON="VGA1"
|
||||
MODE="on"
|
||||
until [ -z $1 ]; do
|
||||
case "$1" in
|
||||
"-h" | "--help" ) echo "Usage: twinmon [ off ] [ -o MON | --output MON ]" && return 0 ;;
|
||||
"-o" | "--output" ) [ -z "$2" ] || SECONDMON="$2" && shift ;;
|
||||
"off" ) MODE="off" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if [[ "${MODE}" == "off" ]]; then
|
||||
echo "Disable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --auto --primary --output ${SECONDMON} --off
|
||||
else
|
||||
echo "Enable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --auto --primary --output ${SECONDMON} --auto --left-of ${FIRSTMON}
|
||||
fi
|
||||
}
|
50
zsh/xrandr_t440
Normal file
50
zsh/xrandr_t440
Normal file
@ -0,0 +1,50 @@
|
||||
# xrandr functions for ThinkPad T440
|
||||
# functions to contorl xrandr
|
||||
# EXAMPLE: projctl 1024x768
|
||||
projctl() {
|
||||
MONITORS="$(xrandr | grep connected | cut -d ' ' -f 1 | tr '\n' ' ')"
|
||||
echo "Available monitors are: ${MONITORS}"
|
||||
FIRSTMON="eDP1"
|
||||
SECONDMON="DP2"
|
||||
RESOLUTION="1600x900"
|
||||
until [ -z $1 ]; do
|
||||
case "$1" in
|
||||
"-h" | "--help" ) echo "Usage: projctl [ off/resol ] [ -o MON | --output MON ]" && return 0 ;;
|
||||
"-o" | "--output" ) [ -z "$2" ] || SECONDMON="$2" && shift ;;
|
||||
* ) RESOLUTION="$1" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if [[ "${RESOLUTION}" == "off" ]]; then
|
||||
echo "Disable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --mode ${RESOLUTION} --output ${SECONDMON} --off
|
||||
else
|
||||
echo "Using resolution: ${RESOLUTION}"
|
||||
xrandr --output ${FIRSTMON} --mode ${RESOLUTION} --output ${SECONDMON} --mode ${RESOLUTION}
|
||||
fi
|
||||
xinput set-prop 10 137 $(get-coord-matrix.py)
|
||||
}
|
||||
|
||||
twinmon() {
|
||||
MONITORS="$(xrandr | grep connected | cut -d ' ' -f 1 | tr '\n' ' ')"
|
||||
echo "Available monitors are: ${MONITORS}"
|
||||
FIRSTMON="eDP1"
|
||||
SECONDMON="DP2"
|
||||
MODE="on"
|
||||
until [ -z $1 ]; do
|
||||
case "$1" in
|
||||
"-h" | "--help" ) echo "Usage: twinmon [ off ] [ -o MON | --output MON ]" && return 0 ;;
|
||||
"-o" | "--output" ) [ -z "$2" ] || SECONDMON="$2" && shift ;;
|
||||
"off" ) MODE="off" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if [[ "${MODE}" == "off" ]]; then
|
||||
echo "Disable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --auto --primary --output ${SECONDMON} --off
|
||||
else
|
||||
echo "Enable ${SECONDMON}"
|
||||
xrandr --output ${FIRSTMON} --auto --primary --output ${SECONDMON} --auto --left-of ${FIRSTMON}
|
||||
fi
|
||||
xinput set-prop 10 137 $(get-coord-matrix.py)
|
||||
}
|
Reference in New Issue
Block a user