diff options
author | Dave Davenport <qball@gmpclient.org> | 2019-06-23 15:12:04 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2019-06-23 15:12:04 +0200 |
commit | 3ca22fc52886daab5adf32fcae9662268530c07c (patch) | |
tree | 0cd3832f4da83144572a19e6c5e0d4f20df14839 | |
parent | 89715ef5676a292f84a7dc0890eec0dc4f494c21 (diff) | |
parent | ec0e8a656f7b393a8aad3591a390ddc3f87d075a (diff) |
Merge remote-tracking branch 'origin/next'
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=\ themes/purple.rasi\ themes/sidebar.rasi\ themes/solarized.rasi\ - themes/solarized_alternate.rasi + themes/solarized_alternate.rasi\ + themes/fancy.rasi ## # Extra DIST @@ -1,57 +1,58 @@ -[![Build Status](https://travis-ci.org/DaveDavenport/rofi.svg?branch=master)](https://travis-ci.org/DaveDavenport/rofi) -[![codecov.io](https://codecov.io/github/DaveDavenport/rofi/coverage.svg?branch=master)](https://codecov.io/github/DaveDavenport/rofi?branch=master) -[![Issues](https://img.shields.io/github/issues/DaveDavenport/rofi.svg)](https://github.com/DaveDavenport/rofi/issues) -[![Forks](https://img.shields.io/github/forks/DaveDavenport/rofi.svg)](https://github.com/DaveDavenport/rofi/network) -[![Stars](https://img.shields.io/github/stars/DaveDavenport/rofi.svg)](https://github.com/DaveDavenport/rofi/stargazers) -[![Downloads](https://img.shields.io/github/downloads/DaveDavenport/rofi/total.svg)](https://github.com/DaveDavenport/rofi/releases) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ca0310962a7c4b829d0c57f1ab023531)](https://app.codacy.com/app/davatorium/rofi?utm_source=github.com&utm_medium=referral&utm_content=davatorium/rofi&utm_campaign=Badge_Grade_Settings) +[![Build Status](https://travis-ci.org/davatorium/rofi.svg?branch=master)](https://travis-ci.org/davatorium/rofi) +[![codecov.io](https://codecov.io/github/davatorium/rofi/coverage.svg?branch=master)](https://codecov.io/github/davatorium/rofi?branch=master) +[![Issues](https://img.shields.io/github/issues/davatorium/rofi.svg)](https://github.com/davatorium/rofi/issues) +[![Forks](https://img.shields.io/github/forks/davatorium/rofi.svg)](https://github.com/davatorium/rofi/network) +[![Stars](https://img.shields.io/github/stars/davatorium/rofi.svg)](https://github.com/davatorium/rofi/stargazers) +[![Downloads](https://img.shields.io/github/downloads/davatorium/rofi/total.svg)](https://github.com/davatorium/rofi/releases) [![Coverity](https://scan.coverity.com/projects/3850/badge.svg)](https://scan.coverity.com/projects/davedavenport-rofi) [![Forum](https://img.shields.io/badge/forum-online-green.svg)](https://reddit.com/r/qtools/) # A window switcher, Application launcher and dmenu replacement -**Rofi** started as a clone of simpleswitcher, written by [Sean Pringle](http://github.com/seanpringle/simpleswitcher) a +**Rofi** started as a clone of simpleswitcher, written by [Sean Pringle](http://github.com/seanpringle/simpleswitcher) - a popup window switcher roughly based on [superswitc |