Dmenu - Rofi
Using suki with Dmenu/Rofi
suki can be used with dmenu or Rofi to create a fast, keyboard-driven bookmark selector. This guide explains how to integrate suki with these tools.

suki output piped to rofi
Basic Usage
To list bookmarks in a format suitable for dmenu or Rofi, use the list command:
suki listThis will output bookmarks in the format:
https://example.com
https://another-example.comEach line contains only the bookmark URL.
Customizing Output Format
You can customize the output format using the --format flag. This flag accepts a custom printf-style format that is internally transformed into a Go template.
Example: Title, Tags, and URL
suki list --format "%T [%t] %u"Available Format Verbs
%T- Bookmark title%t- Bookmark tags (comma-separated)%u- Bookmark URL%d- Bookmark description
Example: Using with Rofi
Rofi Integration
suki list --format "<span lang=\"%u\">%T %t\t%u</span>\n" | rofi -theme-str 'window{ width: 100%; location: north; anchor: north; }' -markup-rows -i -p "Bookmarks:" -no-custom -dmenu | pup 'span attr{lang}'Rofi Bookmark Launcher: contrib/rofi.sh
#!/usr/bin/env sh
THEME_STR='window{ width: 100%; location: north; anchor: north; }'
selected=$(suki --format "<span lang=\"%u\">%T %t\t%u</span>\n" | rofi -theme-str "$THEME_STR" -markup-rows -i -p "bookmarks" -no-custom -dmenu)
exec xdg-open $(echo "$selected" | pup 'span attr{lang}')Tips and Tricks
- Use
--formatto include additional metadata like tags or descriptions. - Combine with shell tools like
cut,awk, orsedfor advanced formatting. - Use Rofi’s
-no-customflag to disable custom window handling for a cleaner look. - Ensure
xdg-openis installed for proper URL handling.