Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Git Version | Version Git 3.1.99: Multi Screens
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] 3.1.99: Multi Screens
matttbe English 12 fabounet [Read]
08 February 2013 à 00:35

matttbe, Wednesday 30 January 2013 à 20:35


Subscription date : 24 January 2009
Messages : 12573
MultiScreens support has been a bit rewritten by Fabounet! Dock are now linked to a screen and second main dock can be place on all screens (e.g. you can have a very long panel)

But now, it can be useful to test these changes

  • Dock should be on the first screen [0] by default and not on all screens [-1]. But if [0] is set in the config panel, the widget is "empty".
  • If I place my second main dock on the second screen, subdock appears on the first screen. (no problem if it's the main dock which is on the second screen)
  • If I launch the dock with the terminal, I can see these warnings twice (with a tiny delay):
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_clear: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
    And a bit after, I got these warnings multiple times (with a tiny delay):
    invalid cast from `GParamString' to `GtkListStore'
    gtk_list_store_clear: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid cast from `GParamString' to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid cast from `GParamString' to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_clear: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_clear: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
    invalid uninstantiatable type `(null)' in cast to `GtkListStore'
    gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
  • If the dock is on the left screen [0] and on the right of this screen (=> [ 0|][ 1 ]), it's really hard to get the dock back if a window is above (maybe the callback zone should be a bit bigger in this case).
  • With the same case, if the distance to the screen edge is negative, the dock is hidden if I maximise a window on the right screen [1].
  • Other bugs are fixed, it's great :)

fabounet, Friday 01 February 2013 à 11:30


Subscription date : 30 November 2007
Messages : 17118
thanks for the tests !

about "maybe the callback zone should be a bit bigger in this case", what's the visibility settings you use here ?

matttbe, Friday 01 February 2013 à 13:25


Subscription date : 24 January 2009
Messages : 12573
thanks for the tests !
You're welcome! Thank you for your help

about "maybe the callback zone should be a bit bigger in this case", what's the visibility settings you use here ?
Touch the border of the screen.

fabounet, Saturday 02 February 2013 à 15:14


Subscription date : 30 November 2007
Messages : 17118
and what are the resolutions of the screens ?
what do you mean by "hard" ? does it still work ?

matttbe, Sunday 03 February 2013 à 01:43


Subscription date : 24 January 2009
Messages : 12573
what do you mean by "hard" ? does it still work ?
Yes but this is zone of only 1px wide.

and what are the resolutions of the screens ?
I think it's: 1368*768 and 1280*1024

fabounet, Sunday 03 February 2013 à 14:33


Subscription date : 30 November 2007
Messages : 17118
donc tu as un truc du genre et le dock apparait pas quand tu touches le bord de l'écran de gauche ?
pourtant le curseur se bloque bien sur le bord de chaque écran non ? (tu peux pas "descendre plus bas" sur l'écran de gauche)
 ____________________  ____________________
|                    ||                    |
|                    ||                    |
|                    ||                    |
|                    ||                    |
|        
____        ||                    |
|
_______|dock|_______||                    |
                      |
____________________|

matttbe, Monday 04 February 2013 à 15:39


Subscription date : 24 January 2009
Messages : 12573
Avec cette config:
 ____________________  ____________________
|                    ||                    |
|                  |
d||                    |
|         
0        |o||                    |
|                  |
c||          1         |
|                  |
k||                    |
|
____________________||                    |
                      |
____________________|
ce n'est pas facile de faire apparaître le dock lorsqu'il est caché car je dois viser 1 pixel entre les 2 écrans et rester 250ms. Mais ça fonctionne, c'est juste pas pratique. Peut-être que la zone devrait être un peu plus grande lorsque l'on est entre 2 écrans (mais d'un autre côté, c'est p-ê une configuration bizarre...)

Aussi, si j'utilise la même configuration avec un dock placé à une distance -1 du bord de l'écran et qu'une fenêtre est maximisée sur l'autre écran (N°1), le dock est caché. (Normal car une fenêtre le recouvre mais sur le mauvais écran )

fabounet, Monday 04 February 2013 à 16:31


Subscription date : 30 November 2007
Messages : 17118
ah ok je comprends mieux
mais comme tu dis, c'est une configuration vraiment bizarre !
je pense qu'il n'y a pas grand chose à faire, le mieux si on souhaite vraiment utiliser un tel positionnement serait de réserver l'espace pour le dock (ou éventuellement utiliser une zone de rappel pour laquelle on peut définir une taille).
le cas avec le -1 est peut-etre un bug, mais comme c'est déjà inutilisable même sans ça, il n'y a pas grand intérêt à s'acharner.

matttbe, Tuesday 05 February 2013 à 00:26


Subscription date : 24 January 2009
Messages : 12573
D'un autre côté, si qq1 choisi d'avoir un dock à droite puis ajoute un second écran, il aura cette config là. Mais bon

fabounet, Tuesday 05 February 2013 à 12:00


Subscription date : 30 November 2007
Messages : 17118
dans ce cas, il faudrait que par défaut le dock occupe tous les écrans.
mais je suppose qu'il est mieux de l'avoir sur un écran par défaut pour la majorité des gens (dock en bas)

matttbe, Tuesday 05 February 2013 à 15:29


Subscription date : 24 January 2009
Messages : 12573
dans ce cas, il faudrait que par défaut le dock occupe tous les écrans.
Uniquement pour ce cas mais pas si le dock est en bas (par défaut). Dans ce cas, c'est beaucoup mieux si le dock est par défaut sur l'écran zéro et non -1 comme c'est le cas actuellement. Peut-être aussi ajouter cette option dans le panneau simple maintenant que l'option est plus "user-friendly"?

matttbe, Thursday 07 February 2013 à 17:48


Subscription date : 24 January 2009
Messages : 12573
Un autre "bug" avec cette même configuration (ou le dock à gauche sur l'écran de droite):
 ____________________  ____________________
|                    ||                    |
|                  |
d||                    |
|         
0        |o||                    |
|                  |
c||          1         |
|                  |
k||                    |
|
____________________||                    |
                      |
____________________|
Si je réserve l'espace pour le dock, l'espace sera réservée sur les bords de l'ensemble des écrans (tout à droite sur l'écran 1 ici).
Cependant, d'après les spécifications de _NET_WM_STRUT_PARTIAL, difficile de faire autrement On peut réservé l'espace uniquement à partir des bords extérieures donc cette configuration n'est pas possible.
Du coup, ne serait-il pas plus intéressant de gérer ce cas? Un message? Ne pas réserver l'espace?

fabounet, Friday 08 February 2013 à 00:35


Subscription date : 30 November 2007
Messages : 17118
en effet ce n'est pas possible, donc oui un message pour ce cas si particulier

Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] 3.1.99: Multi Screens
matttbe English 12 fabounet [Read]
08 February 2013 à 00:35


Glx-Dock / Cairo-Dock List of forums Git Version | Version Git 3.1.99: Multi Screens Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.