diff options
95 files changed, 1610 insertions, 920 deletions
@@ -1,3 +1,22 @@ +v1.5.3: (unreleased) + - Update manpage with missing entry. (#937) + - Rename sidebar widget to mode-switcher and allow configuration from theme. + - Timing: Moving timing output to glib debug system. + - SSH: Fix unitialized variable issue. + - SSH: resolve ':' conflict in history entries. + - RASI Lexer: Fix nested () in variable default field. + - USABILITY: When mode not found, show in gui not just on commandline. + - ICON: Allow aligning image in icon widget. + - Meson build system: cleanups and improvements. + - Meson build system: add documentation (#943) + - Window: Fix default formatting and remove (invalid) deprecation warning. + - DMenu: Add support for showing icons infront of displayed list. + - Overlay: Fix overlay widget to correctly integrate in new theme format. + - Update libnkutils, libgwater. + - SSH: be case-insensitive when parsing keywords. + - DMENU: Add format option to strip pango markup from return value. + - ListView: allow user to change ellipsizing displayed value at run-time. + v1.5.2: Procrastination in progress - Clearify Check dependency. (#879) - Add option to change negate character. (#877) diff --git a/Examples/rofi-file-browser.sh b/Examples/rofi-file-browser.sh index 397a5dfe..bdb0862e 100755 --- a/Examples/rofi-file-browser.sh +++ b/Examples/rofi-file-browser.sh @@ -64,7 +64,7 @@ then sed -i "s|${ROFI_FB_CUR_DIR}|##deleted##|g" "${ROFI_FB_HISTORY_FILE}" sed -i '/##deleted##/d' "${ROFI_FB_HISTORY_FILE}" echo "${ROFI_FB_CUR_DIR}" >> "${ROFI_FB_HISTORY_FILE}" - if [ $(cat "${ROFI_FB_HISTORY_FILE}" | wc -l) -gt ${ROFI_FB_HISTORY_MAXCOUNT} ] + if [ $( wc -l < "${ROFI_FB_HISTORY_FILE}" ) -gt ${ROFI_FB_HISTORY_MAXCOUNT} ] then sed -i 1d "${ROFI_FB_HISTORY_FILE}" fi diff --git a/Examples/test_script_mode.sh b/Examples/test_script_mode.sh index 4228ec78..d91f6a0f 100755 --- a/Examples/test_script_mode.sh +++ b/Examples/test_script_mode.sh @@ -7,6 +7,8 @@ fi if [ "$@" ] then + # Override the previously set prompt. + echo -en "\x00prompt\x1fChange prompt\n" for a in {1..10} do echo "$a" @@ -4,6 +4,7 @@ This guide explains how to install rofi using its build system and how you can m Rofi uses autotools (GNU Build system), for more information see [here](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html). +You can also use [Meson](https://mesonbuild.com/) as an alternative. ## DEPENDENCY @@ -44,10 +45,18 @@ On debian based systems, the developer packages are in the form of: `<package>-d ## Install from a release +### Autotools + +Create a build directory and enter it: + +``` +mkdir build && cd build +``` + Check dependencies and configure build system: ``` -./configure +../configure ``` Build Rofi: @@ -64,79 +73,85 @@ make install The default installation prefix is: `/usr/local/` use `./configure --prefix={prefix}` to install into another location. -## Install a checkout from git +### Meson -The GitHub Pages version of these directions may be out of date. Please use -[INSTALL.md from the online repo][master-install] or your local repository. - -[master-install]: https://github.com/DaveDavenport/rofi/blob/master/INSTALL.md#install-a-checkout-from-git - -Make a checkout: +Check dependencies and configure build system: ``` -git clone https://github.com/DaveDavenport/rofi -cd rofi/ +meson setup build ``` - -Pull in dependencies +Build Rofi: ``` -git submodule update --init +ninja -C build ``` -Generate build system: +The actual install, execute as root (if needed): ``` -autoreconf -i +ninja -C build install ``` -Create a build directory: +The default installation prefix is: `/usr/local/` use `meson setup build --prefix={prefix}` to install into another location. -``` -mkdir build -``` +## Install a checkout from git -Enter build directory: +The GitHub Pages version of these directions may be out of date. Please use +[INSTALL.md from the online repo][master-install] or your local repository. -``` -cd build -``` +[master-install]: https://github.com/DaveDavenport/rofi/blob/master/INSTALL.md#install-a-checkout-from-git -Check dependencies and configure build system: +If you don't have a checkout: ``` -../configure +git clone --recursive https://github.com/DaveDavenport/rofi +cd rofi/ ``` -Build rofi: +If you already have a checkout: ``` -make +cd rofi/ +git pull +git submodule update --init ``` -The actual install, execute as root (if needed): +For Autotools you have an extra step, to generate build system: ``` -make install +autoreconf -i ``` +From this point, use the same steps you use for a release. + + ## Options for configure -When you run the configure step there are several you can configure. (To see the full list type -`./configure --help` ). +When you run the configure step there are several options you can configure. +For Autotools, you can see the full list with `./configure --help`. +For Meson, before the initial setup, you can see rofi options in `meson_options.txt` and Meson options with `meson setup --help`. +After the initial setup, use `meson configure build`. The most useful one to set the installation prefix: ``` -./configure --prefix=<installation path> +# Autotools +../configure --prefix=<installation path> + +# Meson +meson setup build --prefix <installation path> ``` f.e. ``` -./configure --prefix=/usr/ +# Autotools +../configure --prefix=/usr/ + +# Meson +meson setup build --prefix /usr ``` ### Install locally @@ -144,7 +159,11 @@ f.e. or to install locally: ``` -./configure --prefix=${HOME}/.local/ +# Autotools +../configure --prefix=${HOME}/.local/ + +# Meson +meson setup build --prefix ${HOME}/.local ``` @@ -157,7 +176,11 @@ When you run make you can tweak the build process a little. Show the commands called: ``` +# Autotools make V=1 + +# Meson +ninja -C build -v ``` ### Debug build @@ -165,7 +188,12 @@ make V=1 Compile with debug symbols and no optimization, this is useful for making backtraces: ``` +# Autotools make CFLAGS="-O0 -g3" clean rofi + +# Meson +meson configure build --debug +ninja -C build ``` ### Get a backtrace @@ -176,7 +204,11 @@ The best way to go is to enable core file. (ulimit -c unlimited in bash) then ma can then load the core in GDB. ``` +# Autotools gdb rofi core + +# Meson (because it uses a separate build directory) +gdb build/rofi core ``` > Where the core file is located and what its exact name is different on each distributions. Please consult the @@ -192,7 +224,7 @@ apt install rofi #### Ubuntu 16.04 Xenial -**Please note that the latest version of rofi in Ubuntu 16.04 is extremely outdated (v0.15.11)** +**Please note that the latest version of rofi in Ubuntu 16.04 is extremely outdated (v0.15.11)** This will cause issues with newer scripts (i.e. with clerk) and misses important updates and bug-fixes. Newer versions of Rofi however requires versions of xcb-util-xrm and libxkbcommon that are not available in the 16.04 repositories. @@ -229,3 +261,11 @@ echo 'x11-misc/rofi ~x86' >> /etc/portage/package.accept_keywords for i386. To install it, simply issue `emerge rofi`. + +### openSUSE + +On both openSUSE Leap and openSUSE Tumbleweed rofi can be installed using: + +``` +sudo zypper install rofi +``` diff --git a/Makefile.am b/Makefile.am index 532cf790..41284e4f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -125,6 +125,7 @@ SOURCES=\ include/dialogs/window.h\ include/dialogs/dialogs.h\ include/dialogs/help-keys.h\ + include/dialogs/dmenuscriptshared.h\ resources/resources.c\ resources/resources.h @@ -231,7 +232,8 @@ theme_DATA=\ |