Fix window centering, windowless commands, and add cascade/tile-all#158
Fix window centering, windowless commands, and add cascade/tile-all#158gmarthews wants to merge 1 commit into
Conversation
|
Wow. Thanks. I'll try to make time to start evaluating your changes today. I do notice a couple of non-code oversights though (probably my bad for not getting around to writing a better contributing doc):
EDIT: I've added a PR template to make sure those are clear to future contributors. |
|
Testing still in progress, but I've found that Given this is likely to also affect some desktop sticky note utilities, I'm thinking the most generally applicable solution is probably to exclude windows where The question is whether I'll also want to investigate whether excluding |
|
Actually, looking through the EWMH, it looks like there's a whole class of "probably don't want this" that I forgot to address because I didn't put much thought into commands which affect windows other than the active one. For example, I hadn't noticed that, when you tear off a toolbar in Qt, that toolbar can be focused, and it doesn't prevent QuickTile from stretching it in unnatural ways... it just snaps back into shape as soon as you move it with the mouse. ...so yeah. I should probably split the concept of "relevance". I can see the following types of windows being things people might want to reposition with QuickTile's active-window commands, but which they probably wouldn't want subject to "all windows" tiling commands:
(i.e. The things which can potentially receive focus, but which a full-blown tiling window manager would generally set "allow floating" exceptions for or have specialized handling of.) |
|
As for the hard-coded It shouldn't be hard-coded, but do you think it should be a line in My intuition says the latter, to ensure the window titles are visible regardless of the user's chosen font size. |
…rid-overlay Bug fixes: - Fix move-to-center positioning window slightly above center due to incorrect application of from_gravity for CENTER gravity. Added Rectangle.center_in() method for proper centering math. - Fix windowless commands (show-desktop, workspace-go-*) silently breaking after first invocation by extracting windowless flag at decoration time rather than inside the wrapper loop. - Fix GravityLayout treating explicit x=0.0 as unset (falsy check) by using 'is None' comparison. New features: - Add 'cascade' command to arrange workspace windows in a diagonal stair-step pattern. Skips windows with _NET_WM_STATE_SKIP_TASKBAR. Offset configurable via CascadeOffset=25 in [general]. - Add 'tile-all' command to tile workspace windows in optimal grid layout respecting screen aspect ratio. - Add 'grid-overlay' command for visual mouse-driven tiling with a semi-transparent grid overlay (click or arrow keys to select cells). - Add Rectangle.center_in() utility method. - Add _calculate_optimal_grid() for grid dimension calculation. Maintainer notes addressed: - Added to docs/authors/index.rst - Updated ChangeLog for 0.4.2 release - Renamed VERSION from 0.5.0 to 0.4.2 - Cascade skips _NET_WM_STATE_SKIP_TASKBAR windows - CascadeOffset configurable via quicktile.cfg
12ca957 to
050d710
Compare
|
Sorry for not replying promptly. It's been a busy week. I'll try to make time to look over the updated PR within a couple of days. |
Bug fixes:
New features: