📝 Major notes and package defaults for gentoo
This commit is contained in:
parent
aab0a27b74
commit
af8c9b5541
34 changed files with 8409 additions and 4 deletions
|
|
@ -71,6 +71,26 @@ This will take a bit of time, but will ping and download 100KB from each mirror
|
|||
and then choose the fastest 3 and append it to your `/etc/portage/make.conf`
|
||||
file.
|
||||
|
||||
## On fstab
|
||||
|
||||
There is a way to automate fstab population using a package.
|
||||
|
||||
```sh
|
||||
emerge -av sys-fs/genfstab
|
||||
```
|
||||
|
||||
Then simply invoke it:
|
||||
|
||||
```sh
|
||||
genfstab
|
||||
```
|
||||
|
||||
Double check it:
|
||||
|
||||
```sh
|
||||
cat /etc/fstab
|
||||
```
|
||||
|
||||
## General Notes
|
||||
|
||||
A general speedrun guide to installing gentoo can be found at:
|
||||
|
|
@ -120,3 +140,135 @@ Note on Krita/Cuda/obs-studio:
|
|||
Don't bother installing krita/cuda, the process is too in depth and time
|
||||
consuming, if you really need krita/obs-studio, just use flatpak. If you really
|
||||
need Cuda, consider using Vulkan instead (for llama.cpp).
|
||||
|
||||
## After Installation
|
||||
|
||||
There's a lot to do after installation, but one of the first things you should
|
||||
do is:
|
||||
|
||||
**Create a New SuperUser**
|
||||
|
||||
```sh
|
||||
adduser $USER &&
|
||||
useradd -aG wheel $USER
|
||||
```
|
||||
|
||||
In package.use add:
|
||||
|
||||
```sh
|
||||
app-admin/doas persist
|
||||
```
|
||||
|
||||
Then install `doas`:
|
||||
|
||||
```sh
|
||||
emerge -av app-admin/doas
|
||||
```
|
||||
|
||||
Edit `/etc/doas.conf`:
|
||||
|
||||
```sh
|
||||
permit persist :wheel
|
||||
```
|
||||
|
||||
Test it:
|
||||
|
||||
```sh
|
||||
su $USER
|
||||
doas emerge -av <some-package>
|
||||
```
|
||||
|
||||
## Install openrc-init as PID 1
|
||||
|
||||
By default, while Gentoo does use openrc as the service manager, it does not use
|
||||
it as init, rather wrapping SysVInit instead. OpenRC does have an init package
|
||||
however that can be used as init, it just has some caveats.
|
||||
|
||||
[See The Gentoo Wiki For Full Details](https://wiki.gentoo.org/wiki/OpenRC/openrc-init)
|
||||
|
||||
Make sure your system is running fine under sysvinit before proceeding.
|
||||
|
||||
Openrc-init is installed by default, no need to emerge.
|
||||
|
||||
You just need to change this line in your `/etc/default/grub`:
|
||||
|
||||
```
|
||||
#GRUB_CMDLINE_LINUX_DEFAULT=""
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/openrc-init"
|
||||
```
|
||||
|
||||
And, of course, regenerate:
|
||||
|
||||
```sh
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
```
|
||||
|
||||
You'll need to reinstantiate the tty's though:
|
||||
|
||||
```sh
|
||||
cd /etc/init.d
|
||||
for n in $(seq 1 6); do ln -s agetty agetty.tty$n; rc-update add agetty.tty$n default; done
|
||||
```
|
||||
|
||||
Then reboot to have it take effect.
|
||||
|
||||
```sh
|
||||
reboot
|
||||
```
|
||||
|
||||
Note that some aliases for shutting down and rebooting in your `.aliases` file
|
||||
are helpful here:
|
||||
|
||||
```sh
|
||||
alias shutdown="doas openrc-shutdown -p 0"
|
||||
alias reboot="doas openrc-shutdown -r 0"
|
||||
```
|
||||
|
||||
## Common packages
|
||||
|
||||
There are tons of packages I like, but a few that will be necessary once X11 is
|
||||
installed are:
|
||||
|
||||
[Matcha Themes](https://github.com/vinceliuice/Matcha-gtk-theme)
|
||||
[Papirus Icon Theme](https://packages.gentoo.org/packages/x11-themes/papirus-icon-theme)
|
||||
[Gobble Window Swallower](https://github.com/EmperorPenguin18/gobble/)
|
||||
|
||||
You can easily find the rest on Gentoo Wiki or Github.
|
||||
|
||||
- LXAppearance
|
||||
- PAVUControl (audio)
|
||||
- Gcolor3
|
||||
- XFCE4-Screenshooter
|
||||
- difftastic (make sure to configure for use with git)
|
||||
- ripgrep
|
||||
- espanso (bring your own)
|
||||
- neovim (bring your own)
|
||||
- bspwm/sxhkd (bring your own)
|
||||
- btop (bring your own catpuccin themes)
|
||||
- st (bring your own, but install official first so libs are available, then
|
||||
uninstall and put your own in `/usr/bin`)
|
||||
- pipewire/pipewire-pulse/wireplumber (see `.xinitrc`)
|
||||
- xbanish
|
||||
- dunst
|
||||
- sxiv (pic viewer)
|
||||
- ripdrag
|
||||
- pcmanfm
|
||||
- gimp
|
||||
- inkscape
|
||||
- krita (flatpak)
|
||||
- libreoffice (flatpak ?)
|
||||
- obs-studio (flatpak!!)
|
||||
- wine
|
||||
- vulkan
|
||||
- ufw (kernel params)
|
||||
- docker (kernel params)
|
||||
- nvidia-drivers (see
|
||||
[wiki](https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers))
|
||||
- [llama.cpp](https://github.com/ggml-org/llama.cpp) (compile with vulkan, not
|
||||
cuda)
|
||||
|
||||
You'll also need fonts:
|
||||
|
||||
```sh
|
||||
emerge -av media-fonts/fonts-meta media-fonts/corefonts media-fonts/symbols-nerd-font
|
||||
```
|
||||
|
|
|
|||
|
|
@ -69,9 +69,6 @@ Within the makemenuconfig:
|
|||
|
||||
General Setup >
|
||||
|
||||
> Kernel Compression Mode
|
||||
> LZ4
|
||||
> POSIX Message Queues > disabled
|
||||
> Disable process_vm_readv/writev syscalls
|
||||
> Disable uselib syscalls (old C libs)
|
||||
> Auditing support (required by SELinux)
|
||||
|
|
@ -176,5 +173,6 @@ Processor type and features >
|
|||
Then just save it, it will save it to .config. Then:
|
||||
|
||||
```sh
|
||||
make -j $(nproc) && make modules install && make install
|
||||
# NOTE: number after `j` can be your cpu processor count minus 2 (leave some for yourself)
|
||||
make -j4 && make modules install && make install
|
||||
```
|
||||
|
|
|
|||
75
gentoo/portage.md
Normal file
75
gentoo/portage.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Portage (Gentoo Package Manager)
|
||||
|
||||
Gentoo's Package Manager is extensive. This doc is just to go over the very
|
||||
basics that are specific to my workflow/machine.
|
||||
|
||||
## Basics
|
||||
|
||||
Updating all packages can be done:
|
||||
|
||||
```sh
|
||||
emaint sync &&
|
||||
emerge -avuDN @world &&
|
||||
dispatch-conf &&
|
||||
emerge -a --distclean &&
|
||||
```
|
||||
|
||||
## Unmasking
|
||||
|
||||
Oftentimes you might receive an error like the following:
|
||||
|
||||
```
|
||||
These are the packages that would be merged, in order:
|
||||
|
||||
Calculating dependencies... done!
|
||||
|
||||
!!! All ebuilds that could satisfy "=dev-java/eclipse-ecj-4.15" have been masked.
|
||||
!!! One of the following masked packages is required to complete your request:
|
||||
- dev-java/eclipse-ecj-4.15::gentoo (masked by: package.mask)
|
||||
/var/db/repos/gentoo/profiles/package.mask:
|
||||
# Miroslav Šulc <fordfrog@gentoo.org> (2020-02-27)
|
||||
# >=dev-java/ant-eclipse-ecj-4.10 depends on masked >=virtual/{jdk,jre}-11
|
||||
# www-servers/tomcat >= 9 depends on masked dev-java/eclipse-ecj
|
||||
|
||||
|
||||
For more information, see the MASKED PACKAGES section in the emerge
|
||||
man page or refer to the Gentoo Handbook.
|
||||
```
|
||||
|
||||
Quick fix of this is simply to `emerge` the package with the autounmask flags
|
||||
before installing:
|
||||
|
||||
```sh
|
||||
touch /etc/portage/package.accept_keywords/zzz_autounmask &&
|
||||
emerge mypackage --autounmask-write --autounmask &&
|
||||
dispatch-conf &&
|
||||
# hit u in the dispatch-conf ui
|
||||
emerge -av mypackage
|
||||
```
|
||||
|
||||
## USE Flags
|
||||
|
||||
USE flags can get complicated, see the
|
||||
[Gentoo Wiki](https://wiki.gentoo.org/wiki/USE_flag) on the subject.
|
||||
|
||||
## CFLAGS
|
||||
|
||||
CFLAGS can indeed adjust compilation speed and binary size depending on
|
||||
settings. See [GCC optimization](https://wiki.gentoo.org/wiki/GCC_optimization)
|
||||
for the full details.
|
||||
|
||||
Of interest are
|
||||
[`-march`](https://wiki.gentoo.org/wiki/GCC_optimization#-march),
|
||||
[`-O`](https://wiki.gentoo.org/wiki/GCC_optimization#-O),
|
||||
[-pipe](https://wiki.gentoo.org/wiki/GCC_optimization#-pipe)
|
||||
|
||||
As long as you set `-O2` or `-O3`, this should be a good compromise with the
|
||||
above. Of interest, but is more dangerous/experimental to play around is
|
||||
[LTO](https://wiki.gentoo.org/wiki/LTO) and
|
||||
[PGO](https://wiki.gentoo.org/wiki/GCC_optimization#Profile_Guided_Optimization_(PGO)).
|
||||
|
||||
## More
|
||||
|
||||
This is just a note saying that this document is very very sparse on purpose.
|
||||
Always consult the Gentoo wiki, this document is meant more as a resource for
|
||||
myself than any sort of actual guide.
|
||||
7
gentoo/portage/binrepos.conf/gentoobinhost.conf
Normal file
7
gentoo/portage/binrepos.conf/gentoobinhost.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# These settings were set by the catalyst build script that automatically
|
||||
# built this stage.
|
||||
# Please consider using a local mirror.
|
||||
|
||||
[gentoobinhost]
|
||||
priority = 1
|
||||
sync-uri = https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64
|
||||
32
gentoo/portage/make.conf
Normal file
32
gentoo/portage/make.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# These settings were set by the catalyst build script that automatically
|
||||
# built this stage.
|
||||
# Please consult /usr/share/portage/config/make.conf.example for a more
|
||||
# detailed example.
|
||||
#
|
||||
COMMON_FLAGS="-O2 -pipe"
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
FCFLAGS="${COMMON_FLAGS}"
|
||||
FFLAGS="${COMMON_FLAGS}"
|
||||
|
||||
# NOTE: This stage was built with the bindist USE flag enabled
|
||||
|
||||
# This sets the language of build output to English.
|
||||
# Please keep this setting intact when reporting bugs.
|
||||
LC_MESSAGES=C.UTF-8
|
||||
MAKEOPTS="-j4"
|
||||
|
||||
|
||||
ACCEPT_LICENSE="*"
|
||||
|
||||
USE="modules-sign xorg elogind X zsh-completion harfbuzz pulseaudio minizip text dbus bluetooth -qtwebengine egl"
|
||||
|
||||
# Portage Logging
|
||||
PORTAGE_ELOG_CLASSES="log warn error"
|
||||
PORTAGE_ELOG_SYSTEM="save"
|
||||
PORTAGE_LOGDIR="/var/log/portage"
|
||||
|
||||
# Temporary Files
|
||||
PORTAGE_TMPDIR="/var/tmp/portage"
|
||||
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ \
|
||||
ftp://tux.rainside.sk/gentoo/"
|
||||
34
gentoo/portage/make.conf.backup
Normal file
34
gentoo/portage/make.conf.backup
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# These settings were set by the catalyst build script that automatically
|
||||
# built this stage.
|
||||
# Please consult /usr/share/portage/config/make.conf.example for a more
|
||||
# detailed example.
|
||||
#
|
||||
COMMON_FLAGS="-O2 -pipe"
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
FCFLAGS="${COMMON_FLAGS}"
|
||||
FFLAGS="${COMMON_FLAGS}"
|
||||
|
||||
# NOTE: This stage was built with the bindist USE flag enabled
|
||||
|
||||
# This sets the language of build output to English.
|
||||
# Please keep this setting intact when reporting bugs.
|
||||
LC_MESSAGES=C.UTF-8
|
||||
MAKEOPTS="-j4"
|
||||
|
||||
GENTOO_MIRRORS="https://mirror.clarkson.edu/gentoo/ \
|
||||
http://mirror.clarkson.edu/gentoo/ \
|
||||
rsync://mirror.clarkson.edu/gentoo/ \
|
||||
"
|
||||
|
||||
ACCEPT_LICENSE="*"
|
||||
|
||||
USE="modules-sign xorg elogind X zsh-completion harfbuzz pulseaudio minizip text dbus bluetooth"
|
||||
|
||||
# Portage Logging
|
||||
PORTAGE_ELOG_CLASSES="log warn error"
|
||||
PORTAGE_ELOG_SYSTEM="save"
|
||||
PORTAGE_LOGDIR="/var/log/portage"
|
||||
|
||||
# Temporary Files
|
||||
PORTAGE_TMPDIR="/var/tmp/portage"
|
||||
1789
gentoo/portage/package.accept_keywords/zz-autounmask
Normal file
1789
gentoo/portage/package.accept_keywords/zz-autounmask
Normal file
File diff suppressed because it is too large
Load diff
1
gentoo/portage/package.use/00cpu-flags
Normal file
1
gentoo/portage/package.use/00cpu-flags
Normal file
|
|
@ -0,0 +1 @@
|
|||
*/* CPU_FLAGS_X86: aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
|
||||
1
gentoo/portage/package.use/00video_cards
Normal file
1
gentoo/portage/package.use/00video_cards
Normal file
|
|
@ -0,0 +1 @@
|
|||
*/* VIDEO_CARDS: virgl
|
||||
1
gentoo/portage/package.use/doas
Normal file
1
gentoo/portage/package.use/doas
Normal file
|
|
@ -0,0 +1 @@
|
|||
app-admin/doas persist
|
||||
11
gentoo/portage/package.use/installkernel
Normal file
11
gentoo/portage/package.use/installkernel
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
sys-kernel/installkernel grub dracut
|
||||
# required by media-libs/mesa-25.1.9::gentoo
|
||||
# required by x11-drivers/xf86-video-ati-22.0.0::gentoo
|
||||
# required by x11-base/xorg-drivers-21.1-r2::gentoo[video_cards_radeonsi,video_cards_radeon]
|
||||
# required by x11-base/xorg-server-21.1.20::gentoo[xorg]
|
||||
# required by x11-drivers/xf86-input-libinput-1.5.0::gentoo
|
||||
>=media-libs/libglvnd-1.7.0 X
|
||||
# required by x11-base/xorg-server-21.1.20::gentoo[elogind]
|
||||
# required by x11-drivers/xf86-input-libinput-1.5.0::gentoo
|
||||
# required by x11-base/xorg-drivers-21.1-r2::gentoo[input_devices_libinput]
|
||||
>=sys-auth/pambase-20251013 elogind
|
||||
1
gentoo/portage/package.use/krita
Normal file
1
gentoo/portage/package.use/krita
Normal file
|
|
@ -0,0 +1 @@
|
|||
media-gfx/krita declarative network
|
||||
1
gentoo/portage/package.use/librewolf-bin
Normal file
1
gentoo/portage/package.use/librewolf-bin
Normal file
|
|
@ -0,0 +1 @@
|
|||
www-client/librewolf-bin harfbuzz pulseaudio system-pipewire
|
||||
1
gentoo/portage/package.use/onlyoffice-bin
Normal file
1
gentoo/portage/package.use/onlyoffice-bin
Normal file
|
|
@ -0,0 +1 @@
|
|||
app-office/onlyoffice-bin egl
|
||||
1
gentoo/portage/package.use/picom
Normal file
1
gentoo/portage/package.use/picom
Normal file
|
|
@ -0,0 +1 @@
|
|||
x11-misc/picom doc drm dbus opengl pcre
|
||||
1
gentoo/portage/package.use/pyqt5
Normal file
1
gentoo/portage/package.use/pyqt5
Normal file
|
|
@ -0,0 +1 @@
|
|||
dev-python/pyqt5 network debug declarative gui ssl widgets
|
||||
1
gentoo/portage/package.use/python
Normal file
1
gentoo/portage/package.use/python
Normal file
|
|
@ -0,0 +1 @@
|
|||
*/* PYTHON_TARGETS: python3_14 python3_13
|
||||
1
gentoo/portage/package.use/qt5compat
Normal file
1
gentoo/portage/package.use/qt5compat
Normal file
|
|
@ -0,0 +1 @@
|
|||
dev-qt/qt5compat icu
|
||||
1
gentoo/portage/package.use/qtbase
Normal file
1
gentoo/portage/package.use/qtbase
Normal file
|
|
@ -0,0 +1 @@
|
|||
dev-qt/qtbase opengl
|
||||
1
gentoo/portage/package.use/qtdeclarative
Normal file
1
gentoo/portage/package.use/qtdeclarative
Normal file
|
|
@ -0,0 +1 @@
|
|||
dev-qt/qtdeclarative opengl
|
||||
1
gentoo/portage/package.use/qttools
Normal file
1
gentoo/portage/package.use/qttools
Normal file
|
|
@ -0,0 +1 @@
|
|||
dev-qt/qttools opengl
|
||||
1
gentoo/portage/package.use/st
Normal file
1
gentoo/portage/package.use/st
Normal file
|
|
@ -0,0 +1 @@
|
|||
x11-terms/st savedconfig
|
||||
1
gentoo/portage/package.use/tealdeer
Normal file
1
gentoo/portage/package.use/tealdeer
Normal file
|
|
@ -0,0 +1 @@
|
|||
app-misc/tealdeer
|
||||
1
gentoo/portage/package.use/ufw
Normal file
1
gentoo/portage/package.use/ufw
Normal file
|
|
@ -0,0 +1 @@
|
|||
net-firewall/ufw ipv6
|
||||
0
gentoo/portage/package.use/xorg
Normal file
0
gentoo/portage/package.use/xorg
Normal file
99
gentoo/portage/package.use/zsh
Normal file
99
gentoo/portage/package.use/zsh
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
app-shells/zsh caps debug <F3>oc examples gdbm pcre
|
||||
# required by www-client/ungoogled-chromium-bin-142.0.7444.162::pf4public
|
||||
# required by www-client/ungoogled-chromium-bin (argument)
|
||||
>=sys-libs/zlib-1.3.1-r1 minizip
|
||||
# required by x11-misc/xdg-utils-1.2.1-r9::gentoo
|
||||
# required by net-print/cups-2.4.14::gentoo[X]
|
||||
# required by www-client/ungoogled-chromium-bin-142.0.7444.162::pf4public
|
||||
# required by www-client/ungoogled-chromium-bin (argument)
|
||||
>=app-text/xmlto-0.0.28-r11 text
|
||||
# required by x11-misc/pcmanfm-1.3.2-r2::gentoo
|
||||
# required by x11-misc/pcmanfm (argument)
|
||||
>=x11-libs/libfm-1.3.2-r1 gtk
|
||||
# required by gnome-base/gnome-keyring-48.0-r1::gentoo
|
||||
# required by virtual/secret-service-0-r1::gentoo
|
||||
# required by app-crypt/libsecret-0.21.7::gentoo
|
||||
# required by app-crypt/gcr-4.4.0.1-r1::gentoo
|
||||
# required by gnome-base/gvfs-1.56.1-r2::gentoo
|
||||
# required by x11-libs/libfm-1.3.2-r1::gentoo[automount,-udisks]
|
||||
# required by x11-misc/pcmanfm-1.3.2-r2::gentoo
|
||||
# required by x11-misc/pcmanfm (argument)
|
||||
>=app-crypt/gcr-3.41.2-r2:0 gtk
|
||||
# required by gui-apps/gcolor3-2.4.0::guru
|
||||
# required by gcolor3 (argument)
|
||||
>=dev-libs/libportal-0.9.1 gtk
|
||||
# required by media-gfx/gimp-2.10.38-r3::gentoo
|
||||
# required by gimp (argument)
|
||||
>=app-text/poppler-25.11.0 cairo
|
||||
# required by media-gfx/gimp-2.10.38-r3::gentoo
|
||||
# required by gimp (argument)
|
||||
>=media-libs/gegl-0.4.58 cairo
|
||||
# required by media-gfx/inkscape-1.4.2::gentoo[python_single_target_python3_13]
|
||||
# required by inkscape (argument)
|
||||
>=dev-python/pillow-11.3.0 webp tiff
|
||||
# required by dev-python/pillow-11.3.0::gentoo[-test,tiff]
|
||||
# required by media-gfx/inkscape-1.4.2::gentoo[python_single_target_python3_13]
|
||||
# required by inkscape (argument)
|
||||
>=media-libs/tiff-4.7.0-r1 jpeg
|
||||
# required by xfce-base/xfce4-panel-4.20.5::gentoo[dbusmenu]
|
||||
# required by xfce-extra/xfce4-screenshooter-1.11.2::gentoo
|
||||
# required by xfce4-screenshooter (argument)
|
||||
>=dev-libs/libdbusmenu-16.04.0-r4 gtk3
|
||||
# required by media-gfx/krita-5.2.13::gentoo[python_single_target_python3_13]
|
||||
# required by krita (argument)
|
||||
>=dev-python/pyqt5-5.15.11 widgets declarative gui
|
||||
# required by dev-qt/qtwayland-6.9.3::gentoo
|
||||
# required by kde-plasma/libplasma-6.4.5::gentoo
|
||||
# required by kde-plasma/polkit-kde-agent-6.4.5::gentoo
|
||||
# required by kde-frameworks/kauth-5.116.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kconfigwidgets-5.116.0::gentoo
|
||||
# required by kde-frameworks/kiconthemes-5.116.0::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=dev-qt/qtbase-6.9.3 libproxy wayland icu opengl
|
||||
# required by kde-frameworks/kauth-6.18.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kio-6.18.0::gentoo
|
||||
# required by kde-plasma/libplasma-6.4.5::gentoo
|
||||
# required by kde-plasma/polkit-kde-agent-6.4.5::gentoo
|
||||
# required by kde-frameworks/kauth-5.116.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kconfigwidgets-5.116.0::gentoo
|
||||
# required by kde-frameworks/kiconthemes-5.116.0::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=kde-frameworks/kwindowsystem-6.18.0 wayland
|
||||
# required by kde-plasma/polkit-kde-agent-6.4.5::gentoo
|
||||
# required by kde-frameworks/kauth-5.116.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kconfigwidgets-5.116.0::gentoo
|
||||
# required by kde-frameworks/kiconthemes-5.116.0::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=dev-qt/qt5compat-6.9.3 qml
|
||||
# required by kde-plasma/libplasma-6.4.5::gentoo
|
||||
# required by kde-plasma/polkit-kde-agent-6.4.5::gentoo
|
||||
# required by kde-frameworks/kauth-5.116.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kconfigwidgets-5.116.0::gentoo
|
||||
# required by kde-frameworks/kiconthemes-5.116.0::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=kde-frameworks/kconfig-6.18.0 qml
|
||||
# required by kde-frameworks/kauth-5.116.0::gentoo[policykit]
|
||||
# required by kde-frameworks/kconfigwidgets-5.116.0::gentoo
|
||||
# required by kde-frameworks/kiconthemes-5.116.0::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=sys-auth/polkit-qt-0.200.0 qt5
|
||||
# required by kde-frameworks/kcoreaddons-5.116.0::gentoo
|
||||
# required by kde-frameworks/kcrash-5.116.0::gentoo
|
||||
# required by kde-frameworks/kglobalaccel-5.116.0-r2::gentoo
|
||||
# required by kde-frameworks/kxmlgui-5.116.0::gentoo
|
||||
# required by media-gfx/krita-5.2.13::gentoo
|
||||
# required by media-gfx/krita (argument)
|
||||
>=dev-qt/qtcore-5.15.18 icu
|
||||
# required by app-office/onlyoffice-bin-9.0.4::gentoo
|
||||
# required by onlyoffice-bin (argument)
|
||||
>=dev-qt/qtgui-5.15.18 eglfs
|
||||
6
gentoo/portage/repos.conf/eselect-repo.conf
Normal file
6
gentoo/portage/repos.conf/eselect-repo.conf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# created by eselect-repo
|
||||
|
||||
[pf4public]
|
||||
location = /var/db/repos/pf4public
|
||||
sync-type = git
|
||||
sync-uri = https://github.com/PF4Public/gentoo-overlay.git
|
||||
4
gentoo/portage/repos.conf/guru.conf
Normal file
4
gentoo/portage/repos.conf/guru.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[guru]
|
||||
location = /var/db/repos/guru
|
||||
sync-type = git
|
||||
sync-uri = https://github.com/gentoo-mirror/guru.git
|
||||
6
gentoo/portage/repos.conf/librewolf.conf
Normal file
6
gentoo/portage/repos.conf/librewolf.conf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[librewolf]
|
||||
priority = 50
|
||||
location = /var/db/repos/librewolf
|
||||
sync-type = git
|
||||
sync-uri = https://codeberg.org/librewolf/gentoo.git
|
||||
auto-sync = Yes
|
||||
152
gentoo/portage/savedconfig/media-gfx/sxiv-26
Normal file
152
gentoo/portage/savedconfig/media-gfx/sxiv-26
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
#ifdef _WINDOW_CONFIG
|
||||
|
||||
/* default window dimensions (overwritten via -g option): */
|
||||
enum {
|
||||
WIN_WIDTH = 800,
|
||||
WIN_HEIGHT = 600
|
||||
};
|
||||
|
||||
/* colors and font are configured with 'background', 'foreground' and
|
||||
* 'font' X resource properties.
|
||||
* See X(7) section Resources and xrdb(1) for more information.
|
||||
*/
|
||||
|
||||
#endif
|
||||
#ifdef _IMAGE_CONFIG
|
||||
|
||||
/* levels (in percent) to use when zooming via '-' and '+':
|
||||
* (first/last value is used as min/max zoom level)
|
||||
*/
|
||||
static const float zoom_levels[] = {
|
||||
12.5, 25.0, 50.0, 75.0,
|
||||
100.0, 150.0, 200.0, 400.0, 800.0
|
||||
};
|
||||
|
||||
/* default slideshow delay (in sec, overwritten via -S option): */
|
||||
enum { SLIDESHOW_DELAY = 5 };
|
||||
|
||||
/* gamma correction: the user-visible ranges [-GAMMA_RANGE, 0] and
|
||||
* (0, GAMMA_RANGE] are mapped to the ranges [0, 1], and (1, GAMMA_MAX].
|
||||
* */
|
||||
static const double GAMMA_MAX = 10.0;
|
||||
static const int GAMMA_RANGE = 32;
|
||||
|
||||
/* command i_scroll pans image 1/PAN_FRACTION of screen width/height */
|
||||
static const int PAN_FRACTION = 5;
|
||||
|
||||
/* if false, pixelate images at zoom level != 100%,
|
||||
* toggled with 'a' key binding
|
||||
*/
|
||||
static const bool ANTI_ALIAS = true;
|
||||
|
||||
/* if true, use a checkerboard background for alpha layer,
|
||||
* toggled with 'A' key binding
|
||||
*/
|
||||
static const bool ALPHA_LAYER = false;
|
||||
|
||||
#endif
|
||||
#ifdef _THUMBS_CONFIG
|
||||
|
||||
/* thumbnail sizes in pixels (width == height): */
|
||||
static const int thumb_sizes[] = { 32, 64, 96, 128, 160 };
|
||||
|
||||
/* thumbnail size at startup, index into thumb_sizes[]: */
|
||||
static const int THUMB_SIZE = 3;
|
||||
|
||||
#endif
|
||||
#ifdef _MAPPINGS_CONFIG
|
||||
|
||||
/* keyboard mappings for image and thumbnail mode: */
|
||||
static const keymap_t keys[] = {
|
||||
/* modifiers key function argument */
|
||||
{ 0, XK_q, g_quit, None },
|
||||
{ 0, XK_Return, g_switch_mode, None },
|
||||
{ 0, XK_f, g_toggle_fullscreen, None },
|
||||
{ 0, XK_b, g_toggle_bar, None },
|
||||
{ ControlMask, XK_x, g_prefix_external, None },
|
||||
{ 0, XK_g, g_first, None },
|
||||
{ 0, XK_G, g_n_or_last, None },
|
||||
{ 0, XK_r, g_reload_image, None },
|
||||
{ 0, XK_D, g_remove_image, None },
|
||||
{ ControlMask, XK_h, g_scroll_screen, DIR_LEFT },
|
||||
{ ControlMask, XK_Left, g_scroll_screen, DIR_LEFT },
|
||||
{ ControlMask, XK_j, g_scroll_screen, DIR_DOWN },
|
||||
{ ControlMask, XK_Down, g_scroll_screen, DIR_DOWN },
|
||||
{ ControlMask, XK_k, g_scroll_screen, DIR_UP },
|
||||
{ ControlMask, XK_Up, g_scroll_screen, DIR_UP },
|
||||
{ ControlMask, XK_l, g_scroll_screen, DIR_RIGHT },
|
||||
{ ControlMask, XK_Right, g_scroll_screen, DIR_RIGHT },
|
||||
{ 0, XK_plus, g_zoom, +1 },
|
||||
{ 0, XK_KP_Add, g_zoom, +1 },
|
||||
{ 0, XK_minus, g_zoom, -1 },
|
||||
{ 0, XK_KP_Subtract, g_zoom, -1 },
|
||||
{ 0, XK_m, g_toggle_image_mark, None },
|
||||
{ 0, XK_M, g_mark_range, None },
|
||||
{ ControlMask, XK_m, g_reverse_marks, None },
|
||||
{ ControlMask, XK_u, g_unmark_all, None },
|
||||
{ 0, XK_N, g_navigate_marked, +1 },
|
||||
{ 0, XK_P, g_navigate_marked, -1 },
|
||||
{ 0, XK_braceleft, g_change_gamma, -1 },
|
||||
{ 0, XK_braceright, g_change_gamma, +1 },
|
||||
{ ControlMask, XK_g, g_change_gamma, 0 },
|
||||
|
||||
{ 0, XK_h, t_move_sel, DIR_LEFT },
|
||||
{ 0, XK_Left, t_move_sel, DIR_LEFT },
|
||||
{ 0, XK_j, t_move_sel, DIR_DOWN },
|
||||
{ 0, XK_Down, t_move_sel, DIR_DOWN },
|
||||
{ 0, XK_k, t_move_sel, DIR_UP },
|
||||
{ 0, XK_Up, t_move_sel, DIR_UP },
|
||||
{ 0, XK_l, t_move_sel, DIR_RIGHT },
|
||||
{ 0, XK_Right, t_move_sel, DIR_RIGHT },
|
||||
{ 0, XK_R, t_reload_all, None },
|
||||
|
||||
{ 0, XK_n, i_navigate, +1 },
|
||||
{ 0, XK_n, i_scroll_to_edge, DIR_LEFT | DIR_UP },
|
||||
{ 0, XK_space, i_navigate, +1 },
|
||||
{ 0, XK_p, i_navigate, -1 },
|
||||
{ 0, XK_p, i_scroll_to_edge, DIR_LEFT | DIR_UP },
|
||||
{ 0, XK_BackSpace, i_navigate, -1 },
|
||||
{ 0, XK_bracketright, i_navigate, +10 },
|
||||
{ 0, XK_bracketleft, i_navigate, -10 },
|
||||
{ ControlMask, XK_6, i_alternate, None },
|
||||
{ ControlMask, XK_n, i_navigate_frame, +1 },
|
||||
{ ControlMask, XK_p, i_navigate_frame, -1 },
|
||||
{ ControlMask, XK_space, i_toggle_animation, None },
|
||||
{ 0, XK_h, i_scroll, DIR_LEFT },
|
||||
{ 0, XK_Left, i_scroll, DIR_LEFT },
|
||||
{ 0, XK_j, i_scroll, DIR_DOWN },
|
||||
{ 0, XK_Down, i_scroll, DIR_DOWN },
|
||||
{ 0, XK_k, i_scroll, DIR_UP },
|
||||
{ 0, XK_Up, i_scroll, DIR_UP },
|
||||
{ 0, XK_l, i_scroll, DIR_RIGHT },
|
||||
{ 0, XK_Right, i_scroll, DIR_RIGHT },
|
||||
{ 0, XK_H, i_scroll_to_edge, DIR_LEFT },
|
||||
{ 0, XK_J, i_scroll_to_edge, DIR_DOWN },
|
||||
{ 0, XK_K, i_scroll_to_edge, DIR_UP },
|
||||
{ 0, XK_L, i_scroll_to_edge, DIR_RIGHT },
|
||||
{ 0, XK_equal, i_set_zoom, 100 },
|
||||
{ 0, XK_w, i_fit_to_win, SCALE_DOWN },
|
||||
{ 0, XK_W, i_fit_to_win, SCALE_FIT },
|
||||
{ 0, XK_e, i_fit_to_win, SCALE_WIDTH },
|
||||
{ 0, XK_E, i_fit_to_win, SCALE_HEIGHT },
|
||||
{ 0, XK_less, i_rotate, DEGREE_270 },
|
||||
{ 0, XK_greater, i_rotate, DEGREE_90 },
|
||||
{ 0, XK_question, i_rotate, DEGREE_180 },
|
||||
{ 0, XK_bar, i_flip, FLIP_HORIZONTAL },
|
||||
{ 0, XK_underscore, i_flip, FLIP_VERTICAL },
|
||||
{ 0, XK_a, i_toggle_antialias, None },
|
||||
{ 0, XK_A, i_toggle_alpha, None },
|
||||
{ 0, XK_s, i_slideshow, None },
|
||||
};
|
||||
|
||||
/* mouse button mappings for image mode: */
|
||||
static const button_t buttons[] = {
|
||||
/* modifiers button function argument */
|
||||
{ 0, 1, i_cursor_navigate, None },
|
||||
{ 0, 2, i_drag, DRAG_ABSOLUTE },
|
||||
{ 0, 3, g_switch_mode, None },
|
||||
{ 0, 4, g_zoom, +1 },
|
||||
{ 0, 5, g_zoom, -1 },
|
||||
};
|
||||
|
||||
#endif
|
||||
5045
gentoo/portage/savedconfig/sys-kernel/linux-firmware-20250808
Normal file
5045
gentoo/portage/savedconfig/sys-kernel/linux-firmware-20250808
Normal file
File diff suppressed because it is too large
Load diff
23
gentoo/portage/savedconfig/x11-misc/dmenu-5.4
Normal file
23
gentoo/portage/savedconfig/x11-misc/dmenu-5.4
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
/* Default settings; can be overriden by command line. */
|
||||
|
||||
static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */
|
||||
/* -fn option overrides fonts[0]; default X11 font or font set */
|
||||
static const char *fonts[] = {
|
||||
"monospace:size=10"
|
||||
};
|
||||
static const char *prompt = NULL; /* -p option; prompt to the left of input field */
|
||||
static const char *colors[SchemeLast][2] = {
|
||||
/* fg bg */
|
||||
[SchemeNorm] = { "#bbbbbb", "#222222" },
|
||||
[SchemeSel] = { "#eeeeee", "#005577" },
|
||||
[SchemeOut] = { "#000000", "#00ffff" },
|
||||
};
|
||||
/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
|
||||
static unsigned int lines = 0;
|
||||
|
||||
/*
|
||||
* Characters not considered part of a word while deleting words
|
||||
* for example: " /?\"&[]"
|
||||
*/
|
||||
static const char worddelimiters[] = " ";
|
||||
482
gentoo/portage/savedconfig/x11-terms/st-0.9.2
Normal file
482
gentoo/portage/savedconfig/x11-terms/st-0.9.2
Normal file
|
|
@ -0,0 +1,482 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/*
|
||||
* appearance
|
||||
*
|
||||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
// static char *font = "Source Code Pro:pixelsize=20:antialias=true:autohint=true";
|
||||
static char *font = "mono:pixelsize=18.5:antialias=true:autohint=true";
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
* What program is execed by st depends of these precedence rules:
|
||||
* 1: program passed with -e
|
||||
* 2: scroll and/or utmp
|
||||
* 3: SHELL environment variable
|
||||
* 4: value of shell in /etc/passwd
|
||||
* 5: value of shell in config.h
|
||||
*/
|
||||
static char *shell = "/bin/sh";
|
||||
char *utmp = NULL;
|
||||
/* scroll program: to enable use a string like "scroll" */
|
||||
char *scroll = NULL;
|
||||
char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
|
||||
|
||||
/* identification sequence returned in DA and DECID */
|
||||
char *vtiden = "\033[?6c";
|
||||
|
||||
/* Kerning / character bounding-box multipliers */
|
||||
static float cwscale = 1.0;
|
||||
static float chscale = 1.0;
|
||||
|
||||
/*
|
||||
* word delimiter string
|
||||
*
|
||||
* More advanced example: L" `'\"()[]{}"
|
||||
*/
|
||||
wchar_t *worddelimiters = L" ";
|
||||
|
||||
/* selection timeouts (in milliseconds) */
|
||||
static unsigned int doubleclicktimeout = 300;
|
||||
static unsigned int tripleclicktimeout = 600;
|
||||
|
||||
/* alt screens */
|
||||
int allowaltscreen = 1;
|
||||
|
||||
/* allow certain non-interactive (insecure) window operations such as:
|
||||
setting the clipboard text */
|
||||
int allowwindowops = 0;
|
||||
|
||||
/*
|
||||
* draw latency range in ms - from new content/keypress/etc until drawing.
|
||||
* within this range, st draws when content stops arriving (idle). mostly it's
|
||||
* near minlatency, but it waits longer for slow updates to avoid partial draw.
|
||||
* low minlatency will tear/flicker more, as it can "detect" idle too early.
|
||||
*/
|
||||
static double minlatency = 8;
|
||||
static double maxlatency = 33;
|
||||
|
||||
/*
|
||||
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
||||
* attribute.
|
||||
*/
|
||||
static unsigned int blinktimeout = 800;
|
||||
|
||||
/*
|
||||
* thickness of underline and bar cursors
|
||||
*/
|
||||
static unsigned int cursorthickness = 2;
|
||||
|
||||
/*
|
||||
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
||||
* it
|
||||
*/
|
||||
static int bellvolume = 0;
|
||||
|
||||
/* default TERM value */
|
||||
char *termname = "st-256color";
|
||||
|
||||
/*
|
||||
* spaces per tab
|
||||
*
|
||||
* When you are changing this value, don't forget to adapt the »it« value in
|
||||
* the st.info and appropriately install the st.info in the environment where
|
||||
* you use this st version.
|
||||
*
|
||||
* it#$tabspaces,
|
||||
*
|
||||
* Secondly make sure your kernel is not expanding tabs. When running `stty
|
||||
* -a` »tab0« should appear. You can tell the terminal to not expand tabs by
|
||||
* running following command:
|
||||
*
|
||||
* stty tabs
|
||||
*/
|
||||
unsigned int tabspaces = 8;
|
||||
|
||||
/* bg opacity */
|
||||
float alpha = 0.7;
|
||||
|
||||
/* Terminal colors (16 first used in escape sequence) */
|
||||
static const char *colorname[] = {
|
||||
/* 8 normal colors */
|
||||
"#3b4252", /* black */
|
||||
"#bf616a", /* red */
|
||||
"#a3be8c", /* green */
|
||||
"#ebcb8b", /* yellow */
|
||||
"#81a1c1", /* blue */
|
||||
"#b48ead", /* magenta */
|
||||
"#88c0d0", /* cyan */
|
||||
"#e5e9f0", /* white */
|
||||
|
||||
/* 8 bright colors */
|
||||
"#4c566a", /* black */
|
||||
"#bf616a", /* red */
|
||||
"#a3be8c", /* green */
|
||||
"#ebcb8b", /* yellow */
|
||||
"#81a1c1", /* blue */
|
||||
"#b48ead", /* magenta */
|
||||
"#8fbcbb", /* cyan */
|
||||
"#eceff4", /* white */
|
||||
|
||||
[255] = 0,
|
||||
|
||||
/* more colors can be added after 255 to use with DefaultXX */
|
||||
// "#2e3440", // background //
|
||||
// "#1d222b", // background //
|
||||
"#1a1e26", // background //
|
||||
"#d8dee9", /* foreground */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Default colors (colorname index)
|
||||
* foreground, background, cursor, reverse cursor
|
||||
*/
|
||||
unsigned int defaultfg = 257;
|
||||
unsigned int defaultbg = 256;
|
||||
unsigned int defaultcs = 257;
|
||||
static unsigned int defaultrcs = 256;
|
||||
|
||||
/*
|
||||
* Default shape of cursor
|
||||
* 2: Block ("█")
|
||||
* 4: Underline ("_")
|
||||
* 6: Bar ("|")
|
||||
* 7: Snowman ("☃")
|
||||
*/
|
||||
static unsigned int cursorshape = 2;
|
||||
|
||||
/*
|
||||
* Default columns and rows numbers
|
||||
*/
|
||||
|
||||
// static unsigned int cols = 80;
|
||||
static unsigned int cols = 150;
|
||||
// static unsigned int rows = 24;
|
||||
static unsigned int rows = 36;
|
||||
|
||||
/*
|
||||
* Default colour and shape of the mouse cursor
|
||||
*/
|
||||
static unsigned int mouseshape = XC_xterm;
|
||||
static unsigned int mousefg = 7;
|
||||
static unsigned int mousebg = 0;
|
||||
|
||||
/*
|
||||
* Color used to display font attributes when fontconfig selected a font which
|
||||
* doesn't match the ones requested.
|
||||
*/
|
||||
static unsigned int defaultattr = 11;
|
||||
|
||||
/*
|
||||
* Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
|
||||
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
||||
* modifier, set to 0 to not use it.
|
||||
*/
|
||||
static uint forcemousemod = ShiftMask;
|
||||
|
||||
/*
|
||||
* Internal mouse shortcuts.
|
||||
* Beware that overloading Button1 will disable the selection.
|
||||
*/
|
||||
static MouseShortcut mshortcuts[] = {
|
||||
/* mask button function argument release */
|
||||
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
||||
{ ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
|
||||
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
|
||||
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
||||
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
|
||||
};
|
||||
|
||||
/* Internal keyboard shortcuts. */
|
||||
#define MODKEY Mod1Mask
|
||||
#define TERMMOD (ControlMask|ShiftMask)
|
||||
|
||||
static Shortcut shortcuts[] = {
|
||||
/* mask keysym function argument */
|
||||
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
||||
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
||||
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
||||
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
||||
{ TERMMOD, XK_Prior, zoom, {.f = +1} },
|
||||
{ TERMMOD, XK_Next, zoom, {.f = -1} },
|
||||
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
||||
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
||||
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
|
||||
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
|
||||
{ ShiftMask, XK_Page_Up, kscrollup, {.i = -1} },
|
||||
{ ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} },
|
||||
};
|
||||
|
||||
/*
|
||||
* Special keys (change & recompile st.info accordingly)
|
||||
*
|
||||
* Mask value:
|
||||
* * Use XK_ANY_MOD to match the key no matter modifiers state
|
||||
* * Use XK_NO_MOD to match the key alone (no modifiers)
|
||||
* appkey value:
|
||||
* * 0: no value
|
||||
* * > 0: keypad application mode enabled
|
||||
* * = 2: term.numlock = 1
|
||||
* * < 0: keypad application mode disabled
|
||||
* appcursor value:
|
||||
* * 0: no value
|
||||
* * > 0: cursor application mode enabled
|
||||
* * < 0: cursor application mode disabled
|
||||
*
|
||||
* Be careful with the order of the definitions because st searches in
|
||||
* this table sequentially, so any XK_ANY_MOD must be in the last
|
||||
* position for a key.
|
||||
*/
|
||||
|
||||
/*
|
||||
* If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
|
||||
* to be mapped below, add them to this array.
|
||||
*/
|
||||
static KeySym mappedkeys[] = { -1 };
|
||||
|
||||
/*
|
||||
* State bits to ignore when matching key or button events. By default,
|
||||
* numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
|
||||
*/
|
||||
static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
|
||||
|
||||
/*
|
||||
* This is the huge key array which defines all compatibility to the Linux
|
||||
* world. Please decide about changes wisely.
|
||||
*/
|
||||
static Key key[] = {
|
||||
/* keysym mask string appkey appcursor */
|
||||
{ XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
|
||||
{ XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
|
||||
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
|
||||
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
|
||||
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
|
||||
{ XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
|
||||
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
|
||||
{ XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
|
||||
{ XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
|
||||
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
|
||||
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
|
||||
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
|
||||
{ XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
|
||||
{ XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
|
||||
{ XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
|
||||
{ XK_Up, ShiftMask, "\033[1;2A", 0, 0},
|
||||
{ XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
|
||||
{ XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
|
||||
{ XK_Up, ControlMask, "\033[1;5A", 0, 0},
|
||||
{ XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
|
||||
{ XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
|
||||
{ XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
|
||||
{ XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_Down, ShiftMask, "\033[1;2B", 0, 0},
|
||||
{ XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
|
||||
{ XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
|
||||
{ XK_Down, ControlMask, "\033[1;5B", 0, 0},
|
||||
{ XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
|
||||
{ XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
|
||||
{ XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
|
||||
{ XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_Left, ShiftMask, "\033[1;2D", 0, 0},
|
||||
{ XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
|
||||
{ XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
|
||||
{ XK_Left, ControlMask, "\033[1;5D", 0, 0},
|
||||
{ XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
|
||||
{ XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
|
||||
{ XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
|
||||
{ XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_Right, ShiftMask, "\033[1;2C", 0, 0},
|
||||
{ XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
|
||||
{ XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
|
||||
{ XK_Right, ControlMask, "\033[1;5C", 0, 0},
|
||||
{ XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
|
||||
{ XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
|
||||
{ XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
|
||||
{ XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
|
||||
{ XK_Return, Mod1Mask, "\033\r", 0, 0},
|
||||
{ XK_Return, XK_ANY_MOD, "\r", 0, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
|
||||
{ XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
|
||||
{ XK_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_Prior, ControlMask, "\033[5;5~", 0, 0},
|
||||
{ XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_Next, ControlMask, "\033[6;5~", 0, 0},
|
||||
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
|
||||
{ XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
|
||||
{ XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
|
||||
{ XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
|
||||
{ XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
|
||||
{ XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
|
||||
{ XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
|
||||
{ XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
|
||||
{ XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
|
||||
{ XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
|
||||
{ XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
|
||||
{ XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
|
||||
{ XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
|
||||
{ XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
|
||||
{ XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
|
||||
{ XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
|
||||
{ XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
|
||||
{ XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
|
||||
{ XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
|
||||
{ XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
|
||||
{ XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
|
||||
{ XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
|
||||
{ XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
|
||||
{ XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
|
||||
{ XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
|
||||
{ XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
|
||||
{ XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
|
||||
{ XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
|
||||
{ XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
|
||||
{ XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
|
||||
{ XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
|
||||
{ XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
|
||||
{ XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
|
||||
{ XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
|
||||
{ XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
|
||||
{ XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
|
||||
{ XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
|
||||
{ XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
|
||||
{ XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
|
||||
{ XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
|
||||
{ XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
|
||||
{ XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
|
||||
{ XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
|
||||
{ XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
|
||||
{ XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
|
||||
{ XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
|
||||
{ XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
|
||||
{ XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
|
||||
{ XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
|
||||
{ XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
|
||||
{ XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
|
||||
{ XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
|
||||
{ XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
|
||||
{ XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
|
||||
{ XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
|
||||
{ XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
|
||||
{ XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
|
||||
{ XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
|
||||
{ XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
|
||||
{ XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
|
||||
{ XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
|
||||
{ XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
|
||||
{ XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
|
||||
{ XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
|
||||
{ XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
|
||||
{ XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
|
||||
{ XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
|
||||
{ XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
|
||||
{ XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
|
||||
{ XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
|
||||
{ XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
|
||||
{ XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
|
||||
{ XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
|
||||
{ XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
|
||||
{ XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
|
||||
{ XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
|
||||
{ XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
|
||||
{ XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
|
||||
{ XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
|
||||
{ XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
|
||||
{ XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
|
||||
{ XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
|
||||
{ XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
|
||||
{ XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
|
||||
{ XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
|
||||
{ XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
|
||||
};
|
||||
|
||||
/*
|
||||
* Selection types' masks.
|
||||
* Use the same masks as usual.
|
||||
* Button1Mask is always unset, to make masks match between ButtonPress.
|
||||
* ButtonRelease and MotionNotify.
|
||||
* If no match is found, regular selection is used.
|
||||
*/
|
||||
static uint selmasks[] = {
|
||||
[SEL_RECTANGULAR] = Mod1Mask,
|
||||
};
|
||||
|
||||
/*
|
||||
* Printable characters in ASCII, used to estimate the advance width
|
||||
* of single wide characters.
|
||||
*/
|
||||
static char ascii_printable[] =
|
||||
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
||||
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
||||
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
||||
474
gentoo/portage/savedconfig/x11-terms/st-0.9.2.bak
Normal file
474
gentoo/portage/savedconfig/x11-terms/st-0.9.2.bak
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/*
|
||||
* appearance
|
||||
*
|
||||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
* What program is execed by st depends of these precedence rules:
|
||||
* 1: program passed with -e
|
||||
* 2: scroll and/or utmp
|
||||
* 3: SHELL environment variable
|
||||
* 4: value of shell in /etc/passwd
|
||||
* 5: value of shell in config.h
|
||||
*/
|
||||
static char *shell = "/bin/sh";
|
||||
char *utmp = NULL;
|
||||
/* scroll program: to enable use a string like "scroll" */
|
||||
char *scroll = NULL;
|
||||
char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
|
||||
|
||||
/* identification sequence returned in DA and DECID */
|
||||
char *vtiden = "\033[?6c";
|
||||
|
||||
/* Kerning / character bounding-box multipliers */
|
||||
static float cwscale = 1.0;
|
||||
static float chscale = 1.0;
|
||||
|
||||
/*
|
||||
* word delimiter string
|
||||
*
|
||||
* More advanced example: L" `'\"()[]{}"
|
||||
*/
|
||||
wchar_t *worddelimiters = L" ";
|
||||
|
||||
/* selection timeouts (in milliseconds) */
|
||||
static unsigned int doubleclicktimeout = 300;
|
||||
static unsigned int tripleclicktimeout = 600;
|
||||
|
||||
/* alt screens */
|
||||
int allowaltscreen = 1;
|
||||
|
||||
/* allow certain non-interactive (insecure) window operations such as:
|
||||
setting the clipboard text */
|
||||
int allowwindowops = 0;
|
||||
|
||||
/*
|
||||
* draw latency range in ms - from new content/keypress/etc until drawing.
|
||||
* within this range, st draws when content stops arriving (idle). mostly it's
|
||||
* near minlatency, but it waits longer for slow updates to avoid partial draw.
|
||||
* low minlatency will tear/flicker more, as it can "detect" idle too early.
|
||||
*/
|
||||
static double minlatency = 2;
|
||||
static double maxlatency = 33;
|
||||
|
||||
/*
|
||||
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
||||
* attribute.
|
||||
*/
|
||||
static unsigned int blinktimeout = 800;
|
||||
|
||||
/*
|
||||
* thickness of underline and bar cursors
|
||||
*/
|
||||
static unsigned int cursorthickness = 2;
|
||||
|
||||
/*
|
||||
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
||||
* it
|
||||
*/
|
||||
static int bellvolume = 0;
|
||||
|
||||
/* default TERM value */
|
||||
char *termname = "st-256color";
|
||||
|
||||
/*
|
||||
* spaces per tab
|
||||
*
|
||||
* When you are changing this value, don't forget to adapt the »it« value in
|
||||
* the st.info and appropriately install the st.info in the environment where
|
||||
* you use this st version.
|
||||
*
|
||||
* it#$tabspaces,
|
||||
*
|
||||
* Secondly make sure your kernel is not expanding tabs. When running `stty
|
||||
* -a` »tab0« should appear. You can tell the terminal to not expand tabs by
|
||||
* running following command:
|
||||
*
|
||||
* stty tabs
|
||||
*/
|
||||
unsigned int tabspaces = 8;
|
||||
|
||||
/* Terminal colors (16 first used in escape sequence) */
|
||||
static const char *colorname[] = {
|
||||
/* 8 normal colors */
|
||||
"black",
|
||||
"red3",
|
||||
"green3",
|
||||
"yellow3",
|
||||
"blue2",
|
||||
"magenta3",
|
||||
"cyan3",
|
||||
"gray90",
|
||||
|
||||
/* 8 bright colors */
|
||||
"gray50",
|
||||
"red",
|
||||
"green",
|
||||
"yellow",
|
||||
"#5c5cff",
|
||||
"magenta",
|
||||
"cyan",
|
||||
"white",
|
||||
|
||||
[255] = 0,
|
||||
|
||||
/* more colors can be added after 255 to use with DefaultXX */
|
||||
"#cccccc",
|
||||
"#555555",
|
||||
"gray90", /* default foreground colour */
|
||||
"black", /* default background colour */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Default colors (colorname index)
|
||||
* foreground, background, cursor, reverse cursor
|
||||
*/
|
||||
unsigned int defaultfg = 258;
|
||||
unsigned int defaultbg = 259;
|
||||
unsigned int defaultcs = 256;
|
||||
static unsigned int defaultrcs = 257;
|
||||
|
||||
/*
|
||||
* Default shape of cursor
|
||||
* 2: Block ("█")
|
||||
* 4: Underline ("_")
|
||||
* 6: Bar ("|")
|
||||
* 7: Snowman ("☃")
|
||||
*/
|
||||
static unsigned int cursorshape = 2;
|
||||
|
||||
/*
|
||||
* Default columns and rows numbers
|
||||
*/
|
||||
|
||||
static unsigned int cols = 80;
|
||||
static unsigned int rows = 24;
|
||||
|
||||
/*
|
||||
* Default colour and shape of the mouse cursor
|
||||
*/
|
||||
static unsigned int mouseshape = XC_xterm;
|
||||
static unsigned int mousefg = 7;
|
||||
static unsigned int mousebg = 0;
|
||||
|
||||
/*
|
||||
* Color used to display font attributes when fontconfig selected a font which
|
||||
* doesn't match the ones requested.
|
||||
*/
|
||||
static unsigned int defaultattr = 11;
|
||||
|
||||
/*
|
||||
* Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
|
||||
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
||||
* modifier, set to 0 to not use it.
|
||||
*/
|
||||
static uint forcemousemod = ShiftMask;
|
||||
|
||||
/*
|
||||
* Internal mouse shortcuts.
|
||||
* Beware that overloading Button1 will disable the selection.
|
||||
*/
|
||||
static MouseShortcut mshortcuts[] = {
|
||||
/* mask button function argument release */
|
||||
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
||||
{ ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
|
||||
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
|
||||
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
||||
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
|
||||
};
|
||||
|
||||
/* Internal keyboard shortcuts. */
|
||||
#define MODKEY Mod1Mask
|
||||
#define TERMMOD (ControlMask|ShiftMask)
|
||||
|
||||
static Shortcut shortcuts[] = {
|
||||
/* mask keysym function argument */
|
||||
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
||||
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
||||
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
||||
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
||||
{ TERMMOD, XK_Prior, zoom, {.f = +1} },
|
||||
{ TERMMOD, XK_Next, zoom, {.f = -1} },
|
||||
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
||||
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
||||
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
|
||||
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
|
||||
};
|
||||
|
||||
/*
|
||||
* Special keys (change & recompile st.info accordingly)
|
||||
*
|
||||
* Mask value:
|
||||
* * Use XK_ANY_MOD to match the key no matter modifiers state
|
||||
* * Use XK_NO_MOD to match the key alone (no modifiers)
|
||||
* appkey value:
|
||||
* * 0: no value
|
||||
* * > 0: keypad application mode enabled
|
||||
* * = 2: term.numlock = 1
|
||||
* * < 0: keypad application mode disabled
|
||||
* appcursor value:
|
||||
* * 0: no value
|
||||
* * > 0: cursor application mode enabled
|
||||
* * < 0: cursor application mode disabled
|
||||
*
|
||||
* Be careful with the order of the definitions because st searches in
|
||||
* this table sequentially, so any XK_ANY_MOD must be in the last
|
||||
* position for a key.
|
||||
*/
|
||||
|
||||
/*
|
||||
* If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
|
||||
* to be mapped below, add them to this array.
|
||||
*/
|
||||
static KeySym mappedkeys[] = { -1 };
|
||||
|
||||
/*
|
||||
* State bits to ignore when matching key or button events. By default,
|
||||
* numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
|
||||
*/
|
||||
static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
|
||||
|
||||
/*
|
||||
* This is the huge key array which defines all compatibility to the Linux
|
||||
* world. Please decide about changes wisely.
|
||||
*/
|
||||
static Key key[] = {
|
||||
/* keysym mask string appkey appcursor */
|
||||
{ XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
|
||||
{ XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
|
||||
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
|
||||
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
|
||||
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
|
||||
{ XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
|
||||
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
|
||||
{ XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
|
||||
{ XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
|
||||
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
|
||||
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
|
||||
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
|
||||
{ XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
|
||||
{ XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
|
||||
{ XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
|
||||
{ XK_Up, ShiftMask, "\033[1;2A", 0, 0},
|
||||
{ XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
|
||||
{ XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
|
||||
{ XK_Up, ControlMask, "\033[1;5A", 0, 0},
|
||||
{ XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
|
||||
{ XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
|
||||
{ XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
|
||||
{ XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_Down, ShiftMask, "\033[1;2B", 0, 0},
|
||||
{ XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
|
||||
{ XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
|
||||
{ XK_Down, ControlMask, "\033[1;5B", 0, 0},
|
||||
{ XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
|
||||
{ XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
|
||||
{ XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
|
||||
{ XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_Left, ShiftMask, "\033[1;2D", 0, 0},
|
||||
{ XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
|
||||
{ XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
|
||||
{ XK_Left, ControlMask, "\033[1;5D", 0, 0},
|
||||
{ XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
|
||||
{ XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
|
||||
{ XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
|
||||
{ XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_Right, ShiftMask, "\033[1;2C", 0, 0},
|
||||
{ XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
|
||||
{ XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
|
||||
{ XK_Right, ControlMask, "\033[1;5C", 0, 0},
|
||||
{ XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
|
||||
{ XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
|
||||
{ XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
|
||||
{ XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
|
||||
{ XK_Return, Mod1Mask, "\033\r", 0, 0},
|
||||
{ XK_Return, XK_ANY_MOD, "\r", 0, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
|
||||
{ XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
|
||||
{ XK_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_Prior, ControlMask, "\033[5;5~", 0, 0},
|
||||
{ XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_Next, ControlMask, "\033[6;5~", 0, 0},
|
||||
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
|
||||
{ XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
|
||||
{ XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
|
||||
{ XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
|
||||
{ XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
|
||||
{ XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
|
||||
{ XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
|
||||
{ XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
|
||||
{ XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
|
||||
{ XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
|
||||
{ XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
|
||||
{ XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
|
||||
{ XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
|
||||
{ XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
|
||||
{ XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
|
||||
{ XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
|
||||
{ XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
|
||||
{ XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
|
||||
{ XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
|
||||
{ XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
|
||||
{ XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
|
||||
{ XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
|
||||
{ XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
|
||||
{ XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
|
||||
{ XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
|
||||
{ XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
|
||||
{ XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
|
||||
{ XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
|
||||
{ XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
|
||||
{ XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
|
||||
{ XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
|
||||
{ XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
|
||||
{ XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
|
||||
{ XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
|
||||
{ XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
|
||||
{ XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
|
||||
{ XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
|
||||
{ XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
|
||||
{ XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
|
||||
{ XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
|
||||
{ XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
|
||||
{ XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
|
||||
{ XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
|
||||
{ XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
|
||||
{ XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
|
||||
{ XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
|
||||
{ XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
|
||||
{ XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
|
||||
{ XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
|
||||
{ XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
|
||||
{ XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
|
||||
{ XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
|
||||
{ XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
|
||||
{ XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
|
||||
{ XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
|
||||
{ XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
|
||||
{ XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
|
||||
{ XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
|
||||
{ XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
|
||||
{ XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
|
||||
{ XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
|
||||
{ XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
|
||||
{ XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
|
||||
{ XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
|
||||
{ XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
|
||||
{ XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
|
||||
{ XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
|
||||
{ XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
|
||||
{ XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
|
||||
{ XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
|
||||
{ XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
|
||||
{ XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
|
||||
{ XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
|
||||
{ XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
|
||||
{ XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
|
||||
{ XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
|
||||
{ XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
|
||||
{ XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
|
||||
{ XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
|
||||
{ XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
|
||||
{ XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
|
||||
{ XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
|
||||
{ XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
|
||||
{ XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
|
||||
{ XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
|
||||
{ XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
|
||||
};
|
||||
|
||||
/*
|
||||
* Selection types' masks.
|
||||
* Use the same masks as usual.
|
||||
* Button1Mask is always unset, to make masks match between ButtonPress.
|
||||
* ButtonRelease and MotionNotify.
|
||||
* If no match is found, regular selection is used.
|
||||
*/
|
||||
static uint selmasks[] = {
|
||||
[SEL_RECTANGULAR] = Mod1Mask,
|
||||
};
|
||||
|
||||
/*
|
||||
* Printable characters in ASCII, used to estimate the advance width
|
||||
* of single wide characters.
|
||||
*/
|
||||
static char ascii_printable[] =
|
||||
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
||||
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
||||
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
||||
Loading…
Add table
Add a link
Reference in a new issue