Catapult is an app launcher for Linux. It allows you to easily launch apps, open files and do basic calculations with a keyboard-driven user interface. Custom plugins and themes can be loaded dynamically.
Catapult is Free Software released under the GNU General Public License
(GPL), see the file COPYING
for details. Small parts of the
code have been adapted from Ulauncher, likewise GPL. These are
indicated file-wise in the license headers of individual files.
Catapult requires the following.
Dependency | Version |
---|---|
Python | ≥ 3.8 |
PyGObject | |
GLib | |
GTK | ≥ 4.0 |
Pango | |
libqalculate |
On Debian/Ubuntu you can install these with the following command.
sudo apt install gettext \
gir1.2-glib-2.0 \
gir1.2-gtk-4.0 \
gir1.2-pango-1.0 \
libglib2.0-bin \
python3 \
python3-dev \
python3-gi \
qalc
Then, to install Catapult, run commands
make PREFIX=/usr/local build
sudo make PREFIX=/usr/local install
Catapult cannot do a global activation keybinding for you, instead you
need to do it yourself in your desktop/distro settings. Catapult is a
single-instance app, so executing catapult
will start a new instance
if not yet running or else activate the existing instance. So, that is
the command you can bind to your key of choice.
Catapult cannot position its own window on your screen, which means that it will be positioned wherever your window manager defaults to or considers appropriate. You can configure your window manager to center all new windows by default, which should center the Catapult window too (at least horizontally, vertically the window height changes along with the search results).
gsettings set org.gnome.mutter center-new-windows true
If you did a keybinding as above running command catapult
, you
shouldn't need to pre-start Catapult in the background, it will simply
start the first time you need it. If, however, you find the initial
startup slow (maybe indexing a lot of files), you can use tools provided
by your desktop/distro to set Catapult to start automatically already
when you log in to your desktop. To start in the background, use command
catapult --hide
.
You can override parts of the theme by editing
~/.config/catapult/user.css
, a file which is created the first time
you start Catapult. You can edit the file while Catapult is running and
use :reload-theme
in Catapult to apply the changes.
For example, to use the GNOME default font (Cantarell) for everything, you can use
.catapult-input-entry {
font-family: "Cantarell", sans-serif;
}
.catapult-search-result-title {
font-family: "Cantarell", sans-serif;
}
.catapult-search-result-description {
font-family: "Cantarell", sans-serif;
}
Or, to use Ubuntu orange as the selection color, try
@define-color selected-bg-color #e95420;