This commit is contained in:
Dym Sohin 2024-01-04 01:00:22 +01:00
commit b8af95703e
159 changed files with 97773 additions and 0 deletions

15
@reboot.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
# ~/.xsession 2>&1 &
imwheel 2>&1 &
nfancurve 2>&1 &
copyq 2>&1 &
sleep 5 && \
sshfs infra:/ /Servers/infra -C 2>&1 &
## already done in /etc/fstab
# sleep 5 && \
# sudo mount 192.168.0.222:/nfs/Public /Data 2>&1 &
# sudo mount 169.254.186.28:/nfs/Public /Data 2>&1 &

5
LICENSE Normal file
View File

@ -0,0 +1,5 @@
Copyright (C) 2023 by Dym Sohin <re@dym.sh>
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

58
_install.sh Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/zsh
# remove unneeded
sudo apt-get purge -y \
celluloid hypnotix hexchat \
onboard pix gnote drawing xviewer \
redshift warpinator orca
# remove default wallpapers
sudo rm -rf \
/usr/share/wallpapers/
# update current
sudo apt update -y
sudo apt upgrade -y
# tools
sudo apt install -y \
zsh curl wget git \
g++ make clang build-essential \
nano ffmpeg lynx \
imagemagick graphicsmagick ghostscript \
jpegoptim pngcrush pngquant \
usrmerge net-tools rdfind ripgrep
# fonts-font-awesome \
# desktop
sudo apt install -y \
numlockx sshfs
# GUI Apps
sudo apt install -y \
vlc \
lxappearance \
kid3 \
gparted \
pavucontrol \
dconf-editor \
kcharselect \
kid3 \
gnumeric \
xdotool
sudo systemctl disable rsyslog
sudo systemctl stop rsyslog
sudo timedatectl set-timezone Europe/Berlin
sudo visudo
## or sudo nano /etc/sudoers
## add the line
# Defaults timestamp_timeout=-1

16
_installs/agregore.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
sudo apt-get install -y \
libgtk-3-0 \
libnotify4 \
libnss3 \
libxss1 \
libxtst6 \
xdg-utils \
libatspi2.0-0 \
libuuid1 \
libsecret-1-0 \
libappindicator3-1
# SUID chrome-sandbox for Electron 5+
chmod 4755 '/Apps/Agregore Browser/chrome-sandbox'

19
_installs/appimage.sh Executable file
View File

@ -0,0 +1,19 @@
#!/usr/bin/zsh
sudo apt install -y \
python3-pip \
python3-setuptools \
patchelf \
desktop-file-utils \
libgdk-pixbuf2.0-dev \
fakeroot \
strace \
fuse
# Install appimagetool AppImage
sudo wget \
'https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage' \
-O /usr/local/bin/appimagetool
sudo chmod +x \
/usr/local/bin/appimagetool

12
_installs/blender.sh Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/zsh
sudo add-apt-repository -y \
ppa:savoury1/ffmpeg4 \
ppa:savoury1/blender
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install -y \
ffmpeg blender

94
_installs/docker.sh Executable file
View File

@ -0,0 +1,94 @@
#!/usr/bin/zsh
# remove old versions
sudo apt-get remove -y \
docker docker-engine \
docker.io containerd runc
# install surrounding necessities
sudo apt-get update -y
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# "security"
sudo apt-key adv --keyserver keyserver.ubuntu.com \
--recv-keys 7FCC7D46ACCC4CF8
sudo apt-key adv --keyserver keyserver.ubuntu.com \
--recv-keys 7EA0A9C3F273FCD8
sudo apt-key adv --keyserver keyserver.ubuntu.com \
--recv-keys 40976EAF437D05B5
sudo apt-key adv --keyserver keyserver.ubuntu.com \
--recv-keys 3B4FE6ACC0B21F32
# docker.com key file
curl -fsSL 'https://download.docker.com/linux/ubuntu/gpg' \
| sudo gpg --dearmor -o \
'/usr/share/keyrings/docker-archive-keyring.gpg'
# # the `lsb_release` prints linux-mint's codename
# # of which docker has no idea, so
U='UBUNTU_CODENAME='
DISTRO=`cat '/etc/os-release' | grep "$U"`
if [ ! -z "$DISTRO" ]; then
DISTRO="${DISTRO/$U/}"
else
DISTRO=`lsb_release -cs`
fi
echo "DISTRO: '$DISTRO'"
# add docker apt
echo "
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu \
$DISTRO stable \
" | sudo tee /etc/apt/sources.list.d/docker.list
# update sources
sudo apt-get update -y
# check avaliable versions
sudo apt-cache \
madison docker
# install docker
sudo apt-get install -y \
docker docker-compose
# manage rootless
sudo groupadd docker
sudo usermod -aG docker $USER
# logout from command line (open new terminal tab/window)
newgrp docker
docker run hello-world
# ubuntu desktop
curl https://desktop-stage.docker.com/linux/main/amd64/77103/docker-desktop.deb --output docker-desktop.deb
sudo apt install ./docker-desktop.deb
systemctl --user start docker-desktop
# image of OSX
# 40GB disk space required: 20GB original image 20GB your container.
docker pull sickcodes/docker-osx:auto
# boot directly into a real OS X shell with a visual display [NOT HEADLESS]
docker run -it \
--device /dev/kvm \
-p 50922:10022 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=${DISPLAY:-:0.0}" \
-e GENERATE_UNIQUE=true \
sickcodes/docker-osx:auto
# username is user
# passsword is alpine

15
_installs/espanso.sh Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/zsh
sudo apt-get install -y \
libwxbase3.0-0v5 \
libwxgtk3.0-gtk3-0v5 \
xclip
wget https://github.com/federico-terzi/espanso/releases/download/v2.1.8/espanso-debian-x11-amd64.deb
sudo apt install ./espanso-debian-x11-amd64.deb
espanso service register
espanso start

44
_installs/firefox.sh Executable file
View File

@ -0,0 +1,44 @@
#!/usr/bin/zsh
# install firefox
sudo apt update -y
sudo apt install -y \
firefox
USER=`cat ~/.mozilla/firefox/profiles.ini \
| grep -E 'Default=.{2,}$' \
| grep -oE '[a-zA-Z0-9_\.\-]{2,}$' \
`
echo "Firefox USER: '$USER'"
# link userChrome
mkdir -p ~/.mozilla/firefox/$USER/chrome/
ln -s `pwd`/userChrome.css \
~/.mozilla/firefox/$USER/chrome/ \
# --force
# link userContent
ln -s `pwd`/userContent.css \
~/.mozilla/firefox/$USER/chrome/ \
# --force
# dev branch
echo 'deb http://deb.debian.org/debian/ unstable main contrib non-free' \
| sudo tee -a '/etc/apt/sources.list'
echo 'Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin release a=unstable
Pin-Priority: 10
' | sudo tee -a '/etc/apt/preferences.d/99pin-unstable'
sudo apt update -y
sudo apt install -yt unstable firefox

51
_installs/fojego.sh Executable file
View File

@ -0,0 +1,51 @@
apt-get install -y \
git git-lfs
wget https://codeberg.org/forgejo/forgejo/releases/download/v1.19.3-0/forgejo-1.19.3-0-linux-amd64
chmod +x forgejo-1.19.3-0-linux-amd64
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget https://codeberg.org/forgejo/forgejo/releases/download/v1.19.3-0/forgejo-1.19.3-0-linux-amd64.asc
gpg --verify forgejo-1.19.3-0-linux-amd64.asc forgejo-1.19.3-0-linux-amd64
mv forgejo-1.19.3-0-linux-amd64 /usr/local/bin/forgejo
chmod 755 /usr/local/bin/forgejo
groupadd --system git
adduser --system --shell /bin/bash --comment 'Git Version Control' \
--gid git --home-dir /home/git --create-home git
mkdir /var/lib/forgejo
chown git:git /var/lib/forgejo \
&& chmod 750 /var/lib/forgejo
mkdir /usr/local/bin/data
chown root:git /usr/local/bin/data \
&& chmod 770 /usr/local/bin/data
mkdir /usr/local/bin/log
chown root:git /usr/local/bin/log \
&& chmod 770 /usr/local/bin/log
mkdir /usr/local/bin/custom
chown root:git /usr/local/bin/custom \
&& chmod 770 /usr/local/bin/custom
mkdir /etc/forgejo
chown root:git /etc/forgejo \
&& chmod 770 /etc/forgejo
wget -O \
/etc/systemd/system/forgejo.service \
'https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service'
# If youre not using sqlite, but MySQL or MariaDB or PostgreSQL, youll have to edit that file (/etc/systemd/system/forgejo.service) and uncomment the corresponding Wants= and After= lines. Otherwise it should work as it is.
systemctl enable forgejo.service
systemctl start forgejo.service
# open http://source.garden:3000

10
_installs/font-manager.sh Executable file
View File

@ -0,0 +1,10 @@
#!/usr/bin/zsh
# font-manager
sudo add-apt-repository -y \
ppa:font-manager/staging
sudo apt update -y
sudo apt install -y \
font-manager

11
_installs/inkscape.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/zsh
# install latest inkscape
# as per https://inkscape.org/release
sudo add-apt-repository -y \
ppa:inkscape.dev/stable
sudo apt update -y
sudo apt install -y \
inkscape

8
_installs/kdenlive.sh Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/zsh
sudo add-apt-repository -y \
ppa:kdenlive/kdenlive-stable
sudo apt update -y
sudo apt install -y \
kdenlive

11
_installs/krita.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env zsh
sudo add-apt-repository -y \
ppa:kritalime/ppa
sudo apt-get update -y
sudo apt-get upgrade -y
# sudo apt-get dist-upgrade -y
sudo apt-get install -y \
krita

45
_installs/nodejs.sh Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/zsh
# optional: remove old installs
sudo apt purge -y \
nodejs npm
sudo apt autoremove -y
sudo rm /usr/bin/node
sudo rm /usr/bin/npm
sudo rm -rf /usr/share/npm
sudo rm -rf /usr/share/nodejs
VER='v20.10.0'
# install node + npm
wget -O 'node.xz' \
"https://nodejs.org/dist/$VER/node-$VER-linux-x64.tar.xz"
tar -xf 'node.xz'
# rm 'node.xz'
sudo mv node-$VER-linux-x64/bin/* /usr/local/bin/
sudo mv node-$VER-linux-x64/lib/node_modules/ /usr/local/lib/
sudo mkdir -p \
'/usr/lib/nodejs' \
'/usr/lib/node_modules'
# fix permissions
sudo chown -R $USER:$USER \
'/usr/local' \
'/usr/share' \
'/usr/lib/nodejs' \
'/usr/lib/node_modules'
# install version manager
npm i -g n
# bump node to latest LTS version
n lts
# update npm
npm i -g npm

7
_installs/obs.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
sudo apt-get update -y
sudo apt-get install -y \
obs-studio \
ffmpeg \
v4l2loopback-dkms

49
_installs/penpot.sh Executable file
View File

@ -0,0 +1,49 @@
sudo apt-get update -y
sudo apt-get install -y \
ca-certificates \
curl \
gnupg
sudo install -m 0755 -d '/etc/apt/keyrings'
curl -fsSL 'https://download.docker.com/linux/debian/gpg' \
| sudo gpg --dearmor -o '/etc/apt/keyrings/docker.gpg'
sudo chmod a+r '/etc/apt/keyrings/docker.gpg'
VERSION_CODENAME='bookworm'
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| \
sudo tee '/etc/apt/sources.list.d/docker.list' \
> /dev/null
sudo apt-get update -y
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
sudo docker run hello-world
cd /Forks/penpot/
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
docker compose \
-p penpot \
-f docker-compose.yaml \
up -d
# update
cd /Forks/penpot/
docker compose -f docker-compose.yaml pull

21
_installs/postgres.sh Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/zsh
# Postgres
apt install -y \
postgresql
sudo systemctl start \
postgresql postgresql-client
VER=`psql --version | grep -Eo ' [0-9]+\.[0-9]+ ' | grep -Eo ' [0-9]+' | xargs`
sudo nano /etc/postgresql/$VER/main/pg_hba.conf
# `local all all trust`
sudo systemctl restart postgresql.service
psql -U postgres
```
ALTER USER postgres WITH PASSWORD '2m9tY_KN@5vM%Pn2M#g';
exit
```

18
_installs/qr.sh Executable file
View File

@ -0,0 +1,18 @@
i \
autoconf \
automake \
autotools-dev \
libtool \
pkg-config \
libpng-dev
git clone --depth 1 \
https://github.com/fukuchi/libqrencode.git
cd libqrencode
./configure
make
sudo make install
sudo ldconfig

19
_installs/restic.sh Executable file
View File

@ -0,0 +1,19 @@
#!/usr/bin/zsh
# install
sudo apt install -y \
restic
# make backup dir
restic init \
-p '/Data/.privat/restic/p.txt' \
-r '/Server/var/bak/.privat'
# backup
restic backup \
'/Data/.privat' \
-p '/Data/.privat/restic/p.txt' \
-r "/media/$USER/bak_daily/.privat"

47
_installs/rust.sh Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/zsh
# rust & co
# install road-1
sudo apt install -y \
cmake pkg-config python3 \
openssl libssl3 libssl-dev \
libfreetype6-dev \
libfontconfig1-dev \
libxcb-xfixes0-dev \
libdbus-1-dev
# libgtk-3-dev \
# libgtksourceview-4.0-dev \
# webkit2gtk-4.0 \
# libappindicator3-dev \
# libwebkit2gtk-4.0-dev \
# libudev-dev \
# libevdev-dev \
# libhidapi-dev \
# liblua5.4-dev
# install road-2
curl --proto '=https' --tlsv1.2 -sSf \
https://sh.rustup.rs \
| sh -s -- --default-toolchain none -y
source $HOME/.cargo/env
rustup toolchain install nightly \
--allow-downgrade \
--profile minimal \
--component clippy
rustup default nightly
env LIBSSH2_SYS_USE_PKG_CONFIG='' \
cargo install \
cargo-update
## cargo apps
cargo install \
xh bat exa fd-find \
broot jql sd \
xargo

47
_installs/tauri.sh Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/zsh
# install via npm
npm i -g \
tauri
# add to the project
npm i --save-dev \
tauri
# OR compile
# base
sudo apt update -y
sudo apt update
sudo apt install -y \
build-essential \
curl \
libayatana-appindicator3-dev \
libgtk-3-dev \
libjavascriptcoregtk-4.0-dev \
librsvg2-dev \
libsoup2.4-dev \
libssl-dev \
libwebkit2gtk-4.0-dev \
wget
# node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
nvm install node --latest-npm
nvm use node
# rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustc --version
rustup update stable
# tauri
cargo install tauri-bundler --force
# OR
sh <(curl https://create.tauri.app/sh)

View File

@ -0,0 +1,4 @@
Unattended-Upgrade::Package-Blacklist {
"nvidia-";
"libnvidia-";
}

5
_sys/_install.sh Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/zsh
cd /Cfg/_sys
ln -s `pwd`/.config/* ~/.config/ --force

88
_sys/binmerge.sh Executable file
View File

@ -0,0 +1,88 @@
#!/usr/bin/zsh
# own /usr/local
sudo chown -R "$USER:$USER" '/usr/local'
# make /Apps/bin
sudo mkdir -p -m 755 '/Apps/bin/'
sudo chown -R "$USER:$USER" '/Apps/'
# ~/.local
sudo cp -uRT ~/.local/ '/Apps/'
sudo rm -rf ~/.local/
sudo ln -s '/Apps' ~/.local
# cargo
mkdir -p ~/.cargo/
cp -uRT ~/.cargo/bin/ '/Apps/'
rm -rf ~/.cargo/bin
ln -s '/Apps' ~/.cargo/bin
# deno
mkdir -p ~/.deno/
cp -uRT ~/.deno/bin/ '/Apps/'
rm -rf ~/.deno/bin
ln -s '/Apps' ~/.deno/bin
# snap
sudo mkdir -p '/snap/'
sudo cp -uRT '/snap/bin/' '/Apps/'
sudo rm -rf '/snap/bin'
sudo ln -s '/Apps' '/snap/bin'
# flutter
mkdir -p ~/snap/flutter/common/flutter/.pub-cache/
cp -uRT ~/snap/flutter/common/flutter/.pub-cache/bin/ '/Apps/'
rm -rf ~/snap/flutter/common/flutter/.pub-cache/bin
ln -s '/Apps' ~/snap/flutter/common/flutter/.pub-cache/bin
# games
sudo cp -uRT '/usr/games/' '/Apps/bin/'
sudo rm -rf '/usr/games'
sudo ln -s '/Apps/bin' '/usr/games'
sudo cp -uRT '/usr/local/games/' '/Apps/bin/'
sudo rm -rf '/usr/local/games'
sudo ln -s '/Apps/bin' '/Apps/games'
# sbin
sudo cp -uRT '/usr/local/sbin/' '/Apps/bin/'
sudo rm -rf '/usr/local/sbin'
sudo ln -s '/Apps/bin' '/Apps/sbin'
# go
sudo cp -uRT '/usr/local/go/bin/' '/Apps/bin/'
sudo rm -rf '/usr/local/go/bin/'
sudo ln -s '/Apps/bin' '/Apps/go/bin'
# rest of local
sudo cp -uRT '/usr/local/' '/Apps/'
sudo rm -rf '/usr/local'
sudo ln -s '/Apps' '/usr/local'
# also
# ~/snap/flutter/common/flutter/.pub-cache/bin
# ~/.pub-cache/bin
# /usr/lib/dart/bin
# put merged bin into path
echo '
ENV_SUPATH PATH=/Apps:/Apps/bin:/usr/sbin:/usr/bin
ENV_PATH PATH=/Apps:/Apps/bin:/usr/sbin:/usr/bin
' | sudo tee -a '/etc/login.defs'
echo 'PATH="/Apps:/Apps/bin:/usr/sbin:/usr/bin"' \
| sudo tee -a '/etc/environment'
# TODO: also /opt

29
_sys/dirs.sh Executable file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env zsh
DIRS=(
/_
/Apps
/Books
/Cfg
/Code
/Data
/Img
/Music
/My
/Work
/Ui
)
# create dirs
for DIR in $DIRS; do
sudo mkdir -m 755 $DIR
sudo chown -R "$USER:$USER" $DIR
sudo chmod g+s -R $DIR
done
mkdir -m 700 \
/home/dym/.privat
# uuids for fstab
lsblk -o 'UUID,NAME,FSTYPE,LABEL'

15
_sys/erruption.sh Executable file
View File

@ -0,0 +1,15 @@
# from https://github.com/X3n0m0rph59/eruption
sudo add-apt-repository -y \
ppa:x3n0m0rph59/eruption
sudo apt update -y
sudo apt install -y \
eruption
systemctl --user enable --now eruption-audio-proxy.service
systemctl --user enable --now eruption-process-monitor.service
sudo systemctl enable --now eruption.service

10
_sys/fancontrol Normal file
View File

@ -0,0 +1,10 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=
DEVPATH=
DEVNAME=
FCTEMPS=
FCFANS=
MINTEMP=
MAXTEMP=
MINSTART=
MINSTOP=

26
_sys/fstab Normal file
View File

@ -0,0 +1,26 @@
#### Static Filesystem Table File
proc /proc proc defaults 0 0
UUID=C196-824A /boot/efi vfat defaults 0 1
# UUID=dfbcaa90-34a1-4087-be8d-085c1e8df05a none swap sw 0 0
UUID=7d549802-5997-4376-8144-e72e2d2e6fc4 / ext4 rw,errors=remount-ro 0 1
UUID=9db770bb-25f6-475c-bc57-874bd9340000 /opt ext4 rw 0 0
/opt /Apps none bind
/opt /home/dym/.local none bind
/opt/bin /home/dym/.cargo/bin/ none bind
192.168.0.222:/nfs/Public /Data nfs auto 0 0
UUID=0310747e-ae8c-459b-913f-b7f190835785 /Servers/self ext4 defaults 0 0
/Servers/self/My /My none bind
/Servers/self/Work /Work none bind
/Servers/self/_ /_ none bind
/Servers/self/Books /Books none bind
/Servers/self/Code /Code none bind
/Servers/self/Fonts /Fonts none bind
/Servers/self/Forks /Forks none bind
/Servers/self/Img /Img none bind
/Servers/self/Music /Music none bind
/Servers/self/Ui /Ui none bind

9
_sys/ios-drive.sh Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/zsh
sudo add-apt-repository -y \
ppa:pmcenery/ppa
sudo apt update -y
sudo apt install -y \
libimobiledevice-utils

2
_sys/iso-sort-gen.sh Executable file
View File

@ -0,0 +1,2 @@
sudo sed -i "s/<U0021> IGNORE;/<U0021> <RES-1>;/" -e "s/<U005F> IGNORE;/<U005F> <RES-1>;/" /usr/share/i18n/locales/iso14651_t1_common
sudo locale-gen

85612
_sys/iso14651_t1_common Normal file

File diff suppressed because it is too large Load Diff

37
_sys/logind.conf Normal file
View File

@ -0,0 +1,37 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.
[Login]
#NAutoVTs=6
#ReserveVT=6
KillUserProcesses=yes
#KillOnlyUsers=
KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192

15
_sys/nas.sh Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/zsh
sudo mkdir '/Data'
sudo chown -R $USER:$USER '/Data'
sudo apt install -y \
nfs-common sshfs
# add mount to fstab
echo '
# Data
192.168.0.5:/nfs/Public /Data nfs auto 0 0
' | sudo tee -a '/etc/fstab'

65
_sys/nvidia-vulkan.sh Executable file
View File

@ -0,0 +1,65 @@
#!/usr/bin/zsh
# OpenGL
sudo apt-get install -y \
ibus ibus-data ibus-gtk ibus-gtk3 \
libegl1-mesa libgl1-mesa-glx \
libxcb-xtest0 python3-ibus-1.0
# nvidia vulkan support
sudo add-apt-repository -y \
ppa:graphics-drivers/ppa
sudo apt upgrade -y
sudo apt install -y \
vulkan-tools \
nvidia-driver-390
sudo apt-mark hold 'nvidia-*'
sudo nvidia-xconfig \
-a --cool-bits=28 \
--allow-empty-initial-configuration
nvidia-smi -q -d TEMPERATURE
# ffmpeg for nvidia
git clone --depth 1 \
'https://git.videolan.org/git/ffmpeg/nv-codec-headers.git'
cd nv-codec-headers
sudo make install
sudo apt-get install -y \
build-essential \
yasm \
cmake \
libtool \
libc6 \
libc6-dev \
unzip \
wget \
libnuma1 \
libnuma-dev
cd ../
git clone --depth 1 \
'https://git.ffmpeg.org/ffmpeg.git'
cd ./ffmpeg
./configure \
--enable-nonfree \
--enable-cuda-nvcc \
--enable-libnpp \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 \
--disable-static \
--enable-shared
make -j 8
sudo make install

8
_sys/ssh_config Normal file
View File

@ -0,0 +1,8 @@
Include /etc/ssh/ssh_config.d/*.conf
Host *
IdentityFile ~/.ssh/github
IdentityFile ~/.ssh/source-garden
SendEnv LANG LC_*
HashKnownHosts no
GSSAPIAuthentication yes

36
_sys/sshd_config Normal file
View File

@ -0,0 +1,36 @@
Include /etc/ssh/sshd_config.d/*.conf
AcceptEnv LANG LC_*
AuthorizedKeysFile %h/.ssh/authorized_keys
Banner none
ChallengeResponseAuthentication no
HostbasedAuthentication no
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
IgnoreRhosts yes
KeyRegenerationInterval 3600
LoginGraceTime 120
LogLevel INFO
MaxAuthTries 5
MaxSessions 5
PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin yes
Port 567
PrintLastLog no
PrintMotd no
Protocol 2
PubkeyAuthentication yes
RhostsRSAAuthentication no
RSAAuthentication yes
ServerKeyBits 1024
StrictModes yes
Subsystem sftp /usr/lib/openssh/sftp-server
SyslogFacility AUTH
TCPKeepAlive yes
UsePAM yes
UsePrivilegeSeparation yes
X11DisplayOffset 10
X11Forwarding yes

15
_sys/user-dirs.dirs Normal file
View File

@ -0,0 +1,15 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="/_"
XDG_DOWNLOAD_DIR="/_"
XDG_TEMPLATES_DIR="/_"
XDG_PUBLICSHARE_DIR="/_"
XDG_DOCUMENTS_DIR="/_"
XDG_PICTURES_DIR="/_"
XDG_MUSIC_DIR="$HOME/"
XDG_VIDEOS_DIR="$HOME/"

1
_sys/user-dirs.locale Normal file
View File

@ -0,0 +1 @@
en_US

20
_sys/xperia.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/zsh
# get mono
# https://www.mono-project.com/download/stable/#download-lin
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install -y mono-complete
# get flash tool
sudo cert-sync /etc/ssl/certs/ca-certificates.crt
sudo certmgr -ssl -m https://igoreisberg.com
sudo certmgr -ssl -m https://software.sonymobile.com
mono XperiFirm-x64.exe

21
alacritty/_install.sh Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/zsh
sudo apt install -y \
python3 cmake pkg-config \
libfreetype6-dev libfontconfig1-dev \
libxcb-xfixes0-dev libxkbcommon-dev
# # install rust
# ../_installs/rust.sh
cargo install alacritty
# link config
mkdir -p ~/.config/alacritty/
cd /Cfg/alacritty/
ln -s `pwd`/alacritty.yml \
~/.config/alacritty/alacritty.yml --force

381
alacritty/alacritty.yml Normal file
View File

@ -0,0 +1,381 @@
window:
padding:
x: 18 # 1 ch
y: 10 # 1 lh
font:
normal:
family: monospace # 'DejaVu Sans Mono'
style: Regular
bold:
family: monospace
style: Bold
italic:
family: monospace
style: Italic
size: 13.0
offset:
x: 0
y: 4 # line-margin
glyph_offset:
x: 0
y: 4
colors:
primary:
background: '0x000000'
foreground: '0x00ff00'
#selection:
# text: '0xeaeaea'
# background: '0x404040'
# Normal colors
#normal:
# black: '0x000000'
# red: '0xd54e53'
# green: '0xb9ca4a'
# yellow: '0xe6c547'
# blue: '0x7aa6da'
# magenta: '0xc397d8'
# cyan: '0x70c0ba'
# white: '0xececec'
# Bright colors
#bright:
# black: '0x666666'
# red: '0xff3334'
# green: '0x9ec400'
# yellow: '0xe7c547'
# blue: '0x7aa6da'
# magenta: '0xb77ee0'
# cyan: '0x54ced6'
# white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '0x000000'
# red: '0x8c3336'
# green: '0x7a8530'
# yellow: '0x97822e'
# blue: '0x506d8f'
# magenta: '0x80638e'
# cyan: '0x497e7a'
# white: '0x9a9a9a'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '0xff00ff' }`
#
#indexed_colors: []
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
#visual_bell:
# animation: EaseOutExpo
# duration: 0
# color: '0xffffff'
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#background_opacity: 1.0
#selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
#cursor:
# Cursor style
#
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
#style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# WinPTY backend (Windows only)
#
# Alacritty defaults to using the newer ConPTY backend if it is available,
# since it resolves a lot of bugs and is quite a bit faster. If it is not
# available, the the WinPTY backend will be used instead.
#
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
# even if the ConPTY backend is available.
#winpty_backend: false
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - None
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
# Record all characters and escape sequences as test data.
#ref_test: false
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
#
# When set to `None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
#modifiers: None
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings)
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Middle, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - Copy
# - Paste
# - PasteSelection
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Minimize
# - Quit
# - ToggleFullscreen
# - SpawnNewInstance
# - ClearLogNotice
# - ReceiveChar
# - None
#
# (macOS only):
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Alt
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
key_bindings:
- { key: V, mods: Super, action: Paste }
- { key: C, mods: Super, action: Copy }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Add, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: K, mods: Command, action: ClearHistory }
#- { key: K, mods: Command, chars: "\x0c" }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, chars: "\x0c" }
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }

4
alacritty/readme.md Normal file
View File

@ -0,0 +1,4 @@
# alacritty-config
- window-padding: 1 char
- green-on-black color pallete

14
copyq/_install.sh Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/zsh
# insall
sudo apt update -y
sudo apt install -y \
copyq
# link config
mkdir -p ~/.config/copyq/
cd /Cfg/copyq/
ln -s `pwd`/copyq* \
~/.config/copyq/ --force

47
copyq/copyq-commands.ini Normal file
View File

@ -0,0 +1,47 @@
[Commands]
1\Command=copyq: toggle()
1\GlobalShortcut=meta+alt+c
1\Icon=\xf022
1\IsGlobalShortcut=true
1\Name=Show/hide main window
2\Command=copyq: menu()
2\GlobalShortcut=meta+alt+x
2\Icon=\xf01c
2\IsGlobalShortcut=true
2\Name=Show the tray menu
3\Command=copyq: plugins.itempinned.pin()
3\Icon=\xf08d
3\InMenu=true
3\Input=!OUTPUT
3\Name=Pin
3\Output=application/x-copyq-item-pinned
4\Command=copyq: plugins.itempinned.unpin()
4\Icon=\xf08d
4\InMenu=true
4\Input=application/x-copyq-item-pinned
4\Name=Unpin
5\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
5\Icon=\xf02b
5\InMenu=true
5\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
5\Name=Tag as \x201cImportant\x201d
6\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
6\Icon=\xf02b
6\InMenu=true
6\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
6\Name=Remove tag \x201cImportant\x201d
7\Command=copyq: plugins.itemtags.tag()
7\Icon=\xf02b
7\InMenu=true
7\Name=Add a Tag
8\Command=copyq: plugins.itemtags.untag()
8\Icon=\xf02b
8\InMenu=true
8\Input=application/x-copyq-tags
8\Name=Remove a Tag
9\Command=copyq: plugins.itemtags.clearTags()
9\Icon=\xf02b
9\InMenu=true
9\Input=application/x-copyq-tags
9\Name=Clear all tags
size=9

190
copyq/copyq.conf Normal file
View File

@ -0,0 +1,190 @@
[General]
plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
[Commands]
1\Command=copyq: toggle()
1\GlobalShortcut=meta+alt+c
1\Icon=\xf022
1\IsGlobalShortcut=true
1\Name=Show/hide main window
2\Command=copyq: menu()
2\GlobalShortcut=meta+alt+x
2\Icon=\xf01c
2\IsGlobalShortcut=true
2\Name=Show the tray menu
size=2
[Options]
action_has_input=false
action_has_output=false
action_output_tab=
action_separator=\\n
activate_closes=true
activate_focuses=true
activate_pastes=true
always_on_top=false
autocompletion=true
autostart=true
check_clipboard=true
check_selection=false
clipboard_notification_lines=0
clipboard_tab=&clipboard
close_on_unfocus=true
command_history_size=100
confirm_exit=false
copy_clipboard=false
copy_selection=false
disable_tray=false
edit_ctrl_return=true
editor=gedit --standalone -- %1
expire_tab=0
hide_main_window=true
hide_main_window_in_task_bar=false
hide_tabs=false
hide_toolbar=false
hide_toolbar_labels=true
item_popup_interval=0
language=en
max_process_manager_rows=1000
maxitems=10000
move=true
notification_horizontal_offset=10
notification_maximum_height=100
notification_maximum_width=300
notification_position=3
notification_vertical_offset=10
number_search=false
open_windows_on_current_screen=true
run_selection=false
save_filter_history=false
show_advanced_command_settings=false
show_simple_items=false
show_tab_item_count=false
tab_tree=false
tabs=&clipboard
text_wrap=true
transparency=0
transparency_focused=0
tray_commands=true
tray_images=true
tray_item_paste=true
tray_items=5
tray_tab=
tray_tab_is_current=true
vi=false
[Plugins]
itemdata\enabled=true
itemencrypted\enabled=true
itemfakevim\enabled=true
itemimage\enabled=true
itemimage\image_editor=
itemimage\max_image_height=240
itemimage\max_image_width=320
itemimage\svg_editor=
itemnotes\enabled=true
itempinned\enabled=true
itemsync\enabled=true
itemtags\enabled=true
itemtext\enabled=true
[Shortcuts]
about=shift+f1
change_tab_icon=ctrl+shift+t
commands=f6
copy_selected_items=ctrl+c
delete_item=del
edit=f2
edit_notes=shift+f2
editor=ctrl+e
exit=ctrl+q
export=ctrl+s
find_items=f3
format-next=ctrl+right
format-previous=ctrl+left
help=f1
import=ctrl+i
item-menu=shift+f10
move_down=ctrl+down
move_to_bottom=ctrl+end
move_to_clipboard=
move_to_top=ctrl+home
move_up=ctrl+up
new=ctrl+n
new_tab=ctrl+t
next_tab=right
paste_selected_items=ctrl+v
preferences=ctrl+p
previous_tab=left
process_manager=ctrl+shift+z
remove_tab=ctrl+w
rename_tab=ctrl+f2
reverse_selected_items=ctrl+shift+r
show-log=f12
show_clipboard_content=ctrl+shift+c
show_item_content=f4
show_item_preview=f7
sort_selected_items=ctrl+shift+s
system-run=f5
toggle_clipboard_storing=ctrl+shift+x
[Tabs]
1\icon=
1\max_item_count=0
1\name=&clipboard
1\store_items=true
size=1
[Theme]
alt_bg=#222222
alt_item_css=
bg=#222222
css=
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=#222222
edit_fg=#dbdbdb
edit_font=
fg=#dbdbdb
find_bg=#ff0
find_fg=#000
find_font=
font=
font_antialiasing=true
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border-top: 0.08em solid ${bg + #333}\n ;border-left: 0.08em solid ${bg + #333}\n ;border-bottom: 0.08em solid ${bg - #333}\n ;border-right: 0.08em solid ${bg - #333}"
notes_bg=#ffffdc
notes_css=
notes_fg=#dbdbdb
notes_font=
notification_bg=#333
notification_fg=#ddd
notification_font=
num_fg=#ffffff
num_font=
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=#999999
sel_fg=#ffffff
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=false
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;background-color: transparent"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
use_system_icons=false

14
doublecmd/_install.sh Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/zsh
# insall
sudo apt update -y
sudo apt install -y \
doublecmd-gtk
# link config
mkdir -p ~/.config/doublecmd/
cd /Cfg/doublecmd/
ln -s `pwd`/[a-z]* \
~/.config/doublecmd/ --force

1260
doublecmd/doublecmd.xml Normal file

File diff suppressed because it is too large Load Diff

4
doublecmd/extassoc.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<doublecmd DCVersion="0.9.8 beta">
<ExtensionAssociation/>
</doublecmd>

198
doublecmd/multiarc.ini Normal file
View File

@ -0,0 +1,198 @@
[7Z]
Archiver=/usr/bin/7za
Description=7-Zip - www.7-zip.org
ID=37 7A BC AF 27 1C
IDPos=0
IDSeekRange=
Extension=7z
Start=^-------------------
End=^-------------------
Format0=yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp n+
List=%P -r0 l %AQA
Extract=%P x -y {-p%W} {%S} %AQA @%LQU
ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQU
Test=%P t -y {%S} %AQA @%LQU
Delete=%P d -y {%S} %AQA @%LQU
Add=%P a -mx -y {-p%W} {-v%V} {%S} %AQA @%LQU
AddSelfExtract=%P a -mx -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQU
PasswordQuery=Enter password
Flags=0
FormMode=8
Enabled=1
Output=0
Debug=0
[7Z (ro)]
Archiver=/usr/bin/7z
Description=7-Zip - www.7-zip.org
ID=
IDPos=
IDSeekRange=
Extension=cab,z,taz,lzh,lha,iso,wim,swm,dmg,xar,hfs,ntfs,fat,vhd,mbr
Start=^-------------------
End=^-------------------
Format0=yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp n+
List=%P -r0 l %AQA
Extract=%P x -y {-p%W} {%S} %AQA @%LQU
ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQU
Test=%P t -y {%S} %AQA @%LQU
Delete=
Add=
AddSelfExtract=
PasswordQuery=Enter password
Flags=0
FormMode=8
Enabled=1
Output=0
Debug=0
[ACE]
Archiver=ace
Description=ACE v2.0.4
ID=
IDPos=
IDSeekRange=
Extension=ace
Start=^Date
End=^listed:
Format0=dd.tt.yy hh:mm ppppppppppp zzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
List=%P v -y %AQA
Extract=%P x -y {-p%W} {%S} %AQA @%LQA
ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQA
Test=%P t -y %AQA
Delete=%P d -y %AQA @%LQA
Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQA
AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQA
PasswordQuery=
Flags=0
FormMode=0
Enabled=0
Output=0
Debug=0
[ARJ]
Archiver=arj
Description=ARJ 3.15 by ARJ Software, Inc.
ID=60 EA
IDPos=0
IDSeekRange=
Extension=arj
Start=^------------
End=^------------
Format0=* nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Format1=???????????? zzzzzzzzzz pppppppppp yy-tt-dd hh:mm:ss aaaaaa
Format2=?
Format3=?
List=%P v %AQA
Extract=%P x -y {-g%W} {%S} %AQA !%LQA
ExtractWithoutPath=%P e -y {-g%W} {%S} %AQA !%LQA
Test=%P t -y {%S} %AQA
Delete=%P d -y {%S} %AQA !%LQA
Add=%P a -y {-g%W} {-v%V} {%S} %AQA !%LQA
AddSelfExtract=
PasswordQuery=
Flags=0
FormMode=0
Enabled=0
Output=0
Debug=0
[RAR]
Archiver=rar
Description=RAR 4.00 - http://www.rarlab.com
ID=
IDPos=
IDSeekRange=
Extension=rar
Start=^-----------
End=^-----------
Format0=?nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Format1=zzzzzzzzzzzzzzzzzzzzzz pppppppp dd-tt-yy hh:mm aaaaaaa
List=%P v -c- {-p%W} %AQA
Extract=%P x -y {-p%W} {%S} %AQA @%LQ
ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQ
Test=%P t -y {%S} %AQA
Delete=%P d -y {%S} %AQA @%LQ
Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQ
AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQ
PasswordQuery=Enter password
Flags=0
FormMode=0
Enabled=0
Output=0
Debug=0
[RAR (5)]
Archiver=rar
Description=RAR 5.x - http://www.rarlab.com
ID=52 61 72 21
IDPos=<SeekID>
IDSeekRange=
Extension=rar
Start=^-----------
End=^-----------
Format0=?aaaaaaaaaa $z+ yyyy tt dd hh:mm n+
List=%P l -c- {-p%W} %AQA
Extract=%P x -y {-p%W} {%S} %AQA @%LQA
ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQA
Test=%P t -y {%S} %AQA
Delete=%P d -y {%S} %AQA @%LQA
Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQA
AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQA
PasswordQuery=Enter password
Flags=0
FormMode=0
Enabled=0
Output=0
Debug=0
[TXZ]
Archiver=/usr/bin/tar
Description=Compressed tar file (tar.xz)
ID=
IDPos=
IDSeekRange=
Extension=txz
Start=
End=
Format0=aaaaaaaaaa zzzzzzz yyyy-tt-dd hh:mm n+
List=%P -tv --xz -f %AQA
Extract=%P -x --xz --no-recursion {%S} -f %AQA -T %LFQA
ExtractWithoutPath=
Test=
Delete=
Add=%P -c --xz --no-recursion {%S} -f %AQA -T %LQA
AddSelfExtract=
PasswordQuery=
Flags=0
FormMode=0
Enabled=1
Output=0
Debug=0
[FreeArc]
Archiver=arc
Description=FreeArc 0.67
ID=41 72 43 01
IDPos=0, -38, -39, -40, <SeekID>
IDSeekRange=
Extension=arc
Start=^--
End=^--
Format0=yyyy tt dd hh mm ss aaaaaaa zzzzzzzzzzzzzzz ppppppppppppppp rrrrrrrr nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
List=%P v --noarcext -- %AQA
Extract=%P x {-p%W} -y --noarcext -sclANSI -- %AQA @%LA
ExtractWithoutPath=%P e {-p%W} -y --noarcext -sclANSI -- %AQA @%LA
Test=%P t --noarcext -sclANSI -- %AQA
Delete=%P d --noarcext -sclANSI -- %AQA @%LA
Add=%P a {-p%W} {-ap%RQA} --noarcext -sclANSI {%S} -- %AQA @%LA
AddSelfExtract=%P a {-p%W} {-ap%RQA} -sfx --noarcext -sclANSI {%S} -- %AQA @%LA
PasswordQuery=
Flags=0
FormMode=0
Enabled=0
Output=0
Debug=0
[MultiArc]
FirstTime=0

21
doublecmd/pixmaps.txt Normal file
View File

@ -0,0 +1,21 @@
avi=video-x-generic
bat=application-x-shellscript
deb=application-x-deb
doc=x-office-document
htm=text-html
html=text-html
iso=application-x-cd-image
jpeg=image-x-generic
jpg=image-x-generic
log=text-x-log
mp2=audio-x-generic
mp3=audio-x-generic
ods=x-office-spreadsheet
odt=x-office-document
pas=text-x-pascal
pdf=application-pdf
po=text-x-po
rpm=application-x-rpm
sh=application-x-shellscript
txt=text-x-generic
xls=x-office-spreadsheet

250
doublecmd/session.ini Normal file
View File

@ -0,0 +1,250 @@
[TfrmMain(1920x1200)]
nbConsole_Height=84
seLogWindow_Height=80
TreePanel_Width=189
Screen_PixelsPerInch=150
[TfrmMaskInputDlg(1920x1200)]
TfrmMaskInputDlg_Height=470
TfrmMaskInputDlg_Width=517
Screen_PixelsPerInch=150
[TfrmViewer(1920x1200)]
TfrmViewer_Height=458
TfrmViewer_Width=651
TfrmViewer_Left=930
TfrmViewer_Top=427
TfrmViewer_WindowState=wsNormal
Screen_PixelsPerInch=96
[TfrmOptions(1920x1200)]
TfrmOptions_Height=2160
TfrmOptions_Left=3840
TfrmOptions_Top=1078
TfrmOptions_Width=1920
TfrmOptions_WindowState=wsNormal
tvTreeView_Width=459
Screen_PixelsPerInch=150
[TfrmMultiRename(1920x1200)]
TfrmMultiRename_Height=2160
TfrmMultiRename_Width=1920
TfrmMultiRename_WindowState=wsNormal
TfrmMultiRename_Left=3840
TfrmMultiRename_Top=1078
Screen_PixelsPerInch=150
lsvwFile_Columns.Item0_Width=434
lsvwFile_Columns.Item1_Width=552
lsvwFile_Columns.Item2_Width=914
[TfrmFileProperties(1920x1200)]
TfrmFileProperties_Height=948
TfrmFileProperties_Width=1920
Screen_PixelsPerInch=150
[TfrmOpenWith(1920x1200)]
Screen_PixelsPerInch=150
[TfrmFindDlg(1920x1200)]
TfrmFindDlg_Height=2160
TfrmFindDlg_Left=3840
TfrmFindDlg_Top=0
TfrmFindDlg_Width=1920
TfrmFindDlg_WindowState=wsNormal
Screen_PixelsPerInch=150
[TfrmViewOperations(1920x1200)]
TfrmViewOperations_Height=1200
TfrmViewOperations_Left=0
TfrmViewOperations_Top=0
TfrmViewOperations_Width=1920
TfrmViewOperations_WindowState=wsNormal
cbAlwaysOnTop_Checked=0
Screen_PixelsPerInch=92
[TfrmMain(1680x1050)]
nbConsole_Height=54
seLogWindow_Height=51
TreePanel_Width=121
Screen_PixelsPerInch=92
[TfrmMaskInputDlg(1680x1050)]
TfrmMaskInputDlg_Height=300
TfrmMaskInputDlg_Width=331
Screen_PixelsPerInch=92
[TfrmOptions(3840x2160)]
TfrmOptions_Height=2160
TfrmOptions_Left=1920
TfrmOptions_Top=0
TfrmOptions_Width=1920
TfrmOptions_WindowState=wsNormal
tvTreeView_Width=295
Screen_PixelsPerInch=150
[TfrmFileProperties(3840x2160)]
TfrmFileProperties_Height=675
TfrmFileProperties_Width=716
Screen_PixelsPerInch=150
[TfrmMain(3840x2160)]
nbConsole_Height=84
seLogWindow_Height=80
TreePanel_Width=189
Screen_PixelsPerInch=150
[TfrmMain(5120x2880)]
nbConsole_Height=54
seLogWindow_Height=52
TreePanel_Width=122
Screen_PixelsPerInch=192
[TfrmOptions(5120x2880)]
TfrmOptions_Height=2880
TfrmOptions_Left=2560
TfrmOptions_Top=0
TfrmOptions_Width=2560
TfrmOptions_WindowState=wsNormal
tvTreeView_Width=490
Screen_PixelsPerInch=192
[TfrmMultiRename(5120x2880)]
TfrmMultiRename_Height=2880
TfrmMultiRename_Width=2560
TfrmMultiRename_WindowState=wsNormal
TfrmMultiRename_Left=2560
TfrmMultiRename_Top=0
Screen_PixelsPerInch=192
lsvwFile_Columns.Item0_Width=496
lsvwFile_Columns.Item1_Width=498
lsvwFile_Columns.Item2_Width=1540
[TfrmFindDlg(3840x2160)]
TfrmFindDlg_Height=2160
TfrmFindDlg_Left=3840
TfrmFindDlg_Top=0
TfrmFindDlg_Width=1920
TfrmFindDlg_WindowState=wsNormal
Screen_PixelsPerInch=150
[TfrmMain(3840x2400)]
nbConsole_Height=54
seLogWindow_Height=52
TreePanel_Width=122
Screen_PixelsPerInch=192
[TfrmMultiRename(3840x2160)]
TfrmMultiRename_Height=2160
TfrmMultiRename_Width=1920
TfrmMultiRename_WindowState=wsNormal
TfrmMultiRename_Left=1920
TfrmMultiRename_Top=0
Screen_PixelsPerInch=150
lsvwFile_Columns.Item0_Width=652
lsvwFile_Columns.Item1_Width=706
lsvwFile_Columns.Item2_Width=542
pnlOptionsLeft_Width=250
[TfrmMaskInputDlg(3840x2160)]
TfrmMaskInputDlg_Height=300
TfrmMaskInputDlg_Width=331
Screen_PixelsPerInch=150
[TfrmOpenWith(3840x2160)]
Screen_PixelsPerInch=150
[TfrmExtractDlg(3840x2160)]
Screen_PixelsPerInch=150
[TfrmViewer(3840x2160)]
TfrmViewer_Height=458
TfrmViewer_Width=652
TfrmViewer_Left=930
TfrmViewer_Top=427
TfrmViewer_WindowState=wsNormal
Screen_PixelsPerInch=150
[TfrmDiffer(3840x2160)]
actAutoCompare_Checked=0
actIgnoreCase_Checked=0
actIgnoreWhiteSpace_Checked=0
actKeepScrolling_Checked=1
actLineDifferences_Checked=0
actPaintBackground_Checked=1
TfrmDiffer_Height=370
TfrmDiffer_Left=200
TfrmDiffer_Top=140
TfrmDiffer_Width=759
TfrmDiffer_WindowState=wsNormal
Screen_PixelsPerInch=150
[TfrmEditor(3840x2160)]
TfrmEditor_Height=480
TfrmEditor_Width=641
TfrmEditor_WindowState=wsNormal
TfrmEditor_Left=566
TfrmEditor_Top=271
Screen_PixelsPerInch=150
[TfrmSyncDirsDlg(3840x2160)]
TfrmSyncDirsDlg_Height=2160
TfrmSyncDirsDlg_Left=0
TfrmSyncDirsDlg_Top=0
TfrmSyncDirsDlg_Width=3840
TfrmSyncDirsDlg_WindowState=wsNormal
Screen_PixelsPerInch=150
HeaderDG_Column0_Width=1210
HeaderDG_Column1_Width=234
HeaderDG_Column2_Width=266
HeaderDG_Column3_Width=47
HeaderDG_Column4_Width=266
HeaderDG_Column5_Width=297
HeaderDG_Column6_Width=1520
[TfrmViewOperations(3840x2160)]
TfrmViewOperations_Height=2160
TfrmViewOperations_Left=2560
TfrmViewOperations_Top=0
TfrmViewOperations_Width=1280
TfrmViewOperations_WindowState=wsNormal
cbAlwaysOnTop_Checked=0
Screen_PixelsPerInch=150
[TfrmLinker(3840x2160)]
TfrmLinker_Height=425
TfrmLinker_Width=397
Screen_PixelsPerInch=150
[TfrmMain(1920x1080)]
nbConsole_Height=35
seLogWindow_Height=33
TreePanel_Width=350
Screen_PixelsPerInch=96
[TfrmOpenWith(1920x1080)]
Screen_PixelsPerInch=150
[TfrmMultiRename(1920x1080)]
TfrmMultiRename_Height=2160
TfrmMultiRename_Width=1920
TfrmMultiRename_WindowState=wsNormal
TfrmMultiRename_Left=3840
TfrmMultiRename_Top=0
Screen_PixelsPerInch=150
lsvwFile_Columns.Item0_Width=388
lsvwFile_Columns.Item1_Width=389
lsvwFile_Columns.Item2_Width=1123
[TfrmOptions(1920x1080)]
TfrmOptions_Height=1012
TfrmOptions_Left=480
TfrmOptions_Top=0
TfrmOptions_Width=960
TfrmOptions_WindowState=wsNormal
tvTreeView_Width=175
Screen_PixelsPerInch=96
[TfrmFileProperties(1920x1080)]
TfrmFileProperties_Height=471
TfrmFileProperties_Width=458
Screen_PixelsPerInch=96

987
doublecmd/shortcuts.scf Normal file
View File

@ -0,0 +1,987 @@
<?xml version="1.0" encoding="UTF-8"?>
<doublecmd DCVersion="1.0.5 beta">
<Hotkeys Version="53">
<Form Name="Main">
<Hotkey>
<Shortcut>F1</Shortcut>
<Command>cm_About</Command>
</Hotkey>
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_RenameOnly</Command>
</Hotkey>
<Hotkey>
<Shortcut>F4</Shortcut>
<Command>cm_Edit</Command>
</Hotkey>
<Hotkey>
<Shortcut>F5</Shortcut>
<Command>cm_Copy</Command>
</Hotkey>
<Hotkey>
<Shortcut>F6</Shortcut>
<Command>cm_Rename</Command>
</Hotkey>
<Hotkey>
<Shortcut>F9</Shortcut>
<Command>cm_RunTerm</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Down</Shortcut>
<Command>cm_ShowCmdLineHistory</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+B</Shortcut>
<Command>cm_FlatView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+D</Shortcut>
<Command>cm_DirHotList</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F</Shortcut>
<Command>cm_QuickFilter</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+H</Shortcut>
<Command>cm_DirHistory</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+L</Shortcut>
<Command>cm_CalculateSpace</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+O</Shortcut>
<Command>cm_ToggleFullscreenConsole</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+P</Shortcut>
<Command>cm_AddPathToCmdLine</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+S</Shortcut>
<Command>cm_QuickSearch</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+R</Shortcut>
<Command>cm_Refresh</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+T</Shortcut>
<Command>cm_NewTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+U</Shortcut>
<Command>cm_Exchange</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+W</Shortcut>
<Command>cm_CloseTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F1</Shortcut>
<Command>cm_BriefView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F2</Shortcut>
<Command>cm_ColumnsView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F3</Shortcut>
<Command>cm_SortByName</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F4</Shortcut>
<Command>cm_SortByExt</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F5</Shortcut>
<Command>cm_SortByDate</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F6</Shortcut>
<Command>cm_SortBySize</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Enter</Shortcut>
<Command>cm_AddFilenameToCmdLine</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+PgDn</Shortcut>
<Command>cm_OpenArchive</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+PgUp</Shortcut>
<Command>cm_ChangeDirToParent</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Alt+Enter</Shortcut>
<Command>cm_ShellExecute</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+C</Shortcut>
<Command>cm_CopyFullNamesToClip</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+D</Shortcut>
<Command>cm_ConfigDirHotList</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+H</Shortcut>
<Command>cm_HorizontalFilePanels</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+X</Shortcut>
<Command>cm_CopyNamesToClip</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F1</Shortcut>
<Command>cm_ThumbnailsView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+Enter</Shortcut>
<Command>cm_AddPathAndFilenameToCmdLine</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+Tab</Shortcut>
<Command>cm_PrevTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F8</Shortcut>
<Command>cm_TreeView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Tab</Shortcut>
<Command>cm_NextTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Up</Shortcut>
<Command>cm_OpenDirInNewTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+\</Shortcut>
<Command>cm_ChangeDirToRoot</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+.</Shortcut>
<Command>cm_ShowSysFiles</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F5</Shortcut>
<Command>cm_CopySamePanel</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F10</Shortcut>
<Command>cm_ContextMenu</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F12</Shortcut>
<Command>cm_DoAnyCmCommand</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+V</Shortcut>
<Command>cm_OperationsViewer</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Z</Shortcut>
<Command>cm_TargetEqualSource</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F1</Shortcut>
<Command>cm_LeftOpenDrives</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F2</Shortcut>
<Command>cm_RightOpenDrives</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F5</Shortcut>
<Command>cm_PackFiles</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F</Shortcut>
<Command>cm_Search</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F9</Shortcut>
<Command>cm_ExtractFiles</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Del</Shortcut>
<Command>cm_Wipe</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Enter</Shortcut>
<Command>cm_FileProperties</Command>
</Hotkey>
<Hotkey>
<Shortcut>WinKey+Left</Shortcut>
<Command>cm_ViewHistoryPrev</Command>
</Hotkey>
<Hotkey>
<Shortcut>WinKey+Right</Shortcut>
<Command>cm_ViewHistoryNext</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Alt+Enter</Shortcut>
<Command>cm_CountDirContent</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Alt+F9</Shortcut>
<Command>cm_TestArchive</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Down</Shortcut>
<Command>cm_GoToLastFile</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Home</Shortcut>
<Command>cm_ChangeDirToHome</Command>
</Hotkey>
<Hotkey>
<Shortcut>WinKey+,</Shortcut>
<Command>cm_Options</Command>
</Hotkey>
<Hotkey>
<Shortcut>WinKey+W</Shortcut>
<Command>cm_CloseTab</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F7</Shortcut>
<Command>cm_AddNewSearch</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F8</Shortcut>
<Command>cm_ShowCmdLineHistory</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Tab</Shortcut>
<Command>cm_FocusTreeView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+1</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=1</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+2</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=2</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+3</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=3</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+4</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=4</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+5</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=5</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+6</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=6</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+7</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=7</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+8</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=8</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+9</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=9</Param>
</Hotkey>
<Hotkey>
<Shortcut>Alt+0</Shortcut>
<Command>cm_ActivateTabByIndex</Command>
<Param>index=-1</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+1</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=1</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+2</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=2</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+3</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=3</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+4</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=4</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+5</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=5</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+6</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=6</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+7</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=7</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+8</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=8</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+9</Shortcut>
<Command>cm_OpenDriveByIndex</Command>
<Param>index=9</Param>
</Hotkey>
<Hotkey>
<Shortcut>F3</Shortcut>
<Command>cm_QuickView</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F2</Shortcut>
<Command>cm_MultiRename</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+N</Shortcut>
<Command>cm_MakeDir</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+N</Shortcut>
<Command>cm_EditNew</Command>
</Hotkey>
<Hotkey>
<Shortcut>F8</Shortcut>
<Command>cm_Delete</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F8</Shortcut>
<Command>cm_Delete</Command>
<Param>trashcan=reversesetting</Param>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+B</Shortcut>
<Command>cm_FlatViewSel</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+X</Shortcut>
<Command>cm_Exit</Command>
</Hotkey>
<Hotkey>
<Shortcut>Del</Shortcut>
<Command>cm_Delete</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Del</Shortcut>
<Command>cm_Delete</Command>
<Param>trashcan=reversesetting</Param>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+A</Shortcut>
<Command>cm_MarkMarkAll</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Num+</Shortcut>
<Command>cm_MarkMarkAll</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Num+</Shortcut>
<Command>cm_MarkPlus</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Num+</Shortcut>
<Command>cm_MarkCurrentExtension</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Num-</Shortcut>
<Command>cm_MarkUnmarkAll</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Num-</Shortcut>
<Command>cm_MarkMinus</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Shift+Num-</Shortcut>
<Command>cm_UnmarkCurrentExtension</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Num*</Shortcut>
<Command>cm_MarkInvert</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+C</Shortcut>
<Command>cm_CopyToClipboard</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+V</Shortcut>
<Command>cm_PasteFromClipboard</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+X</Shortcut>
<Command>cm_CutToClipboard</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Z</Shortcut>
<Command>cm_EditComment</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Left</Shortcut>
<Command>cm_TransferLeft</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Right</Shortcut>
<Command>cm_TransferRight</Command>
<Control>Files Panel</Control>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Up</Shortcut>
<Command>cm_GoToFirstFile</Command>
<Control>Files Panel</Control>
<Control>Quick Search</Control>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+Home</Shortcut>
<Command>cm_ChangeDirToHome</Command>
<Control>Files Panel</Control>
</Hotkey>
</Form>
<Form Name="Viewer">
<Hotkey>
<Shortcut>F1</Shortcut>
<Command>cm_About</Command>
</Hotkey>
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_Reload</Command>
</Hotkey>
<Hotkey>
<Shortcut>N</Shortcut>
<Command>cm_LoadNextFile</Command>
</Hotkey>
<Hotkey>
<Shortcut>P</Shortcut>
<Command>cm_LoadPrevFile</Command>
</Hotkey>
<Hotkey>
<Shortcut>1</Shortcut>
<Command>cm_ShowAsText</Command>
</Hotkey>
<Hotkey>
<Shortcut>2</Shortcut>
<Command>cm_ShowAsBin</Command>
</Hotkey>
<Hotkey>
<Shortcut>3</Shortcut>
<Command>cm_ShowAsHex</Command>
</Hotkey>
<Hotkey>
<Shortcut>4</Shortcut>
<Command>cm_ShowAsWrapText</Command>
</Hotkey>
<Hotkey>
<Shortcut>5</Shortcut>
<Command>cm_ShowAsBook</Command>
</Hotkey>
<Hotkey>
<Shortcut>6</Shortcut>
<Command>cm_ShowGraphics</Command>
</Hotkey>
<Hotkey>
<Shortcut>7</Shortcut>
<Command>cm_ShowPlugins</Command>
</Hotkey>
<Hotkey>
<Shortcut>Q</Shortcut>
<Command>cm_ExitViewer</Command>
</Hotkey>
<Hotkey>
<Shortcut>Esc</Shortcut>
<Command>cm_ExitViewer</Command>
</Hotkey>
<Hotkey>
<Shortcut>F</Shortcut>
<Command>cm_Find</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F</Shortcut>
<Command>cm_Find</Command>
</Hotkey>
<Hotkey>
<Shortcut>F7</Shortcut>
<Command>cm_Find</Command>
</Hotkey>
<Hotkey>
<Shortcut>F3</Shortcut>
<Command>cm_FindNext</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F3</Shortcut>
<Command>cm_FindPrev</Command>
</Hotkey>
<Hotkey>
<Shortcut>`</Shortcut>
<Command>cm_Preview</Command>
</Hotkey>
<Hotkey>
<Shortcut>Num+</Shortcut>
<Command>cm_ZoomIn</Command>
</Hotkey>
<Hotkey>
<Shortcut>Num-</Shortcut>
<Command>cm_ZoomOut</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Enter</Shortcut>
<Command>cm_Fullscreen</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+A</Shortcut>
<Command>cm_SelectAll</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+C</Shortcut>
<Command>cm_CopyToClipboard</Command>
</Hotkey>
<Hotkey>
<Shortcut>A</Shortcut>
<Command>cm_ChangeEncoding</Command>
<Param>ANSI</Param>
</Hotkey>
<Hotkey>
<Shortcut>S</Shortcut>
<Command>cm_ChangeEncoding</Command>
<Param>OEM</Param>
</Hotkey>
<Hotkey>
<Shortcut>Z</Shortcut>
<Command>cm_ChangeEncoding</Command>
<Param>UTF-8</Param>
</Hotkey>
<Hotkey>
<Shortcut>X</Shortcut>
<Command>cm_ChangeEncoding</Command>
<Param>UTF-16LE</Param>
</Hotkey>
<Hotkey>
<Shortcut>F6</Shortcut>
<Command>cm_ShowCaret</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+P</Shortcut>
<Command>cm_Print</Command>
</Hotkey>
</Form>
<Form Name="Differ">
<Hotkey>
<Shortcut>Ctrl+R</Shortcut>
<Command>cm_Reload</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Down</Shortcut>
<Command>cm_NextDifference</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Up</Shortcut>
<Command>cm_PrevDifference</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Home</Shortcut>
<Command>cm_FirstDifference</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+End</Shortcut>
<Command>cm_LastDifference</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+X</Shortcut>
<Command>cm_Exit</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Left</Shortcut>
<Command>cm_CopyRightToLeft</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+Right</Shortcut>
<Command>cm_CopyLeftToRight</Command>
</Hotkey>
</Form>
<Form Name="Copy/Move Dialog">
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_AddToQueue</Command>
</Hotkey>
<Hotkey>
<Shortcut>F5</Shortcut>
<Command>cm_ToggleSelectionInName</Command>
</Hotkey>
<Hotkey>
<Shortcut>F6</Shortcut>
<Command>cm_ToggleSelectionInName</Command>
</Hotkey>
</Form>
<Form Name="Edit Comment Dialog">
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_SaveDescription</Command>
</Hotkey>
</Form>
<Form Name="Editor">
<Hotkey>
<Shortcut>F3</Shortcut>
<Command>cm_EditFindNext</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F3</Shortcut>
<Command>cm_EditFindPrevious</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+X</Shortcut>
<Command>cm_EditCut</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+N</Shortcut>
<Command>cm_FileNew</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+O</Shortcut>
<Command>cm_FileOpen</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+R</Shortcut>
<Command>cm_EditRplc</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+C</Shortcut>
<Command>cm_EditCopy</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Z</Shortcut>
<Command>cm_EditUndo</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+V</Shortcut>
<Command>cm_EditPaste</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+A</Shortcut>
<Command>cm_EditSelectAll</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+Z</Shortcut>
<Command>cm_EditRedo</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F</Shortcut>
<Command>cm_EditFind</Command>
</Hotkey>
<Hotkey>
<Shortcut>F7</Shortcut>
<Command>cm_EditFind</Command>
</Hotkey>
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_FileSave</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+S</Shortcut>
<Command>cm_FileSave</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+X</Shortcut>
<Command>cm_FileExit</Command>
</Hotkey>
<Hotkey>
<Shortcut>Esc</Shortcut>
<Command>cm_FileExit</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+G</Shortcut>
<Command>cm_EditGotoLine</Command>
</Hotkey>
</Form>
<Form Name="Find Files">
<Hotkey>
<Shortcut>F3</Shortcut>
<Command>cm_View</Command>
</Hotkey>
<Hotkey>
<Shortcut>F4</Shortcut>
<Command>cm_Edit</Command>
</Hotkey>
<Hotkey>
<Shortcut>F7</Shortcut>
<Command>cm_IntelliFocus</Command>
</Hotkey>
<Hotkey>
<Shortcut>F9</Shortcut>
<Command>cm_Start</Command>
</Hotkey>
<Hotkey>
<Shortcut>Esc</Shortcut>
<Command>cm_CancelClose</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+N</Shortcut>
<Command>cm_NewSearch</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+N</Shortcut>
<Command>cm_NewSearchClearFilters</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+L</Shortcut>
<Command>cm_LastSearch</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+1</Shortcut>
<Command>cm_PageStandard</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F7</Shortcut>
<Command>cm_PageStandard</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+2</Shortcut>
<Command>cm_PageAdvanced</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+3</Shortcut>
<Command>cm_PagePlugins</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+4</Shortcut>
<Command>cm_PageLoadSave</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+5</Shortcut>
<Command>cm_PageResults</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+F4</Shortcut>
<Command>cm_FreeFromMem</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Tab</Shortcut>
<Command>cm_PageNext</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+Tab</Shortcut>
<Command>cm_PagePrev</Command>
</Hotkey>
</Form>
<Form Name="Synchronize Directories">
<Hotkey>
<Shortcut>Ctrl+M</Shortcut>
<Command>cm_SelectClear</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+D</Shortcut>
<Command>cm_SelectCopyDefault</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+W</Shortcut>
<Command>cm_SelectCopyReverse</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+L</Shortcut>
<Command>cm_SelectCopyLeftToRight</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+R</Shortcut>
<Command>cm_SelectCopyRightToLeft</Command>
</Hotkey>
</Form>
<Form Name="MultiRename">
<Hotkey>
<Shortcut>Ctrl+R</Shortcut>
<Command>cm_ResetAll</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+I</Shortcut>
<Command>cm_InvokeEditor</Command>
</Hotkey>
<Hotkey>
<Shortcut>F3</Shortcut>
<Command>cm_LoadNamesFromFile</Command>
</Hotkey>
<Hotkey>
<Shortcut>F4</Shortcut>
<Command>cm_EditNames</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F4</Shortcut>
<Command>cm_EditNewNames</Command>
</Hotkey>
<Hotkey>
<Shortcut>F10</Shortcut>
<Command>cm_Config</Command>
</Hotkey>
<Hotkey>
<Shortcut>F9</Shortcut>
<Command>cm_Rename</Command>
</Hotkey>
<Hotkey>
<Shortcut>Esc</Shortcut>
<Command>cm_Close</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F2</Shortcut>
<Command>cm_ShowPresetsMenu</Command>
</Hotkey>
<Hotkey>
<Shortcut>F2</Shortcut>
<Command>cm_DropDownPresetList</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+0</Shortcut>
<Command>cm_LoadLastPreset</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+1</Shortcut>
<Command>cm_LoadPreset1</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+2</Shortcut>
<Command>cm_LoadPreset2</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+3</Shortcut>
<Command>cm_LoadPreset3</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+4</Shortcut>
<Command>cm_LoadPreset4</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+5</Shortcut>
<Command>cm_LoadPreset5</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+6</Shortcut>
<Command>cm_LoadPreset6</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+7</Shortcut>
<Command>cm_LoadPreset7</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+8</Shortcut>
<Command>cm_LoadPreset8</Command>
</Hotkey>
<Hotkey>
<Shortcut>Alt+9</Shortcut>
<Command>cm_LoadPreset9</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+S</Shortcut>
<Command>cm_SavePreset</Command>
</Hotkey>
<Hotkey>
<Shortcut>F12</Shortcut>
<Command>cm_SavePresetAs</Command>
</Hotkey>
<Hotkey>
<Shortcut>Shift+F6</Shortcut>
<Command>cm_RenamePreset</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+D</Shortcut>
<Command>cm_DeletePreset</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+S</Shortcut>
<Command>cm_SortPresets</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F2</Shortcut>
<Command>cm_AnyNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F3</Shortcut>
<Command>cm_NameNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F4</Shortcut>
<Command>cm_ExtNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F7</Shortcut>
<Command>cm_CtrNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F5</Shortcut>
<Command>cm_DateNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F6</Shortcut>
<Command>cm_TimeNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+F1</Shortcut>
<Command>cm_PlgnNameMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F2</Shortcut>
<Command>cm_AnyExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F3</Shortcut>
<Command>cm_NameExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F4</Shortcut>
<Command>cm_ExtExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F7</Shortcut>
<Command>cm_CtrExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F5</Shortcut>
<Command>cm_DateExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F6</Shortcut>
<Command>cm_TimeExtMask</Command>
</Hotkey>
<Hotkey>
<Shortcut>Ctrl+Shift+F1</Shortcut>
<Command>cm_PlgnExtMask</Command>
</Hotkey>
</Form>
</Hotkeys>
</doublecmd>

4
doublecmd/zip.ini Normal file
View File

@ -0,0 +1,4 @@
[Configuration]
CompressionMethodToUse=2
DeflationOption=1
TarAutoHandle=1

26
emoji/.fonts.conf Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>

35
emoji/_install.sh Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/zsh
# get all the fonts
sudo apt install -y \
'fonts-noto-*'
# uninstall outdated noto-emoji
sudo apt-get purge -y \
fonts-noto-color-emoji
sudo apt-get purge -y \
fonts-symbola ttf-ancient-fonts-symbola
# get latest noto-emoji
mkdir -p ~/.fonts/NotoEmoji/
curl -L 'https://raw.githubusercontent.com/googlefonts/noto-emoji/main/fonts/NotoColorEmoji.ttf' \
-o ~/.fonts/NotoEmoji/NotoColorEmoji.ttf
ln -s ~/.fonts/NotoEmoji \
'/usr/local/share/fonts/'
# link font-priority config
cd /Cfg/emoji/
ln -s `pwd`/.fonts.conf \
~/ --force
mkdir -p ~/.config/fontconfig/
ln -s `pwd`/.fonts.conf \
~/.config/fontconfig/fonts.conf --force
# rebuild fonts-cache
fc-cache -f -v
firefox 'https://getemoji.com'

27
git/.gitconfig Normal file
View File

@ -0,0 +1,27 @@
[core]
excludesfile = ~/.gitignore
editor = subl
[user]
name = Dym Sohin
email = re@dym.sh
[push]
default = matching
[credential]
helper = cache --timeout 3600
[diff]
tool = subl
[difftool]
prompt = false
[init]
defaultBranch = latest
[pull]
rebase = true
[safe]

9
git/.gitignore vendored Normal file
View File

@ -0,0 +1,9 @@
*~
._*
.DS_Store
.Trash-1000
package-lock.json
config.*
node_modules/
.svn/
target/

24
git/_install.sh Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/zsh
# install latest stable git from PPA
sudo add-apt-repository -y \
ppa:git-core/ppa
sudo apt update -y
sudo apt install -y \
git
# link config
cd /Cfg/git/
ln -s `pwd`/.git* ~/ --force
BIN=~/.local/bin
mkdir -p "$BIN"
# link scripts
ln -s `pwd`/shipit.sh "$BIN/shipit" # --force
ln -s `pwd`/ggc.sh "$BIN/ggc" # --force

38
git/clone.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
# > clone and open for editing a newly forked git repo
## requires
# - `sudo apt install git`
# - `cargo install sd`
# add ssh keys
eval `ssh-agent -s`
ssh-add ~/.ssh/github-com
ssh-add ~/.ssh/gitlab-com
ssh-add ~/.ssh/self-site_git
REPO="$1"
# i.e. `git@github.com:dym-sh/elixir-style-guide.git`
SAVE_PATH=/_
if [ ! -z "$2" ]; then
SAVE_PATH="$2"
fi
DIR=` echo "$REPO" \
| sd -f i '(https://|git@)' '' \
| sd -f i 'github\.com(/|:)?' '' \
| sd -f i '\.git$' '' \
| sd -- '([\w\.-]+)/([\w\.-]+)' '$2--$1' \
| sd -- '([\w\.-]+)/([\w\.-]+)' '$2--$1' \
| sd -- '([\w\.-]+):([\w\.-]+)' '$2@$1' \
| sd -- '/' '--' \
`
cd "$SAVE_PATH"
git clone --depth 1 "$REPO" "$DIR"
subl "$DIR"

7
git/ggc.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# git cleanup
git gc --aggressive
git repack -Ad
git prune

55
git/gh-user-mirror.sh Executable file
View File

@ -0,0 +1,55 @@
#!/bin/bash
# mirroring of all github-(user|org) repos
# use: `gh-user-mirror GH_USER`
# TODO: --(no-)forks, --(no-)update, --sort <types>
## requires
# - `sudo apt install -y curl git`
# - `cargo install sd jql`
MIRRORS='/Data/Code/_github'
GH_USER="$1"
FULL_USER_PATH="$MIRRORS/@$GH_USER"
[ ! -d "$FULL_USER_PATH" ] \
&& mkdir -p "$FULL_USER_PATH"
echo "Mirroring of Github User: '$GH_USER'"
PAGES=` curl --HEAD --silent "https://api.github.com/users/$GH_USER/repos" \
| grep 'rel="last"' \
| sd '^.+page=' '' \
| sd '>; rel="last"[\n\r]+' '' \
`
if [ -z "$PAGES" ]; then
PAGES=1
fi
for LISTING_PAGE in `seq 1 1 "$PAGES"`; do
GH_REPOS=(` curl --silent "https://api.github.com/users/$GH_USER/repos?page=$LISTING_PAGE" \
| jql -i '.|"name"' \
| tr ',' ' ' \
| tr -d '[]"' \
`)
echo "Repos on page $LISTING_PAGE of $PAGES: '${GH_REPOS[@]}'"
for REPO in "${GH_REPOS[@]}"; do
if [ -d "$FULL_USER_PATH/$REPO/.git" ]; then
echo "Updating repo: '$REPO'"
cd "$FULL_USER_PATH/$REPO"
git reset --hard HEAD
git clean -f -d
git pull --depth 1
else
echo "Cloning repo: '$REPO'"
git clone --quiet --depth 1 \
"https://github.com/$GH_USER/$REPO.git" \
"$FULL_USER_PATH/$REPO"
fi
done
done

29
git/gh-user-stars.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
# mirroring of all github-(user|org) repos
# use: `gh-user-mirror GH_USER`
# TODO: --(no-)forks, --(no-)update, --sort <types>
## requires
# - `sudo apt install -y curl git`
# - `cargo install sd jql`
GH_USER="$1"
echo "Stars of Github User: '$GH_USER'"
PAGES=` curl --HEAD --silent "https://api.github.com/users/$GH_USER/starred?per_page=100" \
| grep 'rel="last"' \
| sd '^.+page=' '' \
| sd '>; rel="last"[\n\r]+' '' \
`
if [ -z "$PAGES" ]; then
PAGES=1
fi
for LISTING_PAGE in `seq 1 1 "$PAGES"`; do
echo ` curl --silent "https://api.github.com/users/$GH_USER/starred?per_page=100&page=$LISTING_PAGE" \
| jql -i '.|"full_name"' \
| tr ',' "\n" \
| tr -d '[]"' \
`
done

53
git/server-www.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/sh
DOMAIN='_homepage'
PROJ='$1'
# git
adduser git
mkdir '/home/git/.ssh'
nano '/home/git/.ssh/authorized_keys'
# new repo
git init --bare '/home/git/repos/digisign'
mkdir -p '/var/www/digisign/'
git clone '/home/git/repos/digisign' '/var/www/digisign'
# post-push resolving
cd '/home/git/repos/digisign/'
exec git-update-server-info
echo '#!/bin/sh
cd "/var/www/digisign/" || exit
unset GIT_DIR
git pull
exec git-update-server-info
' > '/home/git/repos/digisign/hooks/post-update'
chmod +x '/home/git/repos/digisign/hooks/post-update'
# access rights
chown -R git:git '/home/git'
chown -R git:www-data '/home/git/repos'
chmod -R 755 '/home/git/repos'
# cd /var/www/digisign/public/www/
# ln -s ../../static ./
# adduser www
# usermod -aG www-data www
usermod -aG www-data git
chown -R git:www-data '/var/www/digisign'
chmod -R 755 '/var/www/digisign'
# mkdir '/var/www/digisign/uploads'
# touch '/var/www/digisign/nohup.out'
# touch '/var/www/digisign/log.txt'
# starting scripts
# chown -R www:www-data '/var/www/digisign'
# su - www -c 'cd /var/www/digisign && ./start'
# echo '@reboot su - www -c 'cd /var/www/digisign && ./start'' \
# >> /etc/crontab

13
git/setup-local.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
SERVER_ID='<SERVER.IP OR DOMAIN.TLD>'
ssh-copy-id -i ~/.ssh/server_root.pub "root@$SERVER_ID"
ssh-copy-id -i ~/.ssh/server_www.pub "www@$SERVER_ID"
ssh-copy-id -i ~/.ssh/server_git.pub "git@$SERVER_ID"
cd "/Site/$SERVER_ID"
git remote add prod "webing-poligon-git:~/repos/digisign"
git push prod --all --force
git push prod --tags --force

35
git/setup-server.sh Executable file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# update current
apt-get update -y
apt-get upgrade -y
# sys, tools
apt-get install -y \
zsh curl wget git \
g++ make clang build-essential \
rmlint ffmpeg lynx \
net-tools usrmerge \
imagemagick graphicsmagick ghostscript \
jpegoptim pngquant pngcrush
# users
adduser git
mkdir '/home/git/.ssh'
touch '/home/git/.ssh/authorized_keys'
# add ssh-key for git
adduser www
mkdir '/home/www/.ssh'
touch '/home/www/.ssh/authorized_keys'
# add ssh-key for www
usermod -aG www-data www
usermod -aG www-data git
# access rights
chown -R www:www-data '/var/www/site/'

23
git/shipit.sh Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/zsh
# sync hyperdrive or create a new one
# if [ -f './.hyper' ]; then
# hyp sync ./ `cat ./.hyper` # -y
# else
# echo 'Create new hyper-drive?'
# hyp sync ./
# fi
# add ssh keys
eval `ssh-agent -s`
ssh-add ~/.ssh/source-garden
# create placeholder commit message if none provided
COMMIT="$1"
[ -z "$COMMIT" ] \
&& COMMIT="__ $(date '+%Y%m%d@%H%M%S')"
git commit -am "$COMMIT"
# push all branches to every mirror
git push --all

10
git/unstar.sh Executable file
View File

@ -0,0 +1,10 @@
curl -u dym-sh:ghp_TOKEN https://api.github.com/user
curl \
-v -H "Authorization: token ghp_TOKEN" \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/user/starred/github/github
# TODO: topics

18
gtk/.gtkrc-2.0 Normal file
View File

@ -0,0 +1,18 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/dym/.gtkrc-2.0.mine"
gtk-theme-name="Arc-Dark-Grey"
gtk-icon-theme-name="la-capitaine"
gtk-font-name="Sans 10"
gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"

16
gtk/.gtkrc-2.0.mine Normal file
View File

@ -0,0 +1,16 @@
include "/home/dym/.gtkrc-2.0.mine"
gtk-theme-name="Arc-Dark-Grey"
gtk-icon-theme-name="la-capitaine"
gtk-font-name="Ubuntu 10"
gtk-cursor-theme-name="OSX-ElCap"
gtk-cursor-theme-size=48
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"

13
gtk/_install.sh Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/zsh
cd /Cfg/gtk
ln -s `pwd`/.gtk* ~/ --force
mkdir -p ~/.config/gtk-2.0/
ln -s `pwd`/gtkfilechooser.ini ~/.config/gtk-2.0/ --force
mkdir -p ~/.config/gtk-3.0/
ln -s `pwd`/bookmarks ~/.config/gtk-3.0/ --force
ln -s `pwd`/settings.ini ~/.config/gtk-3.0/ --force

11
gtk/gtkfilechooser.ini Normal file
View File

@ -0,0 +1,11 @@
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=true
ShowSizeColumn=true
GeometryX=0
GeometryY=0
GeometryWidth=2000
GeometryHeight=1500
SortColumn=name
SortOrder=ascending
StartupMode=recent

16
gtk/settings.ini Normal file
View File

@ -0,0 +1,16 @@
[Settings]
gtk-theme-name=Arc-Dark-Grey
gtk-icon-theme-name=la-capitaine
gtk-font-name=Ubuntu 10
gtk-cursor-theme-name=OSX-ElCap
gtk-cursor-theme-size=48
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb

20
i3/_install.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/zsh
# install i3 + rofi
sudo apt install -y \
i3 rofi
# backup current config
mv ~/.config/i3/config \
~/.config/i3/config_`date '+%Y-%m-%d@%H-%M'`.bak
# link new config
mkdir -p ~/.config/i3/
cd /Cfg/i3/
ln -s `pwd`/config \
~/.config/i3/
# restart i3
i3-msg restart

189
i3/config Normal file
View File

@ -0,0 +1,189 @@
## global -- modifiers
set $Alt Mod1
set $Meta Mod4
set $prtscr `import -window root "/_/PrtScr--$(date '+%Y%m%d@%H%M%S').png"`
# window properties
new_window none
popup_during_fullscreen leave_fullscreen
floating_modifier $Meta
floating_minimum_size 300 x 300
floating_maximum_size 1920 x 1280
font pango:DejaVu Sans Mono 8
## window properties -- colors
# class border bg text indicator child_border
client.focused #444444 #333333 #888888 #666666 #666666
client.focused_inactive #333333 #444444 #888888 #444444 #444444
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #888888 #900000 #900000
client.placeholder #000000 #0c0c0c #888888 #000000 #0c0c0c
client.background #333333
# system actions
bindsym Control+$Alt+Delete exec --no-startup-id i3-msg "exit"
bindsym $Meta+$Alt+Pause exec --no-startup-id i3-msg "exit"
# bindsym $Meta+Control+$Alt+Delete exec --no-startup-id "shutdown -r now"
bindsym XF86Hibernate exec --no-startup-id "systemctl hibernate"
bindsym $Meta+Shift+k restart && exec --no-startup-id "xmodmap $HOME/.Xmodmap"
# screenshots
bindsym Print exec --no-startup-id $prtscr
bindsym $Alt+Print exec --no-startup-id $prtscr
bindsym $Meta+Print exec --no-startup-id $prtscr
bindsym Control+Print exec --no-startup-id $prtscr
bindsym Shift+Print exec --no-startup-id $prtscr
bindsym $Meta+Control+$Alt+Print exec --no-startup-id $prtscr
bindsym $Meta+Shift+$Alt+Print exec --no-startup-id $prtscr
bindsym $Meta+Control+Shift+$Alt+Print exec --no-startup-id $prtscr
bindsym XF86Tools exec --no-startup-id $prtscr
# new terminal window
bindsym $Meta+Shift+Return exec $(which alacritty)
# universal launcher
bindsym $Meta+Return exec "rofi -show run -dpi 300"
# navigating workspaces
bindsym $Meta+Tab workspace next
bindsym $Meta+Shift+Tab workspace prev
## navigating workspaces -- transfer between monitors
bindsym Control+$Meta+Tab move workspace to output right
bindsym Control+$Meta+Shift+Tab move workspace to output left
# navigating windows
bindsym $Meta+grave focus right
bindsym $Meta+Shift+grave focus left
bindsym $Meta+Shift+Button4 focus left
bindsym $Meta+Shift+Button5 focus right
bindsym $Meta+Button4 workspace prev
bindsym $Meta+Button5 workspace next
## navigating windows -- closing, positioning, and resizing
bindsym $Meta+Shift+Q kill
bindsym $Meta+Shift+KP_0 fullscreen toggle
bindsym $Meta+Shift+KP_5 floating toggle
# move focused window between monitors
bindsym $Meta+Shift+KP_1 move container to output left
bindsym $Meta+Shift+KP_3 move container to output right
bindsym $Meta+Shift+KP_7 move workspace to output left
bindsym $Meta+Shift+KP_9 move workspace to output right
bindsym $Meta+Shift+KP_4 move left
bindsym $Meta+Shift+KP_6 move right
bindsym $Meta+Shift+KP_8 move up
bindsym $Meta+Shift+KP_2 move down
# audio controls
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
# bindsym XF86AudioMute exec --no-startup-id amixer -D pulse set Master 1+ toggle
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -3290
# bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse set Master -q 5%-
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +3290
# bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse set Master -q 5%+
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# workspaces (numbers row)
set $w__1 "100: web"
bindsym $Meta+1 workspace $w__1; exec [ $(ps -A | grep vivaldi | wc -l) = 0 ] && $(which vivaldi) -s
set $w__2 "200: files"
bindsym $Meta+2 workspace $w__2; exec [ $(ps -A | grep doublecmd | wc -l) = 0 ] && $(which doublecmd)
set $w__3 "300: text"
bindsym $Meta+3 workspace $w__3; exec [ $(ps -A | grep subl | wc -l) = 0 ] && $(which subl)
set $w__4 "400: console"
bindsym $Meta+4 workspace $w__4; exec [ $(ps h -C alacritty | wc -l) = 0 ] && $(which alacritty)
set $w__5 "500: ..."
bindsym $Meta+5 workspace $w__5
set $w__6 "600: ..."
bindsym $Meta+6 workspace $w__6
set $w__7 "700: ..."
bindsym $Meta+7 workspace $w__7
set $w__8 "800: ..."
bindsym $Meta+8 workspace $w__8
set $w__9 "900: ..."
bindsym $Meta+9 workspace $w__9
set $w__0 "999: ..."
bindsym $Meta+0 workspace $w__0
## workspaces (numbers row) -- window-actions
bindsym $Meta+$Alt+0 move container to workspace $w__0
bindsym $Meta+$Alt+1 move container to workspace $w__1
bindsym $Meta+$Alt+2 move container to workspace $w__2
bindsym $Meta+$Alt+3 move container to workspace $w__3
bindsym $Meta+$Alt+4 move container to workspace $w__4
bindsym $Meta+$Alt+5 move container to workspace $w__5
bindsym $Meta+$Alt+6 move container to workspace $w__6
bindsym $Meta+$Alt+7 move container to workspace $w__7
bindsym $Meta+$Alt+8 move container to workspace $w__8
bindsym $Meta+$Alt+9 move container to workspace $w__9
# workspaces (keypad)
set $w__KP_0 "KP_0: notes"
bindsym $Meta+KP_0 workspace $w__KP_0; exec [ $(ps h -C inventory | wc -l) = 0 ] && inventory
set $w__KP_1 "KP_1: img"
bindsym $Meta+KP_1 workspace $w__KP_1; exec [ $(ps -A | grep xnview | wc -l) = 0 ] && xnview /_
set $w__KP_2 "KP_2: sync"
bindsym $Meta+KP_2 workspace $w__KP_2; exec [ $(ps -A | grep nextcloud | wc -l) = 0 ] && nextcloud
set $w__KP_3 "KP_3: music"
bindsym $Meta+KP_3 workspace $w__KP_3; exec $(which rhythmbox)
set $w__KP_4 "KP_4: pwd"
bindsym $Meta+KP_4 workspace $w__KP_4; exec [ $(ps h -C keepassxc | wc -l) = 0 ] && $(which keepassxc)
set $w__KP_5 "KP_5: src"
bindsym $Meta+KP_5 workspace $w__KP_5; exec [ $(ps -A | grep sublime_merge | wc -l) = 0 ] && $(which merge)
assign [class="sublime_merge"] $w__KP_5
for_window [class="sublime_merge$"] move container to workspace $w__KP_5
set $w__KP_6 "KP_6: webb"
bindsym $Meta+KP_6 workspace $w__KP_6; exec [ $(wmctrl -l | grep 'Mozilla Firefox' | wc -l) = 0 ] && $(which firefox)
set $w__KP_7 "KP_7: design"
bindsym $Meta+KP_7 workspace $w__KP_7; exec [ $(xdotool search -class 'penpot' | wc -l) = 0 ] && penpot
set $w__KP_8 "KP_8: DB"
bindsym $Meta+KP_8 workspace $w__KP_8; exec [ $(wmctrl -l | grep 'DBeaver' | wc -l) = 0 ] && $(which dbeaver)
set $w__KP_9 "KP_9: chat"
bindsym $Meta+KP_9 workspace $w__KP_9; exec [ $(wmctrl -l | grep 'chats' | wc -l) = 0 ] chats
## workspaces (keypad) -- window-actions
bindsym $Meta+$Alt+KP_0 move container to workspace $w__KP_0
bindsym $Meta+$Alt+KP_1 move container to workspace $w__KP_1
bindsym $Meta+$Alt+KP_2 move container to workspace $w__KP_2
bindsym $Meta+$Alt+KP_3 move container to workspace $w__KP_3
bindsym $Meta+$Alt+KP_4 move container to workspace $w__KP_4
bindsym $Meta+$Alt+KP_5 move container to workspace $w__KP_5
bindsym $Meta+$Alt+KP_6 move container to workspace $w__KP_6
bindsym $Meta+$Alt+KP_7 move container to workspace $w__KP_7
bindsym $Meta+$Alt+KP_8 move container to workspace $w__KP_8
bindsym $Meta+$Alt+KP_9 move container to workspace $w__KP_9
# keyboard layouts
bindsym $Meta+F9 exec --no-startup-id "/Cfg/kb/jp-translit-hiro.sh"
bindsym $Meta+F10 exec --no-startup-id "/Cfg/kb/jp-translit-kana.sh"
bindsym $Meta+F11 exec --no-startup-id "/Cfg/kb/ru-translit-mac.sh"
bindsym $Meta+F12 exec --no-startup-id "/Cfg/kb/us-mac.sh"
# startup
exec_always --no-startup-id numlockx on
exec --no-startup-id i3-msg "workspace $w__4; exec $(which alacritty)"

72
i3/readme.md Normal file
View File

@ -0,0 +1,72 @@
# i3-config
> fullscreen apps switching
- fullsreen
- nothing except apps (no decorations, not even statusbar)
- dark-gray colors
## keys
- `Print` save screenshot as a png file, [prtsc](../zsh/prtsc.sh)
- `Meta + Shift + Q` quit current app
- `Meta + Shift + K` restart i3 (reloads config in the process)
- `Ctrl + Alt + Delete`, `Meta + Alt + Break` logout
### workspaces
- `Meta + [KP_]{0..9}` switch to workspace Nr. (also automatically opens some [apps](#apps) if they not already running)
- `Meta + Alt + [KP_]{0..9}` move window to workspace Nr.
- `Meta [+ Shift] + Tab` switch to next [prev] workspace
### windows
- `Meta [+ Shift] + grave` focus next window to the right [left]
- `Meta + Shift + KP_2` move the window down
- `Meta + Shift + KP_4` move the window to the left
- `Meta + Shift + KP_6` move the window to the right
- `Meta + Shift + KP_8` move the window up
- `Meta + Shift + KP_5` toggle floating window
- `Meta + Shift + KP_0` toggle fullscreen (same as `F11` in some apps)
### apps
- `Meta + Return` universal launcher ([rofi](https://github.com/davatorium/rofi))
- `Meta + Shift + Return` terminal ([alacritty](https://github.com/alacritty/alacritty))
Sublime-Text, Sublime-Merge, and Chrome/ium have special needs where they never appear on the intended workspace, but instead on the last initiated / last used.
and no, nothing even delayed start or assigning window-class to a workspace works 🤦
#### `Meta + {0..9}` (numbers row)
0. -
1. browser ([firefox](https://firefox.com))
2. file explorer ([doublecmd](https://doublecmd.sourceforge.io))
3. text editor ([sublime text](https://sublimetext.com))
4. terminal ([alacritty](https://github.com/alacritty/alacritty))
5. -
6. -
7. -
8. -
9. -
#### `Meta + KP_{0..9}` (keypad)
0. items ([inventory](https://github.com/dym-sh/inventory))
1. image viewer ([xnview](https://xnview.com/en/xnviewmp))
2. email client ([thunderbird](https://thunderbird.net))
3. music player ([rhythmbox](https://wiki.gnome.org/Apps/Rhythmbox))
4. password manager ([keepassxc](https://keepassxc.org))
5. version control ([sublime merge](https://sublimemerge.com))
6. emoji and unicode picker ([gnome-characters](https://wiki.gnome.org/Apps/Characters))
7. vector editor ([figma](https://github.com/Figma-Linux))
8. pixel editor ([krita](https://krita.org/en))
9. 3D editor ([blender](https://blender.org))
### keyboard layouts
1. english (us_mac)
2. russian (ru_phonetic_mac)
#### switch
- `scroll lock`
- `[L_Shift] + [R_Shift]`

7
imwheel/.imwheelrc Normal file
View File

@ -0,0 +1,7 @@
".*"
None , Up , Button4 , 3
None , Down , Button5 , 3
Shift_L , Up , Shift_L | Button4 , 3
Shift_L , Down , Shift_L | Button5 , 3
Control_L , Up , Control_L | Button4
Control_L , Down , Control_L | Button5

16
imwheel/_install.sh Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/zsh
# install imwheel
sudo apt install -y \
imwheel
# start imwheel on reboot
echo "`crontab -l`
@reboot `which imwheel`
" | crontab -
# link config
cd /Cfg/imwheel/
ln -s `pwd`/.imwheelrc ~/ --force

4
imwheel/readme.md Normal file
View File

@ -0,0 +1,4 @@
# imwheel
a simple [`imwheel`](https://wiki.archlinux.org/title/IMWheel) config,

31
kb/.Xmodmap Normal file
View File

@ -0,0 +1,31 @@
clear Lock
clear Mod4
add Mod4 = Meta_L Super_L
keycode 66 = Delete NoSymbol Delete
keycode 79 = KP_7 KP_7 KP_7 KP_7 KP_7
keycode 80 = KP_8 KP_8 KP_8 KP_8 KP_8
keycode 81 = KP_9 KP_9 KP_9 KP_9 KP_9
keycode 83 = KP_4 KP_4 KP_4 KP_4 KP_4
keycode 84 = KP_5 KP_5 KP_5 KP_5 KP_5
keycode 85 = KP_6 KP_6 KP_6 KP_6 KP_6
keycode 87 = KP_1 KP_1 KP_1 KP_1 KP_1
keycode 88 = KP_2 KP_2 KP_2 KP_2 KP_2
keycode 89 = KP_3 KP_3 KP_3 KP_3 KP_3
keycode 90 = KP_0 KP_0 KP_0 KP_0 KP_0
keycode 91 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 148 = XF86AudioLowerVolume XF86AudioLowerVolume XF86AudioLowerVolume
keycode 163 = XF86AudioRaiseVolume XF86AudioRaiseVolume XF86AudioRaiseVolume
keycode 180 = XF86AudioMute XF86AudioMute XF86AudioMute
! F13-F15
keycode 191 = Print Print Print
keycode 193 = Pause Pause Pause
! F16-F19
keycode 194 = XF86AudioLowerVolume XF86AudioLowerVolume XF86AudioLowerVolume
keycode 195 = XF86AudioRaiseVolume XF86AudioRaiseVolume XF86AudioRaiseVolume
keycode 196 = XF86AudioMute XF86AudioMute XF86AudioMute
keycode 197 = XF86Hibernate XF86Hibernate XF86Hibernate

21
kb/.xkb Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh
# ±
# keyboard settings
setxkbmap -option caps:none
setxkbmap -option altwin:swap_alt_win
setxkbmap -option lv3:ralt_switch
setxkbmap us -variant mac
numlockx off
# xset s off
# xset s noblank
xset b off
xset -dpms
# xrdb -merge /etc/X11/xinit/.Xresources
xrdb -merge ~/.Xresources
# xmodmap /etc/X11/xinit/.Xmodmap
xmodmap ~/.Xmodmap

5
kb/_install.sh Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/zsh
cd /Cfg/kb/
ln -s `pwd`/.[a-zA-Z]* ~/ --force

15
kb/jp-translit-hiro.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
setxkbmap jp -variant mozc
numlockx off
# xset s off
# xset s noblank
xset b off
xset -dpms
# xrdb -merge /etc/X11/xinit/.Xresources
xrdb -merge ~/.Xresources
# xmodmap /etc/X11/xinit/.Xmodmap
xmodmap ~/.Xmodmap

15
kb/jp-translit-kana.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
setxkbmap jp -variant kana
numlockx off
# xset s off
# xset s noblank
xset b off
xset -dpms
# xrdb -merge /etc/X11/xinit/.Xresources
xrdb -merge ~/.Xresources
# xmodmap /etc/X11/xinit/.Xmodmap
xmodmap ~/.Xmodmap

15
kb/ru-translit-mac.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
setxkbmap -layout 'ru,us' -variant 'phonetic_mac,mac'
numlockx off
# xset s off
# xset s noblank
xset b off
xset -dpms
# xrdb -merge /etc/X11/xinit/.Xresources
xrdb -merge ~/.Xresources
# xmodmap /etc/X11/xinit/.Xmodmap
xmodmap ~/.Xmodmap

15
kb/us-mac.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
setxkbmap us -variant mac
numlockx off
# xset s off
# xset s noblank
xset b off
xset -dpms
# xrdb -merge /etc/X11/xinit/.Xresources
xrdb -merge ~/.Xresources
# xmodmap /etc/X11/xinit/.Xmodmap
xmodmap ~/.Xmodmap

17
keepassxc/_install.sh Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/zsh
# insall latest from the PPA
sudo add-apt-repository -y \
ppa:phoerious/keepassxc
sudo apt update -y
sudo apt install -y \
keepassxc
# link config
mkdir -p ~/.config/keepassxc/
cd /Cfg/keepassxc/
ln -s `pwd`/keepassxc.ini \
~/.config/keepassxc/

105
keepassxc/keepassxc.ini Normal file
View File

@ -0,0 +1,105 @@
[General]
AutoReloadOnChange=true
AutoSaveAfterEveryChange=true
AutoSaveOnExit=true
AutoTypeDelay=25
AutoTypeEntryTitleMatch=true
AutoTypeEntryURLMatch=true
AutoTypeStartDelay=500
BackupBeforeSave=false
ConfigVersion=2
GlobalAutoTypeKey=0
GlobalAutoTypeModifiers=0
IgnoreGroupExpansion=true
LastActiveDatabase=@Invalid()
LastOpenedDatabases=@Invalid()
MinimizeAfterUnlock=true
MinimizeOnCopy=true
OpenPreviousDatabasesOnStartup=true
RememberLastDatabases=true
RememberLastKeyFiles=true
SingleInstance=true
UpdateCheckMessageShown=true
UseAtomicSaves=true
UseGroupIconOnEntryCreation=true
[Browser]
AllowExpiredCredentials=true
AlwaysAllowAccess=true
AlwaysAllowUpdate=false
BestMatchOnly=false
CustomProxyLocation=
Enabled=true
HttpAuthPermission=true
MatchUrlScheme=true
NoMigrationPrompt=true
SearchInAllDatabases=true
ShowNotification=true
SortByUsername=false
SupportBrowserProxy=true
SupportKphFields=true
UnlockDatabase=true
UpdateBinaryPath=true
UseCustomProxy=false
[FdoSecrets]
Enabled=false
[GUI]
ApplicationTheme=dark
CheckForUpdates=false
CheckForUpdatesIncludeBetas=false
CompactMode=true
HidePasswords=true
HidePreviewPanel=true
HideToolbar=false
HideUsernames=false
Language=system
ListViewState=@ByteArray()
MainWindowGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\x82\0\0\0\0\0\0\x6\xa5\0\0\x2}\0\0\x3\x84\0\0\0$\0\0\x6\xa3\0\0\x2{\0\0\0\0\0\0\0\0\a\x80\0\0\x3\x84\0\0\0$\0\0\x6\xa3\0\0\x2{)
MainWindowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x3 \0\0\x2\x1c\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
MinimizeOnClose=false
MinimizeOnStartup=false
MinimizeToTray=false
MovableToolbar=false
PreviewSplitterState=@Invalid()
SearchViewState=@ByteArray()
ShowTrayIcon=false
SplitterState=@Invalid()
ToolButtonStyle=2
TrayIconAppearance=monochrome-light
[KeeShare]
Active="<?xml version=\"1.0\"?><KeeShare><Active><Import/><Export/></Active></KeeShare>\n"
Foreign="<?xml version=\"1.0\"?>\n<KeeShare xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <Foreign/>\n</KeeShare>\n"
Own="<?xml version=\"1.0\"?><KeeShare><PrivateKey>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDp8GmkMs3/3PexmkSylJnNQHv0b5V1G8zLJ0TcWTEr+s2IrNjGKxmbCGiW/8zxvfj0GSYQTnX5x+d2AznqFg+tAfBiOkByCrd7eiF3tvoNpWFFN1x85IK7TmjELCPxX+NieezMoDm3HHBZyBMH/485qCMTvEROMzOw+0wlLzhI2ZEFOTz4D31YqNyK0AClCDd15//ZD033xeHll4StJfEW46KUDsHumcWUfES6AydbIAGxRfPF3MiE4sDpxUFl5/w78sDXP+ezfFQxOSVatenXqGvVxAyXKqNU7+9DbRrlVvuIMXFCocb0bxY4IFFvfwOO4JpnLsi3k5slAzjBBTPTAgMBAAECggEAREO3UAbTPfqI/PZ7XXEngFF02ltFTasTE6Ud3v7X7nF9UIi/qPQiwK6vdoCmmVRKNVCxXsjGfGDtFe7TE4/keyO5tbAx5hVifVGiOoDWbuz3eW8yOe+khmvW/oey5ViJzc6uXvfSX7CYyFot04Ork7OQqM2jUP538wkhqyggUIE9jhum+6W8r6KJg70/WMEI4KdgDoBiAxOYv2hXljgDDOiHs5rbBndndGW1kfXYC4hZsz3ji5pnqKcGxvbDozl6lnP92lZX2rXypRAOlIk5fDRRFgCiLOu8w7bFpVrP/fDdGpGely3uKPXJnrMSwnCtGsoV0EEyvlsruWLhVuwKAQKBgQD4A+KSRivIYVCgAxSxxC2/RvGSlDyrWv+tichCc6ld8RohxIjobZ2/IbP/CPeif+Fs/8g0uH8jGjF+e03r5oHma0STDxfkPRfBx4QhaiGkh547BHlsor4Pr0Y81A5m+AGZVOgRrQTYjF5ffGpbDGfeb4HTj9r+BcyaFxmhmmfMQQKBgQDxeIOhVXXvQjYc2r5RosoQEZ3MxLyRUxMLWzS9jwD5rKxdyktzNvPOmnGcEIYqFChlhn/1OFYo4g/9HgU/aQ4xcggGEtlu6ethfFu05iP1kImqLHTDOGaqCVEdarSSSmI/S+GIluQg6iCiwRwNxB88h2tnxFT7scBxmVzxq/pLEwKBgQDiZxmDkg8RwtRI3cccaAui2u5Xcn7XpiBUmLx4/QCVQy0pujGIi9g+zFN18wesDbUJPY3TosBcmOKppYICYNAgObfFzzduIN75BFr37dx8R1kIYxM9OmrqAoTJroLfOHKtODcJO7p6u9jCrd6g8vg2s+/94wp0bXLTD1dUkJFEgQKBgE9gBSz4cb8HbdBIW31sXK2xjMSt+ypuO3llLs4M/w4To8lk4S5rZvOIM0ZQ7DlSzQCqmM9cCH6B6S2UO7dfakn4qQiOE6lw/W3bOi4Z5MIpFAe7e1pc5OqKC372/4qDJw6Ve/qxVyY2sCmv/u/Lg1UbUsQWdrUR9ieheTr8BFe/AoGANZXYi9pqoXtWXRvE1OWKN4SYBiw+zvLg/ToOWHLj/hGqn6h8yzjinQmIGpOAU9CE3F6u69V86HNjuD3+FfLTv02AR579+V48fXRezOtnRVeGB9PauIqIhyH0LAgyO3oD7mHiKeQstBVU4KfZKQz+Li9yF1s3L9q7CAAIDYTinxo=</PrivateKey><PublicKey><Signer>dym</Signer><Key>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDp8GmkMs3/3PexmkSylJnNQHv0b5V1G8zLJ0TcWTEr+s2IrNjGKxmbCGiW/8zxvfj0GSYQTnX5x+d2AznqFg+tAfBiOkByCrd7eiF3tvoNpWFFN1x85IK7TmjELCPxX+NieezMoDm3HHBZyBMH/485qCMTvEROMzOw+0wlLzhI2ZEFOTz4D31YqNyK0AClCDd15//ZD033xeHll4StJfEW46KUDsHumcWUfES6AydbIAGxRfPF3MiE4sDpxUFl5/w78sDXP+ezfFQxOSVatenXqGvVxAyXKqNU7+9DbRrlVvuIMXFCocb0bxY4IFFvfwOO4JpnLsi3k5slAzjBBTPTAgMBAAECggEAREO3UAbTPfqI/PZ7XXEngFF02ltFTasTE6Ud3v7X7nF9UIi/qPQiwK6vdoCmmVRKNVCxXsjGfGDtFe7TE4/keyO5tbAx5hVifVGiOoDWbuz3eW8yOe+khmvW/oey5ViJzc6uXvfSX7CYyFot04Ork7OQqM2jUP538wkhqyggUIE9jhum+6W8r6KJg70/WMEI4KdgDoBiAxOYv2hXljgDDOiHs5rbBndndGW1kfXYC4hZsz3ji5pnqKcGxvbDozl6lnP92lZX2rXypRAOlIk5fDRRFgCiLOu8w7bFpVrP/fDdGpGely3uKPXJnrMSwnCtGsoV0EEyvlsruWLhVuwKAQKBgQD4A+KSRivIYVCgAxSxxC2/RvGSlDyrWv+tichCc6ld8RohxIjobZ2/IbP/CPeif+Fs/8g0uH8jGjF+e03r5oHma0STDxfkPRfBx4QhaiGkh547BHlsor4Pr0Y81A5m+AGZVOgRrQTYjF5ffGpbDGfeb4HTj9r+BcyaFxmhmmfMQQKBgQDxeIOhVXXvQjYc2r5RosoQEZ3MxLyRUxMLWzS9jwD5rKxdyktzNvPOmnGcEIYqFChlhn/1OFYo4g/9HgU/aQ4xcggGEtlu6ethfFu05iP1kImqLHTDOGaqCVEdarSSSmI/S+GIluQg6iCiwRwNxB88h2tnxFT7scBxmVzxq/pLEwKBgQDiZxmDkg8RwtRI3cccaAui2u5Xcn7XpiBUmLx4/QCVQy0pujGIi9g+zFN18wesDbUJPY3TosBcmOKppYICYNAgObfFzzduIN75BFr37dx8R1kIYxM9OmrqAoTJroLfOHKtODcJO7p6u9jCrd6g8vg2s+/94wp0bXLTD1dUkJFEgQKBgE9gBSz4cb8HbdBIW31sXK2xjMSt+ypuO3llLs4M/w4To8lk4S5rZvOIM0ZQ7DlSzQCqmM9cCH6B6S2UO7dfakn4qQiOE6lw/W3bOi4Z5MIpFAe7e1pc5OqKC372/4qDJw6Ve/qxVyY2sCmv/u/Lg1UbUsQWdrUR9ieheTr8BFe/AoGANZXYi9pqoXtWXRvE1OWKN4SYBiw+zvLg/ToOWHLj/hGqn6h8yzjinQmIGpOAU9CE3F6u69V86HNjuD3+FfLTv02AR579+V48fXRezOtnRVeGB9PauIqIhyH0LAgyO3oD7mHiKeQstBVU4KfZKQz+Li9yF1s3L9q7CAAIDYTinxo=</Key></PublicKey></KeeShare>\n"
QuietSuccess=true
[PasswordGenerator]
AdditionalChars="_=-+"
AdvancedMode=true
Braces=true
Dashes=true
EASCII=true
ExcludeAlike=false
ExcludedChars=
Length=50
Logograms=true
Math=true
Punctuation=true
Quotes=true
SpecialChars=false
[SSHAgent]
Enabled=true
[Security]
ClearClipboard=false
ClearSearch=false
IconDownloadFallback=false
LockDatabaseScreenLock=false
[security]
resettouchid=false
resettouchidscreenlock=true
resettouchidtimeout=30

1
keepassxc/keepassxc.json Normal file
View File

@ -0,0 +1 @@
{"autoCompleteUsernames":true,"showGroupNameInAutocomplete":true,"autoFillAndSend":false,"autoFillSingleEntry":true,"autoReconnect":false,"autoRetrieveCredentials":true,"autoSubmit":false,"checkUpdateKeePassXC":3,"colorTheme":"dark","defaultGroup":"","defaultGroupAlwaysAsk":false,"redirectAllowance":1,"saveDomainOnly":true,"showLoginFormIcon":false,"showLoginNotifications":false,"showNotifications":true,"showOTPIcon":false,"usePasswordGeneratorIcons":false,"useObserver":true,"usePredefinedSites":true,"sitePreferences":[],"saveDomainOnlyNewCreds":true,"clearCredentialsTimeout":10,"credentialSorting":"sortByGroupAndTitle"}

159
lapce/color-theme.toml Normal file
View File

@ -0,0 +1,159 @@
[color-theme]
name = ""
[color-theme.base]
white = "#eee"
black = "#333"
grey = "#555"
blue = "#61AFEF"
red = "#E06C75"
yellow = "#E5C07B"
orange = "#D19A66"
green = "#98C379"
purple = "#C678DD"
cyan = "#56B6C2"
magenta = "#C678DD"
[color-theme.syntax]
attribute = "$yellow"
builtinType = "$cyan"
comment = "#5C6370"
constant = "$yellow"
constructor = "$yellow"
embedded = "$cyan"
enum = "$yellow"
enum-member = "$red"
enumMember = "$red"
escape = "$cyan"
field = "$red"
function = "$blue"
"function.method" = "$blue"
interface = "$yellow"
keyword = "$purple"
"keyword.control" = "$purple"
method = "$blue"
number = "$yellow"
property = "$red"
"punctuation.delimiter" = "$yellow"
selfKeyword = "$purple"
string = "$green"
"string.escape" = "$cyan"
struct = "$yellow"
structure = "$yellow"
symbol = "$yellow"
tag = "$blue"
"text.reference" = "$yellow"
"text.title" = "$orange"
"text.uri" = "$cyan"
type = "$yellow"
"type.builtin" = "$cyan"
typeAlias = "$yellow"
variable = "$red"
"variable.other.member" = "$green"
[color-theme.ui]
"activity.background" = "#777"
"activity.current" = "$black"
"completion.background" = "#777"
"completion.current" = "#222"
"editor.background" = "#222"
"editor.caret" = "#528BFF"
"editor.current_line" = "#0000"
"editor.dim" = "#666"
"editor.drag_drop_background" = "#88888855"
"editor.drag_drop_tab_background" = "#11111155"
"editor.focus" = "#CCCCCC"
"editor.foreground" = "$white"
"editor.indent_guide" = "$grey"
"editor.link" = "$blue"
"editor.selection" = "$grey"
"editor.sticky_header_background" = "$black"
"editor.visible_whitespace" = "$grey"
"error_lens.error.background" = "#E06C7520"
"error_lens.error.foreground" = "$red"
"error_lens.other.background" = "#5C637020"
"error_lens.other.foreground" = "#5C6370"
"error_lens.warning.background" = "#E5C07B20"
"error_lens.warning.foreground" = "$yellow"
"hover.background" = "#222"
"inlay_hint.background" = "#55555555"
"inlay_hint.foreground" = "$white"
"lapce.border" = "#000000"
"lapce.button.primary.background" = "#50a14f"
"lapce.button.primary.foreground" = "$black"
"lapce.dropdown_shadow" = "#000000"
"lapce.error" = "$red"
"lapce.icon.active" = "$white"
"lapce.icon.inactive" = "#5C6370"
"lapce.plugin.author" = "#B0B0B0"
"lapce.plugin.description" = "$white"
"lapce.plugin.name" = "#DDDDDD"
"lapce.remote.connected" = "#50A14F"
"lapce.remote.connecting" = "#C18401"
"lapce.remote.disconnected" = "#E45649"
"lapce.remote.local" = "#4078F2"
"lapce.scroll_bar" = "$grey"
"lapce.tab.active.background" = "$black"
"lapce.tab.active.foreground" = "$white"
"lapce.tab.active.underline" = "#528BFF"
"lapce.tab.inactive.background" = "#222"
"lapce.tab.inactive.foreground" = "$white"
"lapce.tab.inactive.underline" = "#555"
"lapce.tab.separator" = "#222"
"lapce.warn" = "$yellow"
"markdown.blockquote" = "#888"
"palette.background" = "$black"
"palette.current.background" = "#222"
"palette.current.foreground" = "$white"
"palette.foreground" = "$white"
"panel.background" = "#222"
"panel.current.background" = "$black"
"panel.current.foreground" = "$white"
"panel.current.foreground.dim" = "#666"
"panel.foreground" = "$white"
"panel.foreground.dim" = "#666"
"panel.hovered.background" = "#333"
"panel.hovered.foreground" = "$white"
"panel.hovered.foreground.dim" = "#666"
"source_control.added" = "#50A14F32"
"source_control.modified" = "#0184BC32"
"source_control.removed" = "#FF526632"
"status.background" = "$black"
"status.foreground" = "$white"
"status.modal.insert" = "$red"
"status.modal.normal" = "$blue"
"status.modal.terminal" = "$purple"
"status.modal.visual" = "$yellow"
"terminal.background" = "$black"
"terminal.black" = "$black"
"terminal.blue" = "$blue"
"terminal.bright_black" = "#555"
"terminal.bright_blue" = "$blue"
"terminal.bright_cyan" = "$cyan"
"terminal.bright_green" = "$green"
"terminal.bright_magenta" = "$magenta"
"terminal.bright_red" = "$red"
"terminal.bright_white" = "#C8CCD4"
"terminal.bright_yellow" = "$yellow"
"terminal.cursor" = "$white"
"terminal.cyan" = "$cyan"
"terminal.foreground" = "$white"
"terminal.green" = "$green"
"terminal.magenta" = "$magenta"
"terminal.red" = "$red"
"terminal.white" = "$white"
"terminal.yellow" = "$yellow"
[ui]
font-family = ""
font-size = 13
icon-size = 0
header-height = 35
status-height = 25
tab-min-width = 100
scroll-width = 10
drop-shadow-width = 0
preview-editor-width = 0
hover-font-family = ""
hover-font-size = 0
trim-search-results-whitespace = true

7
meta.kdl Normal file
View File

@ -0,0 +1,7 @@
title "desktop-debian"
description "system settings, config files, and scripts"
media-type "cli"
tags "config" "scripts" "docs"
license "0BSD"
homepage "https://dym.sh/desktop-debian/"
source "https://source.garden/config/desktop-debian/"

15
ocr/_install.sh Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/zsh
sudo apt update -y
sudo apt build-dep -y --fix-missing \
python-imaging
sudo apt install -y \
gimagereader \
tesseract-ocr-all
tesseract input.png output --oem 1 -l eng

8
oh-my-zsh/.Xclients Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
# ~/.Xclients
# Executed by xdm/gdm/kdm at login
/usr/bin/zsh \
--login \
-i ~/.xinitrc

3
oh-my-zsh/.Xresources Normal file
View File

@ -0,0 +1,3 @@
Xcursor.size: 72
Xft.dpi: 150
Xft.antialias: 1

2
oh-my-zsh/.dmrc Normal file
View File

@ -0,0 +1,2 @@
[Desktop]
Session=i3

2
oh-my-zsh/.fehbg Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
feh --no-fehbg --bg-fill '/Img/2023/12/blob-on-green_20231223212830.png'

23
oh-my-zsh/.profile Normal file
View File

@ -0,0 +1,23 @@
#!/usr/bin/zsh
PATH="/Apps:/Apps/bin:/usr/sbin:/usr/bin:/usr/local/bin"
export PATH="/Apps:/Apps/bin:/usr/sbin:/usr/bin:/usr/local/bin"
export SHELL='/usr/bin/zsh'
export HOME='/home/dym'
export LANG='en_US.UTF-8'
export ARCHFLAGS='-arch x86_64'
export GDK_SCALE=2
export GDK_DPI_SCALE=0.5
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export XCURSOR_SIZE="32"
export QT_QPA_PLATFORMTHEME="gtk2"
# export QT_SCREEN_SCALE_FACTORS=1.5
# export QT_SCALE_FACTOR=1.5
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export TERMINAL=`which alacritty`
export EDITOR=`which sublime_text`
export XDG_CONFIG_HOME="/home/dym/.config"

13
oh-my-zsh/.xinitrc Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
# nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
export XDG_RUNTIME_DIR="$HOME/.cache"
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
exec dbus-launch --sh-syntax --exit-with-session i3 --shmlog-size 0

3
oh-my-zsh/.xinputrc Executable file
View File

@ -0,0 +1,3 @@
# im-config(8) generated on Sat, 13 Feb 2021 18:38:04 +0100
run_im none
# im-config signature: e4ff5584952c2df4636d1d1addeb3f5b -

54
oh-my-zsh/.xsessionrc Executable file
View File

@ -0,0 +1,54 @@
#!/bin/sh
# ssh
eval `ssh-agent -s`
. ~/.xkb
. ~/.fehbg
# reset audio
pulseaudio -k
# start-apps
/Cfg/@reboot.sh 2>&1 &
# xrandr --output DP-0 --scale 1x1 --fb 3840x2160 --mode 3840x2160 --pos 0x0
# xrandr --output HDMI-0 --scale 1x1 --mode 1920x1080 --pos 3840x0
LC_ALL="en_US.utf8"
LC_COLLATE="C"
LC_ADDRESS="de_DE.UTF-8"
LC_CTYPE="en_US.utf8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_MESSAGES="en_US.utf8"
LC_MONETARY="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
PAPERSIZE="A4"
LANGUAGE="en_US"
LANG="en_US.utf8"
export LC_ALL="en_US.utf8"
export LC_COLLATE="C"
export LC_ADDRESS="de_DE.UTF-8"
export LC_CTYPE="en_US.utf8"
export LC_IDENTIFICATION="de_DE.UTF-8"
export LC_MEASUREMENT="de_DE.UTF-8"
export LC_MESSAGES="en_US.utf8"
export LC_MONETARY="de_DE.UTF-8"
export LC_NAME="de_DE.UTF-8"
export LC_NUMERIC="de_DE.UTF-8"
export LC_PAPER="de_DE.UTF-8"
export LC_TELEPHONE="de_DE.UTF-8"
export LC_TIME="de_DE.UTF-8"
export PAPERSIZE="A4"
export LANGUAGE="en_US"
export LANG="en_US.utf8"

Some files were not shown because too many files have changed in this diff Show More