mirror of https://github.com/davatorium/rofi.git
parent
386877dd22
commit
52f587a191
48
doc/rofi.1
48
doc/rofi.1
|
@ -1328,6 +1328,54 @@ modes are shown, even if the rest of the input text would match results from \fB
|
||||||
If no match, the input is handled by the first combined modes.
|
If no match, the input is handled by the first combined modes.
|
||||||
|
|
||||||
.SH FAQ
|
.SH FAQ
|
||||||
|
.SS What icon formats are supported
|
||||||
|
.PP
|
||||||
|
Rofi supports 3 ways of specifying an icon:
|
||||||
|
|
||||||
|
.RS
|
||||||
|
.IP \(bu 2
|
||||||
|
Filename
|
||||||
|
.IP \(bu 2
|
||||||
|
icon-name, this is looked up via the icon-theme.
|
||||||
|
.IP \(bu 2
|
||||||
|
Markup String. It renders a string as an icon.
|
||||||
|
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
For the first two options, GdkPixbuf is used to open and render the icons.
|
||||||
|
This in general gives support for most required image formats.
|
||||||
|
For the string option it uses Pango to render the string. The string needs to
|
||||||
|
start with a \fB\fC<span\fR tag, that allows you to set color and font.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Markup string:
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.RS
|
||||||
|
|
||||||
|
.nf
|
||||||
|
echo -en "testing\\0icon\\x1f<span color='red'>⏻</span>" | ./rofi -dmenu
|
||||||
|
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Getting supported icon formats:
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.RS
|
||||||
|
|
||||||
|
.nf
|
||||||
|
G_MESSAGES_DEBUG=Helpers.IconFetcher rofi
|
||||||
|
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
This uses the debug framework and prints out a list of supported image file
|
||||||
|
extensions.
|
||||||
|
|
||||||
.SS The text in the window switcher is not nicely aligned.
|
.SS The text in the window switcher is not nicely aligned.
|
||||||
.PP
|
.PP
|
||||||
Try using a mono-space font.
|
Try using a mono-space font.
|
||||||
|
|
|
@ -857,6 +857,34 @@ If no match, the input is handled by the first combined modes.
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
### What icon formats are supported
|
||||||
|
|
||||||
|
Rofi supports 3 ways of specifying an icon:
|
||||||
|
|
||||||
|
* Filename
|
||||||
|
* icon-name, this is looked up via the icon-theme.
|
||||||
|
* Markup String. It renders a string as an icon.
|
||||||
|
|
||||||
|
|
||||||
|
For the first two options, GdkPixbuf is used to open and render the icons.
|
||||||
|
This in general gives support for most required image formats.
|
||||||
|
For the string option it uses Pango to render the string. The string needs to
|
||||||
|
start with a `<span` tag, that allows you to set color and font.
|
||||||
|
|
||||||
|
Markup string:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo -en "testing\0icon\x1f<span color='red'>⏻</span>" | ./rofi -dmenu
|
||||||
|
```
|
||||||
|
|
||||||
|
Getting supported icon formats:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
G_MESSAGES_DEBUG=Helpers.IconFetcher rofi
|
||||||
|
```
|
||||||
|
This uses the debug framework and prints out a list of supported image file
|
||||||
|
extensions.
|
||||||
|
|
||||||
### The text in the window switcher is not nicely aligned.
|
### The text in the window switcher is not nicely aligned.
|
||||||
|
|
||||||
Try using a mono-space font.
|
Try using a mono-space font.
|
||||||
|
|
|
@ -294,12 +294,12 @@ static void rofi_icon_fetcher_worker(thread_state *sdata,
|
||||||
|
|
||||||
if (g_path_is_absolute(sentry->entry->name)) {
|
if (g_path_is_absolute(sentry->entry->name)) {
|
||||||
icon_path = sentry->entry->name;
|
icon_path = sentry->entry->name;
|
||||||
} else if (g_str_has_prefix(sentry->entry->name, "font:")) {
|
} else if (g_str_has_prefix(sentry->entry->name, "<span")) {
|
||||||
cairo_surface_t *surface = cairo_image_surface_create(
|
cairo_surface_t *surface = cairo_image_surface_create(
|
||||||
CAIRO_FORMAT_ARGB32, sentry->wsize, sentry->hsize);
|
CAIRO_FORMAT_ARGB32, sentry->wsize, sentry->hsize);
|
||||||
cairo_t *cr = cairo_create(surface);
|
cairo_t *cr = cairo_create(surface);
|
||||||
PangoLayout *layout = pango_cairo_create_layout(cr);
|
PangoLayout *layout = pango_cairo_create_layout(cr);
|
||||||
pango_layout_set_text(layout, &sentry->entry->name[5], -1);
|
pango_layout_set_markup(layout, sentry->entry->name, -1);
|
||||||
|
|
||||||
int width, height;
|
int width, height;
|
||||||
pango_layout_get_size(layout, &width, &height);
|
pango_layout_get_size(layout, &width, &height);
|
||||||
|
|
Loading…
Reference in New Issue