Closed Hjdskes closed 7 years ago
@Unia Many thanks for your work on this!
If you could post some very specific instructions on how you'd like this tested, maybe you could start a "RFT" thread in the BunsenLabs forum to request testers, according to this recent post: https://forums.bunsenlabs.org/viewtopic.php?pid=35655#p35655
Before merging this into deuterium we need to be reasonably sure the remaining issues will be fixed in time for the deuterium merge into master - probably in another two or three weeks, I'm guessing.
If you could post some very specific instructions on how you'd like this tested, maybe you could start a "RFT" thread in the BunsenLabs forum to request testers, according to this recent post: https://forums.bunsenlabs.org/viewtopic.php?pid=35655#p35655
Done: https://forums.bunsenlabs.org/viewtopic.php?pid=36119#p36119
Before merging this into deuterium we need to be reasonably sure the remaining issues will be fixed in time for the deuterium merge into master - probably in another two or three weeks, I'm guessing.
Of course! The two issues I pointed out above are just to draw extra eyes on them; I don't think they are inherently unsolvable. My thoughts on them, are:
In two days, I'll have access again to my second monitor to test multi monitor setups myself. That will probably improve time it takes for me to fix any issues that pop up.
Using XLib and EWMH directly is a cleaner solution than spawning subprocesses all the time. Whilst working on this, I made several other changes to improve the performance and maintainability of bl-aerosnap:
sys.exit
as opposed to justexit
(https://docs.python.org/2/library/sys.html#sys.exit);tempfile
to get the system's temp directory, as opposed to hardcoding/tmp
;--top
and--bottom
options.Since I changed the code quite significantly, I wrote a small test script that compares the debug statements (which I'd have to remove prior to this being merged) to see if the behavior is what we want it to be. Note that you should probably change the coordinate strings for your own setup (mine is a 1366x768 laptop monitor with a single panel in the bottom of 30 pixels). I could probably make it setup independent by working with
/tmp/bl-aerosnap-$(id -u)
instead of debug statements, but we're talking about a test script here :stuck_out_tongue_winking_eye:.There is one issue remaining, namely that windows that originally have a negative position will not be able to be restored. Help with this issue would be appreciated, as it looks like it is quite a deep issue. A traceback of this issue is the following:
Another potential issue that I want to point out, is that currently I copied in the relevant bits of pyewmh because this module is not available as a Debian package. (Don't worry, the licenses are compatible). If preferred, we could probably package this ourselves and just import the upstream code, which is probably cleaner.
Please test this thoroughly, with your funkiest setups (especially multi monitor, as I currently do not have access to my second monitor!)
Looking forward to your feedback!