Match-Resumption in case…esac of Bourne Again Shell

This article describes the impact of using the lesser discussed alternative code block terminators ;;& and ;& which control the „match-resuming“ behavior of Bash’s caseesac.

Lesen Sie mehr »

An Introduction to Programmable Completion in Bash

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.

Lesen Sie mehr »

Release of pulseaudio-tcp

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
Gitea project pulseaudio-tcpLast 3 commits: by Tilman Kranz: 03e3953e completion supports multiple commands by Tilman Kranz: f08b857a support for multiple commands (WIP) by Tilman Kranz: f78ae9d1 exclude vim swapfilesLatest release: 1.1.1

Firefox userChrome Adjustments for Connected Browser Tabs

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:

Screenshot of Firefox with multiple browser tabs

Project information not readable.

 From Alpha To Beta

 A Different Beat

Some electronic beat music featuring vocal sample „Fiona & Maike (Root D)“, part of Ableton Live’s extension pack „Voice Box“:

Lesen Sie mehr »

A simple GUI for basic Package Management with Apt

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:

Lesen Sie mehr »

Utility to search for XDG Desktop Files

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