-
-
Notifications
You must be signed in to change notification settings - Fork 78
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
Updates to FvwmPager scaling math to improve visual aspects due to rounding errors. #790
Merged
Conversation
This file contains 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
When computing the position and size of a scaled window in FvwmPager, compute the position of all four edges instead of the top/left corner and the width/height. This makes it so when rounding the bottom/right edge position, it is the same for all windows at the same position with different sizes. This makes the round issues less visible and removes off by one pixel issues in many cases (especially for small pagers). This also cleans up the function which scales the window along with removing an unneeded variable from the stack.
When computing the size and location of the FvwmPager view port for the current page, compute the position of all four edges instead of the top/left position and height/width. This makes it so any rounding do to scaling is consistent with DrawGrid(), and fixes some off by one pixel issues with the view port and the grid on small pagers whose size is not even multiples of the number of pages (which is now possible since size hints were removed).
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this pull request
Feb 15, 2023
# Changelog ## [1.0.6a](https://github.com/fvwmorg/fvwm3/tree/1.0.6a) (2023-01-16) ## What's Changed ### Other Changes * dist: doc: include all doc sources by @ThomasAdam in fvwmorg/fvwm3#806 **Full Changelog**: fvwmorg/fvwm3@1.0.6...1.0.6a ## [1.0.6](https://github.com/fvwmorg/fvwm3/tree/1.0.6) (2023-01-14) ## What's Changed ### Breaking Changes * remove fvwm-config by @ThomasAdam in fvwmorg/fvwm3#731 * ta/alloca by @ThomasAdam in fvwmorg/fvwm3#722 * deprecate color commands by @ThomasAdam in fvwmorg/fvwm3#738 * Ensure a default colorset is always configured. by @somiaj in fvwmorg/fvwm3#740 * commands: remove DefaultColors & DefaultColorset by @ThomasAdam in fvwmorg/fvwm3#749 * MenuStyle: Remove Depreciated options and non colorset by @somiaj in fvwmorg/fvwm3#757 ### Enhancements * decor: allow window borders separate colours by @ThomasAdam in fvwmorg/fvwm3#730 * Update Move shuffle logic to jump to next monitor by @somiaj in fvwmorg/fvwm3#742 * conditional: screen: simplify logic by @ThomasAdam in fvwmorg/fvwm3#746 * Allow SidePic in default-config. by @somiaj in fvwmorg/fvwm3#762 * Move shuffle, ensure window inside working area. by @somiaj in fvwmorg/fvwm3#767 * Translucent Menus by @somiaj in fvwmorg/fvwm3#760 * Updates to FvwmPager scaling math to improve visual aspects due to rounding errors. by @somiaj in fvwmorg/fvwm3#790 ### Other Changes * doc: don't install fvwm3_manpage_source by @ThomasAdam in fvwmorg/fvwm3#712 * Rename .stalonetrayrc to stalonetrayrc by @wfp5p in fvwmorg/fvwm3#713 * Fix background resetting in default-config by @somiaj in fvwmorg/fvwm3#714 * desk_add: fix window counting by @ThomasAdam in fvwmorg/fvwm3#716 * remove unused variable by @omar-polo in fvwmorg/fvwm3#718 * two clock_t and time_t casts for portability by @omar-polo in fvwmorg/fvwm3#719 * changing sprintf -> snprintf & co by @omar-polo in fvwmorg/fvwm3#720 * DesktopConfiguration: send status_send() by @ThomasAdam in fvwmorg/fvwm3#724 * FvwmScript.c: fix wrong size of TabCom array by @slazav in fvwmorg/fvwm3#725 * gotodesk: simplify logic for shared/global by @ThomasAdam in fvwmorg/fvwm3#727 * Add a multicolor border example to default-config by @somiaj in fvwmorg/fvwm3#732 * Some pedantic clean up of whitespace and add missing translation strings. by @somiaj in fvwmorg/fvwm3#733 * Tweak HilightBorderColorset by @lgsobalvarro in fvwmorg/fvwm3#737 * docs: remove obsolete GNOME references by @ThomasAdam in fvwmorg/fvwm3#739 * MWMBorder: fix calculation by @ThomasAdam in fvwmorg/fvwm3#743 * Don't set border colorsets by default. by @somiaj in fvwmorg/fvwm3#747 * style: silence warning for unconsumed string by @ThomasAdam in fvwmorg/fvwm3#745 * Add split manpages to default-config. by @somiaj in fvwmorg/fvwm3#750 * FvwnIconMan use font as fallback for tips font. by @somiaj in fvwmorg/fvwm3#751 * FvwmIconMan: Don't chop window display string by @somiaj in fvwmorg/fvwm3#752 * fvwm-config: remove .in file by @ThomasAdam in fvwmorg/fvwm3#758 * FvwmPager make mini windows always round down. by @somiaj in fvwmorg/fvwm3#756 * Clean up some build warnings by @somiaj in fvwmorg/fvwm3#759 * Move shuffle modifications. by @somiaj in fvwmorg/fvwm3#764 * borders: treat 0 pixels as 1 pixel border by @ThomasAdam in fvwmorg/fvwm3#765 * AddWindow: don't crash reparenting by @ThomasAdam in fvwmorg/fvwm3#786 * ModuleSynchronous: don't segfault on free() by @ThomasAdam in fvwmorg/fvwm3#787 * FvwmIconMan: fix segfault in initialisation by @ThomasAdam in fvwmorg/fvwm3#800 * randr: quit when no screens found & not active by @ThomasAdam in fvwmorg/fvwm3#801 ## New Contributors * @wfp5p made their first contribution in fvwmorg/fvwm3#713 **Full Changelog**: fvwmorg/fvwm3@1.0.5...1.0.6 ## [1.0.5](https://github.com/fvwmorg/fvwm3/tree/1.0.5) (2022-09-28)
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.
When computing the size and location of scaled windows and the viewport in FvwmPager, compute the location of all four edges of the scaled window or viewport instead of the top/left location and the height/width. This makes rounding issues due to scaling are more consistent and visually will show the bottom/right edges of windows in the same location for windows with the same bottom/right edge, but different height/width.
Thanks to https://github.com/Cigaes for the patches and idea. I just cleaned up the code a bit.