Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1412 bspwm resize #4955

Draft
wants to merge 4 commits into
base: next
Choose a base branch
from
Draft

1412 bspwm resize #4955

wants to merge 4 commits into from

Commits on Apr 22, 2022

  1. bspwm-like tiling resize

    * **Two-axis tiling resize**.  You can drag a 24-pixel window corner (purple) to perform a two-axis resize. Also, you can press Mod and drag a large corner inside the window (one-third of the window size).
      ![illustration](https://user-images.githubusercontent.com/5121426/75146543-40a7c580-56f3-11ea-9b26-e14718699323.png)
    
    * **Live resize**: the tree is rendered during the resize process.
    
    * You can still press **ESC to cancel** resizing and revert to the old state.
    
    * Introduced the concept of the **minimum container size**.  E.g. the minimum width of leaf con with 10px borders is 21px (left border + right border + at least 1px for the window itself).  The minimum size is defined recursively, e.g. the minimum height of the vsplit is the sum of minimum sizes of its children.  The reason for this change: the live resize made it very easy to shrink containers as small as possible, so some restraints are required.
    
    * ~Misc update: ignore the drag if i3 can't perform the resize.  Suppose the user tries to resize the rightmost window to the right using Mod+RMB drag.  Obliviously, i3 can't do this.  Before this PR, the drag has been propagated to the application (some apps would show a context menu).  After this PR, the drag would be ignored at all (and the cursor would be shown as ✕).  The reasoning behind this change: the user explicitly indicated their desire to resize the window by pressing the Mod key, and probably just miss clicked to the wrong part of the window.~ Done in [93e96f4](i3@93e96f4).
    
    * Bugfix in `tiling_resize()`: you can now resize the window with pixel border by dragging the top border.
    xzfc authored and cmprmsd committed Apr 22, 2022
    Configuration menu
    Copy the full SHA
    f5bbe8b View commit details
    Browse the repository at this point in the history
  2. fixup-01

    * enum border_t -> enum resize_direction_t
    * resize_cursor() -> xcursor_type_for_resize_direction()
    * resize_get_borders_sides(), resize_get_borders_mod() -> get_resize_direction()
    * resize_find_tiling_participants_two_axes()
    xzfc authored and cmprmsd committed Apr 22, 2022
    Configuration menu
    Copy the full SHA
    fc0050c View commit details
    Browse the repository at this point in the history
  3. Fix compilation error

    Same fix as in this commit from 2020 that was previously mentioned in 
    the PR discussion.
    i3@93e96f4
    cmprmsd committed Apr 22, 2022
    Configuration menu
    Copy the full SHA
    7c20b2c View commit details
    Browse the repository at this point in the history

Commits on May 12, 2022

  1. Configuration menu
    Copy the full SHA
    97e24fe View commit details
    Browse the repository at this point in the history