fix (attempt 2): Attempt to clean up state more thoroughly when grab fails #2
Closed
fix (attempt 2): Attempt to clean up state more thoroughly when grab fails #2
Conversation
added 5 commits
April 4, 2025 10:47
I saw an error in the journal which shows that `dispatcher` was undefined. This would happen when PaperWM is started immediately after Gnome Shell starts: Apr 07 09:36:43 skannan--20250106--BQ374 gnome-shell[3651]: JS ERROR: TypeError: dispatcher is undefined getActionDispatcher@/home/siddharth/.local/share/gnome-shell/extensions/paperwm@paperwm.github.com/navigator.js:470:2 begin@/home/siddharth/.local/share/gnome-shell/extensions/paperwm@paperwm.github.com/grab.js:56:27 grabBegin@/home/siddharth/.local/share/gnome-shell/extensions/paperwm@paperwm.github.com/tiling.js:3639:20 init/<@/home/siddharth/.local/share/gnome-shell/extensions/paperwm@paperwm.github.com/tiling.js:1759:88 This was caused because I changed the check from `if (dispatcher)` which checks whether `dispatcher` is truthy, to `if (dispatcher === null)`, which only checks if it is `null`. `undefined` would have failed the previous check while the second check did succeed and ended up calling `dispatcher.mode |= mode` which resulted in an error. I had to restart PaperWM in order to recover from this error. This change restores the code back to checking for truthy values. Also, all the log lines now include "grab modal" so that I can get a summarized view of how this error is changing over time with the various attempted fixes.
Owner
Author
|
I have opened a cleaner fix in the upstream project: paperwm#1031, paperwm#1032. I will close this PR in favor of those PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An improvement to the first attempt at this fix here: #1
With this change, I am attempting to clean up the state right up until the caller of the preview_navigate function.
If this does not work, then disabling the minimap would be the only option. The minimap is probably the reason that preview_navigate is called as the key handler.
When the minimap is open, both the keyboard and mouse are taken by the minimap. The minimap does not respond to mouse click events, however, it responds to scroll and keypress down events as long as the modifier key is pressed.
There might be some way to make the minimap not even require a grab in the first place. (Scrolling through the windows in the minimap does not seem like a very useful feature anyway.) This could be a potential avenue to go down if this attempt does not work.