linuxmint / cinnamon-spices-extensions

Extensions for the Cinnamon desktop
http://cinnamon-spices.linuxmint.com
GNU General Public License v2.0
115 stars 101 forks source link

spice workspace-scroller: works on only one monitor in extended display mode #137

Open brub2 opened 6 years ago

brub2 commented 6 years ago

@ori

Issue I have two monitors (1920X1080 on both) and the extension works only on the edges of the left monitor.

icarter09 commented 6 years ago

@brub2 does this issue only occur when there are two monitors involved?

jaszhix commented 5 years ago

@brub2 Can't reproduce this. Please fill out the rest of the issue template.

 * Snippet or attachment of ~/.cinnamon/glass.log
 * Snippet or attachment of ~/.xsession-errors
**Steps to reproduce**

**Expected behaviour**

**Other information**
CubicCode commented 5 years ago

I can confirm this issue on two different machines.

$ cat .cinnamon/glass.log
info t=2019-03-04T09:47:01.833Z Cinnamon.AppSystem.get_default() started in 263 ms
info t=2019-03-04T09:47:02.025Z PlacesManager: Updating devices
info t=2019-03-04T09:47:02.162Z loaded at Mon Mar 04 2019 10:47:02 GMT+0100 (CET)
info t=2019-03-04T09:47:02.187Z Role locked: notifications
info t=2019-03-04T09:47:02.197Z Loaded applet notifications@cinnamon.org in 28 ms
info t=2019-03-04T09:47:02.262Z Loaded applet user@cinnamon.org in 64 ms
info t=2019-03-04T09:47:02.301Z Loaded applet removable-drives@cinnamon.org in 36 ms
info t=2019-03-04T09:47:02.342Z Loaded applet keyboard@cinnamon.org in 40 ms
info t=2019-03-04T09:47:02.664Z Loaded applet network@cinnamon.org in 320 ms
info t=2019-03-04T09:47:02.751Z Loaded applet sound@cinnamon.org in 86 ms
info t=2019-03-04T09:47:02.779Z Loaded applet power@cinnamon.org in 26 ms
info t=2019-03-04T09:47:02.859Z Loaded applet calendar@cinnamon.org in 79 ms
info t=2019-03-04T09:47:02.892Z Loaded applet windows-quick-list@cinnamon.org in 31 ms
info t=2019-03-04T09:47:02.909Z Role locked: panellauncher
info t=2019-03-04T09:47:03.004Z Loaded applet windowlist@cobinja.de in 112 ms
info t=2019-03-04T09:47:05.053Z Loaded applet menu@cinnamon.org in 2048 ms
info t=2019-03-04T09:47:05.064Z Loaded applet systray@cinnamon.org in 9 ms
info t=2019-03-04T09:47:05.085Z Loaded applet trash@cinnamon.org in 20 ms
info t=2019-03-04T09:47:05.135Z Loaded applet workspace-switcher@cinnamon.org in 48 ms
info t=2019-03-04T09:47:05.136Z AppletManager.init() started in 2973 ms
info t=2019-03-04T09:47:05.139Z Cinnamon took 3624 ms to start
info t=2019-03-04T09:47:06.808Z Adding systray: nxclient.bin (24x24px)
info t=2019-03-04T09:47:06.810Z Hiding systray: network
info t=2019-03-04T09:47:08.310Z Resized nxclient.bin with normalized size (32x32px)
info t=2019-03-04T15:46:59.983Z PlacesManager: Updating devices
info t=2019-03-04T15:47:20.828Z PlacesManager: Updating devices
info t=2019-03-04T15:47:49.253Z PlacesManager: Updating devices
info t=2019-03-04T15:48:36.200Z PlacesManager: Updating devices
info t=2019-03-05T09:35:09.442Z Installing settings for workspace-scroller@ori
info t=2019-03-05T09:35:09.443Z Settings successfully installed for workspace-scroller@ori
info t=2019-03-05T09:35:09.469Z Loaded extension workspace-scroller@ori in 35 ms

No error log. Expected behaviour: Working on all screens. Actual behaviour: Only working on the left most screen, even if this is not the primary screen. Seems other screens get ignored completely.

mumeiyamibito commented 3 years ago

I have the same problem. The extension is working on left monitor (not primary) and is not working right monitor (primary) with no error in log. On the other hand, the competing extension "Desktop Scroller" is working fine.

paulharris commented 3 years ago

I see the same problem on mine. I have 3 side-by-side, with the Middle as the primary.

I think the problem is the Area defined to listen to the events is defined as x=cornerSize; dx=monitor.width - cornerSize*2; but the monitor width is ONLY the primary monitor's width. All of my monitors are the same size, but, I believe it means the area doesn't cover the other desktop's bottom edge.

Surely for 3 monitors side-by-side, For an area across ALL of the monitors, you would want: x=cornerSize; dx= 3monitor.width - cornerSize2;

Alternatively, for the area on ONLY the primary monitor, you want: x=cornerSize + monitor.left_offset; // whatever this is actually called - the left most pixel's coordinate dx= monitor.width - cornerSize*2;

This also applies to the corners... it only creates the areas on the left monitor, it should perhaps create those areas/corners for EACH of the monitors. OR it should offset their origins (x,y) to where the primary monitor's origin is.

paulharris commented 3 years ago

I want to hack this and see if I can fix the bug... where is all the documentation on the imports.ui.main API and stuff like that ? There are no obvious resources for helping me to start hacking ...