Simple application launcher for Linux
Ir al archivo
Albert S 79d15fb628 Introduce EntryType. Retire userEntry boolean
Introduce EntryType, allowing to distnguish between:

- inherietd entries: Those inherit their values from
other entries, typcally system entries. They do not
allow overwriting the value, except row/col.
- system entries: those not created by the user in any way,
usually .desktop files in /usr/share/applications/...
- user entries: those that have been created by the user.
they can however also inherit, and overwrite inherited values.

inherited are used for the "favourites" feature.
2020-10-04 21:48:35 +02:00
screenshots added screenshot 2018-01-03 10:16:44 +01:00
.gitignore added .gitignore 2019-09-08 17:11:24 +02:00
calculationengine.cpp formating fixes / copyright update... 2019-09-30 21:58:11 +02:00
calculationengine.h formating fixes / copyright update... 2019-09-30 21:58:11 +02:00
entryprovider.cpp Introduce EntryType. Retire userEntry boolean 2020-10-04 21:48:35 +02:00
entryprovider.h Introduce EntryType. Retire userEntry boolean 2020-10-04 21:48:35 +02:00
entrypushbutton.cpp Introduce EntryType. Retire userEntry boolean 2020-10-04 21:48:35 +02:00
entrypushbutton.h implement deletion of entries 2020-10-04 21:48:35 +02:00
LICENCE added licence 2018-01-05 15:52:11 +01:00
main.cpp Refactoring to use new entryprovider and settingsprovider classes 2020-09-06 19:43:17 +02:00
qsrun.pro EntryProvider: Introduce readEntryFromPath() 2020-09-06 22:24:39 +02:00
README.md Update README.md to document inheritance 2020-09-06 21:45:43 +02:00
settingsprovider.cpp window: get number of columns from config 2020-09-07 23:29:10 +02:00
settingsprovider.h window: get number of columns from config 2020-09-07 23:29:10 +02:00
singleinstanceserver.cpp Added basic single instance functionality 2019-06-03 07:42:54 +02:00
singleinstanceserver.h reformating (no functional change) 2019-08-24 09:19:49 +02:00
TODO updated TODO 2019-09-01 18:55:59 +02:00
window.cpp Introduce EntryType. Retire userEntry boolean 2020-10-04 21:48:35 +02:00
window.h rename Window::buttonClick to Window::executeConfig 2020-10-04 21:48:35 +02:00

qsrun

qsrun is a launcher. It contains user defined entries for applications and also searches system-applications. Using libcalculate, it can also be used as a calculator.

If you run a desktop environment like KDE it is questionable whether you will find this useful, since they usually bring applications that are more or less comparable to qsrun, although much more powerful (like KRunner). It can be useful for users running a window manager like fluxbox etc.

Dependencies

Qt >=5.7.

For the calculation engine, libqalculate is needed.

Currently no conditional compile flags are supported...

Building

Assuming the necessary dependencies are installed:

qmake 
make

Getting started

$HOME/.config/qsrun In this folder user-defined entries should be put (See "Entry format").

Config format

Path: $HOME/.config/qsrun/qsrun.config

Example:

[General]
sysAppsPaths = "/usr/share/applications/", "/var/lib/snapd/desktop/applications/"

sysAppsPaths will default to "/usr/share/applications/" if no value is given.

Entry format

It rudimentary supports .desktop files, but for user entries, the own format should be preferred.

It's a simple format: [key] [value].

Example: quasselclient.qsrun:

command quasselclient
name Quassel
icon /usr/share/icons/hicolor/128x128/apps/quassel.png
row 1
col 0
key I

Example with inheritance: qsrun will search for "vlc.desktop" inside the paths defined in sysAppsPaths:

inherit vlc.desktop
row 3
col 1

Therefore, there is no need to explicitly the entry a name or icon etc. However, values given here will overwrite the inherited values.

"key" means a shortcut key, you can launch those by pressing Ctrl + "key", so in the example above: CTRL + I.

Simply pressing Ctrl will show you the associated shortcuts on each individual button.

General usage

Starting to type will search user defined entries first, followed by system entries. Then the PATH variable will be searched, if there is a single match you can also press TAB for auto completion.

In general it will launch anything once you press enter, however it won't open a terminal.

Calculator

Start by typing "=", followed by your expression, e. g: "=(2+3)^2"