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')
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")
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')
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')
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')
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")
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')
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")
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')
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')
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')
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")
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')
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')
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')
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")
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')
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")
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')
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")