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

FvwmPager: Code Cleanup and bugfixes. #1015

Merged
merged 4 commits into from
Apr 28, 2024
Merged

FvwmPager: Code Cleanup and bugfixes. #1015

merged 4 commits into from
Apr 28, 2024

Conversation

somiaj
Copy link
Collaborator

@somiaj somiaj commented Apr 20, 2024

This includes:

  • Code Organization, split some of the code into smaller .c files to be able to manager easier.
  • Initialization restructuring, by splitting the large initialization method into smaller ones grouping together related tasks.
  • Variable clean up, fill out ExitPager() function cleaning up remaining pointers still in use.
  • Make ShapedLabes per-monitor aware so labels are shown for any desk a monitor is currently on.

somiaj added 3 commits April 18, 2024 17:03
Split up the two monolithic source FvwmPager.c and x_pager.c source
files into smaller files to help manage the code. The new structure is.

FvwmPager.c  - main event loop
fpmonitors.c - fpmonitor methods.
init_pager.c - collection of all the initialization methods.
messages.c   - respond to messages from fvwm.
x_pager.c    - main still fairly large handling of the X windows
               that build the pager, this includes processing events
               and computing the position of all the windows.
x_update.c   - update_foo methods for x_pager.c to update locations
               and window graphics.
* Split up the large initialization method into smaller methods to better
  group related pieces of the initialization together.
* Cleaup variable use, don't store font names, just create the font and
  discard the name, reducing pointer usage.
* Cleanup ExitPager() to try to catch any remaining pointers to free.
* Group the -transient pager initialization together and update it to
  place the pager under the pointer. In addition update the position
  using fpmonitors to ensure the pager isn't off screen.
Make ShapedLabels show the labels of all desks any monitor
is currently in.
@somiaj somiaj force-pushed the js/pager-split branch 4 times, most recently from 62489a8 to fe88a70 Compare April 21, 2024 17:10
* Initialize new DeskStyle GC's when they are created. There is a dummy
  window available at this time for this, no need to wait.
* Don't put fonts in DeskStyle GC's, fonts are done with FwinString, which
  doesn't use these GCs.
* Fix a typo in the balloon colorset initialization, which would cause
  a crash trying to access a non allocated colorset. This fixes #1014.
* Protect against updating gc's on default desk on colorset change, but
  colorset Pixels still need updated.
* Fix some issues with updating on new_page and new_desk changes.
@ThomasAdam ThomasAdam added type:enhancement Augmenting an existing feature relates:module Issue is in module code labels Apr 28, 2024
@ThomasAdam ThomasAdam self-assigned this Apr 28, 2024
@ThomasAdam ThomasAdam added this to the 1.1.1 milestone Apr 28, 2024
@ThomasAdam ThomasAdam merged commit 0ca76da into main Apr 28, 2024
5 checks passed
@ThomasAdam ThomasAdam deleted the js/pager-split branch April 28, 2024 11:22
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 type:enhancement Augmenting an existing feature
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants