Minido
Minido is a minimalistic launcher à la gnome do for a gtk-based
desktop. It is licensed under GPL3. Check the sourceforge project page
for the release files, etc.
Warning: initial release. E.g., ctrl+space is a hard-coded hotkey :)
Features
Minido is
- Light
- Minido is written in C/C++ using the Gtk3 framework,
- Smart
- Minido adapts to your search habits in a simple yet helpful
way (see Selection Rule below),
- Themeable
- Minido adheres to the Gtk3 design. Its look is governed by the
active theme and it is further customizable via css (see Customization below),
- Extendable
- Minido has a plugin interface. (Not yet implemented.)
Roadmap
As time affords, I plan to implement the following features.
- Fast Search
- The current search routine is fast for some 1000 records. Extra
optimization can bring that limit up to a 100,000 or so.
- Native (C++) Plugin Infrastructure
- Python Plugin Infrastructure
- "Files" Plugin
- "System Commands" Plugin
An item is a match if the search string is a subsequence of item's
name. Among all the matches, Minido selects as follows.
- First, the preference is given to the match, which has the
longest common substring with the search string. If there are
several such matches, then the same rule is applied using the second
longest common substring, et cetera.
- Next, the preference is given to the match, for which the search
string used to invoke it most recently is similar to the current
search string (similar means one is a subsequence of the
other). Consider an example. I use "Thunar File Manager" and
"Thunderbird". After I have once invoked them by "thunar" and
"bird", respectively, I can just use "t" and "b" (given no other
similar recent invocations, of course).
- Next, the preference is given to the match, which has been
invoked most recently.
- Next, the preference is given to the match, which has the
earliest common character with the search string.
- Next, the preference goes to the match with the shortest
name.
- Finally, if several matches still remain, an arbitrary match is
selected.
Minido considers it is more polite to call a program by name, albeit a
fast-pronounced one, rather than to point a finger at it. Minido
enforces its conservative cultural view by not featuring a drop down
box with all the matches. The author concurs.
The look of minido is governed by minido.css
(/usr/share/minido/minido.css). To customize, copy the relevant
sections to you local gtk.css (~/.confing/gtk-3.0/gtk.css) and adjust
to your liking. E.g, to make selected text bold and underlined, as is
common in other launchers, add the following section to gtk.css:
#minido-input selected {
background: rgba(0,0,0,1); /* set transparent background */
font-weight: bold;
-pango-underline: single;
}
See GtkCssProvider for the Gtk CSS specification.