When comparing Cairo-Dock vs Rofi, the Slant community recommends Rofi for most people. In the question“What are the best Linux app launchers?” Rofi is ranked 1st while Cairo-Dock is ranked 15th.
Ranked in these QuestionsQuestion Ranking
Pro Easy to tweak and make your own themes
Drag and drop, change icons, use effects, etc. It's fun to play with. It's not a basic dock program and the GUI is good.
Pro Cairo-Dock session
Users can choose to launch a stand alone Cairo-Dock session where the dock also serves as a taskbar where all apps are launchable such as in any other DE session. There is a composited version and one without.
Pro Popular and usually found and installed from a distros repo
Due to the popularity and how long Cairo-Dock has been around it is more often than not found in a distros repos, which is very convenient to get the app installed.
Pro Easily themed
Cairo-Dock has built in settings to install and use themes for the dock and icons. Definitely more robust in this are than most other docks available for Linux.
Pro Can run commands
<code>run: st toxic</code> Runs a tox client in the terminal emulator "st".
<code>run: maim ~/Images/screenshots</code> take a screenshot with "maim" and save it to given location.
Pro Minimalist design, yet can use customizable themes
Also it's easy to make use of your own "plugin" (scripts).
Pro Great keybindings
They seem to be emacs based.
Pro Resource efficient
Pro Case insensitive
Instead of having to worry about case sensitive characters, you can use caps or lowercase wherever you please without causing any issues.
Pro Clipboard history extension
Greenclip adds clipboard manager functionality.
Pro Greatly maintained
Pro No resource usage when you're not using it
Other launchers often run in the background to be prepared for showing the launcher. Rofi doesn't do this. On the negative side this means it can launch slower (depending on your environment and setrtings).
Pro Easily switch windows without mouse
Con No updates since 2016
Certainly no PPAs for modern releases of Ubuntu.
Con Poor/No system theme or icon integration
Docks use their own theme, own theme colors, icons, layout's and theme engines.
Con Hard/Underwhelming to configure
Cairo dock proposes a feature rich tool, tweakable to any degree. The configuration menus are at times inappropriate, shallow and uninteresting, complex to navigate, and prefab-centric. Rarely offering a satisfying preset, and always unsatisfying to tweak.
Con Can be heavy on resources for weaker systems
Cairo-Dock is more on the heavy side when compared to other docks, which is something to keep in mind for those that are on low resource systems.
Con One of the most poorly documented launchers for new users
Install Rofi and google how to actually start or use it. Sure, there's plenty of Arch users screaming about dmenu, showing off editing of config files, integrating it with i3 or this or that, but how do we actually:
1) Start it.
2) Use it.
Rofi seemed intriguing, because it was ranked #1 on slant, but it may be better to use a third party dock in Xfce, because there's simply no resource on how to use Rofi for a complete newbie.
Con Issues when Caps Lock is active
When typing with Caps Lock activated, it's impossible to use Backspace. Rofi eventually freezes in this scenario.
Con Issues on Wayland
If you use Wayland, then Rofi may fail to grab keypresses or inputs, or may fail altogether. Works fine if you switch to X11.
Con Lacks keywords to switch between modes
You can switch between modes with ctrl+tab by default, but if you have a lot of modes this is slow.
Con Lacks a default "blank slate" launch behavior
Unlike Ulauncher, Albert and similar launcher there's no generic "enable everything" launch behavior. You can configure Rofi to do almost this, but it's whitelist based, so you'd have to reconfigure it if you install or uninstall a plugin, and Rofi has to know if the plugin should be part of the combi mode or treated as an isolated mode.
Con Lacks conventions for plugins
For example the calc mode/plugin will output the result to stdout by default, while the emoji mode/plugin will add it to the clipboard, and there's no good way for plugins to add additional config option. The plugins can check your CLI arguments, but you can't put those in your config instead to make them persist in a convenient manner, so you have to pass them as arguments every time, and multiple plugins could implement the same cli argument to mean different things.