Ranked in these QuestionsQuestion Ranking
Ulauncher comes with very reasonable defaults, looks good and just works.
Pro Supports extensions in Python
With Ulauncher you can easily add and update third party extensions. From kill process to windows switching, many of them work very well. The extension API is documented and if you know Python you can create and share your own extensions.
Pro Supports fuzzy search
You can enter app name with a typo and Ulauncher will still be able to find it.
ULauncher supports themes and comes with a good supply on install but more can also be made.
Pro Allows custom shortcuts
Pro Actively maintained
Unlike Albert or others, it is actually being maintained.
Pro Good Extension Ecosystem
Pro Direct plugin install from GitHub
Can fork, customize, and install instantly.
Pro Extensions are really easy to write by yourself
Pro Able to launch Kdialog, Zenity and Bash scripts
Extensions are easily created. Python script is all open to see. Not compiled like some.
Pro Good look
Ulauncher looks modern & can be customized with many themes.
Con Needs more posibilities for extensions
Currently, extensions can run only when you type their alias and <space>. There is no way to see results from multiple extensions at once. The output is also limited just to rows.
Con Uses Electron (html/css/js)
Uses a little bit more RAM than native programs like rofi.
Con Pretty slow
Launches with a delay.