Deskbar panel mode

Andrzej ndrwrdck at googlemail.com
Sat Nov 12 14:39:45 CET 2011


On 12/11/2011 20:39, Matt x wrote:
> The multiple rows idea seems better to me than the current single wide
> stretch-everything-out method.

Good, I'm glad you like it.

Instead of replying each of your questions separately, I want to explain 
the design once again (hopefully it will be clearer this time).

1. (panel->nrows property, default 1)

The user can change the number of rows in the panel using a slider in 
the panel settings dialog (currently the range is 1 to 8 rows). The 
actual row size will then scale with the panel width.

If number of rows in the panel is 1 (the default) then the panel behaves 
same as before (minus differences caused by some internal hacks e.g. in 
the previous tasklist plugin).

These rows are not strictly enforced. Many plugins still use the full 
width of the panel (e.g. workspace switcher, tasklist, applications 
menu). They may "voluntarily" take the number of rows into account 
internally, to make themselves more visually pleasant (for example, the 
icon of the applications menu is never bigger than 2 panel rows, 
tasklist makes its button sizes same as the row size).

2. (plugin->small property, default FALSE)

"Small" plugins.

Some plugins are square icon-like objects that are still readable when 
scaled down. Because of that, they can be nicely laid out by arranging 
them into an array and the panel will take care for their wrapping (e.g. 
when the user changes the number of panel rows).

It turns out that many plugins look really good this way (launcher, show 
desktop, directory menu...) especially in wide panels. Until now we 
could use a quicklauncher plugin to mimic such behavior but that had to 
be done manually and when the used changed the panel orientation or its 
width all the setup had to be redone.

3. (panel->deskbar_mode property, default FALSE)

A third panel mode:
- horizontal,
- vertical (I've never used it, if only for its unorthodox text 
orientation, but given its long history I'm not in the position of 
removing this feature),
- vertical panel in a deskbar mode (new).

With wide-screen monitors it makes sense to place the panel vertically 
but arrange the plugins horizontally and/or in multiple columns (panel 
rows). This is very different from the original vertical panel, although 
many plugins had workarounds for transposing their contents.

Another problem (besides the orientation of plugins) is the size of 
plugins. With a wide deskbar (I'm using maximum of 128px) many "trivial" 
plugins become very big and take a lot of vertical screen area. This is 
why I worked on (1) and (2) in addition to my main goal (3).

> I personally wouldn't use stretched out (current wide) plugins if I had
> an option not to, but I can see where it could be useful: if a user was
> visually impaired.

Another use case is displaying everything as icons (by disabling labels 
in plugins). This is similar to having a Win7 or OSX-like dock. Not that 
I like this design but some people might find it useful. Anyway, getting 
this is as easy as setting number of rows to 1.

Andrzej


More information about the Xfce4-dev mailing list