Read Me
_ _
| | | |
__ ___ __ ___ __ _| | __ _ _ _ _ __ ___| |__ ___ _ __
\ \ /\ / / '_ ` _ \ / _` | |/ _` | | | | '_ \ / __| '_ \ / _ \ '__|
\ V V /| | | | | | (_| | | (_| | |_| | | | | (__| | | | __/ |
\_/\_/ |_| |_| |_|\__,_|_|\__,_|\__,_|_| |_|\___|_| |_|\___|_|
About
-----
wmalauncher is an easy to use and highly configurable application launcher
dockapp especially designed for fluxbox but which also works well under
blackbox, openbox, windowmaker.
wmalauncher supports XPM, PNG, SVG icons, .desktop files, true-type
fonts (for tooltip text), allows to configure, among others, the background
color, the border size, the brightness/contrast/gamma of icon, allows to
draw a frame around the button, etc...
Requirements
------------
* cmake
* imlib2
* librsvg
Installation
------------
To compile wmalauncher with default settings and install it in /usr/bin,
simply run the following commands :
8<--------------------------------------------------------------------
$ mkdir _build
$ cd _build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
$ make
$ make install
8<--------------------------------------------------------------------
By default, wmalauncher :
* is configured to search for fonts in the following paths :
+ ~/.fonts
+ /usr/share/fonts/TTF
+ /usr/share/fonts/truetype
+ /usr/share/fonts/truetype/dejavu
+ /usr/share/fonts/truetype/liberation
+ /usr/share/fonts/dejavu
+ /usr/share/fonts/liberation
* is configured to search for icons in the following paths :
+ ~/.icons
+ /usr/share/icons/Adwaita/scalable
+ /usr/share/icons/Adwaita/48x48
+ /usr/share/icons/hicolor/scalable
+ /usr/share/icons/hicolor/48x48
+ /usr/share/pixmaps
* assumes that any path given in argument of option --icon-search-path
which is not absolute is relative to the root path: /usr/share/icons
* is configured to use the precedence order of icon types below :
+ svgz
+ svg
+ png
+ xpm
This list is used to select the (best) icon when the icon name
specified in arguments (or defined in a .desktop file) is a
simple name without an extension.
* searches for *.desktop* files in the folder 'applications' of
each path specified by environment variables XDG_DATA_HOME(1)
and XDG_DATA_DIRS(2).
(1) When XDG_DATA_HOME is either not set or empty, a default
equal to '$HOME/.local/share' is used.
(2) When XDG_DATA_DIRS is either not set or empty, a default
equal to '/usr/local/share:/usr/share' is used.
see specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
* uses the first available terminal emulator in the list below when a
command/application must be run in a terminal window :
+ xterm
+ xfce4-terminal
+ konsole
* use the first available font in the list below when the font passed
in arguments of option --tooltip-font is not available :
+ DejaVuSans/11
+ LiberationSans-Regular/11
+ luxisr/11
All of these default settings can be changed using the cmake variables
below :
+ DEFAULT_FONT_SEARCH_PATH
+ DEFAULT_ICON_SEARCH_PATH
+ MAIN_ROOT_ICON_SEARCH_PATH
+ DEFAULT_PREFERRED_ICON_TYPES
+ DEFAULT_FALLBACK_FONTS
+ DEFAULT_PREFERRED_TERMINALS
Furthermore, Native Language Support (NLS) can be disabled by passing
-DENABLE_NLS=OFF to cmake.
Installation on FreeBSD
-----------------------
1. To build wmalauncher on FreeBSD, LDFLAGS="-L/usr/local/lib" must be
set prior to execute cmake.
2. On FreeBSD, resources like fonts and icons are accessibles from
the directory hierarchy /usr/local/share while it is /usr/share on
Linux, and, 3rd party binaries are stored in /usr/local/bin while
it is /usr/bin on Linux.
By default, CMakeLists.txt defines /usr/share and /usr/bin as being
the directories from which resources and binaries are accessibles.
These (default) default settings can be modified through the variables
SYSRES_ROOTDIR and SYSBIN_DIR.
Therefore, the easiest way to compile and install wmalauncher on FreeBSD
is to run cmake like as below :
8<--------------------------------------------------------------------
$ mkdir _build
$ cd _build
$ LDFLAGS="-L/usr/local/lib" \
cmake -DSYSRES_ROOTDIR=/usr/local/share \
-DSYSBIN_DIR=/usr/local/bin \
-DCMAKE_BUILD_TYPE=Release ..
$ make
$ make install
8<--------------------------------------------------------------------
Usage
-----
There are two ways to create a launcher for a given application with
wmalauncher:
1. Pass the command to execute and the icon to display on the command
line, like as in example below :
8<------------------------------------------------------------------
$ wmalauncher --command /usr/bin/firefox --icon firefox.png &
8<------------------------------------------------------------------
In the example above, wmalauncher will use the first icon found in the
"icon search paths" that match firefox.png (note: the extension can be
omitted).
2. Pass the .desktop file of the target application on the command line :
8<------------------------------------------------------------------
$ wmalauncher --desktop-file mozilla-firefox.desktop:firefox.desktop &
8<------------------------------------------------------------------
In the example above, wmalauncher will use the first .desktop file
found in the "desktop file search path" that match mozilla-firefox.desktop
or firefox.desktop (note: the extensions can be omitted).
Configuration file
------------------
A configuration file is a plain text files in which whole or part of the
wmalauncher settings (ex. the 'border size', the 'background color', etc..)
are defined by entries with the syntax :
key = <value>
----------------------------------------------------------------------
! !
! Comments, ie. line starting with a # - with/out leading space(s) -, !
! are ignored. !
! !
! Spaces at both side of loaded values are removed. !
! !
! When there are more than 1 occurence of a given key, only the 1st !
! value is loaded. The others are ignored. !
! !
----------------------------------------------------------------------
key must be the name, without the dashes, of any of the wmalauncher
options (excluding help, fonts-infos, command,icon, desktop-file,
run-in-terminal, tooltip-text) :
----------------------------------------------------------------------
Key ! Type
----------------------------!-----------------------------------------
preferred-terminals ! String
window-size ! Integer
icon-padding ! Integer
border-size ! Integer
background-color ! String (2,3)
hover-background-color ! String (2,3)
border-color ! String (2,3)
hover-border-color ! String (2,3)
icon-search-path ! String
desktop-file-search-path ! String
font-search-path ! String
tooltip-font ! String
tooltip-background-color ! String (2,3)
tooltip-foreground-color ! String (2,3)
tooltip-border-size ! Integer
tooltip-text-padding ! Integer
tooltip-show-delay ! Integer
tooltip-hide-delay ! Integer
icon-grayscale ! Boolean (1)
hover-icon-grayscale ! Boolean (1)
frame ! String (2)
icon-brightness ! Float
hover-icon-brightness ! Float
icon-contrast ! Float
hover-icon-contrast ! Float
icon-gamma ! Float
hover-icon-gamma ! Float
double-click ! Integer
display ! String
broken-wm ! Boolean (1)
exit-on-right-click ! Boolean (1)
----------------------------------------------------------------------
(1) Valid boolean values are: 1, true, on, yes, 0, false, off, no.
(2) See the section COLORS in the manual page for more on this.
(3) See the section GRADIENTS in the manual page for more on this.
----------------------------------------------------------------------
On startup, wmalauncher loads the settings from the configuration file
specified by the environment variable WMALAUNCHER_CONFIG, if applicable,
or, from the wmalauncher configuration file (*), if available. Otherwise,
the default internal settings are used.
(*) Default to ~/.config/wmalauncher/wmalauncher.conf. This can be changed
using the cmake variable WMALAUNCHER_CONFIG_FILE.
wmalauncher comes with the following pre-defined configuration files :
lighting.conf
multi-effects.conf
old-school.conf
frame-onthefly.conf
wmaker-style.conf
Troubleshooting
---------------
In case of issue with wmalauncher, rebuild it with debug informations
by passing -DCMAKE_BUILD_TYPE=Debug (or RelWithDebInfo) to cmake, re-run
wmalauncher to reproduce the issue, then send the system configuration
in use, the output of wmalauncher, the back/stack trace (if any), and any
other informations that could be useful to solve the issue, at :
<slacker6896@gmail.com>
Known issues
------------
1. wmalauncher might hang when running in an ssh session, which is
caused by an imlib2 issue (https://phab.enlightenment.org/T7173).
To circumvent this :
+ upgrade xorg-server to version >= 1.20.1
+ export IMLIB2_SHM_OPT=1
+ rebuild imlib2 with --without-x-shm-fd
+ downgrade imlib2 to 1.4.x
Translation
-----------
At the moment, wmalauncher manual page and messages (including help page),
are only translated in french.
Anybody who wants to contribute to translation (or even correction) is
welcome and can contact me at <slacker6896@gmail.com>.
Authors
-------
+ Sébastien Ballet <slacker6896@gmail.com>
License
-------
The source code of this program is governed by the BSD 3-clause license
that can be found in the LICENSE file.
Credits
-------
wmalauncher logo was generated on patorjk.com/software/taag using font
Doom.