Skip to content

SetFocus after timeline redraw causes issues in Xmonad WM #18

@Leixb

Description

@Leixb

Most WM can resize windows without focusing them. Currently, whenever the paraver timeline redraws, it steals focus.

This is mildly annoying since it can break the workflow in some WM.

However, Xmonad by default when having two monitors makes the current desktop and the desktop in the secondary monitor swap places, which with paraver sends the user into a loop of:

  • move paraver from main monitor to second monitor
  • paraver redraws due to geometry change (this can happen even if the monitors are the same, but one has a bar and the other doesn't)
  • User switches back to the main desktop (which sends paraver back into the main montior)
  • paraver redraws, steals focus and the cycle starts again.

This means that paraver in Xmonad is not usable with two monitors unless you patch Xmonad to ignore focus requests from paraver.

Removing this setFocus call from the redraw function fixes the issue:

SetFocus();

I don't think that setFocus is needed since in traditional DEs you already focus a window before resizing it. The only thing that could break someone's workflow is if they use forceRedraw to focus on the timelines?

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