1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
desktop-tools
=============
:compact-option:
'desktop-tools' is a collection of tools to run my desktop that might be useful
to other people as well:
- 'wmstatus' does literally everything i3/sway don't but I'd like them to.
It includes PulseAudio volume management and custom-made NUT and MPD clients,
all in the name of liberation from GPL-licensed software, of course
- 'paswitch' displays a list of all PulseAudio sinks and ports and allows
switching between them, moving all playing inputs
- 'brightness' allows me to change the brightness of w/e display device I have
- 'input-switch' likewise switches the input source of external displays
- 'fancontrol-ng' is a clone of fancontrol that can handle errors on resume
from suspend instead of setting fans to maximum speed and quitting;
in general it doesn't handle everything the original does
- 'priod' sets process CPU, I/O and OOM killer priorities automatically
according to configuration
- 'shellify' is a simple script that sets up a shell for commands like vgdb
and nmcli that are painfully lacking it
- 'iexec' runs a program and attempts to restart it cleanly when the
executable file is replaced on the disk
- 'gdm-switch-user' tells the running GDM daemon, if any, to show the switch
user screen
- 'siprandom' uses the SipHash 2-4 algorithm to produce a stream of
pseudo-random data; it should be fast enough to saturate most devices
- 'big-brother' tracks the title of the active window and the idle state of
the user and writes these events to standard output.
- 'elksmart-comm' interfaces with ELK Smart infrared dongles,
partially reimplementing the Ocrustar mobile app.
Few of them are useful outside of Linux.
Packages
--------
Regular releases are sporadic. git master should be stable enough.
Building
--------
Build dependencies: CMake, pkg-config, liberty (included) +
Runtime dependencies: libpulse, libx11, dbus-1 +
Optional runtime dependencies:
libusb-1.0 (elksmart-comm), libgdm (gdm-switch-user)
$ git clone --recursive https://git.janouch.name/p/desktop-tools.git
$ mkdir desktop-tools/build
$ cd desktop-tools/build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
$ make
To install the applications, you can do either the usual:
# make install
Or you can try telling CMake to make a package for you. For Debian it is:
$ cpack -G DEB
# dpkg -i desktop-tools-*.deb
Contributing and Support
------------------------
Use https://git.janouch.name/p/desktop-tools to report bugs, request features,
or submit pull requests. `git send-email` is tolerated. If you want to discuss
the project, feel free to join me at ircs://irc.janouch.name, channel #dev.
Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9
License
-------
This software is released under the terms of the 0BSD license, the text of which
is included within the package along with the list of authors.
|