No description
Find a file
Vincent Bernat dd042ae594 xss-lock: don't suspend compositor on lock
Let's see if the confidentiality issue is still here. The problem with
suspending the compositor is that Firefox with EGL will freeze its
rendering. See https://bugzilla.mozilla.org/show_bug.cgi?id=1712665.

OK, the problem was that when screens are added/removed, i3lock is
unable to stay on top. I'll live with that for now.
2021-06-30 20:26:30 +02:00
bin xss-lock: don't suspend compositor on lock 2021-06-30 20:26:30 +02:00
icons widgets: remove volume icon 2020-08-17 08:37:57 +02:00
lib shifty: don't restore history on tag delete 2020-12-06 14:53:17 +01:00
rc widgets: don't minimize using the task list 2021-04-19 08:48:59 +02:00
systemd systemd: make service restart on failure 2021-06-18 08:18:04 +02:00
xkb xkb: remove use of webcam key 2020-02-07 08:08:34 +01:00
.gitignore xsettings: remove reference to xsettingsd.local 2020-02-08 16:44:17 +01:00
firefox.js firefox: remove x11-egl.force-disabled 2021-06-21 19:29:00 +02:00
rc.lua wallpaper: make awesome trigger a reload of the wallpaper on start 2020-02-05 08:20:28 +01:00
README.md doc: move requirements to Puppet configuration 2020-11-13 10:00:27 +01:00
Xresources xresources: restore xresources to speed up Emacs 2019-08-30 21:41:25 +02:00
xsession xsession: let zshenv set locale 2021-05-22 14:52:44 +02:00
xsettingsd appearance: switch to a dark theme 2021-04-07 14:02:36 +02:00

Vincent Bernat's awesome configuration

This is my awesome configuration. It does not exactly feature the same keybindings as the default configuration. I don't recommend using it by you can pick anything you need in it.

This configuration is for awesome 3.4. I did not update to 3.5 yet. Have a look at @P-EB pull request for 3.5 support.

Here some of the things you may be interested in:

  • It is modular. I am using config as a table to pass different things between "modules".

  • I use a light transparency effect to tell if a window has the focus or not. It needs a composite manager.

  • I use a Python script bin/build-wallpaper to build the wallpaper to be displayed. There is a random selection and it works with multihead setup. It seems that classic tools are now able to change the wallpaper per screen and therefore, the script may seem a bit useless but I keep it.

  • I am using xss-lock with i3lock as a screensaver. It relies on standard X screensaver handling (and therefore is easy for application to disable) and also supports systemd inhibitors. Nothing fancy but I reuse the wallpaper built above. A notification is sent 10 seconds before starting.

  • In rc/apparance.lua, you may be interested by the way I configure GTK2 and GTK3 to have an unified look. It works and it does not need gnome-control-center.

  • I have rebuilt my own implementation of the Quake console in lib/quake.lua. The common ones didn't like when awesome was restarted.

  • I am using notifications when changing volume or brightness. I am also using notifications to change xrandr setup. This is pretty cool.

  • Keybindings are "autodocumented". See lib/keydoc.lua to see how this works. The list of key bindings can be accessed with Mod4 + F1.

  • On the debug front, I am quite happy with dbg() in rc/debug.lua.

  • Many stuff is handled by systemd. The session is still expected to be handled by Xsession but we invoke a custom display-specific xsession@.target which binds to a display-specific graphical-session@.target. This is different from the graphical-session.target shipped by distributions because I wanted it to be display-specific. Also, unit activation is bundled directly into graphical-session@.target while dependencies are mostly handled in awesome@.service.

Also, I am using my custom terminal (vbeterm). You need to change that in rc.lua. You can also find the sources on GitHub.

Things in lib/ are meant to be reused. I am using my own loadrc() function to load modules and therefore, I prefix my modules with vbe/. Before reusing a module, you may want to change this. Another way to load them is to use:

require("lib/quake")
local quake = package.loaded["vbe/quake"]

Requirements

Required Debian packages to make everything work can be found in my Puppet configuration.