Author Topic: liquid layouts  (Read 3928 times)

ochosi

  • Full Member
  • ***
  • Posts: 187
    • View Profile
liquid layouts
« on: March 27, 2010, 21:42:42 »
i thought about creating new layouts for gmb again today and i have to say i would love to see a standard layout where i can easily switch between different sub-layouts (something like: list view, mosaic view, songtree-view).
i know that it's generally possible to have all that in different tabs, but a more "integrated" experience would be nice. something like three toggle-icons for the different views. of course i'm aware of the fact that this is nothing new in musicplayerland (e.g. itunes: coverflow, list-view etc.), but for me that's rather a pro than a con.

another thing: something like a scale-bar (or a plus-minus button for zooming) for the mosaic-size would be nice. right now too many useful settings are hidden in right-click menus. i personally don't have much problem with that because i got used to it, but with new users and less-techy-people it might be different.

i have worked on gmb-layouts before and generally i'm happy with what the one i'm using can do, but i guess this is a bit over my head.
just thought i'd add my 2 cents to making a nice standard-gmb theme.
« Last Edit: March 27, 2010, 22:06:04 by ochosi »

Quentin Sculo

  • Administrator
  • Hero Member
  • *****
  • Posts: 1082
    • View Profile
Re: liquid layouts
« Reply #1 on: March 29, 2010, 00:18:50 »
i thought about creating new layouts for gmb again today and i have to say i would love to see a standard layout where i can easily switch between different sub-layouts (something like: list view, mosaic view, songtree-view).
i know that it's generally possible to have all that in different tabs, but a more "integrated" experience would be nice. something like three toggle-icons for the different views.
I thought it was possible to do it with the TogButton, but it was not.

I added the togglegroup option to them, which allows this, for example :
Code: [Select]
TogButton0(label=songlist,widget=SongList, togglegroup=1)
 TogButton1(label=songtree,widget=SongTree, togglegroup=1)
 TogButton2(label=mosaic,widget=FPane3,  togglegroup=1)
these widgets will show/hide the widgets SongList, SongTree and FPane3

To choose which ones are hidden by default, you have to use this option
Code: [Select]
Window = hidden=SongTree|FPane3note that this option is a default, and it will only work the first time with a layout.
Currently, if the hidden option is not correctly set it might cause all 3 widgets to be shown at the same time, though clicking on one of the TogButton will fix that.

Also I added a way to set the default mode of a FPane (see http://git.gmusicbrowser.org/commit/649e1c4ad2a9a), again, it's only a default/first-time option.

On a related note, I plan to add a widget much like the one Banshee and Rhythmbox use to list/change saved lists/saved filters/and other things like radios ... The "saved" page of the FPane was a quick attempt to do something like it long ago, but doesn't really do the same thing in fact, as it just change the filter, this one will replace a widget by another (not sure if it will hide or destroy the other widgets).

another thing: something like a scale-bar (or a plus-minus button for zooming) for the mosaic-size would be nice. right now too many useful settings are hidden in right-click menus. i personally don't have much problem with that because i got used to it, but with new users and less-techy-people it might be different.
I agree the options-in-the-context-menu system is a bit abused in FPanes :)
the worst offender is of course the sub-group options in "list" (non-cloud, non-mosaic) mode , for that it is possible I switch the list mode to something derived from the SongTree, in which case, these options will move to a dialog like the SongTree grouping options.

for the mosaic-size option, I will think about it, it would make yet-another-option in the menu :), unless I add it to the existing hide-able buttons.

ochosi

  • Full Member
  • ***
  • Posts: 187
    • View Profile
Re: liquid layouts
« Reply #2 on: April 06, 2010, 15:42:57 »
after fiddling for quite a while with this it seems that
Code: [Select]
Window = hidden=SongTree|FPane3 saves the "hidden"-state of the songtree and fpane widget to gmbrc and is not really just a default first-time option.

right now my layout/icon theme is still work in progress(screenshot attached), but as soon as i get anywhere, i'll post it.

one more question: i kinda remember that a new scan/check widget was introduced somewhere in 1.1.x, but i can't find a corresponding commit in git (and obviously the doc is too outdated for that) and that it was possible to integrate it -> then there'd be no popup. if i remember correctly, how does that work again? (i'd like to put it in the statusbar at the bottom of my layout)


btw i'm happy if anyone has suggestions on how to improve this layout. one minor (purely cosmetic) thing that i'd like to do is make the togglebuttons for list/songtree/mosaic view look like the ones in this mockup: http://elementary-project.com/news/wp-content/uploads/2010/03/elementary_Nautilus_by_DanRabbit.png
i assume that'd work with creating a gtkrc for gmb using the pixbuf engine to draw the three buttons. if some gtk-wizards are around and willing to help out with this that'd be great.

Quentin Sculo

  • Administrator
  • Hero Member
  • *****
  • Posts: 1082
    • View Profile
Re: liquid layouts
« Reply #3 on: April 07, 2010, 19:47:27 »
after fiddling for quite a while with this it seems that
Code: [Select]
Window = hidden=SongTree|FPane3 saves the "hidden"-state of the songtree and fpane widget to gmbrc and is not really just a default first-time option.
In the layout you sent me, there is something like SongTree in hidden=  but the widget that was actually hidden by the TogButton is ~ HBSongTree.
btw,
Code: [Select]
HBSongTree= _SongTree is unnecessary, unless of course you plan to add a widget to HBSongTree

one more question: i kinda remember that a new scan/check widget was introduced somewhere in 1.1.x, but i can't find a corresponding commit in git (and obviously the doc is too outdated for that) and that it was possible to integrate it -> then there'd be no popup. if i remember correctly, how does that work again? (i'd like to put it in the statusbar at the bottom of my layout)
Progress and ProgressV,
Progress is a single line (it used in the default layout "Lists, Library & Context")
ProgressV use a few lines, but use less width (it is used in the itunes-like layout)
both are invisible when there is no progress info to show.

btw i'm happy if anyone has suggestions on how to improve this layout. one minor (purely cosmetic) thing that i'd like to do is make the togglebuttons for list/songtree/mosaic view look like the ones in this mockup: http://elementary-project.com/news/wp-content/uploads/2010/03/elementary_Nautilus_by_DanRabbit.png
i assume that'd work with creating a gtkrc for gmb using the pixbuf engine to draw the three buttons. if some gtk-wizards are around and willing to help out with this that'd be great.
Yes I think it's a theme-able widget style property, I'll take a look and see if I can find which property it is and if I can add an option to override that.