Skip to content

Fix situation in which edge commands are not triggered.#1318

Open
tzimisces wants to merge 2 commits into
fvwmorg:mainfrom
tzimisces:tzimisces/fix-triggering-of-edgecommand
Open

Fix situation in which edge commands are not triggered.#1318
tzimisces wants to merge 2 commits into
fvwmorg:mainfrom
tzimisces:tzimisces/fix-triggering-of-edgecommand

Conversation

@tzimisces
Copy link
Copy Markdown
Contributor

  • What does this PR do?

Situation is as follows. Application window is maximised. One opens a menu in that application. Menu is closed. One moves the pointer to an edge. Edge command is not triggered.

This commit fixes that. Rationale: when refocusing too early, the edge is not considered anymore and not command is triggered.

Situation is as follows. Application window is maximised. One opens a
menu in that application. Menu is closed. One moves the pointer to an
edge. Edge command is not triggered.

This commit fixes that. Rationale: when refocusing too early, the edge
is not considered anymore and not command is triggered.
Copy link
Copy Markdown
Member

@ThomasAdam ThomasAdam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @tzimisces

If you do this, you'll cause problems with other windows.

Is this more of a timing issue, can you confirm?

Comment thread fvwm/events.c Outdated
Comment thread fvwm/events.c Outdated
@tzimisces
Copy link
Copy Markdown
Contributor Author

No, I don't think it's a timing issue, and it's deterministic.

What I observe for GTK-applications:

  • the application is 100% maximised,
  • one opens and closes a dropdown menu,
  • one moves the pointer so it accesses the pan-frame,
  • no edge-command is triggered,

The above sequence results in the pointer not leaving the application window. Then, for some reason, Fvwm's state suggests that something should be done about a window whose focus is stolen.
That's fine with me, but in this case, it will result in the wrong window being evaluated for the presence of an edge command, which is a pity, because I use that quite extensively :)

For as far as I can see, the only consequence of this change is the fact that the right "window" is evaluated for the presence of an edge command, and that after that, things proceed like before. Thing is, the "ewp"-pointer changes after the refocus, so the pan frame is not considered anymore.

What problems would this change yield for other windows?
Is there a relation with HandleFocusOut?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants