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

Add reverse layouts (completion of PR 4246) #4794

Open
wants to merge 19 commits into
base: next
Choose a base branch
from

Commits on Nov 24, 2020

  1. Introduce layout_fill_order to Con

    The layout fill order allows to configure how Cons are attached to a new
    layout. The value 'default' keeps the traditional order, filling the
    layout from left to right, or top lo bottom depending on horizontal or
    vertical orientation. 'reverse' in turn means to fill a layout from
    right to left, or bottom to top.
    
    This commit does not yet add the behaviour described above, but merely
    extends data structures to accommodate for this new option.
    
    We only store a single fill order per Con and not any additional values
    for the workspace layout and last split layout as those variables are
    necessary to deal with the default layout which does not apply to the
    fill order.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    c4d5fc2 View commit details
    Browse the repository at this point in the history
  2. Teach the test lib about the new reverse layouts

    The tree representation was updated to support the new reverse layouts
    in the form of 'Vr[]' (N.B. the 'r' suffix). cmp_tree() needs to be
    updated to work with those extended strings.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    232cc83 View commit details
    Browse the repository at this point in the history
  3. Hook up saving and restoring for layout fill order

    This enables the layout fill order to be saved using i3-save-tree and
    restored using attach_layout.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    f8709ef View commit details
    Browse the repository at this point in the history
  4. Extend the workspace_layout option to allow setting layout fill order

    This adds support to specify the default layout fill order for
    workspaces. workspace_layout receives an additional optional argument to
    set layout fill order to reverse.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    3ff2ebc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    78368db View commit details
    Browse the repository at this point in the history
  6. Extend layout command to allow optional argument 'reverse'

    Calling 'layout <layout> reverse' allows to change the current layout to
    a new layout with reverse fill order.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    a2ff8d0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    74e092b View commit details
    Browse the repository at this point in the history
  8. Introduce 'split <left|right|up|down>' command

    Allows splitting the current con into all directions by creating new
    horizontal or vertical splits with corresponding layout fill order. This
    is accomplished by changing tree_split() to accept a direction_t instead
    of just orientation_t.
    
    Also convert 543-layout-reverse.t to use subtests to improve structure
    and output readability.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    230c9c5 View commit details
    Browse the repository at this point in the history
  9. Draw split indicator close to where new windows will appear

    With the newly introduced reverse layouts, new windows can appear on the
    opposite side of where the split indicator used to be drawn. This
    updates the drawing code to draw the indicator closer to new windows.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    c0d089e View commit details
    Browse the repository at this point in the history
  10. Refactor tree insert position assignment

    This was a relatively complicated assignment repeated twice. Factor it
    out into its own function.
    wlhlm committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    8346f00 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    88ea3a4 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2022

  1. Configuration menu
    Copy the full SHA
    10450d4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    82e48c4 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2022

  1. Added documentation for reverse layouts, splitting containers (with

    reverse argument) and manipulating layout.
    jtaala committed Jan 17, 2022
    Configuration menu
    Copy the full SHA
    616fc6d View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2022

  1. Configuration menu
    Copy the full SHA
    6d6b5db View commit details
    Browse the repository at this point in the history
  2. Added changelog entry.

    jtaala committed Apr 26, 2022
    Configuration menu
    Copy the full SHA
    4c3e662 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2022

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

Commits on Aug 5, 2022

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

Commits on Aug 6, 2022

  1. Updated tiling_drag.c to use direction in tree_split (which is the

    method parameters for right-to-left layouts.
    jtaala committed Aug 6, 2022
    Configuration menu
    Copy the full SHA
    491741d View commit details
    Browse the repository at this point in the history