No description
Find a file
Vincent Bernat 9b0bb1ce76 i3-companion: fix dampening
Cancellation is asynchronous. So, there was a race condition where we
were throwing away the task we just scheduled. Don't really on
cancellation for synchronization. We also want to have only one
instance running. So, use locks to ensure only one instance is running
and only cancel running functions while in sleeping phase, otherwise,
let them run.

Currently, this OK, however, it is assumed the function has somehow
the same effect whatever the arguments we provide. This is true for
the two callbacks we use `@dampen` on.
2021-07-12 23:37:25 +02:00
bin i3-companion: fix dampening 2021-07-12 23:37:25 +02:00
dotfiles firefox: enable globalMuteToggles to show WebRTC indicator 2021-07-12 19:51:25 +02:00
.gitignore xsettings: remove reference to xsettingsd.local 2020-02-08 16:44:17 +01:00
config i3: move Firefox WebRTCGlobalIndicator to some fixed position 2021-07-12 20:17:33 +02:00
README.md polybar: add back disk module 2021-07-11 11:27:37 +02:00
ws-emacs.json i3: use a saved layout to spawn Emacs workspace 2021-07-05 21:59:05 +02:00

Vincent Bernat's i3 configuration

This is my i3 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.

Here some of the things you may be interested in:

  • 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.

  • There is an i3-companion (in bin/) which I use to implement whatever does not match what I want in i3. I prefer to not have many Python binaries running.

  • There is a Quake console included.

  • Many stuff is handled by systemd. The session is still expected to be handled by Xsession but we invoke a custom xsession.target which binds to graphical-session.target. i3 will then invoke i3-session.target for stuff needing i3 to run.

Also, I am using my custom terminal (vbeterm). You can also find the sources on GitHub.

Requirements

Required Debian packages to make everything work can be found in my Puppet configuration. Also, some daemons may be compiled from git HEAD (dunst and polybar) to get access to some features.