Bonjour,
Ca y est, j'ai créer mon ptit layout perso, à taton, grace aux layouts existant et à la page d'aide en anglais (et grace aux bouton "reload layout" de la 1.1.8  :) ) (bon y a encore quelque petits truc à regler, comme peut-être les icones des boutons, et surtout la taille par défaut des widgets, mais là dessus pour l'instant je galère à obtenir ce que je veux...)
Ci-joint quelque screeshoot, et ci-dessous le code... puis quelques difficultés que je rencontre pour obtenir vraiment ce que je voudrais.

[Galfas]

Author        ="Ghald"
Type=G+
Default        = Window(size=1120x820)
DefaultFocus    = SimpleSearch
Window        = hidden=Context|FilterPane3|SongTree


MBmenu        = MainMenuItem LayoutItem PSortItem PFilterItem QueueItem
MBlist         = HistItem(icon=gmb-filter, tip="Filtres Récents",label=" ") LSortItem(icon=gtk-sort-ascending, tip="tri",label=" ") PlayItem(icon=gmb-wait, tip="en cours",label=" ")
HBmenu        = _MBmenu
HBButtons1    = Prev Stop Play Next ExtraButtons 5-VolumeIcon -Pref(size=menu) -OpenBrowser(toggle,size=menu) -ToggleButton5(icon=gtk-fullscreen,widget=VPselect,size=menu)

HBTime        = Time _TimeSlider
HBTitle        = LockSong _Title -Stars LabelsIcons
HBArtist    = LockArtist _Artist
HBAlbum        = LockAlbum _Album -Year
VBText        = HBButtons1 2HBTitle 2HBArtist 2HBAlbum HBTime
HBText_Cover    = _VBText 5-Cover
VBplayer    = HBButtons3 HBText_Cover

VBRight        = 5VBplayer _TabbedLists(group=1) Total(mode=filter,size=x-small)

VolumeScroll    = VBplayer

VBMain        = HBmenu _HPMain Progress
HPMain        = _VPselect VBRight


## Partie gauche, Genre&Artiste & album & SL &...##

VPselect    = _HPselect
  HPselect    = VPLeft _VPcenter
  VPLeft    = _NBFilter1   
    NBFilter1     = (tabpos="top") VPFilter10 VBFilter11 VBFilter12

    VPFilter10 = (tabtitle="Genre-Artiste") FilterPane0(nb=1,hidebb=1,hidetabs=1,page=genre,page_genre/mode=cloud,page_genre/cloud_max=15,page_genre/cloud_min=7) _VPa
      VPa    = FilterPane1(nb=2,hidebb=0,hidetabs=0,pages=artists|album_artist|composer, page_artists/lmarkup=1,page_artists/mode=cloud,page_artists/cloud-max=16,page_artists/cloud_min=9, page_album_artist/lmarkup=1, page_album_artist/mode=cloud, page_album_artist/cloud_max=16,page_album_artist/cloud_min=9, page_composer/mode=cloud, page_composer/cloud_max=16, page_composer/cloud_min=9)
        VBFilter11 = (tabtitle="Dossier") _FilterPane4(nb=1,page=folder,hidebb=1)
    VBFilter12 = (tabtitle="Filtre") _FilterPane5(nb=1,page=savedtree,hidetabs=1,hidebb=1)


### Menu de selection du milieu, dans la partie gauche (album & Filtres & SongList/Tree) ###
 
  VPcenter    = HBct _VBcb
   HBct        = _HPct
       HPct    = _FilterPane2(nb=3,hidebb= 0,hidetabs= 1,min= 3,page= album,page_album/lmarkup= 1,page_album/mmarkup= below,page_album/mode=mosaic,page_album/sort=artist,page_album/mpicsize=128,pages=album)   
   VBcb        = HBbouton _HBcb
    HBcb    = HBfp3 _HPslt
      HBfp3 = HPfp3
      HPfp3    = _FilterPane3(nb=4,page=filter,pages=savedtree|lastplay|added)
       HPslt    = SongList(activate=addplay,\
             cols= "albumpic track title rating artist length album playcount skipcount year genre file right_aligned_folder added",\
            colwidth="added 136 album 200 albumpic 42 artist 200 file 301 genre 260 lastplay 100 length 41 path 413 playandqueueandtrack 24 playcount 37 rating 37 right_aligned_folder 338 skipcount 26 title 270 track 25 year 55")\
         _SongTree(activate=addplay,\
            cols="playandqueueandtrack title rating length playcount genre year compilation file right_aligned_folder  added",\
            colwidth="artist 124 file 375 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 rating 21 ratingpic 100 right_aligned_folder 402 title 327 titleaa 397 track 21",\
            sort: "album_artist:i album disc track")

    HBbouton    = ToggleButton1(icon=gtk-add, widget=FilterPane3,tip="Afficher Filtres") ToggleButton2(icon=gmb-view-list, widget=SongList, togglegroup=1) ToggleButton3(icon=gmb-view-tree, widget=SongTree,togglegroup=1) ToggleButton4(icon=gmb-album,widget=HBct) SimpleSearch(maxwidth=250) FilterLock PlayFilter -MBlist



Bon, mis à part que je suis plutot content de moi, y a un truc que je comprend pas trop avec le FilterPane3 (savedtree, qui s'affiche par le Togglebutton1), avec lequel je ne parviens pas à faire la même chose qu'avec le FilterPane2 (album), qui grace aux imbrications HB et HP, peut à la fois être élargie manuellement et laisser toute la place à la SongList lorsqu'il disparait; or ce FilterPane3 n'a pas de ligne permettant de modifier manuellement sa largeur... Lorsque je transforme des HB en HP, je parviens à obtenir une ligne permettant la redimension, mais alors, lorsque je veux faire disparaitre le widget, la SongList ne se redimensionne pas, et le FilterPane3 laisse place à une zone grise... C'est pas vraiment grave, mais ca m'embete de pas comprendre pourquoi.

Ensuite, j'aimerais beaucoup que lorsqu'on fait disparaitre toute la partie gauche pour ne laisser que la Playlist (ToggleButton5), celle-ci ne se redimenssionne pas, mais reste à sa taille initiale. (pas tres important non plus, c'est pour tout ceux qui viennent chez moi et trouvet compliqué l'interface, étant habitués a faire glisser les chansons depuis thunar dans VLC, et qui pourrait alors ne pas être perdu avec GMB).
J'ai pas trouver non plus comment décider des différentes tabs par défaut de TabbedList...

Et enfin, je rêve d'ajouter un bouton à coté de ma bare de recherche qui ajoute à la playlist les chansons afficher dans la SongList/Tree (donc celles qui correspondent aux filtres Genre/Artist/... sélectionnés) et qui ont une note supérieur à X. Je sais pas si c'est possible, et suppose que si ca l'est ce ne doit pas être si simple, mais bon, je demande au cas où... A défault, un bouton qui fasse office de dernier filtre (note>X). et si c'était possible de configurer le bouton PlayFilter en mode "addplay", ou de creer un bouton adhoc, ca m'interresserait aussi pas mal...

Voilà voilà... Merci pour tout le travail que vous faites, le résultat est génial!

Ghald

Pour régler les tailles par défaut, c'est pas très facile, le mieux est de regarder les options sauvegardées dans gmbrc, et de les modifier dans la layout, en renommant temporairement le layout. Ce que je fais, c'est lancer gmb avec l'option -demo pour qu'il ne sauve rien, l'option -l nom_du_layout pour arriver directement sur le bon layout. Et d'autres options pour qu'il n'interfère pas avec le gmb qui joue de la musique (-nofifo, -nodbus, désactiver des plugins).

Pour FilterPane3 : j'ai remplacé ces lignes :
   VBcb        = HBbouton _HBcb
    HBcb    = HBfp3 _HPslt
      HBfp3 = HPfp3
      HPfp3    = _FilterPane3(nb=4,page=filter,pages=savedtree|lastplay|added)
par :
   VBcb        = HBbouton _HPcb
    HPcb    = _FilterPane3(nb=4,page=filter,pages=savedtree|lastplay|added) _HPslt
et je pense que ça marche comme tu veux. En général mettre une seule widget dans un HB/VB/HP/VP ne sert à rien

pour ToggleButton5, si je comprends bien tu veux que la fenêtre soit redimensionné, dans ce cas il faut just ajouter l'option resize=h (h pour horizontal) à ToggleButton5. Pour qu'en plus la fenêtre reste du côté droit, il faut lui ajouter la propriété gravity=east. Un détail, si le menu est plus large que la partie droite, la partie droite va changer de taille quand même quand on appuis sur ToggleButton5.

Quotetabs par défaut de TabbedList
c'est avec l'option "pages" (avec un s, "page" décide de la page par défaut), pour savoir ce qui faut mettre, le mieux est de regarder dans le gmbrc, chercher le layout en question, puis l'option "pages" du widget TabbedList.
par exemple pour avoir la playlist et la file d'attente c'est : "+PlayList +QueueList" (les + sont pour les pages dynamiques, c'est à dire que l'utilisateur peut ajouter/enlever)

QuoteEt enfin, je rêve d'ajouter un bouton à coté de ma bare de recherche qui ajoute à la playlist les chansons afficher dans la SongList/Tree (donc celles qui correspondent aux filtres Genre/Artist/... sélectionnés) et qui ont une note supérieur à X. Je sais pas si c'est possible, et suppose que si ca l'est ce ne doit pas être si simple, mais bon, je demande au cas où... A défault, un bouton qui fasse office de dernier filtre (note>X). et si c'était possible de configurer le bouton PlayFilter en mode "addplay", ou de creer un bouton adhoc, ca m'interresserait aussi pas mal...
ça pour l'instant n'est pas possible, mais ça le sera une fois que j'aurai fini le nouveau système de "commandes"


Sinon je viens de voir un bug dans gmb : 'cols= "albumpic le_reste"' n'est pas accepté,  il faut pour l'instant enlever l'espace après le = : 'cols="albumpic le_reste"'  Je vais corriger ça

layout avec les modifications :
[Galfas]

Author        ="Ghald"
Type=G+
DefaultFocus    = SimpleSearch
Window        = hidden=Context|FilterPane3|SongTree,size=1120x820,gravity=east


MBmenu        = MainMenuItem LayoutItem PSortItem PFilterItem QueueItem
MBlist         = HistItem(icon=gmb-filter, tip="Filtres Récents",label=" ") LSortItem(icon=gtk-sort-ascending, tip="tri",label=" ") PlayItem(icon=gmb-wait, tip="en cours",label=" ")
HBmenu        = _MBmenu
HBButtons1    = Prev Stop Play Next ExtraButtons 5-VolumeIcon -Pref(size=menu) -OpenBrowser(toggle,size=menu) -ToggleButton5(icon=gtk-fullscreen,widget=VPselect,size=menu,resize=h)

HBTime        = Time _TimeSlider
HBTitle        = LockSong _Title -Stars LabelsIcons
HBArtist    = LockArtist _Artist
HBAlbum        = LockAlbum _Album -Year
VBText        = HBButtons1 2HBTitle 2HBArtist 2HBAlbum HBTime
HBText_Cover    = _VBText 5-Cover
VBplayer    = HBButtons3 HBText_Cover

VBRight        = 5VBplayer _TabbedLists(group=1) Total(mode=filter,size=x-small)

VolumeScroll    = VBplayer

VBMain        = HBmenu _HPMain Progress
HPMain        = _VPselect VBRight


## Partie gauche, Genre&Artiste & album & SL &...##

VPselect    = _HPselect
  HPselect    = VPLeft _VPcenter
  VPLeft    = _NBFilter1   
    NBFilter1     = (tabpos="top") VPFilter10 VBFilter11 VBFilter12

    VPFilter10 = (tabtitle="Genre-Artiste") FilterPane0(nb=1,hidebb=1,hidetabs=1,page=genre,page_genre/mode=cloud,page_genre/cloud_max=15,page_genre/cloud_min=7) _VPa
      VPa    = FilterPane1(nb=2,hidebb=0,hidetabs=0,pages=artists|album_artist|composer, page_artists/lmarkup=1,page_artists/mode=cloud,page_artists/cloud-max=16,page_artists/cloud_min=9, page_album_artist/lmarkup=1, page_album_artist/mode=cloud, page_album_artist/cloud_max=16,page_album_artist/cloud_min=9, page_composer/mode=cloud, page_composer/cloud_max=16, page_composer/cloud_min=9)
        VBFilter11 = (tabtitle="Dossier") _FilterPane4(nb=1,page=folder,hidebb=1)
    VBFilter12 = (tabtitle="Filtre") _FilterPane5(nb=1,page=savedtree,hidetabs=1,hidebb=1)


### Menu de selection du milieu, dans la partie gauche (album & Filtres & SongList/Tree) ###
 
  VPcenter    = HBct _VBcb
   HBct        = _HPct
       HPct    = _FilterPane2(nb=3,hidebb= 0,hidetabs= 1,min= 3,page= album,page_album/lmarkup= 1,page_album/mmarkup= below,page_album/mode=mosaic,page_album/sort=artist,page_album/mpicsize=128,pages=album)   
   VBcb        = HBbouton _HPcb
    HPcb    = _FilterPane3(nb=4,page=filter,pages=savedtree|lastplay|added) _HPslt
       HPslt    = SongList(activate=addplay,\
             cols="albumpic track title rating artist length album playcount skipcount year genre file right_aligned_folder added",\
            colwidth="added 136 album 200 albumpic 42 artist 200 file 301 genre 260 lastplay 100 length 41 path 413 playandqueueandtrack 24 playcount 37 rating 37 right_aligned_folder 338 skipcount 26 title 270 track 25 year 55")\
         _SongTree(activate=addplay,\
            cols="playandqueueandtrack title rating length playcount genre year compilation file right_aligned_folder  added",\
            colwidth="artist 124 file 375 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 rating 21 ratingpic 100 right_aligned_folder 402 title 327 titleaa 397 track 21",\
            sort: "album_artist:i album disc track")

    HBbouton    = ToggleButton1(icon=gtk-add, widget=FilterPane3,tip="Afficher Filtres") ToggleButton2(icon=gmb-view-list, widget=SongList, togglegroup=1) ToggleButton3(icon=gmb-view-tree, widget=SongTree,togglegroup=1) ToggleButton4(icon=gmb-album,widget=HBct) SimpleSearch(maxwidth=250) FilterLock PlayFilter -MBlist

#2 November 08, 2011, 19:04:10 Last Edit: November 08, 2011, 19:52:18 by Ghald
Merci pour toutes ces indications et conseils, je vais pouvoir améliorer et paufiner mon machin  :)
Pour le FilterPane3, effectivement, ca marche niquel, et en plus c'est tout simple (je suis un peu deg de pas avoir trouver tout seul ;) ; j'avais essayer :
VBcb   = HBbouton _HPcb
HPcb   = HPfp3 _HPslt
HPfp3   = FilterPane3(nb=4,page=filter,pages=savedtree|lastplay|added)
et c'est comme  ça que j'avais une zone grise qui laissait place aux widget quand il disparaissait... )

Pour le ToggleButton5, j'avais essayé le resize=h, mais je viens de comprendre que GMB prenait tout l'écran du fait que GMB était en fenetre "Maximisé"  :-[ ... Là, avec en plus gravity=east,  ca marche effectivement, à ceci près que lorsque je refais apparaitre la partie gauche, GMB est bien plus large que mon écran, mais bon je pense que ça doit pouvoir s'arranger en configurant les tailles par défaut..

Sinon, j'ai remarqué un autre problème : le LSortItem fonctionne sur le panel SongTree, mais pas sur le SongList.. Si tu pouvais m'indiquer comment résoudre ça, ça serait cool...

Et enfin... bah j'ai hate qu'existe le nouveau systeme de commande :)
Merci encore; je posterais mon layout final dès qu'il sera à peu pres abouti.

Bon bah même avec des tailles par défaut, à chaque ré-apparition du coté gauche via le ToggleButton5, la fenetre devient plus large, de plus en plus large, débordant largement de l'écran... Me souvenant que cette fonctionnalité m'avait été inspiré d'un autre layout (: Wombalton: two panes), je l'ai retrouvé et testé, et... ça fait pareil : a chaque fois que je clique sur le bouton "right-side" pour que réapparaisse ce right-side, GMB s'élargie au delà de sa taille initiale.. Je sais pas si c'est due à mon pc, au layout auquel il manque quelque-chose, ou à GMB lui-même...

Sinon, j'ai remarqué que les layouts permettant d'alterner entre un SongList un SongTree, comme Shimmer-desktop ou Garage6, ne propose pas le bouton LSortItem, et je me dis donc qu'il est peut-être impossible d'avoir ce bouton qui interragit avec une SongList et un SongTree en même temps...

Les tailles par défaut sont seulement utilisées à la création de la fenêtre et seulement si le layout n'a jamais été utilisé avant, donc elles ne devraient pas affecter ça.
Pour moi ça marche, la taille revient à la taille normale. Peut-être que ça dépend du window-manager ? (testé avec metacity)

Pour LSortItem, normalement chaque SongTree/SongList/... doivent avoir une option "group" différente, certains layouts ne le font pas, et ça marche à peu près, dans ce cas là (LSortItem) ça ne marche pas.
Je compte changer un peu le système de group (qui pour l'instant regroupe 2 choses un peu différentes) et également permettre de changer un SongTree en SongList, mais pour l'instant je crois qu'utiliser LSortItem avec 2 SongTree/SongList n'est pas possible.


Oui, effectivement, avec metacity ca marche bien. C'est un peu dommage que ce ne soit pas le cas avec Xfwm4, par défaut sur Xubuntu, qui est aussi la seule distrib (à ma connaissance) avec GMB par défaut...
Et tant pis pour LSortItem... un peu déçu quand même d'avoir ramé à faire mon layout pour au final m'apercevoir que ce que je voulais n'est pas vraiment possible, mais bon, j'aurais appris des trucs. Il ne me reste plus qu'à attendre les futurs aboutissement de ton travail de forçat ;-)
Merci pour tes réponses
A+

Cool, j'ai appris des trucs (page/pages).

Dis-moi Quentin, si on veut appliquer ça
page_album:
        lmarkup: "<b>%a</b>%Y\x0a<small>%s <small>%l</small></small>"
        lpicsize: '-1'

qu'on peut trouver dans gmbrc, j'ai essayé ça dans le .layout
page_album/lmarkup= "<b>%a</b>%Y\x0a<small>%s <small>%l</small></small>",\
page_album/lpicsize='-1',\

Mais le \x0a, qui est un retour chariot, ne fonctionne pas tel que dans un layout. Faut le remplacer par quoi ?

QuoteMais le \x0a, qui est un retour chariot, ne fonctionne pas tel que dans un layout. Faut le remplacer par quoi ?
Par un "%n" (car ressemble à la notation habituelle "\n")

Cool, j'essaye ça de suite, merci bcp.

(c'est cool ça bouge en ce moment sur les forums)

Ça ne marche pas ! pas de retour chariot mais un "%n" qui s'affiche à la place.

QuoteÇa ne marche pas ! pas de retour chariot mais un "%n" qui s'affiche à la place.
voilà ce qui arrive quand je répond sans vérifier :)
Oui effectivement, j'ai pas ajouté %n pour les formats artist/album (seulement pour les formats chansons), par contre "<br>" devrait marcher pour tous.

Yep ça marche.

Et sinon les regroupements, comment on les gère dans les layouts ?

Je voudrai obtenir ça :
page_added:
        depth: 1
        lmarkup: 0|0
        lpicsize: 0|0
        sort: default|default
        type: added.year|added.month

Merci d'avance (on progresse mieux quand on comprend !)

QuoteJe voudrai obtenir ça :
page_added:
        depth: 1
        lmarkup: 0|0
        lpicsize: 0|0
        sort: default|default
        type: added.year|added.month
page_added/type="added.year|added.month" ...
Mais je n'encourage pas les layouts à spécifier des options par défaut pour toutes les pages de tous les FilterPanes, ça devient un peu bordélique.
Je pense faire que les nouvelles pages des FilterPanes utilise les options de la dernière page utilisé de même type, et améliorer un peu les options, ça aidera un peu.


Cool. Merci.

Beh moi je trouve ça bien de pouvoir avoir un layout d'emblée comme on veut que ça s'affiche (options des filterpane incluses).
Si tu fais comme tu le dis, prévois quand même (au moins en option, genre case à cocher dans le panneau de configuration où l'on choisit son layout) que si le paramétrage est précisé dans le layout il doit prendre le pas sur le paramétrage "dernière page utilisée".