Exemplo n.º 1
0
def test_focus_follows_mouse(hlwm, mouse, focus_follows_mouse,
                             single_floating):
    if single_floating:
        hlwm.call('rule floating=on')
    else:
        hlwm.call('set_attr tags.focus.floating on')
    hlwm.call('set_attr tags.focus.floating on')
    hlwm.call(['set', 'focus_follows_mouse', hlwm.bool(focus_follows_mouse)])
    c1, _ = hlwm.create_client(position=(0, 0))
    c2, _ = hlwm.create_client(position=(300, 0))
    hlwm.call(f'jumpto {c2}')  # also raises c2
    assert hlwm.get_attr('clients.focus.winid') == c2
    assert test_stack.helper_get_stack_as_list(hlwm) == [c2, c1]

    mouse.move_into(c1)

    c1_is_focused = hlwm.get_attr('clients.focus.winid') == c1
    # c1 is focused iff focus_follows_mouse was activated
    assert c1_is_focused == focus_follows_mouse
    # stacking is unchanged
    assert test_stack.helper_get_stack_as_list(hlwm) == [c2, c1]
Exemplo n.º 2
0
def test_focus_on_click(hlwm, mouse, raise_on_click, single_floating):
    if single_floating:
        hlwm.call('rule floating=on')
    else:
        hlwm.call('set_attr tags.focus.floating on')
    hlwm.call(['set', 'raise_on_click', hlwm.bool(raise_on_click)])
    c1, _ = hlwm.create_client(position=(0, 0))
    c2, _ = hlwm.create_client(position=(300, 0))
    hlwm.call(f'jumpto {c2}')  # also raises c2
    assert hlwm.get_attr('clients.focus.winid') == c2
    assert test_stack.helper_get_stack_as_list(hlwm) == [c2, c1]

    mouse.click('1', into_win_id=c1)

    assert hlwm.get_attr('clients.focus.winid') == c1
    stack = test_stack.helper_get_stack_as_list(hlwm)
    if raise_on_click:
        # c1 gets back on top
        assert stack == [c1, c2]
    else:
        # c2 stays on top
        assert stack == [c2, c1]