Windicators

Differences between revisions 4 and 6 (spanning 2 versions)
Revision 4 as of 2010-05-19 15:21:40
Size: 1271
Editor: loquat
Comment:
Revision 6 as of 2010-05-25 15:41:06
Size: 6343
Editor: eth0
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
''Designed by MarkShuttleworth, specified by MatthewPaulThomas'' ''Designed by MarkShuttleworth, written up by MatthewPaulThomas''
Line 5: Line 5:
Windicators extend the idea of application indicators to individual windows. They are mini menus that sit at the trailine end of a window’s title bar. Window indicators, or “windicators”, are menus that appear at the trailing end of a window’s title bar, or in the panel when the window is maximized.
Line 7: Line 7:
Mark’s post: http://www.markshuttleworth.com/archives/333 Application developers should use windicators for reflecting status, and allowing change of status, for the item or items presented in the window.

Reference: http://www.markshuttleworth.com/?p=333

== Detecting the windicator mechanism ==

An application developer should ...

{{{
mywindicator = windicator_new (window);

if (windicator_in_titlebar(mywindicator)) {
 ...
}
}}}

They're menus (not buttons) specified in DbusMenu.


Accessible label for icon-only windicators

API for determining whether windicators are available
- fallback for drawing the menus somewhere inside the window if they're not

When maximized, they all appear to the leading side of all application indicators.

Differences from app indicators:
- program can specify the order that they appear in the title bar

Title is symbolic icon and/or text

There's no mouseover event.

<<Anchor(hint-bar)>>
== The hint bar ==

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:hint-bar.png}}||

A '''hint bar''', as popularized by Chromium, is a compact, transitory alternative to a status bar. It presents advisory text only when it is needed, and in a faster and less obnoxious way than a tooltip.

If the only interactive controls in an application’s status bar are menu buttons, converting these to windicators may let the application replace its status bar with a hint bar.

== Proof-of-concept implementations ==

We should alter five applications to use windicators, to test the mechanism and to provide examples of how they can be used. One of these can, as a result, also switch from a status bar to a hint bar.

=== Evolution ===

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:evolution.jpg}}||

The Evolution windicator provides examples of (a) radio items with icons and (b) custom fallback.

When windicators are available:
 * There should be a windicator for changing the view mode of the window. It should be a replica of the “View” > “Window” submenu, except that it should always show the icon for each application, and also show a radio mark for the selected application.
 * The application switcher inside the Evolution window should not be present, and neither should the “View” > “Switcher Appearance” submenu.

When windicators are not available, the in-window application switcher and the “View” > “Switcher Appearance” submenu should be present.

||<tablestyle="clear:both;"style="border:none;">||
=== F-Spot ===

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:f-spot.jpg}}||

The F-Spot windicator provides an example of boolean items with icons.

When windicators are available, there should be a windicator for tagging the selected photos. The menu should consist of a boolean item for each tag. If all selected photos have a tag, the tag item should have a checked checkmark (✓); if only some of them do, the tag item should have an indeterminate checkmark (–).

When windicators are not available, this menu should not be shown anywhere else. (Ideally it would be prepended to the “Tags” menu, but other items in that same menu assume you are using the “Tags” sidebar rather than tagging with a menu.)

||<tablestyle="clear:both;"style="border:none;">||
=== Firefox ===

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:firefox.jpg}}||

The Firefox windicator provides an example of a windicator that appears and disappears.

...

||<tablestyle="clear:both;"style="border:none;">||
=== Gimp ===

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:gimp.jpg}}||

The Gimp windicators provide examples of (a) multiple windicators for the same window, (b) text in windicator titles, (c) custom alignment of item text, (d) a text field in a windicator menu, and (e) a hint bar.

When windicators are available, there should be two windicators for any Gimp document window: one for ruler units, and one for zoom level. These should replace the radio menu and combo box that are present in the status bar when windicators are not available.

The units windicator should list, as radio items, the available units for the ruler.

The zoom level windicator should list as radio items, from lowest to highest, the canned zoom levels for the image. If the current zoom level is not one of the canned ones, it should be included as an extra item in its appropriate numeric position.

The last item in the menu should be a text field for entering a custom zoom level. When the menu is opened with a pointing device, this field should always be empty and focused. (At this point, pressing the Down key immediately should, as usual, highlight the first item in the menu, and thereby unfocus the text field.)

All items in the menu should be aligned such that the “%” symbols line up with each other exactly.

||<tablestyle="clear:both;"style="border:none;">||
=== Mumble ===

||<tablestyle="float:right;margin:0 0 1em 1em;" style="border:none;">{{attachment:mumble.jpg}}||

...

||<tablestyle="clear:both;"style="border:none;">||
== Unresolved issues ==
Line 40: Line 143:


== API ==

== Treatment of the API ==

== Mockups ==

[[/DanielsWindicators|Mockups by Dani Planas Armangue]]

Designed by MarkShuttleworth, written up by MatthewPaulThomas

Window indicators, or “windicators”, are menus that appear at the trailing end of a window’s title bar, or in the panel when the window is maximized.

Application developers should use windicators for reflecting status, and allowing change of status, for the item or items presented in the window.

Reference: http://www.markshuttleworth.com/?p=333

Detecting the windicator mechanism

An application developer should ...

mywindicator = windicator_new (window);

if (windicator_in_titlebar(mywindicator)) {
        ...
}

They're menus (not buttons) specified in DbusMenu.

Accessible label for icon-only windicators

API for determining whether windicators are available - fallback for drawing the menus somewhere inside the window if they're not

When maximized, they all appear to the leading side of all application indicators.

Differences from app indicators: - program can specify the order that they appear in the title bar

Title is symbolic icon and/or text

There's no mouseover event.

The hint bar

A hint bar, as popularized by Chromium, is a compact, transitory alternative to a status bar. It presents advisory text only when it is needed, and in a faster and less obnoxious way than a tooltip.

If the only interactive controls in an application’s status bar are menu buttons, converting these to windicators may let the application replace its status bar with a hint bar.

Proof-of-concept implementations

We should alter five applications to use windicators, to test the mechanism and to provide examples of how they can be used. One of these can, as a result, also switch from a status bar to a hint bar.

Evolution

evolution.jpg

The Evolution windicator provides examples of (a) radio items with icons and (b) custom fallback.

When windicators are available:

  • There should be a windicator for changing the view mode of the window. It should be a replica of the “View” > “Window” submenu, except that it should always show the icon for each application, and also show a radio mark for the selected application.

  • The application switcher inside the Evolution window should not be present, and neither should the “View” > “Switcher Appearance” submenu.

When windicators are not available, the in-window application switcher and the “View” > “Switcher Appearance” submenu should be present.

F-Spot

f-spot.jpg

The F-Spot windicator provides an example of boolean items with icons.

When windicators are available, there should be a windicator for tagging the selected photos. The menu should consist of a boolean item for each tag. If all selected photos have a tag, the tag item should have a checked checkmark (✓); if only some of them do, the tag item should have an indeterminate checkmark (–).

When windicators are not available, this menu should not be shown anywhere else. (Ideally it would be prepended to the “Tags” menu, but other items in that same menu assume you are using the “Tags” sidebar rather than tagging with a menu.)

Firefox

firefox.jpg

The Firefox windicator provides an example of a windicator that appears and disappears.

...

Gimp

gimp.jpg

The Gimp windicators provide examples of (a) multiple windicators for the same window, (b) text in windicator titles, (c) custom alignment of item text, (d) a text field in a windicator menu, and (e) a hint bar.

When windicators are available, there should be two windicators for any Gimp document window: one for ruler units, and one for zoom level. These should replace the radio menu and combo box that are present in the status bar when windicators are not available.

The units windicator should list, as radio items, the available units for the ruler.

The zoom level windicator should list as radio items, from lowest to highest, the canned zoom levels for the image. If the current zoom level is not one of the canned ones, it should be included as an extra item in its appropriate numeric position.

The last item in the menu should be a text field for entering a custom zoom level. When the menu is opened with a pointing device, this field should always be empty and focused. (At this point, pressing the Down key immediately should, as usual, highlight the first item in the menu, and thereby unfocus the text field.)

All items in the menu should be aligned such that the “%” symbols line up with each other exactly.

Mumble

mumble.jpg

...

Unresolved issues

This spec needs to:

  • show 5 application windows, using windicators
    • evolution (& thunderbird for bonus points)

    • firefox (&chromium for bonus points)

    • gimp
    • f-spot
    • mumble
    • others?
  • define the kinds of indicator menu titles
    • icons
    • numbers+icons? (900 mails)
    • letters (keyboard style?)
  • define windicator ordering
    • apps can add, update, remove windicators
    • apps specify order explicitly (not just order added)
    • mapping into panel when maximised
  • scope and define APIs
  • define visuals
    • theme names?
    • symbolic icons?
  • define window management interaction
    • windicators on alt-tab window previews
    • windicators on expose presentation of windows

Ayatana/Windicators (last edited 2011-08-21 17:11:22 by mpt)