Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple FvwmPager Fixes #999

Merged
merged 6 commits into from
Apr 6, 2024
Merged

Multiple FvwmPager Fixes #999

merged 6 commits into from
Apr 6, 2024

Conversation

somiaj
Copy link
Collaborator

@somiaj somiaj commented Apr 6, 2024

A collection of bugfixes I've been trying to hunt down, and things I noticed when trying to add new features. I have split the bugfixes out, before working on new features. This includes:

  • A patch with various small fixes bundled together.
  • Localize variables names to fvwm pager.
  • Add a new 'desk N' option to the move command so fvwm pager can correctly move windows to a specified location.
  • Fix the initial configuration parsing so it can deal with all the normal broadcast read during the initialization.
  • Fix an issue where the IconView pager only showed desk 0, this now always shows the current desk (or really the last
    desk any monitor switched to).
  • Refactored fix movement code. I think windows are now being correctly moved and positioned in fvwm and the pager.

somiaj and others added 2 commits April 6, 2024 13:52
  In working on other things I noticed the following errors. Putting
  here instead of tacking to other features.
  * Keep fp->virtual_scr.Vx and fp->virtual_scr.Vy in sync.
  * Remove some old comments left in from some older merge conflicts.
  * Fix some desk comparisons that were incorrectly determining
    if a window was on the correct desk or not.
  * Fix an issue where the icon window wasn't being updated correctly.
  * Fix a logic issue in determining if a monitor is being tracked.
Make explicit the fact that the monitor_mode and is_tracking_shared are
local to FvwmPager -- and don't use the definitions in libfvwm3 as this
is misleading.
@somiaj somiaj force-pushed the js/pager-bugfixes branch 2 times, most recently from afca06e to e4e6f07 Compare April 6, 2024 22:11
somiaj added 4 commits April 6, 2024 16:16
  The 'desk N' option can be provided to the Move command before any
  positional arguments to state the final desk to place the window on.
  This serves two functions, first allowing moving the windows position
  and desk in a single command, and second to be able to override which
  desk a window ends up on when switching between monitors (currently
  a window is always moved to the desk of the new monitor when moving
  windows between monitors, and this may not always be desirable).

  This is primarily for the FvwmPager to better state the location of
  the windows it moves in a single command and override the
  default behavior of updating desks on monitor changes.
  Initial configuration broadcasts are parsed in ParseOptions(). This
  method wasn't properly updated to match and scan for all broadcasts
  listed in list_config_info(), thus not all pager settings matched
  the state of fvwm until it issued a new broadcast to update things.
  This fixes that by ensuring that ParseOptions() scans for initial
  broadcasts. Helper methods were added to minimize duplicate code.
  The IconView was only showing the minimum desk, unless the pager was
  already in fAlwaysCurrentDesk mode. This adds a variable to keep
  track of the icon desk separately, so it can always show the current
  desk of the monitor it is tracking.
  Update the movement code of the pager to use the 'desk n' option
  in the Move command. This makes it so the pager can reliably
  tell fvwm where to move a window too, and ensure the window
  is placed on the correct desk.

  Disabling the feature for now that would FlipFocus the window if
  it was put on the same desk as the current monitor, as this may not
  always be desirable. Will make this an optional configuration in
  the future.
@somiaj somiaj force-pushed the js/pager-bugfixes branch from e4e6f07 to cb319bf Compare April 6, 2024 22:17
@ThomasAdam ThomasAdam changed the title Js/pager bugfixes Multiple FvwmPager Fixes Apr 6, 2024
@ThomasAdam ThomasAdam self-assigned this Apr 6, 2024
@ThomasAdam ThomasAdam added the relates:module Issue is in module code label Apr 6, 2024
@ThomasAdam ThomasAdam added this to the 1.1.1 milestone Apr 6, 2024
@ThomasAdam ThomasAdam merged commit 7920b0f into main Apr 6, 2024
5 checks passed
@ThomasAdam ThomasAdam deleted the js/pager-bugfixes branch April 6, 2024 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relates:module Issue is in module code
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants