1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
import libqtile.bar
import libqtile.config
import libqtile.confreader
import libqtile.layout
from libqtile.widget import CurrentLayout
def get_widget_config(widget, config):
config.screens = [
libqtile.config.Screen(top=libqtile.bar.Bar([widget], 10)),
]
config.layouts = [
libqtile.layout.Columns(),
libqtile.layout.Max(),
libqtile.layout.Stack(),
]
return config
def test_current_layout(manager_nospawn, minimal_conf_noscreen):
config = get_widget_config(CurrentLayout(), minimal_conf_noscreen)
manager_nospawn.start(config)
widget = manager_nospawn.c.widget["currentlayout"]
layout = widget.info()["text"]
assert layout == "columns"
manager_nospawn.c.next_layout()
layout = widget.info()["text"]
assert layout == "max"
manager_nospawn.c.prev_layout()
layout = widget.info()["text"]
assert layout == "columns"
widget.bar.fake_button_press(0, 0, button=1)
layout = widget.info()["text"]
assert layout == "max"
widget.bar.fake_button_press(0, 0, button=2)
layout = widget.info()["text"]
assert layout == "columns"
manager_nospawn.c.screen.next_group()
manager_nospawn.c.to_layout_index(-1)
layout = widget.info()["text"]
assert layout == "stack"
manager_nospawn.c.screen.prev_group()
layout = widget.info()["text"]
assert layout == "columns"
def test_current_layout_icon_mode(manager_nospawn, minimal_conf_noscreen):
config = get_widget_config(CurrentLayout(mode="icon"), minimal_conf_noscreen)
manager_nospawn.start(config)
widget = manager_nospawn.c.widget["currentlayout"]
img_length = int(widget.eval("self.img_length")[1])
padding = int(widget.eval("self.padding")[1])
text_length = int(widget.eval("super(type(self), self).calculate_length()")[1])
length = int(widget.eval("self.length")[1])
assert length == img_length + padding * 2
widget.bar.fake_button_press(0, 0, button=3)
length = int(widget.eval("self.length")[1])
assert length == text_length
widget.bar.fake_button_press(0, 0, button=3)
length = int(widget.eval("self.length")[1])
assert length == img_length + padding * 2
def test_current_layout_text_mode(manager_nospawn, minimal_conf_noscreen):
config = get_widget_config(CurrentLayout(mode="text"), minimal_conf_noscreen)
manager_nospawn.start(config)
widget = manager_nospawn.c.widget["currentlayout"]
img_length = int(widget.eval("self.img_length")[1])
padding = int(widget.eval("self.padding")[1])
text_length = int(widget.eval("super(type(self), self).calculate_length()")[1])
length = int(widget.eval("self.length")[1])
assert length == text_length
widget.bar.fake_button_press(0, 0, button=3)
length = int(widget.eval("self.length")[1])
assert length == img_length + padding * 2
widget.bar.fake_button_press(0, 0, button=3)
length = int(widget.eval("self.length")[1])
assert length == text_length
def test_current_layout_both_mode(manager_nospawn, minimal_conf_noscreen):
config = get_widget_config(CurrentLayout(mode="both"), minimal_conf_noscreen)
manager_nospawn.start(config)
widget = manager_nospawn.c.widget["currentlayout"]
img_length = int(widget.eval("self.img_length")[1])
padding = int(widget.eval("self.padding")[1])
text_length = int(widget.eval("super(type(self), self).calculate_length()")[1])
length = int(widget.eval("self.length")[1])
assert length == text_length + img_length + padding
widget.bar.fake_button_press(0, 0, button=3)
length = int(widget.eval("self.length")[1])
assert length == text_length + img_length + padding
|