Пример #1
0
def test_focus_cycle(qtile):
    # adjust command for current display
    qtile.c.group["SCRATCHPAD"].dropdown_reconfigure(
        'dd-a', command='xterm -T dd-a -display %s sh' % qtile.display)
    qtile.c.group["SCRATCHPAD"].dropdown_reconfigure(
        'dd-b', command='xterm -T dd-b -display %s sh' % qtile.display)

    qtile.test_window("one")
    # spawn dd-a by toggling
    assert_focused(qtile, 'one')

    qtile.c.group["SCRATCHPAD"].dropdown_toggle('dd-a')
    is_spawned(qtile, 'dd-a')
    assert_focused(qtile, 'dd-a')

    qtile.test_window("two")
    assert_focused(qtile, 'two')

    # spawn dd-b by toggling
    qtile.c.group["SCRATCHPAD"].dropdown_toggle('dd-b')
    is_spawned(qtile, 'dd-b')
    assert_focused(qtile, 'dd-b')

    # check all windows
    assert sorted(qtile.c.group["a"].info()['windows']) == [
        'dd-a', 'dd-b', 'one', 'two'
    ]

    assert_focus_path(qtile, 'one', 'two', 'dd-a', 'dd-b')
Пример #2
0
def test_zoomy_one(manager):
    manager.test_window("one")
    assert_dimensions(manager, 0, 0, 600, 600)
    manager.test_window("two")
    assert_dimensions(manager, 0, 0, 600, 600)
    manager.test_window("three")
    assert_dimensions(manager, 0, 0, 600, 600)
    assert_focus_path(manager, "two", "one", "three")
Пример #3
0
def test_zoomy_one(manager):
    manager.test_window('one')
    assert_dimensions(manager, 0, 0, 600, 600)
    manager.test_window('two')
    assert_dimensions(manager, 0, 0, 600, 600)
    manager.test_window('three')
    assert_dimensions(manager, 0, 0, 600, 600)
    assert_focus_path(manager, 'two', 'one', 'three')
Пример #4
0
def test_zoomy_one(qtile):
    qtile.test_window('one')
    assert_dimensions(qtile, 0, 0, 600, 600)
    qtile.test_window('two')
    assert_dimensions(qtile, 0, 0, 600, 600)
    qtile.test_window('three')
    assert_dimensions(qtile, 0, 0, 600, 600)
    assert_focus_path(qtile, 'two', 'one', 'three')
Пример #5
0
def test_slice_focus(qtile):
    qtile.test_window('one')
    assert_focused(qtile, 'one')
    two = qtile.test_window('two')
    assert_focused(qtile, 'two')
    slice = qtile.test_window('slice')
    assert_focused(qtile, 'slice')
    assert_focus_path(qtile, 'slice')
    qtile.test_window('three')
    assert_focus_path(qtile, 'two', 'one', 'slice', 'three')
    qtile.kill_window(two)
    assert_focus_path(qtile, 'one', 'slice', 'three')
    qtile.kill_window(slice)
    assert_focus_path(qtile, 'one', 'three')
    slice = qtile.test_window('slice')
    assert_focus_path(qtile, 'three', 'one', 'slice')
Пример #6
0
def test_slice_focus(manager):
    manager.test_window("one")
    assert_focused(manager, "one")
    two = manager.test_window("two")
    assert_focused(manager, "two")
    slice = manager.test_window("slice")
    assert_focused(manager, "slice")
    assert_focus_path(manager, "slice")
    manager.test_window("three")
    assert_focus_path(manager, "two", "one", "slice", "three")
    manager.kill_window(two)
    assert_focus_path(manager, "one", "slice", "three")
    manager.kill_window(slice)
    assert_focus_path(manager, "one", "three")
    slice = manager.test_window("slice")
    assert_focus_path(manager, "three", "one", "slice")
Пример #7
0
def test_slice_focus(manager):
    manager.test_window('one')
    assert_focused(manager, 'one')
    two = manager.test_window('two')
    assert_focused(manager, 'two')
    slice = manager.test_window('slice')
    assert_focused(manager, 'slice')
    assert_focus_path(manager, 'slice')
    manager.test_window('three')
    assert_focus_path(manager, 'two', 'one', 'slice', 'three')
    manager.kill_window(two)
    assert_focus_path(manager, 'one', 'slice', 'three')
    manager.kill_window(slice)
    assert_focus_path(manager, 'one', 'three')
    slice = manager.test_window('slice')
    assert_focus_path(manager, 'three', 'one', 'slice')
Пример #8
0
def test_tile_window_focus_cycle(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("float1")
    manager.c.window.toggle_floating()
    manager.test_window("float2")
    manager.c.window.toggle_floating()
    manager.test_window("three")

    # test preconditions, Tile adds (by default) clients at pos of current
    assert manager.c.layout.info()["clients"] == ["three", "two", "one"]
    # last added window has focus
    assert_focused(manager, "three")

    # assert window focus cycle, according to order in layout
    assert_focus_path(manager, "two", "one", "float1", "float2", "three")
Пример #9
0
def test_ratiotile_window_focus_cycle(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("float1")
    manager.c.window.toggle_floating()
    manager.test_window("float2")
    manager.c.window.toggle_floating()
    manager.test_window("three")

    # test preconditions, RatioTile adds clients to head
    assert manager.c.layout.info()['clients'] == ['three', 'two', 'one']
    # last added window has focus
    assert_focused(manager, "three")

    # assert window focus cycle, according to order in layout
    assert_focus_path(manager, 'two', 'one', 'float1', 'float2', 'three')
Пример #10
0
def test_max_window_focus_cycle(qtile):
    # setup 3 tiled and two floating clients
    qtile.test_window("one")
    qtile.test_window("two")
    qtile.test_window("float1")
    qtile.c.window.toggle_floating()
    qtile.test_window("float2")
    qtile.c.window.toggle_floating()
    qtile.test_window("three")

    # test preconditions
    assert qtile.c.layout.info()['clients'] == ['one', 'two', 'three']
    # last added window has focus
    assert_focused(qtile, "three")

    # assert window focus cycle, according to order in layout
    assert_focus_path(qtile, 'float1', 'float2', 'one', 'two', 'three')
Пример #11
0
def test_bsp_window_focus_cycle(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("float1")
    manager.c.window.toggle_floating()
    manager.test_window("float2")
    manager.c.window.toggle_floating()
    manager.test_window("three")

    # test preconditions, columns adds clients at pos of current, in two stacks
    assert manager.c.layout.info()['clients'] == ['one', 'three', 'two']
    # last added window has focus
    assert_focused(manager, "three")

    # assert window focus cycle, according to order in layout
    assert_focus_path(manager, 'two', 'float1', 'float2', 'one', 'three')
Пример #12
0
def test_tall_window_focus_cycle(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("float1")
    manager.c.window.toggle_floating()
    manager.test_window("float2")
    manager.c.window.toggle_floating()
    manager.test_window("three")

    # test preconditions
    assert manager.c.layout.info()["clients"] == ["one", "two", "three"]
    # last added window has focus
    assert_focused(manager, "three")

    # starting from the last tiled client, we first cycle through floating ones,
    # and afterwards through the tiled
    assert_focus_path(manager, "float1", "float2", "one", "two", "three")
Пример #13
0
def test_tall_window_focus_cycle(qtile):
    # setup 3 tiled and two floating clients
    qtile.test_window("one")
    qtile.test_window("two")
    qtile.test_window("float1")
    qtile.c.window.toggle_floating()
    qtile.test_window("float2")
    qtile.c.window.toggle_floating()
    qtile.test_window("three")

    # test preconditions
    assert qtile.c.layout.info()['clients'] == ['one', 'two', 'three']
    # last added window has focus
    assert_focused(qtile, "three")

    # starting from the last tiled client, we first cycle through floating ones,
    # and afterwards through the tiled
    assert_focus_path(qtile, 'float1', 'float2', 'one', 'two', 'three')
Пример #14
0
def test_columns_window_focus_cycle(qtile):
    # setup 3 tiled and two floating clients
    qtile.test_window("one")
    qtile.test_window("two")
    qtile.test_window("float1")
    qtile.c.window.toggle_floating()
    qtile.test_window("float2")
    qtile.c.window.toggle_floating()
    qtile.test_window("three")

    # test preconditions, columns adds clients at pos after current, in two stacks
    assert qtile.c.layout.info()['columns'][0]['clients'] == ['one']
    assert qtile.c.layout.info()['columns'][1]['clients'] == ['three', 'two']
    # last added window has focus
    assert_focused(qtile, "three")

    # assert window focus cycle, according to order in layout
    assert_focus_path(qtile, 'two', 'float1', 'float2', 'one', 'three')
Пример #15
0
def test_tile_add_on_top(manager):
    manager.c.next_layout()
    manager.c.next_layout()
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("three")

    # test first example
    assert manager.c.layout.info()["master"] == ["one"]
    assert manager.c.layout.info()["slave"] == ["two", "three"]

    manager.c.layout.previous()

    # test second exemple
    assert_focused(manager, "two")
    manager.test_window("four")
    assert manager.c.layout.info()["clients"] == ['one', 'two', 'four', 'three']
    assert manager.c.layout.info()["slave"] == ["two", "four", "three"]
    assert_focus_path(manager, 'three', 'one', 'two', 'four')
Пример #16
0
def test_columns_window_focus_cycle(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("three")
    manager.test_window("float1")
    manager.c.window.toggle_floating()
    manager.test_window("float2")
    manager.c.window.toggle_floating()
    manager.test_window("four")

    # test preconditions, columns adds clients at pos after current, in two stacks
    columns = manager.c.layout.info()["columns"]
    assert columns[0]["clients"] == ["one"]
    assert columns[1]["clients"] == ["two"]
    assert columns[2]["clients"] == ["four", "three"]
    # last added window has focus
    assert_focused(manager, "four")

    # assert window focus cycle, according to order in layout
    assert_focus_path(manager, "three", "float1", "float2", "one", "two",
                      "four")
Пример #17
0
def test_focus_cycle(manager):
    manager.c.group["SCRATCHPAD"].dropdown_reconfigure('dd-a')
    manager.c.group["SCRATCHPAD"].dropdown_reconfigure('dd-b')

    manager.test_window("one")
    # spawn dd-a by toggling
    assert_focused(manager, 'one')

    manager.c.group["SCRATCHPAD"].dropdown_toggle('dd-a')
    is_spawned(manager, 'dd-a')
    assert_focused(manager, 'dd-a')

    manager.test_window("two")
    assert_focused(manager, 'two')

    # spawn dd-b by toggling
    manager.c.group["SCRATCHPAD"].dropdown_toggle('dd-b')
    is_spawned(manager, 'dd-b')
    assert_focused(manager, 'dd-b')

    # check all windows
    assert sorted(manager.c.group["a"].info()['windows']) == ['dd-a', 'dd-b', 'one', 'two']

    assert_focus_path(manager, 'one', 'two', 'dd-a', 'dd-b')
Пример #18
0
def test_focus_cycle(manager):
    manager.c.group["SCRATCHPAD"].dropdown_reconfigure("dd-a")
    manager.c.group["SCRATCHPAD"].dropdown_reconfigure("dd-b")

    manager.test_window("one")
    # spawn dd-a by toggling
    assert_focused(manager, "one")

    manager.c.group["SCRATCHPAD"].dropdown_toggle("dd-a")
    is_spawned(manager, "dd-a")
    assert_focused(manager, "dd-a")

    manager.test_window("two")
    assert_focused(manager, "two")

    # spawn dd-b by toggling
    manager.c.group["SCRATCHPAD"].dropdown_toggle("dd-b")
    is_spawned(manager, "dd-b")
    assert_focused(manager, "dd-b")

    # check all windows
    assert sorted(manager.c.group["a"].info()["windows"]) == ["dd-a", "dd-b", "one", "two"]

    assert_focus_path(manager, "one", "two", "dd-a", "dd-b")
Пример #19
0
def test_window(manager):
    pytest.importorskip("tkinter")
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_dialog("float1")
    manager.test_dialog("float2")
    manager.test_window("three")

    # test preconditions, columns adds clients at pos of current, in two stacks
    assert manager.c.layout.info()['clients'] == ['one', 'three', 'two']
    assert manager.c.layout.info()['sections'] == ['Foo', 'Bar']
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two'], ['three']],
        'Bar': []
    }

    # last added window has focus
    assert_focused(manager, "three")
    manager.c.layout.up()
    assert_focused(manager, "two")
    manager.c.layout.down()
    assert_focused(manager, "three")

    # test command move_up/down
    manager.c.layout.move_up()
    assert manager.c.layout.info()['clients'] == ['one', 'three', 'two']
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['three'], ['two']],
        'Bar': []
    }
    manager.c.layout.move_down()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two'], ['three']],
        'Bar': []
    }

    # section_down/up
    manager.c.layout.up()  # focus two
    manager.c.layout.section_down()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['three']],
        'Bar': [['two']]
    }
    manager.c.layout.section_up()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['three'], ['two']],
        'Bar': []
    }

    # del_section
    manager.c.layout.up()  # focus three
    manager.c.layout.section_down()
    manager.c.layout.del_section("Bar")
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two'], ['three']]
    }

    # add_section
    manager.c.layout.add_section('Baz')
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two'], ['three']],
        'Baz': []
    }
    manager.c.layout.del_section('Baz')

    # move_left/right
    manager.c.layout.move_left()  # no effect for top-level children
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two'], ['three']]
    }
    manager.c.layout.move_right()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two', ['three']]]
    }
    manager.c.layout.move_right()  # no effect
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two', ['three']]]
    }
    manager.test_window("four")
    manager.c.layout.move_right()
    manager.c.layout.up()
    manager.test_window("five")
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two', ['three', ['four']], ['five']]]
    }

    # expand/collapse_branch, and check focus order
    manager.c.layout.up()
    manager.c.layout.up()  # focus three
    manager.c.layout.collapse_branch()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two', ['three'], ['five']]]
    }
    assert_focus_path(manager, 'five', 'float1', 'float2', 'one', 'two',
                      'three')
    manager.c.layout.expand_branch()
    assert manager.c.layout.info()['client_trees'] == {
        'Foo': [['one'], ['two', ['three', ['four']], ['five']]]
    }
    assert_focus_path(manager, 'four', 'five', 'float1', 'float2', 'one',
                      'two', 'three')
Пример #20
0
def test_window(manager):
    # setup 3 tiled and two floating clients
    manager.test_window("one")
    manager.test_window("two")
    manager.test_window("float1", floating=True)
    manager.test_window("float2", floating=True)
    manager.test_window("three")

    # test preconditions, columns adds clients at pos of current, in two stacks
    assert manager.c.layout.info()["clients"] == ["one", "three", "two"]
    assert manager.c.layout.info()["sections"] == ["Foo", "Bar"]
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two"], ["three"]],
        "Bar": [],
    }

    # last added window has focus
    assert_focused(manager, "three")
    manager.c.layout.up()
    assert_focused(manager, "two")
    manager.c.layout.down()
    assert_focused(manager, "three")

    # test command move_up/down
    manager.c.layout.move_up()
    assert manager.c.layout.info()["clients"] == ["one", "three", "two"]
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["three"], ["two"]],
        "Bar": [],
    }
    manager.c.layout.move_down()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two"], ["three"]],
        "Bar": [],
    }

    # section_down/up
    manager.c.layout.up()  # focus two
    manager.c.layout.section_down()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["three"]],
        "Bar": [["two"]],
    }
    manager.c.layout.section_up()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["three"], ["two"]],
        "Bar": [],
    }

    # del_section
    manager.c.layout.up()  # focus three
    manager.c.layout.section_down()
    manager.c.layout.del_section("Bar")
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two"], ["three"]]
    }

    # add_section
    manager.c.layout.add_section("Baz")
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two"], ["three"]],
        "Baz": [],
    }
    manager.c.layout.del_section("Baz")

    # move_left/right
    manager.c.layout.move_left()  # no effect for top-level children
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two"], ["three"]]
    }
    manager.c.layout.move_right()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two", ["three"]]]
    }
    manager.c.layout.move_right()  # no effect
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two", ["three"]]]
    }
    manager.test_window("four")
    manager.c.layout.move_right()
    manager.c.layout.up()
    manager.test_window("five")
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two", ["three", ["four"]], ["five"]]]
    }

    # expand/collapse_branch, and check focus order
    manager.c.layout.up()
    manager.c.layout.up()  # focus three
    manager.c.layout.collapse_branch()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two", ["three"], ["five"]]]
    }
    assert_focus_path(manager, "five", "float1", "float2", "one", "two",
                      "three")
    manager.c.layout.expand_branch()
    assert manager.c.layout.info()["client_trees"] == {
        "Foo": [["one"], ["two", ["three", ["four"]], ["five"]]]
    }
    assert_focus_path(manager, "four", "five", "float1", "float2", "one",
                      "two", "three")