https://github.com/m7a/lp-conf-gui
MDVL GUI Configuration Package
https://github.com/m7a/lp-conf-gui
Last synced: 9 months ago
JSON representation
MDVL GUI Configuration Package
- Host: GitHub
- URL: https://github.com/m7a/lp-conf-gui
- Owner: m7a
- Created: 2021-02-02T22:04:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-01T10:59:56.000Z (about 2 years ago)
- Last Synced: 2025-01-01T09:07:58.851Z (over 1 year ago)
- Language: Shell
- Size: 26.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
section: 32
x-masysma-name: conf-gui
title: MDVL GUI Configuration Package
date: 2021/02/02 20:45:11
lang: en-US
author: ["Linux-Fan, Ma_Sys.ma (Ma_Sys.ma@web.de)"]
keywords: ["mdvl", "conf", "dotfiles", "gui", "mdvl-conf-gui", "x11", "linux"]
x-masysma-version: 1.0.0
x-masysma-website: https://masysma.net/32/conf-gui.xhtml
x-masysma-repository: https://www.github.com/m7a/lp-conf-gui
x-masysma-owned: 1
x-masysma-copyright: |
Copyright (c) 2021 Ma_Sys.ma.
For further info send an e-mail to Ma_Sys.ma@web.de.
---
Description
===========
This package contains dotfile-like configuration settings for Linux GUI
programs. It is intended to be installed on MDVL systems but may not be suitable
for general-purpose Debian installations given that some changes deviate far
from the defaults and do not integrate well unless many other MDVL packages
are also installed.
Configured Programs
===================
Here is an overview on the files provided and the programs configured.
## GTK-Configuration
The following files configure GTK (2.0 and 3.0) to use a dark theme and set
GUI fonts to Terminus:
* `/etc/gtk-2.0/gtkrc`
* `/etc/gtk-3.0/settings.ini`
* `/usr/share/themes/masysma/gtk-2.0/gtkrc`
## Feh Keybindings
File `/etc/feh/keys` reconfigures the keybindings of the `feh` image viewer to
be similar to `plan_view.py`. See also: [image_viewer(32)](image_viewer.xhtml).
## i3-Configuration
File `/etc/i3/config` configures the i3 window manager to use the [WINDOWS]
(aka. [SUPER]) together with certain keys to manage windows. It is mostly based
on an old i3 version's defaults with notable changes being described in the
following:
bindsym $m+Shift+h move left
bindsym $m+Shift+j move down
bindsym $m+Shift+k move up
bindsym $m+Shift+l move right
All movement commands are configured to use VIM-style [H]/[J]/[K]/[L] keys:
bindsym $m+Escape mode "passthrough"
mode "passthrough" {
bindsym $m+Escape mode "default"
}
A _passthrough_ mode is provided to be invoked by [WINDOWS]-[ESC] which disables
all keybindings. This may be useful when interacting with Windows VMs and such.
bindsym Mod1+F1 exec /usr/bin/materm
bindsym Mod1+F2 exec /usr/bin/dmenu_run
bindsym Mod1+F3 exec /usr/bin/materm -e vifm /data/main
bindsym Mod1+F5 exec /usr/bin/materm -e d5mantui
bindsym Mod1+F7 exec GTK_THEME=Adwaita:dark /usr/bin/firefox
bindsym Mod1+F9 exec /usr/bin/materm -e htop
bindsym Mod1+F10 exec /usr/bin/virt-manager
bindsym $m+Shift+Delete exec /usr/bin/q
Various programs are configured to be assigned to [ALT]-[FX] combinations where
X is one of the F-keys' numbers like X=1 for [ALT]-[F1] to invoke a `materm`.
The settings used here are expected to be changed by users to their respectively
used applications. The defaults provided here are used as a reference across
multiple Ma_Sys.ma systems. E. g. Ma_Zentral DVDs assign F1, F2, F7, F9 to
Windows programs that perform similar tasks to their Linux counterparts
configured here.
# requires xdotool, .mdvl/scrroot.txt, maim
bindsym --release Print exec "/bin/sh -ec 'dnam=\\"$(cat \\"$HOME/.mdvl/scrroot.txt\\")/$(date +%Y%m%d)\\"; [ -d \\"$dnam\\" ] || mkdir \\"$dnam\\"; fnam=\\"$(date +%Y%m%d%H%M%S).png\\"; maim -i $(xdotool getactivewindow) > \\"$dnam/$fnam\\"'"
An elaborated screenshot function is assigned to the [PRINTSCREEN] key.
This setting invokes the `maim` tool to take a screenshot of the currently
active window and saves it into the directory path specified in
`$HOME/.mdvl/scrroot.txt`. It automatically ensures that screenshots are stored
into different subdirectories depending on the current day.
exec /bin/run-parts --exit-on-error --regex=".*" --verbose /usr/lib/mdvl-gui.d
This line enables the scripts from below `/usr/lib/mdvl-gui.d` to be
automatically invoked upon GUI startup.
font -*-terminus-medium-*-normal-*-16-*-*-*-*-*-iso10646-1
# class border bg fg split
client.focused #cc4040 #cc4040 #ffffff #ff0000
client.focused_inactive #806060 #806060 #aaaaaa #bb0000
client.unfocused #201818 #201818 #505050 #400000
client.urgent #ffaa00 #ffaa00 #ffffff #ffaa00
bar {
font -*-terminus-medium-*-normal-*-12-*-*-*-*-*-iso10646-1
status_command /usr/bin/mai3bar --json
position top
tray_output primary
colors {
# border bg fg
focused_workspace #cc4040 #cc4040 #ffffff
active_workspace #806060 #806060 #aaaaaa
inactive_workspace #201818 #201818 #505050
urgent_workspace #ffaa00 #ffaa00 #ffffff
background #000000
statusline #ffffff
separator #333333
}
}
This block configures a Ma_Sys.ma-specific color scheme that is based on red
colors. Additionally, the `i3bar` is populated by `mai3bar` --
see [i3bar(32)](i3bar.xhtml). Additionally, the GUI is configured to use
Terminus for all window manager parts.
GUI Autorun Scripts
===================
Directory `/usr/lib/mdvl-gui.d` is checked for scripts to automatically invoke
upon starting i3 with the configuration described above. Relevant default
configuration is found in file `00-initial.sh`:
~~~{.bash}
# -- Keyboard --
/usr/bin/xmodmap
setxkbmap -layout de -variant deadgraveacute
# Speed up key repeat
xset r rate 270 30
# disable bell
xset b 0
# -- Theme for password-gorilla --
if [ -d /usr/share/tcltk/awthemes ]; then
echo "*TkTheme: awdark" | xrdb -merge
fi
# -- Background Processes --
/usr/bin/screenindex -l -g &
if [ "$(head -c 3 /etc/hostname)" = "vm-" ]; then
/usr/bin/spice-vdagent &
xrandr --dpi 109
else
/usr/bin/xscreensaver -no-splash &
fi
~~~
The keyboard configuration is set to German keyboard layout, faster repeat
rate and all bell sounds are disabled. For details on the effects of the
keyboard configuration, see also: [linux_x11_keyboard_configuration(37)](../37/linux_x11_keyboard_configuration.xhtml).
Afterwards, some optional components are invoked depending on whether they are
present:
* If installed, theme `awdark` is set for use with Tk GUIs like
`password-gorilla`. This theme is available from Debian 11 onwards.
* If installed, `screenindex` logging is started in background.
See [screenindex(32)](screenindex.xhtml) for details.
* Finally, depending on whether the current system is a virtual machine
(decided by the name for the lack of a better criterion), different processes
are started: Physical systems run `xscreensaver` whereas virtual machines
start `spice-vdagent` if installed and fix the DPI setting that is sometimes
incorrect in VMs.
The advantage of the `run-parts`-based approach here is that system-specific
additional GUI startup scripts (like e.g. `nm-applet` for laptops) can be
provided by separate packages.
Changes to `/etc/skel`
======================
In the past, most Ma_Sys.ma dotfiles were configured in `/etc/skel` -- a
directory that is taken as a base for creating new users. Given that this makes
updates slow (new settings are only applied upon re-creating the user!), this
approach is newly avoided whenever possible.
Currently, the following files are provided for `/etc/skel`:
`.xscreensaver`
: Default configuration for `xscreensaver`
`.xsession`
: Default X11 session set to `i3`