mirror of https://github.com/davatorium/rofi.git
change some expressions, add explanations
This commit is contained in:
parent
4ee85f6d6c
commit
07ba197ce6
|
@ -1,23 +1,28 @@
|
||||||
# Release 0.15.12
|
# Release 0.15.12
|
||||||
|
|
||||||
The 0.15.12 release of **rofi** focussed on improving overall user experience. These improvements mostly focussed on
|
The 0.15.12 release of **rofi** focusses on improving overall user experience. These improvements mostly focussed on
|
||||||
three things, first we (tried to) fix the problems with complex keyboard layouts, secondly we tried to make themeing of
|
three things, first we (tried to) fix the problems with complex keyboard layouts, second we tried to make theming of
|
||||||
**rofi** easier and last we added several speedups. Below I will highlight these bigger changes in more details
|
**rofi** easier. Also we added several speedups. Below I will highlight these bigger changes in more details
|
||||||
|
|
||||||
From the next release on, now that **rofi** reached an acceptable maturity level, we will start using more common
|
Now that **rofi** reached an acceptable maturity level, we will start using more common
|
||||||
version numbering (instead of `0.year.month` that is currently used). Depending on the amount of new bugs discovered I
|
version numbering. Right now rofi uses `0.year.month` for version numbers.
|
||||||
might decide to make a `1.0.0` release.
|
Starting with next version the widely used `major.minor.bugfix` scheme will be used.
|
||||||
|
This means, that next rofi version will either be
|
||||||
|
|
||||||
|
* 0.15.13 (bugfix release)
|
||||||
|
* 0.16.0 (minor release) or (if no major bugs are discovered most likely)
|
||||||
|
* 1.0.0 (major release)
|
||||||
|
|
||||||
## Keyboard Layouts
|
## Keyboard Layouts
|
||||||
|
|
||||||
**Rofi** used to have problems with keyboard layouts that used modifier keys to switch between different layouts (unsure
|
**Rofi** used to have problems with keyboard layouts that used modifier keys to switch between different layers.
|
||||||
how this is called). These problems should now belong to the past.
|
These problems should now be a thing of the past.
|
||||||
|
|
||||||
**Note** the syntax for binding keys has slightly changed. The *Mod1*, *Mod2*, etc. keywords are no longer available.
|
**Note** the syntax for binding keys has slightly changed. The *Mod1*, *Mod2*, etc. keywords are no longer available.
|
||||||
There was no good way to detect how these keys where mapped and if they could be used as modifiers. E.g. if the right
|
There was no good way to detect how these keys where mapped and if they could be used as modifiers.
|
||||||
alt (say *Mod3*) is configured to switch between layouts, it cannot work as modifier key to make a `Mod3-p` keybinding.
|
E.g. if the right alt (say *Mod3*) is configured to switch between layouts, it cannot work as modifier key to make a `Mod3-p` keybinding.
|
||||||
**Rofi** will now check if the current layout has the *SuperR*,*SuperL*,*AltGr*,*HyperL*,*HyperR* keys available. If they
|
**Rofi** will now check if the current layout has the *SuperR*,*SuperL*,*AltGr*,*HyperL*,*HyperR* keys available.
|
||||||
are available they can be used for keybindings, if not, the user gets a warning.
|
If they are available they can be used for keybindings, if not, the user gets a warning.
|
||||||
|
|
||||||
![Rofi Keyboard Warning](rofi-warning.png)
|
![Rofi Keyboard Warning](rofi-warning.png)
|
||||||
|
|
||||||
|
@ -25,38 +30,38 @@ are available they can be used for keybindings, if not, the user gets a warning.
|
||||||
|
|
||||||
### DMenu reading from stdin
|
### DMenu reading from stdin
|
||||||
|
|
||||||
**Rofi** used to have a custom `fgets` implementation that supported custom separators. The first version in here was
|
**Rofi** used to have a custom `fgets` implementation that supported custom separators. The first version was
|
||||||
slow and was improved. After a hint of it existence it has now been replaced by the Posix 2008 `getdelim`, this one is
|
slow but got improved. Learning about Posix 2000' `getdelim` this is now used and is almost as fast as the latest custom implementation.
|
||||||
almost as fast as the new custom implementation.
|
|
||||||
|
|
||||||
Overall this gave a speedup of 6x (from 648 ms for 202000 lines down to 108ms).
|
Overall this gave a speedup of 6x (from 648 ms for 202000 lines down to 108ms).
|
||||||
|
|
||||||
### Multi-Core power
|
### Multi-Core power
|
||||||
|
|
||||||
Still disabled by default, **rofi** can now spawn multiple threads for filtering rows. Depending on the underlying
|
Still disabled by default, **rofi** can now spawn multiple threads for filtering rows. Depending on the underlying
|
||||||
hardware we saw a 1.5 times speedup running on a dual core ARM and up to a 3.5 speedup on a quadcore (8 thread) i7.
|
hardware we saw a 1.5x speedup running on a dual core ARM and up to a 3.5x speedup on a quadcore (8 threads) i7 CPU.
|
||||||
It uses Glib's GThreadPool and will therefor spawn threads when needed, and clean them up again when unused.
|
It uses Glib's GThreadPool and will therefore spawn threads as needed and clean them up again afterwards.
|
||||||
|
|
||||||
To enable this option pass `-threads 0` option, this will autodetect the number number of hw-threads. Pass `-threads 4`
|
To enable this option pass the `-threads 0` option, this will autodetect the number number of hw-threads. Pass `-threads 4`
|
||||||
to force it to use 4 threads. Setting the number to 1, disables it.
|
to force it to use 4 threads. Setting the number to 1, disables it.
|
||||||
|
|
||||||
|
|
||||||
## Themes
|
## Themes
|
||||||
|
|
||||||
**Rofi** color theme can be specified in a lot of detail, using transparency to get the desired results. However this is
|
**Rofi** color themes can be specified in a lot of detail, including the use of transparency to get desired results.
|
||||||
not always the easiest to write down and testing it can be a hassle. To solve this we added a web frontend for writing
|
However color syntax proved to be difficult and testing it can be a hassle. To solve this we added a web frontend for writing
|
||||||
(and live previewing) themes and a theme repository.
|
themes (with live preview) and a themes repository.
|
||||||
|
|
||||||
To help with this, you can now take screenshots of **rofi** from within **rofi** with a simple keybinding.
|
To make things even easier, you can now take screenshots of **rofi** from within **rofi** with a simple keybinding.
|
||||||
|
|
||||||
![Rofi Internal Screenshot](rofi-screenshot.png)
|
![Rofi Internal Screenshot](rofi-screenshot.png)
|
||||||
|
|
||||||
### Theme repository
|
### Theme repository
|
||||||
|
|
||||||
This has been requested several times and started somewhat on the website. This however got outdated quickly and neither
|
This has been requested several times and rofi's website actually has a theming page.. This however got outdated quickly and neither
|
||||||
the themes or the screenshots are correct anymore. To ease this the new repository allows themes to be easily added: you
|
the themes or the screenshots are correct anymore. The newly added rofi-themes git repository allows you to add themes easily:
|
||||||
can export your current configuration directly using **rofi --dump-xresources-theme**, place it in the theme directory
|
Fork the repository and export your current color theme with **rofi -dump-xresources-theme**. Place it in the theme directory
|
||||||
of the repository and the update script will automatically generate screenshots and update the page.
|
of the repository and run the update script. This will automatically generate screenshots and update the page.
|
||||||
|
Update your fork and send a pull request. This way your theme will appear on official themes page, once it's merged.
|
||||||
|
|
||||||
The repository can be found [here](https://github.com/DaveDavenport/rofi-themes/)
|
The repository can be found [here](https://github.com/DaveDavenport/rofi-themes/)
|
||||||
|
|
||||||
|
@ -64,12 +69,11 @@ The repository can be found [here](https://github.com/DaveDavenport/rofi-themes/
|
||||||
|
|
||||||
### Themenator
|
### Themenator
|
||||||
|
|
||||||
The second tool is a website allowing you to easily create themes and preview all changes life, the [themenator]()
|
The second tool is a website allowing you to easily create themes and preview all changes life, the [themenator](https://davedavenport.github.io/rofi/generator.html)
|
||||||
Big thanks goes to `SardemFF7` who got tired of me complaining, took the very rough prototype and turned it into
|
Big thanks to `SardemFF7` who got tired of me complaining, took the very rough prototype and turned it into
|
||||||
something beautiful.
|
something beautiful.
|
||||||
|
|
||||||
Hopefully people will make beautiful themes and submit them to the [theme
|
Hopefully people will make beautiful themes and submit them to the [theme repository](https://github.com/DaveDavenport/rofi-themes/).
|
||||||
repository](https://github.com/DaveDavenport/rofi-themes/).
|
|
||||||
|
|
||||||
![Rofi Themenator](rofi-themenator.png)
|
![Rofi Themenator](rofi-themenator.png)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue