ssokolow / quicktile

Adds window-tiling hotkeys to any X11 desktop. (An analogue to WinSplit Revolution for people who don't want to use Compiz Grid)
https://ssokolow.com/quicktile/
GNU General Public License v2.0
878 stars 79 forks source link

Add command: smarttile #96

Open pogobanane opened 6 years ago

pogobanane commented 6 years ago

adds 4 new commands to commands.py for window smart window tiling:

Move and resize windows to the known positions left, top-left, top... for example via the arrow keys. Shove a window further against the border of your screen to cycle through the window sizes.

coveralls commented 6 years ago

Coverage Status

Coverage decreased (-0.4%) to 33.147% when pulling b6d55963ef0680548d878607fdb6a30abb29960e on pogobanane:master into 06c4b036ba12bd40a07bf01bdeff340432be8108 on ssokolow:master.

ssokolow commented 6 years ago

Hmm. A cursory examination of this looks like it's trying to implement part of what #10 is supposed to enable more universally.

I really need to try harder to make time to get back to clearing out the open issues on this.

pogobanane commented 6 years ago

this does not implement dynamic window movement/resizeing but utilizes the existing commands for 'top-left', 'top', 'top-right', 'left'...

Instead this breaks the 9 commands down to 4 (upwards, downwards, left-wards, right-wards). You basically use those 4 direction commands to navigate through a virtual 3x3 grid of those 9 commands.

ssokolow commented 6 years ago

Yes, and the underlying goal of #10 is to rebase all of QuickTile's internals on such a virtual grid to solve a bunch of tricky problems and make it more versatile.

pogobanane commented 6 years ago

You talk about replacing the simple 'left', 'top-left', 'top', 'top-right' commands by a scalable, more versatile, grid based approach?

i think this project should support both: the simple commands which will be enough for a simple minded person with an full hd screen - and the more complex and powerful commands for advanced users.

ssokolow commented 6 years ago

No need to worry. I don't intend to remove any commands... I just intend to rework the internals so that they all operate through a virtual grid under the hood. (That's what will allow #10 to work. Grow/shrink will modify the grid, which will cause all windows bound to it to be adjusted to match the new sizes, rather than modifying a specific window.)

ssokolow commented 6 years ago

Please don't close a submission just because I didn't merge it promptly. My schedule has been a mess in recent months and I'm still trying to get my hobby projects back onto the docket.