GNOME launcher in 20 lines of bash

Najeem Muhammed
2 min readDec 9, 2020

--

Disclaimer: This is no way awesome, but gets the work done

Our company recently upgraded our linux to RHEL7. And along came GNOME3 classic without any customizable option without root access. I was so used to the top panel in GNOME2 that I suddenly felt handicapped. I spent hours together to come up with a solution to make it easy for me to launch my scripts.

Problems I faced

  1. I cannot install gnome shell extensions (no root access to configure shell extension installation).
  2. I am unable to customize top panel (none of the solutions described online works).
  3. I cannot switch to default GNOME3 (stuck to classic)
  4. I cannot install awesome launchers like Ulauncher or Cerebro.
  5. I want a solution right now, like in an hour’s time.

The solution

Atlast I decided to write a launcher for my own purpose myself. First thought was to write it in python with Qt. But that’s too much work. Then I thought of the nice little tool in GNOME called Zenity

It’s a command for creating small interfaces using bash commands.

I wrote the following code hooked it up with a global keyboard shortcut (Ctlr + Space) and solved all my problems. Actually, I feel more productive now.

More details

The launcher does not have any intelligent capabilities or fuzzy search. It just lists a bunch of commands that you have added to a file, either through the launcher itself or by editing the file ~/.config/zenlauncher/applist.csv

Zenity allows you to type while the window is active and it starts searching in the first column. Hence, the Name field is the field you search for.

I’m curious to know if there is any other, better way to solve the problems.

--

--