Skip to content

Lost focus when selecting window #291

@FabArd

Description

@FabArd

I've written the following function:

(defcommand split (dir) ((:direction "Direction: "))
 "Add a new frame at 'dir' position (left, right, up, down) and give it the focus."
            (split-frame-in-dir (current-group)
                                (if (find dir '(:left :right)) :column :row))
            (when (find dir '(:left :up))
              (move-focus-and-or-window (if (eq dir :left) :right :down) t))
            (move-focus-and-or-window dir))

What it does is:
1 - split the screen in two frame (horizontally or vertically)
2 - move the new frame to the position indicated by 'dir' if necessary (left, right, up, down)
3 - move the focus to the new frame

When I only have one frame with an application window (e.g. Firefox). If I call this function to create a new empty frame on the left with :

C-t ;
split left

it works perfectly. You end up with firefox on the right and a new empty frame with the focus on
the left. The problem is when I move the focus to the right window (firefox), either with the mouse or the keyboard shortcut, the selection outline to indicate that the window is active is not drawn and the keyboard doesn't work in this window. It seems that no window is selected.

To solve the problem, I need to reactivate the left frame and then reactivate the right frame.

It's exactly the same problem with the command: split up

The problem doesn't arise if two applications are open: the new frame displays the second application.

If, instead of calling the split left command, I perform all the operations one by one, either via keyboard shortcuts or by calling the commands, there's no problem.

How can I solve this problem?
thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions