Rofi Versions Save

Rofi: A window switcher, application launcher and dmenu replacement

1.7.5

1 year ago

A quick bug-fix release to fix 3 small issues.

  • In DMenu sync mode, the separator is left in the string.
  • On special crafted delayed input in dmenu it shows updates to the list very slow. It now forces to push update (if there) every 1/10 of a second.
  • In the view some of the update/redraw policies are fixed to reduced the perceived delay.

This makes it clear we need more people testing the development version to catch these bugs. I only use a very limited set of features myself and do not have the time nor energy to write and maintain a good automated test setup. There was one in the past that tested some basic features by running rofi, inputting user input and validating output. But it was not reliable and difficult to keep running.

Thanks

Big thanks to everybody reporting issues. Special thanks goes to:

  • Iggy
  • Morgane Glidic
  • Danny Colin

Apologies if I mistyped or missed anybody.

1.7.4

1 year ago

Another maintenance and small features expansion release. A lot of small annoyances have been fixed and ignored errors are now more visually flagged to the user. In the past typos in the theme could result into broken themes without any warning to the user (except in debug mode), if an unknown link is found it will now throw an error. To help the user find the right documentation, the manpages are further split up into sub-pages and are expanded

We now have:

  • rofi(1)
  • rofi-theme-selector(1)
  • rofi-keys(5)
  • rofi-theme(5)
  • rofi-debugging(5)
  • rofi-dmenu(5)
  • rofi-script(5)

Another improvement made that can have huge impact on the user-experience is a significant speedup in the async input reading of dmenu. It turned out glib's GInputStream async methods are very slow. On large input sets where it was supposed to improve the user experience, it made it unusable. To resolve this a custom implementation has been made. Background loading is now close to the same speed as loading at start before displaying. A million item list is now near instant. On very large lists, the instant filtering automatically changes to be postponed until the user stops typing. This severely reduces system load and interface blocking.

A few long standing feature requests and bug reports have been implemented or fixed:

  • Listview flow. You can now change the flow in the listview from vertical first to horizontal first. Making it mimic tables.
for i in {1..90}; do echo $i; done | rofi -dmenu -no-config -theme-str 'listview { columns: 3; flow: vertical; }'

Vertical

for i in {1..90}; do echo $i; done | rofi -dmenu -no-config -theme-str 'listview { columns: 3; flow: horizontal; }'

Horizontal

  • You can set a custom fallback icon for each mode.
configuration {
  run,drun {
    fallback-icon: "application-x-addon";
  }
}
  • In dmenu mode (and script) you can now make (some) changes to the theme, for example modifying the background color of the entry box.
echo -en "\0theme\x1felement-text { background-color: red;}\n"
  • User scripts (for script mode) into $XDG_CONFIG_HOME/rofi/scripts directory are automatically available in rofi.
rofi -h
<snip>
Detected user scripts:
        • hc (/home/qball/.config/rofi/scripts/hc.sh)
</snip>

This script can now by shows by running rofi -show hc.

  • You can now render text as icons, this allows you to use glyphs icon fonts as icons.
echo -en "testing\0icon\x1f<span color='green'>Test</span>" | rofi -dmenu
  • Hide listview when unfiltered. (#1079)
listview {
    require-input: true;
}
  • You can now add a separate icon or textbox widget to the UI that displays the current selected item. As an example see the included sidebar-v2.

  • A bug was fixed that caused problems with newer xkeyboard-config versions and different keyboard layouts.

Below is a more complete list of changes:

Changelog

  • [Doc] Add -config to -help output. (#1665)
  • [Dmenu] Fix multi-select, use text as indicator.
  • [filebrowser] Fix building on Mac. (#1662,#1663)
  • [textbox] Implement text-transform option. (#1010)
  • [script] Add new-selection (#1064).
  • [Script] Add keep-selection flag that keeps the current selection. (#1064)
  • [Debug] Add '-log' flag to redirect debug output to a file.
  • [XCB] Try to deduce rotated monitors.
  • [Doc] Add rofi-dmenu to 'See also' in rofi(1).
  • [Options] Mark offset(s) as deprecated.
  • [Modes] Support loading multiple icon sizes.
  • [View] Add textbox|icon-current-entry widget.
  • [Doc] Add ascii manpage to rofi-script(5).
  • [Script] Print user-scripts in -h
  • [Script] Look into $XDG_CONFIG_HOME/rofi/scripts/ for user scripts.
  • [Dmenu|Script] Allow (some) theme modification from script/dmenu.
  • [Textbox] Fix some pango alignment.
  • [FileBrowser] Bind 'kb-accept-custom-alt' to directory up.
  • [Build] Add desktop files as per complaint (rofi theme selector and rofi itself).
  • [Dmenu] Code cleanups.
  • [Themes] Remove broken themes.
  • [Modes] Allow fallback icon per mode. (#1633)
  • [View] Fix broken anchoring behaviour. (#1630)
  • [Rofi] Move error message on commandline to UI.
  • [Listview] Option to hide listview elements when not filtered. (#1622,#1079)
  • [DMenu] Speed up reading async in of large files from stdin.
  • [FileBrowser] Make accept-alt open folder if selected.
  • [Helper] Add XDG_DATA_DIRS to the theme search path. (#1619)
  • [Doc] Split up manpages and extend them with examples.
  • [Doc] Highlight use of -dump-config in config. (#1609)
  • [Config] Workaround for in data type passed to string option.
  • [Listview] Allow flow of elements to be set. (#1058)
  • [Script] Add data field that gets passed to next execution. (#1601)
  • Change modi to modes to avoid confusion.
  • [Theme] When links are unresolvable throw an error to the user.
  • [DMenu] Document the display-columns and display-column-separator option.
  • [Theme] Media now supports enabled that supports an environment variable.
  • [IconFetcher] Support rendering fonts as icon.
  • [xcb] Remove work-around to fix use with new xkeyboard-config (#1642)

Thanks

Big thanks to everybody reporting issues. Special thanks goes to:

  • Iggy
  • Morgane Glidic
  • Danny Colin

Apologies if I mistyped or missed anybody.

1.7.3

2 years ago

A small intermediate release with a few fixes, mostly in documentation and two great additions by Jakub Jiruta:

  • An option to customize the combi mode display format.
  • To possibility to set tab stops on listview and entry boxes.

Changelog

v1.7.3:

  • [Help] Print out the parsed config/theme files in -help output.
  • [Keybindings] Fix keybindings being modified by -theme-str
  • [Doc] Add rofi-dmenu manpage.
  • [XCB] Cache lookup of monitor.
  • Add -replace option (#568)
  • Fix memory leak.
  • [1566] Add extra debug for resolving monitors.
  • [Theme] Add round,floor,ceil function in @calc (#1569)
  • [Doc] Explain icon lookup.
  • [Combi] Add -combi-display-format (#1570) (thanks to Jakub)
  • [Theme] Expand list type ([]) for more data types.
  • [Theme] Add support for tab-stops on textbox. (#1571) (thanks to Jakub)
  • [Theme] Testing direct access to widgets via cmdline option (-theme+widget+property value)

Thanks

Big thanks to everybody reporting issues. Special thanks goes to:

  • Iggy
  • Morgane Glidic
  • Danny Colin
  • Jakub Jirutka

Apologies if I mistyped or missed anybody.

1.7.2

2 years ago

A quick in between release, a bug got fixed that (after fixing) caused configurations not working any more in theme files. While this is the desired behaviour, this release reverts it to avoid breaking to many setups.

Changelog

v1.7.2:

  • [Build] Fix building without window mode enabled.
  • [Config] Do not print out the 'theme' field in configuration on dump.
  • [CI] test window mode less build.
  • Allow configuration block in theme again.

Thanks

Big thanks to everybody reporting issues. Special thanks goes to:

  • Iggy
  • Quentin Glidic
  • Danny Colin

Apologies if I mistyped or missed anybody.

1.7.1

2 years ago

This release focusses on fixing bugs found in 1.7.0. The most important ones are fixing sizing bug, fix nested media statements and broken close-on-delete. There are a few new features to help themeing: We now support env(ENV,default) statement and when dumping a theme theme-names are resolved (f.e. green, lightblue, etc.).

Thanks to everybody reporting bugs, providing patches that made this release possible.

Possible Breaking change

Because of an earlier bug that allowed unintended behavior that got fixed there are two things that might need to be fixed in the config file. Apologies, it was not intended to break previous working configurations.

Configuration block in theme

Themes should affect theming, not configuration. A configuration {} block in the theme is not allowed. Please move this into your config.rasi.

Theme property in configuration block

This:

configuration {
   theme: "mytheme";
}

should be

configuration {

}
@theme "mytheme"

Make sure there is no trailing ; at the end of the @theme line.

For a more complete list of changes see below.

Changelog

[Theme] Fix highlight with only theme.
Updated documentation and landing page (Thanks to RaZ0rr-Two)
[Combi] Fix nesting combi modi (#1510)
[DMenu] Fix crash dmenu mode when no entry is available. (#1504)
[Run|Drun] Only initialize file-completer on first use.
[FileBrowser] Reduce number of re-allocs.
[Readme] Remove generating readme.html for dist.
[Dmenu] Fix uninitialized memory (non-selectable)
[FileBrowser] Try to convert invalid encoded text. (#1471)
[FileBrowser] Don't crash on invalid file filenames. (#1471)
[Theme] print known colors as its color name.
[CMD] If failed to convert commandline to new option, do not stop. (#1425)
[Theme] Fix parsing of nested media blocks. (#1442)
[Widgets] Fix sizing logic widgets. (#1437)
[Window] Try to fix auto-sizing of desktop names for non-i3 desktops. (#1439)
[Window] Fix broken close-on-delete. (#1421)
[Listview] Correctly check if selected item is highlighted. (#1423)
[Entry] Allow action to be taken on input change. (#1405)
[Theme] Don't truncate double values. (#1419)
[Grammar] Add support for env(ENV,default).
[Documentation] documentation fixes.
[Theme] fix dmenu theme ( #1396).

Thanks

Big thanks to everybody reporting issues. Special thanks goes to:

Iggy
RaZ0rr-Two
Quentin Glidic
Danny Colin
Tuure Piitulainen

Apologies if I mistyped or missed anybody.

1.7.0

2 years ago

1.7.0: Iggy 2024

Please use the autotools build system. Meson is currently broken.

Iggy

Rofi 1.7.0 is another bug-fix release that also removes a lot of deprecated features. One of the biggest changes is the removal of the (deprecated) xresources based configuration setup. With this removal, also a lot of hack-ish code has been removed that tried to patch old config setups. While the deprecation might be frustrating for people who have not yet converted to the new format, I hope for some understanding. Even though this move might not be popular, the deprecation in previous releases and consequential removal of these options is needed for two reasons. The most important one is to keep rofi maintainable and secondary to open possibility to overhaul the config system in the future and with that fixing some long standing bugs and add new options that where hindered by the almost 10 year old system, the new system has been around for more than 4 years.

Beside mostly bug-fixes and removal of deprecated options, we also improved the theming and added features to help in some of the more 'off-script' use of rofi.

This release was made possible by many contributors, see below for a full list. Big thanks again to SardemFF7 and TonCherAmi.

Default theme loading

In older version of rofi the default theme was (almost) always loaded based on some unclear rules, sometimes some random patch code was loaded and sometimes no theme was loaded before loading another theme.

The current version of rofi this is hopefully more logic. It loads the default theme by default using the default configuration. (Can be disabled by -no-default-config). Using -theme, or @theme primitive will discard the theme completely.

So the below css completely removes the default theme, and loads iggy.

configuration {


}

@theme "iggy"

element {
    children: [element-icon, element-text];
}

File Browser

TonCherAmi made several very nice usability improvements to the file-browser. His changes allow you to define sorting and ordering of the entries and changing the default start directory.

These options can be set using the new 'nested' configuration format that we are testing in rofi:

configuration {
   filebrowser {
      /** Directory the file browser starts in. */
      directory: "/some/directory";
      /**
        * Sorting method. Can be set to:
        *   - "name"
        *   - "mtime" (modification time)
        *   - "atime" (access time)
        *   - "ctime" (change time)
        */
      sorting-method: "name";
      /** Group directories before files. */
      directories-first: true;
   }
}

File Completion

In rofi 1.7.0 a long awaited patch I wrote many years ago landed into the rofi. This patch adds some basic completion support by chaining modi. Currently it only supports chaining the FileBrowser mode. This allows you to launch an application with a file as argument. This is currently supported in the Run and the DRun modi by pressing the Control-l keybinding. For the Run mode it will add it as first argument, in DRun it only works if the Desktop file indicates support for this.

completer

This is not the final implementation, but a first investigation in how to add/extend this feature. Ideally you can have multiple completers (including custom ones) you can choose from.

Timeout actions

You can now configure an action to be taken when rofi has not been interacted with for a certain amount of seconds. You can specify a keybinding to trigger after X seconds.

This option can be set using the new 'nested' configuration format that we are testing in rofi:

configuration {
  timeout {
      delay:  15;
      action: "kb-cancel";
  }
}

This setting will close rofi after 15 seconds of no interaction.

configuration {
  timeout {
      delay:  5;
      action: "kb-accept";
  }
}

This setting will accept the current selection after 5 seconds of no interaction.

Background image and gradients

To improve theming the background-image property was added with support for setting images url() or a gradient linear-gradient().

window {
    background-image: url("/tmp/i3.png", both);
}
element {
    children: [element-icon, element-text];
    background-image: linear-gradient(to bottom, black/20%, white/20%, black/10%);
}

The below screenshot shows both background image and gradients.

background image

Or a more subtle change is the gradient on the tabs here:

iggy-theme

Clickable button and icons

icon-paste {
    expand: false;
    filename: "gtk-paste";
    size: 24;
    vertical-align: 0.5;
    action: "kb-primary-paste";
}
button-paste {
    expand: false;
    content: "My Clickable Message";
    vertical-align: 0.5;
    action: "kb-primary-paste";
}

The screenshot below shows a non-squared image and clickable buttons (the close icon in the top right)

rofi icons

Changelog

  • ADD: -steal-focus option.

Explicitly steal focus from from the current window and restore it on closing. Enabling this might break the window switching mode.

  • ADD: [Config] Add nested configuration option support.

Allow for nested configuration options, this allows for options to be grouped.

configuration {
  timeout {
      delay:  15;
      action: "kb-cancel";
  }
  combi {
    display-name: "Combi";
  }
}

  • ADD: [Config] Support for handling dynamic config options.

A quick work-around for handling old-style dynamic options. This should be resolved when all options are converted to the new (internal) config system.

  • ADD: [DRun] Add fallback icon option. This option allows you to set a fallback icon from applications.
configuration {
  application_fallback_icon: "my-icon";
}
  • ADD: [IconFetcher] Find images shipped with the theme.

If you have an icon widget you can specify an image that exists in the theme directory.


window {
  background-image: url("iggy.jpg", width);
}
  • ADD: [DRun] Add support for passing file (using file-browser) completer for desktop files that support his.

See above.

  • ADD: [DRun] Support for service files.

Support KDE service desktop files.

  • ADD: [FileBrowser] Allow setting startup directory (#1325)
  • ADD: [FileBrowser]: Add sorting-method. (#1340)
  • ADD: [FileBrowser] Add option to group directories ahead of files. (#1352)

See above.

  • ADD: [Filtering] Add prefix matching method. (#1237)

This matching method matches each entered word to start of words in the target entry.

  • ADD: [Icon] Add option to square the widget.

By default all icons are squared, this can now be disabled. The icon will occupy the actual space the image occupies.

  • ADD: [Icon|Button] Make action available on icon, button and keybinding name.

See above.

  • ADD: [KeyBinding] Add Ctrl-Shift-Enter option. (#874)

This combines the custom and alt keybinding. Allowing a custom command to be launched in terminal.

  • ADD: [ListView]-hover-select option. (#1234)

Automatically select the entry under the mouse cursor.

  • ADD: [Run] Add support for passing file (using file-browser) completer.

See above.

  • ADD: [Textbox] Allow theme to force markup on text widget.

Force markup on text widgets.

  • ADD: [Theme] theme validation option. (-rasi-validate)
  • ADD: [View] Add support for user timeout and keybinding action.
  • ADD: [Widget] Add cursor property (#1313)

Add support for setting the mouse cursor on widgets. For example the entry cursor on the textbox, or click hand cursor on the entry.

element,element-text,element-icon, button {
    cursor: pointer;
}

  • ADD: [Widget] Add scaling option to background-image.

Allows you to scale the background-image on width, height and both. See above example.

  • ADD: [Widget] Add support background-image and lineair gradient option.

See above.

  • ADD: [Window] Add pango markup for window format (#1288)

Allows you to use pango-markup in the window format option.

  • ADD: [Window] Allow rofi to stay open after closing window.
configuration {
  window {
      close-on-delete: false;
  }
}

  • FIX: [DSL] Move theme reset into grammar parser from lexer.

Given how the lexer and the grammar parser interact, the reset did not happen at the right point in the parsing process, causing unexpected behaviour.

  • FIX: [Drun]: fix sorting on broken desktop files. (thanks to nick87720z)

Broken desktop files could cause a rofi crash.

  • FIX: [File Browser]: Fix escaping of paths.

Fix opening files with special characters that needs to be escaped.

  • FIX: [ListView] Fix wrong subwidget name.

Fixes theming of element-index.

  • FIX: [Script] Don't enable custom keybindings by default.

The quick switch between modi was broken when on a script mode. This now by default works, unless the mode overrides this.

  • FIX: [TextBox] Fix height estimation.

This should fix themes that mix differently sized fonts.

  • FIX: [Theme] widget state and inherited properties. This should help fixing some old themes with changes from 1.6.1.

An old pre-1.6.1 rasi theme should work with the following section added:

element-text {
    background-color: inherit;
    text-color:       inherit;
}
  • FIX: [Widget] Fix rendering of border and dashes. (Thanks to nick87720z)

This fixes the long broken feature of dashed borders.

message {
    padding:      1px ;
    border-color: var(separatorcolor);
    border:       2px dash 0px 0px ;
}

  • FIX: [Build] Fix CI.

  • FIX: [Theme] Discard old theme, when explicitly passing one on command line.

In previous version there was a bug when passing -theme on commandline did not discard old theme. This caused problems loading themes (as it merged two themes instead of loading them).

To get old behaviour on commandline do:


rofi -theme-str '@import "mytheme"' -show drun
  • REMOVE: -dump-xresources
  • REMOVE: -fullscreen
  • REMOVE: -show-match
  • REMOVE: Old xresources based configuration file.
  • REMOVE: fake transparency/background option, part of theme now.
  • REMOVE: xresources parsing via Xserver
  • Remove: [Theme] Remove backwards compatiblity hack.
  • DOC: Update changes to manpages

Thanks

Big thanks to:

  • Quentin Glidic
  • a1346054
  • Ian C
  • TonCherAmi
  • nick87720z
  • Markus Grab
  • Zachary Freed
  • nickofolas
  • unisgn
  • Jas
  • rahulaggarwal965
  • Awal Garg
  • Eduard Lucena
  • Lars Wendler

Apologies if I mistyped or missed anybody.

1.6.1

3 years ago

Rofi 1.6.1 is another bug-fix release in the 1.6 series. This release fixes a few issues with 1.6.0, most important the crash with drun-cache and resolving some issues that the default theme had on some systems. There are a few minor new features introduced.

Theme: min/max and nested media support

To make themes more adoptable to different setups, @media statements can now be nested and support for min/max operation in calc() has been added.

FileBrowser

The file-browser plugin is now integrated in rofi.

File Browser

ChangeLog

  • Use GdkPixbuf for Icon parsing.
  • Add FileBrowser to default mode.
  • Fix parsing dicts in config file (with " in middle of string.)
  • Add -normalize-match option, that tries to o match ö, é match e. (#1119)
  • [Theme] Add min/max operator support to calc() (#1172)
  • Show error message and return to list instead of closing (#1187)
  • [Theme] Add nested media support. (#1189)
  • [Textbox] Try to fix estimated font height. (#1190)
  • [DRun] Fix broken caching mechanism.

1.6.0

3 years ago

1.6.0: The Masked Launcher

More then 2 years after the 1.5.0 release and a year after 1.5.4, we present rofi 1.6.0. This release is again focusses bug-fixing and improving the experience for themers and script developers. The script mode has been extended with many small requested tweaks to get it more on par with dmenu mode. For themers the listview has been made more flexible, allowing more fancy themes, for examples mimicking Gnomes application launcher or albert.

Big thanks to SardemFF7 and all the other contributors, without their support and contributions this release would not have been possible.

Script mode

Rofi now communicates some information back to the script using environment variables. The most important one, is ROFI_RETV, this is equal to the return value in dmenu mode. It can have the following values:

  • 0: Initial call of script.
  • 1: Selected an entry.
  • 2: Selected a custom entry.
  • 10-28: Custom keybinding 1-19

To fully read up on all features of script mode, there is now a rofi-script(5) manpage.

Some of the new features are:

  • Search invisible text
  • Pass extra information back on selection
  • Support for a custom delimiter
  • Support for dmenus no-custom option
  • Detect if launched from rofi

To test some of the features:

#!/usr/bin/env bash

if [ -z "${ROFI_OUTSIDE}" ]
then
    echo "run this script in rofi".
    exit
fi

echo -en "\x00no-custom\x1ftrue\n"
echo -en "${ROFI_RETV}\x00icon\x1ffirefox\x1finfo\x1ftest\n"

if [ -n "${ROFI_INFO}" ]
then
    echo "my info: ${ROFI_INFO} "
fi

Theme

There have been a set of tweaks to the theme format, making it more flexible and hopefully more themer-friendly.

Listview flexibility

This is one of the biggest change, instead of the listview having a hacked textbox as elements. It now re-uses existing widgets like box, icon and textbox. This way you can re-structure how it looks. For example put the icon above the text.

Icons

With theme:

element {
  orientation: vertical;
}

This will make the box element put element-icon and element-text in a vertical list.

or change the ordering to show icon on the right:

element {
  children: [element-text, element-icon];
}

Icons vertical

icon warning This causes a breaking change for themes, to modify the highlighting, this should be set to element-text. Or inherited. element-text { highlight: inherit; }.

If you override the build in theme, you might want to set icon size:

element-icon {
    size:             1.2em ;
}

Calculation support in theme format.

Rofi adds CSS like calculations in the CSS format for distances. You can now set the width of the window to the screen width minus a 10 pixels.

window {
    width: calc(100% - 10px);
}

It supports: -, +, /, * and % operators and they should be surrounded by whitespace.

Initial media support

This is a very initial implementation of CSS like @media support. This allows you to modify the theme based on screen size or ratio.

We currently support: minimum width, minimum height, maximum width, maximum height, monitor id, minimum acpect ratio or maximum acpect ratio.

For example, go to fullscreen mode on screens smaller then full HD:

@media (max-width: 1920 ) {
  window {
    fullscreen: true;
  }
}

List of Changes

  • Add themes/ directory in the users rofi config directory to the theme search path. (#1001)
  • Split listview element into box widget holding icon and textbox. Supporting more dynamic themes. (#949)
  • Fix default theme.
  • Add -upgrade-config option.
  • Add ROFI_PLUGIN_PATH variable.
  • Add check for running rofi inside a Script mode.
  • Remove gnome-terminal from rofi-sensible-terminal (#1074)
  • Set window title based on mode name. (#969)
  • Subpixel rendering workaround. (#303)
  • Support character type in configuration {} block . (#1131)
  • Use XDG_CONFIG_DIRS (#1133)
  • [Box] Bug fix update propagation.
  • [Build] Fix meson build with meson 0.55.
  • [DMenu] Add -keep-right flag. (#1089)
  • [DMenu] Don't match markup when filtering. (#579,#1128)
  • [DRUN] Support Type=Link (#1166)
  • [DRun] Add % to escape variable.
  • [DRun] Add an optional cache for desktop files. (#1040)
  • [DRun] Add keywords as default match item. (#1061)
  • [DRun] Don't run custom commands.
  • [DRun] Match keywords field.
  • [DRun] Only show selected categories. (#817)
  • [Dmenu|Script] Add non-selectable entries. (#1024)
  • [Doc] Update documentation.
  • [IconFetcher] Add jpeg support.
  • [Icon] Set default size to 1.2 CH.
  • [Icon] support distance for size.
  • [Listview] Add widget to show keybinding index. (#1050)
  • [Listview] Fix distribution of remaining space.
  • [Listview] Fix left-to-right scrolling. (#1028)
  • [Listview] Fix updating elements. (#1032)
  • [Matching] Make Fuzzy matching non greedy.
  • [Script] Add delimiter option. (#1041)
  • [Script] Add environment variable indicating state.
  • [Script] Add extra matchign field (meta). (#1052)
  • [Script] Add info option, hidden field that gets passed to script via ROFI_INFO environment.
  • [Script] Add no-custom option.
  • [Textbox] Add cursor blinking option.
  • [Textbox] Add placeholder. (#1020)
  • [Theme] Add calc() support. (#1105)
  • [Theme] Add alpha channel to highlight color. (#1033)
  • [Theme] Add sidebar as mode-switcher alias.
  • [Theme] Add some initial @media support. (#893)
  • [Theme] Support buttons in the UI.
  • [View] Add two widgets. One showing number of rows, other number of filtered rows. (#1026)
  • [Window] Add window thumbnail option.
  • [Window] Remove arbitrary # window limit. (#1047)
  • [Window] check buffer overflow.

1.5.4

4 years ago

Quick bug-fix release to fix a crasher in SSH dialog.

1.5.3

4 years ago

Rofi 1.5.3 is another bug-fix release in the 1.5 series.

There is one breaking change in the theme naming and there are a few small new features (tweaks) in this release.

The selection buttons to select between the different modi was still called sidebar a remnant from the past. This has now been renamed to mode-switcher.

Icons in dmenu

Just like in window,drun and script modi you can add icons to the list in dmenu mode.

The syntax is similar to the script modi:

echo -en "Firefox\0icon\x1ffirefox\ngimp\0icon\x1fgimp" | rofi -dmenu -no-config -show-icons

dmenu icons

The entries are separated by a \n newline (normal dmenu behaviour). The extra parameters can be added after a \0 null character, the key and value are separated by a \x1f unit separator character.

Ellipsizing listview entries

If you have very long entries in your view that get ellipsized (cut off at the end indicated by ...) you can now select, at runtime, where they are cut off (start, middle or end).

You cycle through the options with the the alt+. keybinding.

Start:

dmenu ellipsize

Middle:

dmenu ellipsize

End:

dmenu ellipsize

Full Changelog

The full list of fixes and updates:

  • 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.
  • SSH: be case-insensitive when parsing keywords.
  • 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.
  • DMENU: Add format option to strip pango markup from return value.
  • ListView: allow user to change ellipsizing displayed value at run-time.