Added lockscreen trapping and media pausing for lockscreen.
When it is invoked `lockscreen`, all media will be attempted to be pause
and the system will be muted.
Then the lockscreen is engaged.
This should happen automatically when the screen shuts off or the system
suspends or hibernates and can be invoked manually, as before, with
super+x shortcut.
Changed the way to exit sxhkd chain modes. Instead of using `esc` to get
out of them, now pressing the mode key chain again will also exit out of
the mode (e.g. `alt + m` to get into `media` mode, then `alt + m` once
more to exit it).
This is done since using escape will interfere with many normal-use
scenarios while in a chain-mode, especially if those modes are intended
to be used over somewhat longer periods of time (somewhat like vim-modes
or emacs layers). The key to exit modes has now been moved to `copyright`,
so in the rather improbable case that your keyboard contains a
`copyright` key, be careful of accidentally hitting it when in an sxhkd
chain mode.
Fixed passing arguments to the sxhkd-piped script. It will pass along
any commandline arguments passed now (even `-s`, though then the script
will cease to do anything).
Improved version output of sxhkd-chain-labels a little, invoking
`sxhkd-chain-labels -v` will now show the correct configuration file and
FIFO pipe being used, as well as whether they exist on the file system.
Fixed the versioning of the script to display the correct version.
Improved the language setting to simply make use of the search for
touchpad, just like setting the touchpad options.
Since these are my only two keyboards at the moment, the difference
should be meagre to non-existent in the way the old detection worked and
the new one does.
Removed manual initialization of flashfocus from xinitrc, enabled the
service in systemd.
Changed the restart timer to 5 seconds, to mirror other X-dependent user
services to circumvent systemd being too eager to start the service
before X is ready on booting.
We already have a file which is strictly dedicated to xdg setting
environment variables and taking care of folder creations.
Using xdg-user-dirs as an application was basically doubling up on that.
Also, I don't need my directories localized - I just want them to point
to exactly where they should.
Both greenclip and redshift did not automatically start on system start,
since they needed X to be running but their restart was almost
instantaneously. So, they restarted their alloted 5 times before X was
ready and gave up.
Restart time has been set to 5 and 10 seconds, so their startup takes a
little longer but should, in most cases, succeed.