summaryrefslogtreecommitdiff
path: root/tools.html
blob: 978101b59b2be0d0d5644d7852f7b4a70b61dc53 (plain)
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
<p>
	For any given task that enough people have wanted to do before on a computer, there is a multitude of tools available to perform that task on Linux.
	Here is a small list of cherry-picked ones that I tend to forget.
	As I use Arch Linux, some may be Arch-specific.
</p>

<ul>
<li><p>
	<b>pulseaudio-equalizer-ladspa</b>. [<a href="https://www.archlinux.org/packages/extra/any/pulseaudio-equalizer-ladspa/" target="_blank">Arch repos</a>]
	Assuming you use PulseAudio, if you want to run a very simple equalizer over whatever comes out of your speakers, use this package.
	The GUI executable is called <code>pulseaudio-equalizer-gtk</code>.
</p></li>
<li><p>
	<b>nload</b>. [<a href="https://archlinux.org/packages/extra/x86_64/nload/" target="_blank">Arch repos</a>]
	For nice graphs/statistics on current network usage (mbits incoming/outgoing).
	To show all interfaces, invoke it as <code>nload -m</code>; to show only a single interface, use e.g. <code>nload enp3s0f1</code>.
</p></li>
<li><p>
	<b>paccache</b>. [<a href="https://www.archlinux.org/packages/extra/x86_64/pacman-contrib/" target="_blank">in pacman-contrib</a>]
	To flexibly purge package files from the Pacman cache.
	Pacman proper has <code>--clean</code>, but paccache allows you to remove e.g. all but the most recent three versions of all packages, ignoring stuff related to nvidia:
	<blockquote>
paccache -r -k 3 -i nvidia,nvidia-settings,nvidia-utils,opencl-nvidia,linux,linux-firmware,linux-headers,cuda
	</blockquote>
	Also check out the other scripts in pacman-contrib, like pacdiff and rankmirrors.
</p></li>
<li><p>
	<b>pdfpc</b>. [<a href="https://www.archlinux.org/packages/extra/x86_64/pdfpc/" target="_blank">Arch repos</a>]
	Lightweight PDF presenting, with even some really esoteric features like detecting animated slides in a LaTeX beamer presentation (that doesn't really work in my experience).
	Multi-monitor support.
</p></li>
</ul>

<p>
	Here's a couple that I wrote myself.
</p>

<ul>
<li><p>
	<b>sound-manager</b>. [<a href="https://git.tomsmeding.com/sound-manager" target="_blank">git</a>]
	TUI over the PulseAudio pacmd interface for changing volume of microphones (sources), speakers (sinks), and applications using those, as well as reassigning applications among those streams.
</p></li>
<li><p>
	<b>acpi-inhibitor</b>. [<a href="https://git.tomsmeding.com/acpi-inhibitor" target="_blank">git</a>]
	A systray app in Rust that uses <code>systemd-inhibit</code> to block laptop close signals.
	Can be turned on and off from the systray icon.
</li></p>
<li><p>
	<b>display-manager</b>. [<a href="https://git.tomsmeding.com/display-manager" target="_blank">git</a>]
	Small popup window using zenity to select what multi-monitor configuration to enable in xrandr.
	If you have a different setup from mine, you probably have to modify the presets in the script (which is only ~100 lines of Python).
</li></p>
<li><p>
	<b>rid3v2</b>. [<a href="https://git.tomsmeding.com/rid3v2/" target="_blank">git</a>]
	ID3v2 tag editor (i.e. track metadata in mp3 files) in Rust.
	Written because the <code>id3v2</code> utility has bugs relating to encoding of non-ASCII characters.
</li></p>
</ul>