summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2019-06-23 15:12:04 +0200
committerDave Davenport <qball@gmpclient.org>2019-06-23 15:12:04 +0200
commit3ca22fc52886daab5adf32fcae9662268530c07c (patch)
tree0cd3832f4da83144572a19e6c5e0d4f20df14839
parent89715ef5676a292f84a7dc0890eec0dc4f494c21 (diff)
parentec0e8a656f7b393a8aad3591a390ddc3f87d075a (diff)
Merge remote-tracking branch 'origin/next'
-rw-r--r--Changelog19
-rwxr-xr-xExamples/rofi-file-browser.sh2
-rwxr-xr-xExamples/test_script_mode.sh2
-rw-r--r--INSTALL.md110
-rw-r--r--Makefile.am4
-rw-r--r--README.md113
-rw-r--r--config/config.c10
-rw-r--r--configure.ac14
-rw-r--r--doc/default_theme.rasi108
-rw-r--r--doc/meson.build1
-rw-r--r--doc/old-theme-convert-output.rasi76
-rw-r--r--doc/rofi-theme-selector.12
-rw-r--r--doc/rofi-theme.515
-rw-r--r--doc/rofi-theme.5.markdown13
-rw-r--r--doc/rofi.169
-rw-r--r--doc/rofi.1.markdown36
-rw-r--r--doc/test_xr.txt12
-rw-r--r--include/dialogs/dmenuscriptshared.h21
-rw-r--r--include/history.h1
-rw-r--r--include/keyb.h5
-rw-r--r--include/rofi-types.h4
-rw-r--r--include/rofi.h2
-rw-r--r--include/settings.h5
-rw-r--r--include/timings.h2
-rw-r--r--include/widgets/listview.h6
-rw-r--r--include/widgets/textbox.h9
-rw-r--r--include/widgets/widget.h4
-rw-r--r--lexer/theme-lexer.l141
-rw-r--r--lexer/theme-parser.y103
-rw-r--r--meson.build70
-rw-r--r--meson_options.txt8
-rw-r--r--releasenotes/1.5.2/release-1.5.2.markdown2
-rw-r--r--releasenotes/1.5.3/release-1.5.3.markdown73
-rw-r--r--releasenotes/1.5.3/rofi-dmenu-icons.pngbin0 -> 7212 bytes
-rw-r--r--releasenotes/1.5.3/rofi-ellipsize-end.pngbin0 -> 48575 bytes
-rw-r--r--releasenotes/1.5.3/rofi-ellipsize-middle.pngbin0 -> 48945 bytes
-rw-r--r--releasenotes/1.5.3/rofi-ellipsize-start.pngbin0 -> 49001 bytes
-rwxr-xr-xscript/rofi-create-screenshot-theme3.sh5
-rwxr-xr-xscript/rofi-create-screenshot.sh4
-rwxr-xr-xscript/rofi-sensible-terminal2
-rwxr-xr-xscript/rofi-theme-selector9
-rw-r--r--source/dialogs/dmenu.c70
-rw-r--r--source/dialogs/drun.c71
-rw-r--r--source/dialogs/script.c36
-rw-r--r--source/dialogs/ssh.c224
-rw-r--r--source/helper.c80
-rw-r--r--source/history.c14
-rw-r--r--source/keyb.c1
-rw-r--r--source/rofi.c85
-rw-r--r--source/theme.c221
-rw-r--r--source/timings.c23
-rw-r--r--source/view.c70
-rw-r--r--source/widgets/icon.c15
-rw-r--r--source/widgets/listview.c22
-rw-r--r--source/widgets/textbox.c23
-rw-r--r--source/xcb.c16
-rw-r--r--source/xrmoptions.c8
m---------subprojects/libnkutils0
-rw-r--r--test/box-test.c14
-rw-r--r--test/helper-test.c10
-rw-r--r--test/helper-tokenize.c74
-rw-r--r--test/history-test.c8
-rw-r--r--test/mode-test.c17
-rwxr-xr-xtest/run_all_tests.sh2
-rwxr-xr-xtest/run_dmenu_custom_test.sh2
-rwxr-xr-xtest/run_dmenu_empty.sh2
-rwxr-xr-xtest/run_dmenu_issue_292.sh2
-rwxr-xr-xtest/run_dmenu_normal_window_test.sh2
-rwxr-xr-xtest/run_dmenu_test.sh2
-rwxr-xr-xtest/run_issue333_test.sh2
-rwxr-xr-xtest/run_script_test.sh2
-rw-r--r--test/scrollbar-test.c36
-rw-r--r--test/theme-parser-test.c3
-rw-r--r--test/widget-test.c2
-rw-r--r--themes/Adapta-Nokto.rasi2
-rw-r--r--themes/Arc-Dark.rasi2
-rw-r--r--themes/Arc.rasi2
-rw-r--r--themes/DarkBlue.rasi2
-rw-r--r--themes/Indego.rasi2
-rw-r--r--themes/Monokai.rasi2
-rw-r--r--themes/Paper.rasi2
-rw-r--r--themes/Pop-Dark.rasi2
-rw-r--r--themes/android_notification.rasi2
-rw-r--r--themes/arthur.rasi6
-rw-r--r--themes/blue.rasi2
-rw-r--r--themes/c64.rasi2
-rw-r--r--themes/fancy.rasi219
-rw-r--r--themes/glue_pro_blue.rasi2
-rw-r--r--themes/gruvbox-common.rasi2
-rw-r--r--themes/lb.rasi2
-rw-r--r--themes/paper-float.rasi2
-rw-r--r--themes/purple.rasi2
-rw-r--r--themes/sidebar.rasi28
-rw-r--r--themes/solarized.rasi2
-rw-r--r--themes/solarized_alternate.rasi2
95 files changed, 1610 insertions, 920 deletions
diff --git a/Changelog b/Changelog
index 952d0d50..13d74164 100644
--- a/Changelog
+++ b/Changelog
@@ -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"
diff --git a/INSTALL.md b/INSTALL.md
index 259c9fd5..a855e9cc 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -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
diff --git a/README.md b/README.md
index 918ef231..0caf39a6 100644
--- a/README.md
+++ b/README.md
@@ -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