emasab / shelltile

A tiling window extension for GNOME Shell
https://extensions.gnome.org/extension/657/shelltile/
GNU General Public License v2.0
647 stars 42 forks source link

Problem with multiple screen and #52 extension #63

Closed giles-carre closed 5 years ago

giles-carre commented 6 years ago

Hi, With version #52 extension, I have a problem with multiple screen (3 screens) since the last upgrade of the extension: the edge resizing (half size) doesn't work between screens 1 and 2 or 2 and 3. There is no problem on left of screen 1 or right of screen 3.

I am on Ubuntu 18.04 (Gnome 3.28, default version). The automatic extension installer installs #52 version. I have downgraded to #51 version, and all is ok now.

Thanks in advance.

moqmar commented 6 years ago

Same here - there is a single column of pixels that will do what I want (maximize a window to half a screen), but trying to position a window there on two 4K screens (and getting it to maximize on the correct screen) is a bit of a tedious task.

giles-carre commented 5 years ago

Hi Emanuele,

I'm now with Ubuntu 18.10 and extension version 55. The problem persists on the edge between multiple screens. Remember it was OK up to version 51.

And the situation is worse than before because I can not install version 51 with Ubuntu 18.10 (Gnome Shell 3.30.1).

Sorry, I can't contribute more (only for testing), I don't know JavaScript. But I like your work.

Giles

jahschwa commented 5 years ago

I'm betting this is the change that introduced this: https://github.com/emasab/shelltile/commit/c1bffa0671d33395c5cc5122f1c553a374e75cf5#diff-f0f453d3acd16cd8ff3ca1f77bdf7e4aR1338

If I'm correct that the above change is the cause, maybe that value could be made configurable?

emasab commented 5 years ago

Hi, in the last beta I've introduced a minor feature, that is if you're holding Ctrl while near to an edge, the active border size increases, otherwise it stays to 1 pixel. The cursor doesn't have to be upon another window

giles-carre commented 5 years ago

Hi Emanuele,

Le 25/03/2019 à 22:03, emasab a écrit :

Hi, in the last beta I've introduced a minor feature, that is if you're holding Ctrl while near to an edge, the active border size increases, otherwise it remains at 1 pixel

I've tried the 2.0.0b1 version; it's perfect, the problem is now solved, holding the control key near the edge between two screens.

Your extension is the better I've tried for tiling. Very simple, with no initial configuration need.

Thanks a lot.

    Giles

-- Giles Carré — RSSI Téléphone : +33 (0)5 61 55 93 61 Mobile : +33 (0)6 23 01 98 17 giles.carre@insa-toulouse.fr mailto:giles.carre@insa-toulouse.fr

INSA Toulouse Centre des Services Numériques 135 avenue de Rangueil 31077 Toulouse CEDEX 04

INSA Toulouse *www.insa-toulouse.fr http://www.insa-toulouse.fr***

emasab commented 5 years ago

Not at all, thanks for the feedback!

StephenBerlin commented 5 years ago

Thanks very much for fixing this! Was just about to post about this, when I found this thread. Was driving me crazy. Personally, I would make this the default, ie without the Ctrl... as it then works much more like Gnome by default. But thank you!

StephenBerlin commented 5 years ago

So... I have no idea what I could have done, but this is no longer working. Holding down Ctrl doesn't act differently from without Ctrl. So I'm back to having to hold the window on the very last column of pixels to get it to take up half of a screen, when using the edge shared between monitors... which is hard to do. Thanks.

Warsenius commented 5 years ago

i also have this issue. when using multiple monitors the edge where you can mouse the screen to to assign a window to a corner is very small, even when holding ctrl. maybe make these sizes configurable?

esauvisky commented 5 years ago

This issue still persists, though the behavior is unpredictable: sometimes it snaps properly, sometimes it snaps while holding into the current display but the filling area appears on the other monitor, and the window either: resizes properly to the current display despite the area appearing on the other monitor, or, moves to the other monitor and resizes like the area shows. :thinking:

emasab commented 5 years ago

@esauvisky could you run this in a terminal, to check if you are running Wayland echo $XDG_SESSION_TYPE

esauvisky commented 5 years ago

Sure, I'm not though:

$ echo $XDG_SESSION_TYPE
tty
$ uname -a
Linux emi-arch 5.2.8-arch1-1-ARCH #1 SMP PREEMPT Fri Aug 9 21:36:07 UTC 2019 x86_64 GNU/Linux
$ gnome-shell --version
GNOME Shell 3.32.1
emasab commented 5 years ago

Is it in a terminal open inside gnome or a side terminal? try to run ps ax | egrep '(Xorg|Xwayland)'

esauvisky commented 5 years ago

Sorry I didn't even pay attention to the output. It is Xorg, though.

$ ps aux | egrep '(Xorg|Xwayland)'
esauvis+   831  5.7  1.2 1228500 207324 tty1   S<l  ago12 182:07 /usr/lib/Xorg -nolisten tcp :0 vt1 -keeptty -auth /tmp/serverauth.qbaMoCg1W9
Tschrock commented 5 years ago

It looks like there's two issues being discussed here - maybe they should be split apart?

The original issue is that the edge zone is too small (only one pixel wide), which makes it extremely difficult to snap windows between monitors. Holding Ctrl helps work around the issue, but it would be nice if it automatically expanded the edge zone between monitors.

The second issue (the one @esauvisky brought up) is that when "Group edge tiling" is turned on, the window will sometimes snap to the wrong monitor.

For example: I have three monitors side by side in a row. If I try snapping a window to the left side of the middle monitor, the window will sometimes snap to the left side of the left monitor instead. The monitor it ends up on seems to be based on where the majority of the window is. I.E if most of the window is on the left monitor, it will snap to the left monitor instead of the middle one.

Correct snapping: Untitled2

Incorrect snapping: Untitled

emasab commented 5 years ago

Hi, I've reproduced the bug the done some fixes and tests, could you try the latest version: https://github.com/emasab/shelltile/commit/5d14c027a64d65a582bbf932e3277048f168a275

giles-carre commented 5 years ago

Hi Emanuele,

Le 18/08/2019 à 11:29, emasab a écrit :

Hi, I've reproduced the bug the done some fixes and tests, could you try the latest version: 5d14c02 https://github.com/emasab/shelltile/commit/5d14c027a64d65a582bbf932e3277048f168a275

I have tried this latest version, but it seems the problem isn't solved for me.

I use Ubuntu 19.04 (GNOME Shell 3.32.1).

Is there any test I can conduct for you?

    Giles

-- Giles Carré — RSSI Téléphone : +33 (0)5 61 55 93 61 Mobile : +33 (0)6 23 01 98 17 giles.carre@insa-toulouse.fr mailto:giles.carre@insa-toulouse.fr

INSA Toulouse Centre des Services Numériques 135 avenue de Rangueil 31077 Toulouse CEDEX 04

INSA Toulouse *www.insa-toulouse.fr http://www.insa-toulouse.fr***

emasab commented 5 years ago

Hi Giles, could you send me this folder zipped: ~/.local/share/gnome-shell/extensions/ShellTile@emasab.it also, have you restarted gnome shell after the installation? Do you find that it happens in the same cases as before? The bug was that it was using the window's screen to place the preview and then the window, so when more than half of the window was in the other screen, it was using the wrong screen. Now it's using the current screen, where the cursor resides, and this solves the problem even if more than half is in the other screen.

I've tried it with GNOME Shell 3.28.3 and Ubuntu 18.04, have a virtual machine for these tests and I'm going to upgrade

giles-carre commented 5 years ago

Hi Emanuele,

Le 19/08/2019 à 21:01, emasab a écrit :

Hi Giles, could you send me this folder zipped: |~/.local/share/gnome-shell/extensions/ShellTile@emasab.it| also, have you restarted gnome shell after the installation? Do you find that it happens in the same cases as before? The bug was that it was using the window's screen to place the preview and then the window, so when more than half of the window was in the other screen, it was using the wrong screen. Now it's using the current screen, where the cursor resides, and this solves the problem even if more than half is in the other screen.

I've tried it with GNOME Shell 3.28.3 and Ubuntu 18.04, have a virtual machine for these tests and I'm going to upgrade

Yes, Y have restarted Gnome after install, and I have verified that the patched version is the one installed ; the ZIP of ~/.local/share/gnome-shell/extensions/ShellTile@emasab.it is downloadable from here : https://filez.insa-toulouse.fr/bbekr

If useful, you can find a small demo of my problem here (mp4 file) : https://filez.insa-toulouse.fr/1rmtr

For info, my parameters :

As an alternative, I use today gTile, but I prefer so much ShellTile.

Thanks in advance.

    Giles

-- Giles Carré — RSSI Téléphone : +33 (0)5 61 55 93 61 Mobile : +33 (0)6 23 01 98 17 giles.carre@insa-toulouse.fr mailto:giles.carre@insa-toulouse.fr

INSA Toulouse Centre des Services Numériques 135 avenue de Rangueil 31077 Toulouse CEDEX 04

INSA Toulouse *www.insa-toulouse.fr http://www.insa-toulouse.fr***

emasab commented 5 years ago

Thanks for the details Giles, so it doesn't work even with Ctrl pressed while before it worked. Going to debug with your configuration. Does it work if you disable "Grouping edge tiling" in the extension's configuration?

Tschrock commented 5 years ago

@emasab I've updated the files in ~/.local/share/gnome-shell/extensions/ShellTile@emasab.it to match the changes you made, and it's fixed the second issue (the one with windows snapping to the wrong monitor).

I don't see any changes for the original issue (the edge zone isn't large enough between monitors) - I'm pretty sure that's what @giles-carre is looking for.

emasab commented 5 years ago

@giles-carre I've done some tests but it works as intended for now, with Ctrl pressed to make the edge larger. This is the video

https://youtu.be/Omkn-UE1rsI

@Tschrock I cannot just enlarge the edge zone because otherwise I get issues from people complaining that the edge tiling starts too early (already happened). The compromise is to make the edge zone larger if you are pressing Ctrl. There should be no window under the cursor otherwise the you get the partitioning tiling preview.

Tschrock commented 5 years ago

Another idea is to make the edge distance configurable in the settings - then people can adjust it to whatever they prefer. That sounds a lot easier than trying to to detect which edges are between monitors.

For now I've just modified the value in my local files and that's good enough for me.

giles-carre commented 5 years ago

Hi Tyler,

Le 22/08/2019 à 04:27, Tyler Schrock a écrit :

Another idea is to make the edge distance configurable in the settings

  • then people can adjust it to whatever they prefer. That sounds a lot easier than trying to to detect which edges are between monitors.

For now I've just modified the value in my local files and that's good enough for me.

Simple idea, simple solution. Which files and values did you modify?

Thanks in advance.

    Giles

-- Giles Carré — RSSI Téléphone : +33 (0)5 61 55 93 61 Mobile : +33 (0)6 23 01 98 17 giles.carre@insa-toulouse.fr mailto:giles.carre@insa-toulouse.fr

INSA Toulouse Centre des Services Numériques 135 avenue de Rangueil 31077 Toulouse CEDEX 04

INSA Toulouse *www.insa-toulouse.fr http://www.insa-toulouse.fr***

emasab commented 5 years ago

Ok convinced :smile: , I've removed the Ctrl behavior and added a configuration property for the edge zone width in the last commit: https://github.com/emasab/shelltile/commit/2205f57664ac69ee405f9fbd5c704a6013d0eedc

giles-carre commented 5 years ago

Emanuele,

Le 22/08/2019 à 21:14, emasab a écrit :

Ok convinced 😄 , I've removed the Ctrl behavior and added a configuration property for the edge zone width in the last commit: 2205f57 https://github.com/emasab/shelltile/commit/2205f57664ac69ee405f9fbd5c704a6013d0eedc

I have installed this version, increased the new "Size of the gaps between windows" parameter to 10, and all is perfect.

Thanks a lot

Have a good WE.

    Giles

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/emasab/shelltile/issues/63?email_source=notifications&email_token=AB2APS4JGCGR6J7DD6UMVODQF3QQJA5CNFSM4FH3IPTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD46DEJQ#issuecomment-524038694, or mute the thread https://github.com/notifications/unsubscribe-auth/AB2APS3WVTENTUS277BU7M3QF3QQJANCNFSM4FH3IPTA.

-- Giles Carré — RSSI Téléphone : +33 (0)5 61 55 93 61 Mobile : +33 (0)6 23 01 98 17 giles.carre@insa-toulouse.fr mailto:giles.carre@insa-toulouse.fr

INSA Toulouse Centre des Services Numériques 135 avenue de Rangueil 31077 Toulouse CEDEX 04

INSA Toulouse *www.insa-toulouse.fr http://www.insa-toulouse.fr***

igordovgaluk commented 4 years ago

looks like regression v62 (Gnome 3.28.2, 18.04)

giles-carre commented 4 years ago

Hi, This problem has been solved for several months now (for me). I work with Ubuntu 19.10, Gnome 3.34.3 and extension version 62. In one week, I'll upgrade to Ubuntu 20.04 and I'll see, but no fear. Thanks to Emanuele for his work. Emanuele, I hope that health is going well for you, I know that it's difficult in Italy now. In France, we have been confined for a month, and again for 4 weeks. Giles

emasab commented 4 years ago

Hi Giles, thanks for caring. Everything's ok, except for the confinement of course. I've been living in Spain since a few years ago, here the situation is similiar. Hope we'll overcome the disease soon, stay safe too!