Jazqa / kwin-yakts

An easy tiling script for KWin
GNU General Public License v2.0
368 stars 20 forks source link

TypeError: Result of expression 'client.oldGeo' [undefined] is not an object. #43

Closed alexjp closed 6 years ago

alexjp commented 7 years ago

Hi,

Thanks for your script, addicted to it :)

I have having this problem where the script stops working alot of times. I cannot be sure, but it happens when I move windows between monitors ( I have a 2650x1440 monitor and a 1920x1080 monitor ).

debugging the script, this error appears:

START: throwClient(KWin::Client(name = ""), 1, 2, 1, 0)
END: throwClient(KWin::Client(name = ""), 1, 2, 1, 0)
START: unreserveClient(KWin::Client(name = ""))
START: tileClients(1)
END: tileClients(1)
END: unreserveClient(KWin::Client(name = ""))
TypeError: Result of expression 'client.oldGeo' [undefined] is not an object.

Does it help?

Thanks !

Jazqa commented 7 years ago

Glad you enjoy the script! How are you moving the windows between the monitors; dragging by mouse, script-specific shortcut or KDE built-in features (e.g. right clicking the titlebar)? Attaching the debug log actually helps me a ton, so thanks for that!

alexjp commented 7 years ago

Well , in that specific case, I use dragging by mouse.

Also, I still don't know exactly how to trigger it. It seems like a mixture of moving windows from one monitor to the other, and because one monitor is way bigger than the other, sometimes kwin will interpret that move to the smaller monitor as a "maximize window". After the window is maximized, if i move it again, that problem happens, the script error.

Glad you enjoy the script!

I am, very very much ! ( the timing was amazing, because last friday i tried sway and i3 for the first time and was completly hooked ! this script is saving kwin for me :) ) If you don't mind, I hope i can request some features :)

Jazqa commented 7 years ago

I am, very very much ! ( the timing was amazing, because last friday i tried sway and i3 for the first time and was completly hooked ! this script is saving kwin for me :) ) If you don't mind, I hope i can request some features :)

Sure thing. I'm a little busy so implementing them might take time depending on the difficulty, but suggestions are always welcome.

barisdemirdelen commented 7 years ago

I believe this is the same issue i am experiencing that i referenced before. I too have a multi resolution setup so i don't know if it is relevant, but here is what i can do to reproduce.

Have a tiled window in screen A, drag a tiled window from screen B to A by mouse, hold it at the top of the screen so it maximizes. Try to move the window and tiling is broken for that window until i restart the script.

Jazqa commented 7 years ago

@barisdemirdelen, I'm quite sure it's the same issue. Do you guys actually use the electric border? The only solution I've found this far is automatically disabling it when the script starts.

EDIT: Working on this as I'm writing this. While I managed to fix the issue, the fix caused multiple other problems and I'll have to rework most the maximize/fullscreen code before making a commit. Hopefully I'll have a fix to commit tomorrow!

Jazqa commented 7 years ago

Have a tiled window in screen A, drag a tiled window from screen B to A by mouse, hold it at the top of the screen so it maximizes. Try to move the window and tiling is broken for that window until i restart the script.

I've fixed this by disabling the electric top edge (it was causing a ton of issues), but I'm not sure if it fixes the original issue with monitors of different resolution.

barisdemirdelen commented 7 years ago

Sorry, i don't know what an electric edge means, but it seems to have solved my issue.

Thanks!

Jazqa commented 7 years ago

Sorry, i don't know what an electric edge means, but it seems to have solved my issue.

It was just a fancy word for dragging the window to the top edge to maximize it. :)

Jazqa commented 6 years ago

I guess this was fixed when I disabled the electric borders.