golauncher

command module
v0.0.0-...-d6f7c0f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2022 License: MIT Imports: 4 Imported by: 0

README ΒΆ


logo
golauncher

A go application launcher

license go report card


A simple, highly extensible, customizable application launcher and window switcher written in less than 300 lines of Golang and fyne


screenshot
screenshot

golauncher is a simple, highly extensible application launcher written in Golang. Its written using fyne in less than 300 lines of Go (actually, most of them are just layouts!).

Works on i3, Xfce, GNOME, Plasma, fynedesk, ...

πŸ“’ Features

The basic plugin set adds the following functionalities to golauncher:

  • Window fuzzy search
  • Program fuzzy search
  • Opening URLs
  • Taking screenshot
  • Process kill
  • ..... add yours!

πŸ’» Installation

Download the release, extract the tarball in your system and run make install.

As it does use fyne, does not depend on GTK or either QT installed on your system.

πŸ‘· Build from source

You can also build golauncher locally with go build.

Note: plugins are standalone binaries and not part of golauncher, you need to install them separately, or if you are developing, use --plugin-dir to point to a specific plugin directory.

πŸƒ Run

Once you have golauncher installed you can either run it from the terminal with golauncher, or either start it from the application menu.

GLOBAL OPTIONS:
   --theme value        [$THEME]
   --plugin-dir value   [$PLUGIN_DIR]

Golauncher takes optionally a theme with --theme and an additional directory to scan for plugins (--plugin-dir).

The plugin directory must contains binary prefixed with golauncher- in order to be loaded.

✏ Extensible

golauncher is extensible from the bottom up, and indeed the core does provide no functionalities besides the GUI displaying.

βš™ Building from source

To build golauncher run:

$ git clone https://github.com/mudler/golauncher
$ cd golauncher
$ make build

Note that plugins are shipping core functionalities of golauncher are built separately, in order to build the default plugin set:

$ make -C plugins/ build

This will build the default set of plugins, to try them out you can either run make test or:

$ mkdir plugin-build
$ make DESTDIR=$PWD/plugin-build -C plugins install
$ golauncher --plugin-dir plugin-build/usr/local/bin/ 

βš™ Writing extensions

Extensions can be written in any language. golauncher reads binaries starting with golauncher- prefix inside $PATH and automatically invokes them while the user is submitting inputs to retrieve results to be displayed to the user. Optionally, golauncher takes a PLUGIN_DIR environment variable (or --plugin-dir as args) to specify an additional plugin directory to use.

All the current functionalities of golauncher are split into separate plugins.

Plugins can be written in any language. For examples on how to extend golauncher, see the plugin folder in this repository and the wiki page

🎨 Themes

Golauncher supports custom themes, you can find examples inside the themes folder.

To run golauncher with a theme, run:

$ THEME=/home/mudler/.golauncher/monokai.yaml golauncher
or
$ golauncher --theme /home/mudler/.golauncher/monokai.yaml

Check also the gallery in the wiki

License

MIT License

Copyright (c) 2022 Ettore Di Giacinto

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL