Awesome Open Source
Awesome Open Source
Sponsorship

sgtk-menu

This project is an attempt to create a launcher, that behaves decently on sway, but also works on other window managers. It may or may not work on some DEs - I don't care much about it. For what I managed to test so far, see the Compatibility chart.

sgtk-menu uses pygobject to create a themeable, searchable, gtk3-based system launchers w/ some optional features:

  • .desktop entries-based system menu;
  • search box to find what you need quickly;
  • favourites (most frequently used entries) menu above (optional [-f | -fn FN] argument);
  • user-defined menu below (optional [-a | -af AF] argument);
  • sgtk-dmenu command: search and run commands in $PATH;
  • sgtk-bar command: user-defined horizontal or vertical button bar;
  • sgtk-grid command: a GNOME-like application grid.

Read wiki for more information. See screenshots for usage examples.

Python is too slow?

There's a C++ version under development. Thanks in advance for testing.

System menu w/ favourites above and custom appendix below

screenshot The menu in Adwaita-dark GTK theme w/ Aqatix icons

Horizontal button bar as the Exit menu

screenshot

sgtk-dmenu

screenshot

sgtk-grid

screenshot

Background

Well, I didn't even think that sway needed a menu, being happy with wofi and dmenu-wayland. I started coding just to find out what the Desktop Menu Specification looks like, and also to learn some more pygobject. The best menu I know, however, does not (yet?) behave well on sway. So, I thought to share the code, which has already taken me more time that I had ever expected.

This code by Johan Malm helped me understand how to make use of .desktop entries. Many thanks!

How it works on sway

The problem to resolve on sway, was, that the Gtk.Menu class behaves differently / unexpectedly when open over Wayland and X11 windows. To work it around, the script opens the menu over a (semi-)transparent, floating window, that covers all the screen.

Packaging status

Packaging status

Arch Linux

Install sgtk-menu from AUR.

Fedora

sudo dnf install sgtk-menu

See wiki for more info.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (47,717
menu (157
gtk3 (96
i3 (57
i3wm (57
sway (23
openbox (18

Find Open Source By Browsing 7,000 Topics Across 59 Categories