This article describes the impact of using the lesser discussed alternative code block terminators ;;& and ;& which control the „match-resuming“ behavior of Bash’s case…esac.
An Introduction to Programmable Completion in Bash
25. Mai 2025 in Administration, GNU/Linux, Programmierung.
I am using the terminal a lot on Linux. For my project „pulseaudio-tcp“ (see here for more information) i wanted to have more comfortable command line completion in Bourne Again Shell („Bash“). After having typed in the command name pulseaudio-tcp, when pressing the Tabulator key, i would like to see a list of all possible arguments to that command.
In this article i demonstrate how to leverage the „Programmable Completion“ feature of Bash for such purposes. A reasonably recent version of Bash (4.2 or later) is assumed. You should have a basic understanding of control flow, variables, functions and arrays in Bash. In the article, we will make use of some advanced Bash features such as array expansion with pattern matching; these will be explained „on the go“ as required.
Release of pulseaudio-tcp
28. Mai 2025 in Administration, GNU/Linux, Multimedia, Programmierung.
pulseaudio-tcp now has its first official release. The initial release features the following changes:
- GUI support with zenity for setup and other user interaction
- Debian packaging
Firefox userChrome Adjustments for Connected Browser Tabs
6. Januar 2025 in Multimedia, Technik.
Using userChrome.css, based on the CSS generated by the „Firefox 89 Styling Proton UI“ assistant, i have made some adjustments to the Firefox UI that make browser tabs be more connected, i.e. not look like „floating buttons“. They also are much more compact. Screenshot:
Project information not readable.
A Different Beat
30. Dezember 2024 in Musik.
Some electronic beat music featuring vocal sample „Fiona & Maike (Root D)“, part of Ableton Live’s extension pack „Voice Box“:
A simple GUI for basic Package Management with Apt
2. Dezember 2024 in Administration, GNU/Linux, Programmierung, Technik.
The tool presented here, „Simple Apt Update“ (simple-apt-update) is nothing more than a front-end to the non-interactive execution of apt-get update|full-upgrade and apt list --upgradeable. It can look like this:
Utility to search for XDG Desktop Files
3. November 2024 in Administration, GNU/Linux, Programmierung, Technik.
In my previous article Print XDG Desktop Definition for Application i described a way to search the various „applications“ sub-directories of the known XDG data directories for .desktop-files that match certain search criteria.
The short shell script from that article is now available as a commandline utility, including the usual bells and whistles such as option parsing and a manpage. Also, it now supports more exact control over which directives in the desktop files are searched and which are displayed in the search results.
Here is an example searching for any desktop files containing „firefox“ in their „Name“or „Exec“ directives, displaying the „Name“, „Comment“ and „Exec“ directories of each result:
xdg-desktop-search -v -s Exec -s Name -d Name -d Comment -d Exec firefox
The utility is available here:
Gitea project xdg-desktop-searchLast 3 commits: by Tilman Kranz: d27e54cd clarification of json output by Tilman Kranz: e3c2e719 document option --quiet by Tilman Kranz: 0ad7f261 support options --json and --quiet