Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Problems at use | Problèmes à l'utilisation Desklet positions screwed up by change of resolution
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)
Problems at use | Problèmes à l'utilisation

Subjects Author Language Messages Last message
Desklet positions screwed up by change of resolution [Bug #311]
UBod English 16 Guest [Read]
12 September 2013 à 04:33

UBod, Wednesday 12 December 2012 à 11:16 | Quote


Subscription date : 12 December 2012
Messages : 3
Hi,

I am using Cairo Dock 3.1 with three desklets, weather, clock, and system monitor, all of which I locked to the top right corner of the screen. My computer is a laptop that I use in different environments and with different settings:

- Office: two external monitors, both at 1280x1024, so 2560x1024 in total
- Home/travel: built-in LCD panel at 1920x1200
- Lecture/conference: built-in LCD panel mirrored on external projector, various 4:3 and 16:9 resolutions between 1024x768 and 1920x1200, depending on projector

What bothers me is that the desklets' horizontal positions are sometimes changed to positive offsets instead of the negative offsets from the right edge that I tried to enforce. I have no explanation for that. I thought that if the x position is negative in the corresponding .conf file, the position should always be calculated properly. Not quite so! I tried the following workaround: I changed the permissions of the three desklets' .conf files to read-only, hoping that this would prevent Cairo Dock from changing the positions randomly. Anyway, I would be glad if there was a better solution. Any ideas?

Thanks and best regards,
UBod

UBod, Wednesday 12 December 2012 à 16:10 | Quote


Subscription date : 12 December 2012
Messages : 3
Just a little update: fiddling with the permissions did not help. It seems that Cairo dock changes the .conf files itself even ignoring (and changing the permissions). I'll now try to assign the files to a different user, then the Cairo dock process cannot do that anymore.

My opinion is: Cairo Dock should not, never ever !!!, change the configuration files itself - only if the user makes changes to the configuration with the configuration tool.

Cheers, UBod

matttbe, Saturday 15 December 2012 à 19:33 | Quote


Subscription date : 24 January 2009
Messages : 12573
Hello and thank you for this bug report,

The dock has to change these configuration files if the desklet is moved (it's easier to place the desklet with your mouse) but I guess the desklet has to ignore a few signals when you change the resolution (except if the desklet is now out of the screen).

@fabounet: can you have a look at this bug report?

Guest, Monday 17 December 2012 à 09:03 | Quote

Thanks a lot for taking care of this issue and your kind reply, matttbe!

I for sure fully understand that desklets should not be outside of the screen and that the dock should catch such a case and fix it. The question is rather how to do that. I would actually rather suggest to apply some strategy to fix it temporarily, but not to change the config immediately. The user probably had something in mind when he/she set a certain value. This temporary fix would ensure that the desklet is correctly being displayed at some lower resolution, while it re-appears at the intended position the next time a higher resolution is begin used.

Note that, in my case, my desklets were never outside of the screen. As I wrote, I want the desklets in the top right corner. So the y offsets are quite small and the x offsets are small negative numbers. As an example, here is the relevant part of my .config/cairo-dock/current_theme/plug-ins/weather/weather.conf:

  1. j+[96;512] Desklet dimensions (width x height):
  2. {Depending on your WindowManager, you may be able to resize this with ALT + middle-click or ALT + left-click.}
size=250;150;

  1. i[-2048;2048] Desklet position (x, y):
  2. {Depending on your WindowManager, you may be able to move this with ALT + left-click.}
x position=-250
  1. i[-2048;2048] ...

y position=31

So this 250x150 area could only be outside of the screen if the screen had a horizontal resolution of less than 250 pixels or a vertical resolution of less than 181 = 150 + 31 pixels.

Thanks again and best regards,
UBod

UBod, Monday 17 December 2012 à 09:06 | Quote


Subscription date : 12 December 2012
Messages : 3
[sorry, I forgot to log in and messed up the verbatim quote ... trying again]

Thanks a lot for taking care of this issue and your kind reply, matttbe!

I for sure fully understand that desklets should not be outside of the screen and that the dock should catch such a case and fix it. The question is rather how to do that. I would actually rather suggest to apply some strategy to fix it temporarily, but not to change the config immediately. The user probably had something in mind when he/she set a certain value. This temporary fix would ensure that the desklet is correctly being displayed at some lower resolution, while it re-appears at the intended position the next time a higher resolution is begin used.

Note that, in my case, my desklets were never outside of the screen. As I wrote, I want the desklets in the top right corner. So the y offsets are quite small and the x offsets are small negative numbers. As an example, here is the relevant part of my .config/cairo-dock/current_theme/plug-ins/weather/weather.conf:

#j+[96;512] Desklet dimensions (width x height):
#{Depending on your WindowManager, you may be able to resize this with ALT + middle-click or ALT + left-click.}
size=250;150;

#i[-2048;2048] Desklet position (x, y):
#{Depending on your WindowManager, you may be able to move this with ALT + left-click.}
x position=-250
#i[-2048;2048] ...
y position=31


So this 250x150 area could only be outside of the screen if the screen had a horizontal resolution of less than 250 pixels or a vertical resolution of less than 181 = 150 + 31 pixels.

Thanks again and best regards,
UBod

fabounet, Wednesday 26 December 2012 à 22:54 | Quote


Subscription date : 30 November 2007
Messages : 17118
thanks for reporting this, I think I have the same bug when changing the resolution of my screen to a larger value.

I'll take a look at this

Cairo Dock should not, never ever !!!, change the configuration files itself

sure, actually this is the only case, because you can drag a desklet with the mouse to a given position, and the dock must remember this position, so it stores it in the config file. Here, I think that changing the screen size provokes a change in the desklet's coordinates, and the dock thinks you have dragged the desklet

Guest, Tuesday 04 June 2013 à 20:04 | Quote

fabounet :
thanks for reporting this, I think I have the same bug when changing the resolution of my screen to a larger value.

I'll take a look at this

Cairo Dock should not, never ever !!!, change the configuration files itself

sure, actually this is the only case, because you can drag a desklet with the mouse to a given position, and the dock must remember this position, so it stores it in the config file. Here, I think that changing the screen size provokes a change in the desklet's coordinates, and the dock thinks you have dragged the desklet


Bug is still present in Cairo-Dock 3.2.1
I have a multimonitor setup (2 screens) and want to always display the "systray" at the left top side of my second monitor. i put y = 0 and x = 1980 which works great. But then in some cases the position moves to the left. For example you can always reproduce this when you also have a gnome panel at the right side docked, than "undock" the panel so you can move it around. Dock it again to the right side. Everytime you undock/dock the systray vom cairo-docks moves to the left. The distance is the width of the gnome panel (for me about 15px).
Changing the config files to root:root chmod 444 does not helped. It just override the owner and chmod it to 664...
My solution was also to chmod the config directory it self to root:root chmod 555. This was preventing it for changes.

Sorry for my english, but i hope this helps.

Guest, Thursday 04 July 2013 à 10:25 | Quote

(sorry for the long delay)
I think this is because the gnome-panel reserves the space on the desktop. so the desklet window is not allowed to overlap it
from what I could test, the desklets don't move when changing the resolution on version 3.2

fabounet, Tuesday 30 July 2013 à 17:23 | Quote


Subscription date : 30 November 2007
Messages : 17118
hmm, well in this case I think it's normal and we can't really do something (after all, the window manager will never allow a desklet to overlap the gnome-panel)

Guest, Wednesday 28 August 2013 à 03:58 | Quote

Hi everyone, I'm using Cairo-dock since 2012, thanks for the great job!

Now, I did install Cairo-dock 3.2.1, with 1650x1080 monitor resolution, and Ubuntu 12.04 with
Compiz.

I like to have 4 desklets on the screen (Moon, clock, cpu and weather).
Just the Moon is not in place, doesn't matter if I reboot, close and restart cairo, or
change the resolution of the screen, it always set to the center of the screen.
I did check the Moon.conf, it seems ok, xposition and yposition marks the right place, but
in the screen, the desklet stays in the center. (I mean, it doesn't match the conf file).

Here are the screenshots:
http://img835.imageshack.us/img835/2733/jmsf.png
http://img42.imageshack.us/img42/4328/7nvn.png

It is somewhat annoying, to move the Moon around the screen (huh?), there's a fix for that?

PS: Sorry for my terrible english, and I can't speak french too...

matttbe, Wednesday 28 August 2013 à 14:38 | Quote


Subscription date : 24 January 2009
Messages : 12573
Hello and thank you for these details.

Can you check if you only have this bug with 'third-party' applets?

Guest, Monday 02 September 2013 à 22:44 | Quote

Thanks for your reply

But I don't think the problem is with the third-party applets. It happens with the vanilla ones
too. This is my screen after I did play skyrim, with a smaller resolution of screen:

http://img826.imageshack.us/img826/5272/vu4b.png

When I reboot, only the moon is out of place, when I set a smaller resolution, all the desklets moved
around, but they don't move back when I restore the resolution...

That sounds to me cairo-dock needs a routine to restore the current-theme to a recorded one, when the
screen changes to normal...

matttbe, Monday 02 September 2013 à 22:59 | Quote


Subscription date : 24 January 2009
Messages : 12573
Or maybe we should always use % instead of pixels (50% = centre)

Guest, Monday 02 September 2013 à 23:50 | Quote

huh??? Can I do that? How do I have to proceed?

matttbe, Tuesday 03 September 2013 à 15:43 | Quote


Subscription date : 24 January 2009
Messages : 12573
No, it's just an idea

@fabounet: what do you think about that?

Guest, Wednesday 04 September 2013 à 01:33 | Quote

It really should be nice. Setting, let's say, x-2% y-2%, will put the desklet at upper left screen,
right? No matter the size of the screen... Oh yes, this will really be nice.

Guest, Thursday 12 September 2013 à 04:33 | Quote

Just to finish the question, I did eliminate the Moon plugin, now it seems the cairo-dock behavior
is normal... no more shifting desklets positions, I mean, when I resize the screen, the desklets moves
to fit the screen, but they return to their original positions when I resize back...

Problems at use | Problèmes à l'utilisation

Subjects Author Language Messages Last message
Desklet positions screwed up by change of resolution [Bug #311]
UBod English 16 Guest [Read]
12 September 2013 à 04:33

Post a message

Anti-spam filter 8 (*) times (*) 8 =
            
Did you know ? You can easily create a google search by using the tag : [[google:SEARCH]]


Glx-Dock / Cairo-Dock List of forums Problems at use | Problèmes à l'utilisation Desklet positions screwed up by change of resolution 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.