Xfce Wiki

Sub domains

This is an old revision of the document!


You can read all about the merge planned for 4.10 here.

For Reference: Old Interfaces of xfce4-appfinder and xfrun4

Initial Idea

His is how I had it in mind first. — Nick Schermer 2011/05/29 23:21

Collapsed version, like xfrun4.

Expanded like xfce4-appfinder.


  • Should the compact mode be a standard-compliant dialog or are you open to making it more minimal/elegant (obviously this would come at a certain cost)? I can provide mockups of course, but I was thinking of less elements, mostly just the searchbox and a launch-button. (“Cancel” or “close” is in the wm-controls of most people anyway.) Maybe not as extreme as gnome-do or comparable launchers, but that'd be the direction. — Simon Steinbeiß 2011/05/30 00:52
    • I'm open to suggestions, however I'd prefer to use the “expected” widgets to not confuse people. The “Close after launch” checkbox won't be visible in the collapsed view. The expander, well, not sure we can get rid of that, could be a button too. — Nick Schermer 2011/05/30 07:49
      • I propose to drop the “Close after launch” button entirely. I cannot imagine many situations where people would want to keep it open. So I think we can omit that option. Perhaps add a hidden option for that feature but no more than that. — Jannis Pohlmann 2011/05/31 17:22
    • I was thinking since the dropdown shows the history, it could be used instead of the expander to show the extended mode with history focused (instead of showing an actual dropdown). If that's impossible I'd vote for something like a more subtle togglebutton. I'll see whether I can come up with a decent mockup. — Simon Steinbeiß 2011/05/31 01:26
    • Completion including rich text and icons can be done using GtkEntryCompletion with a GtkListStore combined with any cell renderers. — Christian Dywan 2011/05/31 03:19

Compact Mockup

Rationale: when auto-completing a command appfinder could show the icon of the application the user is about to launch. The idea of dropping the expander in favor of the dropdown is also integrated in this mockup. — Simon Steinbeiß 2011/05/31 04:20


  • How exactly does this interface switch to the expanded/finder mode? The down-arrow in the entry normally shows the last 10 commands entered. — Nick Schermer 2011/05/31 12:54
    • Is “last 10 commands” the same as “History”? In that case history could be pre-selected after expanding by clicking on the down-array button, like Simon suggested in one of his earlier comments. Not sure if that wouldn't be too unusual though. — Jannis Pohlmann 2011/05/31 13:31
  • I don't think we can replace the expander with the drop down array in the entry. I mean, technically that can work but the completion alternatives are also important. How about the idea where the expander is replaced with a toggle button on the left that aligns better with the cancel/run buttons? — Jannis Pohlmann 2011/05/31 13:28
    • Well completion and history are kinda exclusive. Either you type something into the entry and get completion or you hit the arrow and get the history. That's even how xfrun works now. I thought about the toggle button for a while too, but I can't really decide what icon would fit. If it were text-only it could be something like “More” or “Show…”. A simple arrow_down could look a bit clumsy on a toggle (but I agree that a toggle would align more nicely than an expander). — Simon Steinbeiß 2011/05/31 13:57

Error handling mockups

1 2

  • I thought up a few options on what could happen when a user enters a command that doesn't work. After having looked at all of them for a short while now I'm wondering whether just changing the icon to “gtk-cancel” (or something similar) would be sufficient. The error-label looks rather weird and messy and I'm not even sure that the second mockup is technically possible. What could work though is maybe flashing the red bg-color from mockup1 once or twice to give the user some immediate feedback. — Simon Steinbeiß 2011/06/03 10:41
    • I would prefer not to use colors too extensively. If the colors used are configurable, ok, but even that is something theme authors have to do first. Quite often colors like red or green don't fit in with themes well. Also, Also, red vs. green is something that doesn't work well for many people (same with blue vs. yellow except that there are fewer people affected by that combination). An error icon is good and flashing the background or the entry shadow (that's possible, I've done it in xfce4-verve-plugin) a few times might work as well. — Jannis Pohlmann 2011/06/04 00:19
  • another idea: clicking the icon could actually do something in this case, e.g. add some vertical space between the entry and the buttons with a label saying “command not found”. — Simon Steinbeiß 2011/06/03 12:16
    • I would prefer not to introduce new UI paradigms that people are unfamiliar with. An error icon is something that people are not used to clicking on. — Jannis Pohlmann 2011/06/04 00:19
  • I think idea 3 can be dropped. The limited space to the left of the buttons is everything but a nice location to place text messages. — Jannis Pohlmann 2011/06/04 00:25

Compact Mode (Expanded)

This is a mockup based on real code that demonstrates the idea of using the down/up button in the entry to expand the view. The question is: How would completions be handled in the expanded view? Would they be dropped? — Jannis Pohlmann 2011/05/31 15:53


  • Not sure if we should hide the completion in expanded view. I guess we have to try it first, see if it feels natural. I think we should also skip the history popup menu, like we have it now in xfrun4, and expect users to use the expanded view for that.
    That said I really like the design. Maybe we can use the space below the icon for the category list as well, but it looks clean and usable for sure. — Nick Schermer 2011/05/31 16:24

C demo-code in GIT

Center the entry with the icon, but keep 6px space between the entry and the buttons.

Expanded layout with 6px between the icon and the treeview, entry still center-aligned with the icon.


Stuff that needs to be implemented in the =nick/xfrun4-merge branch before we can move it into master.

The IDs are prefixed with A for Appearance, B for Behavior and I for Implementation. The status cells are color coded:

  • a white background means the feature is not implemented yet,
  • a green background means the feature is supported,
  • a orange background means the feature is being worked on,
  • a grey background means the feature is partially working but is not developed any further.
ID Description nick/xfrun4-merge
B01 Right-click menu in treeview(s).
B01.1 Open exo-desktop-item-edit? Some lousy menu editor replacement?
B01.2 Clear custom commands from the history and clear all.
B02 Items not visible on start in expanded mode. Done
I01 Store settings in Xfconf Done
I01.1 Window size and pane position. Done
I01.2 Last category? Done
I02 Investigate dbus daemon, profiling shows a lot of time is spend in starting Gtk (theme/style) and Garcon item loading, two things we can easily avoid with a daemon. Done
I03 Save successfully launched commands Done
I04 Simple extension framework.
I04.2 Simple editor.
I04.3 Support custom icons.
I04.4 Do we need this in expanded view as well, like Jannis' idea? The entry only acts as search field, so we need to change it's behavior too then.
I05 Garcon menu reloading support. Done
I06 (icon) theme changes: reload cached pixbufs. Done
I07 Bunch of clever key combinations to speed-up navigation.
I08 Obey show-image-on-button setting for launch button. Done
I09 Sort custom commands before desktop-file commands in the completion. Done


  • Primary icon in the entry used for error icon if launching failed, icon tooltip can show the full error message. — Nick Schermer 2011/05/31 22:55
    • Is there something like a default color for the entry on error? (I mean e.g. recoloring the highlight or bg-color of the entrybox red when a user enters a non-working command.) — Simon Steinbeiß 2011/06/01 10:42
      • There is no color for that in the style, however we can make a special style name for that, that is set for 1 second or so. — Nick Schermer 2011/06/01 10:47
    • One more note on the error-handling behavior: I personally think the appfinder shouldn't close itself when a non-working command is entered. Even this alone can be good feedback for the user that something is wrong/not working on his/her side. — Simon Steinbeiß 2011/06/03 10:46
      • Agreed, it should not close on error. — Jannis Pohlmann 2011/06/04 00:17

Picked that idea up from the roadmap page, when entering a webadress the icon will change to the default browser obviously (same thing could happen for email-addresses). So far this seems pretty obvious and easy, it'll get more challenging (in the minimal mode) when e.g. a webaddress would target more than one application: alternative browser, web-services etc. — Simon Steinbeiß 2011/06/03 10:54

  • Picking the idea up from error-handling, the appicon could be clickable (should prelight like a button on hover) and give a drop-down of alternative browsers/services for webaddress (sticking to the example from above). — Simon Steinbeiß 2011/06/03 12:17
  • We always use the default web browser. I am not sure we want to integrate something like “Open With” in the appfinder. Probably not. — Jannis Pohlmann 2011/06/04 00:17