-
-
Notifications
You must be signed in to change notification settings - Fork 81
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
Update monitor struct to know if monintor edges are OUTSIDE_EDGE or INSIDE_EDGE #523
Labels
type:new-feature
Brand new feature not yet present in fvwm3
Milestone
Comments
ThomasAdam
pushed a commit
that referenced
this issue
Jun 10, 2021
This addresses some edgescroll improvements and simplifies the logic between how panframes are handled between being in global and per-monitor mode. Now, monitor edges which border one another don't have a panframe added for global mode (only the outside edges are). With the same logic, per-screen panframes are drawn for all edges. This also helps to reduce problems where some screens have different resolutions, and so now dead spave between monitors is handled much better. Fixes #523
ThomasAdam
pushed a commit
that referenced
this issue
Jun 10, 2021
This addresses some edgescroll improvements and simplifies the logic between how panframes are handled between being in global and per-monitor mode. Now, monitor edges which border one another don't have a panframe added for global mode (only the outside edges are). With the same logic, per-screen panframes are drawn for all edges. This also helps to reduce problems where some screens have different resolutions, and so now dead spave between monitors is handled much better. Fixes #523
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this issue
Aug 20, 2021
# Changelog ## [1.0.4](https://github.com/fvwmorg/fvwm3/tree/1.0.4) (2021-07-17) [Full Changelog](fvwmorg/fvwm3@1.0.3...1.0.4) **Breaking changes:** - Deprecate Label for FvwmPager [\#342](fvwmorg/fvwm3#342) - Extend \*FvwmIconMan:Resolution to include specific Desktop / Pager [\#455](fvwmorg/fvwm3#455) - Replace libbson with cJSON [\#408](fvwmorg/fvwm3#408) - FvwmButtons: Shrink windows when honoring Hints. [\#577](fvwmorg/fvwm3#577) ([somiaj](https://github.com/somiaj)) - Replace libbson with cJSON [\#571](fvwmorg/fvwm3#571) ([ThomasAdam](https://github.com/ThomasAdam)) - Add commands to configure the size/position window. [\#558](fvwmorg/fvwm3#558) ([ThomasAdam](https://github.com/ThomasAdam)) - Retire FvwmTile and FvwmCascade wrappers. [\#515](fvwmorg/fvwm3#515) ([somiaj](https://github.com/somiaj)) **Implemented enhancements:** - Set min. size for windows shown in pager [\#542](fvwmorg/fvwm3#542) - Moving windows: allow for "warping" to other windows in a given direction [\#540](fvwmorg/fvwm3#540) - Update monitor struct to know if monintor edges are OUTSIDE\_EDGE or INSIDE\_EDGE [\#523](fvwmorg/fvwm3#523) - Two issues with the WindowList [\#151](fvwmorg/fvwm3#151) - Feature Request: Enable using the 'c' unit with the "MinWindowSize" and "MaxWindowSize" styles [\#145](fvwmorg/fvwm3#145) - Allow per monitor EdgeCommand and EdgeLeaveCommand [\#582](fvwmorg/fvwm3#582) ([somiaj](https://github.com/somiaj)) - expand: add prev\_{desk,pagex,pagey} [\#579](fvwmorg/fvwm3#579) ([ThomasAdam](https://github.com/ThomasAdam)) - Improve translations [\#568](fvwmorg/fvwm3#568) ([somiaj](https://github.com/somiaj)) - Cleanup SetRCDefaults\(\) [\#567](fvwmorg/fvwm3#567) ([somiaj](https://github.com/somiaj)) - Add local configuration file to the default-config. [\#557](fvwmorg/fvwm3#557) ([somiaj](https://github.com/somiaj)) - Add icon for Run Command. [\#552](fvwmorg/fvwm3#552) ([somiaj](https://github.com/somiaj)) - Add command: Move shuffle \[flags\] direction\(s\) [\#550](fvwmorg/fvwm3#550) ([somiaj](https://github.com/somiaj)) - expand: add desk, pagex, pagey variables [\#539](fvwmorg/fvwm3#539) ([ThomasAdam](https://github.com/ThomasAdam)) - Add a screen option to the Scroll command. [\#531](fvwmorg/fvwm3#531) ([ThomasAdam](https://github.com/ThomasAdam)) - RandR: support RandRFunc for screen changes [\#525](fvwmorg/fvwm3#525) ([ThomasAdam](https://github.com/ThomasAdam)) **Fixed bugs:** - Pager do not show smalls windows in the correct place when snapped to the edge [\#541](fvwmorg/fvwm3#541) - EwmhBaseStruts glitch when using screen with different resolutions [\#66](fvwmorg/fvwm3#66) - Fvwm segfaults parsing module configuration [\#575](fvwmorg/fvwm3#575) - Swallowing FvwmPager inside FvwmButtons breaks resizing FvwmButtons when aspect ratio resizing is used [\#573](fvwmorg/fvwm3#573) - Move X Y Warp doesn't move pointer to window. [\#551](fvwmorg/fvwm3#551) - Maximize fullscreen command does not clear \_NET\_WM\_STATE\_FULLSCREEN when exiting fullscreen [\#545](fvwmorg/fvwm3#545) - EdgeLeaveCommand don't work or need a page change to work [\#543](fvwmorg/fvwm3#543) - FvwmPager Icon view fix background color. [\#537](fvwmorg/fvwm3#537) - FvwmPager with bad aspect ratio on dual-head display [\#522](fvwmorg/fvwm3#522) - AnimatedMove [\#513](fvwmorg/fvwm3#513) - Spelling errors found by lintian. [\#511](fvwmorg/fvwm3#511) - SnapAttraction: take into account individual monitors [\#466](fvwmorg/fvwm3#466) - FvwmPager not taking into account global screen dimensions when configured with DeskTopScale [\#223](fvwmorg/fvwm3#223) - FvwmPager: moving windows inside FvwmPager is inconsistent [\#198](fvwmorg/fvwm3#198) - Add force\_icons\_size kludge to .stalonetrayrc. [\#581](fvwmorg/fvwm3#581) ([somiaj](https://github.com/somiaj)) - Fix pass through binding logic. [\#570](fvwmorg/fvwm3#570) ([somiaj](https://github.com/somiaj)) - Make default-config greyed colorset grey. [\#566](fvwmorg/fvwm3#566) ([somiaj](https://github.com/somiaj)) - Cleanup FvwmScript manual page. [\#565](fvwmorg/fvwm3#565) ([somiaj](https://github.com/somiaj)) - GNOME: remove DO\_IGNORE\_GNOME\_HINTS [\#556](fvwmorg/fvwm3#556) ([lgsobalvarro](https://github.com/lgsobalvarro)) - Unmaximize: restore \_NET\_WM\_STATE [\#546](fvwmorg/fvwm3#546) ([ThomasAdam](https://github.com/ThomasAdam)) - Fix compiler warnings in modules/FvwmScript/Instructions.c [\#544](fvwmorg/fvwm3#544) ([pm215](https://github.com/pm215)) - Rework FvwmPager to move windows easier [\#536](fvwmorg/fvwm3#536) ([ThomasAdam](https://github.com/ThomasAdam)) - Move: disable working area when screen given [\#535](fvwmorg/fvwm3#535) ([ThomasAdam](https://github.com/ThomasAdam)) - Make RightPanel use primary monitor dimensions. [\#530](fvwmorg/fvwm3#530) ([somiaj](https://github.com/somiaj)) - Set base struts only for primary monitor in default-config. [\#528](fvwmorg/fvwm3#528) ([somiaj](https://github.com/somiaj)) - Change FvwmPager Logic for initial window size. [\#527](fvwmorg/fvwm3#527) ([somiaj](https://github.com/somiaj)) - EWMH\_GetWorkArea use monitor dimensions. [\#526](fvwmorg/fvwm3#526) ([somiaj](https://github.com/somiaj)) - Make SnapAttraction snap to edges of all monitors. [\#521](fvwmorg/fvwm3#521) ([somiaj](https://github.com/somiaj)) - Update FvwmCommand to allow multiple args. [\#514](fvwmorg/fvwm3#514) ([somiaj](https://github.com/somiaj)) **Merged pull requests:** - Extend FvwmIconMan Resolution configuration. [\#561](fvwmorg/fvwm3#561) ([somiaj](https://github.com/somiaj)) - Allow Min/Max WindowSize style to use client size [\#560](fvwmorg/fvwm3#560) ([somiaj](https://github.com/somiaj)) - Add more columns to default-config menu ItemFormat. [\#559](fvwmorg/fvwm3#559) ([somiaj](https://github.com/somiaj)) - Fix broken link. [\#529](fvwmorg/fvwm3#529) ([somiaj](https://github.com/somiaj)) - Spelling error fixes. [\#512](fvwmorg/fvwm3#512) ([somiaj](https://github.com/somiaj)) - Working on 1.0.4 [\#509](fvwmorg/fvwm3#509) ([ThomasAdam](https://github.com/ThomasAdam)) - module expand: don't overwrite previous expansion [\#576](fvwmorg/fvwm3#576) ([ThomasAdam](https://github.com/ThomasAdam)) - conditional: fix whitespace/comma parsing [\#572](fvwmorg/fvwm3#572) ([ThomasAdam](https://github.com/ThomasAdam)) - Configure a colorset for XDGMenu options. [\#564](fvwmorg/fvwm3#564) ([somiaj](https://github.com/somiaj)) - Menu: add option to grey entries out [\#563](fvwmorg/fvwm3#563) ([ThomasAdam](https://github.com/ThomasAdam)) - Remove \*FvwmPager: Label configuration option. [\#562](fvwmorg/fvwm3#562) ([somiaj](https://github.com/somiaj)) - move: Warp: move pointer to centre of window [\#553](fvwmorg/fvwm3#553) ([ThomasAdam](https://github.com/ThomasAdam)) - FvwmPager: Improvments with dealing with tiny windows on tiny pagers. [\#548](fvwmorg/fvwm3#548) ([somiaj](https://github.com/somiaj)) - PanFrame improvements [\#547](fvwmorg/fvwm3#547) ([ThomasAdam](https://github.com/ThomasAdam)) - pager: teach Icon view about colorsets [\#538](fvwmorg/fvwm3#538) ([ThomasAdam](https://github.com/ThomasAdam)) - placement: fix mouse positioning [\#533](fvwmorg/fvwm3#533) ([ThomasAdam](https://github.com/ThomasAdam)) - EdgeScroll: a few improvements [\#524](fvwmorg/fvwm3#524) ([ThomasAdam](https://github.com/ThomasAdam)) - Update manual for Echo/EchoFuncDefinition [\#520](fvwmorg/fvwm3#520) ([somiaj](https://github.com/somiaj)) - release: remove dev-docs from release tarball [\#518](fvwmorg/fvwm3#518) ([ThomasAdam](https://github.com/ThomasAdam)) - configure: remove stale references to BUGADDR [\#517](fvwmorg/fvwm3#517) ([ThomasAdam](https://github.com/ThomasAdam)) - Configuration tweaks [\#516](fvwmorg/fvwm3#516) ([ThomasAdam](https://github.com/ThomasAdam)) - build: add CHANGELOG.md to dist [\#510](fvwmorg/fvwm3#510) ([ThomasAdam](https://github.com/ThomasAdam))
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
EdgeScroll doesn't fully function when using multiple monitors that have different sizes, because fvwm only detects when the mouse is at the edge of the outer most boundary (which may not be the monitor edge).
Fvwm needs to know if a monitor edge is an OUTSIDE_EDGE (there are no more monitors between that edge and outer most boundary) or an INSIDE_EDGE (this edge is partially shared with another monitor). This way EdgeScroll can check to see if a mouse is on an OUTSIDE_EDGE as opposed to the outer most boundary.
My thought is to add this info to the
monitor
struct, maybe to thescreen_info
sub struct. Something likeI think it is possible to determine if an edge is an INSIDE_EDGE by checking if the location of one monitor is at the far edge of another monitor.
otherwise it is an OUTSIDE_EDGE.
(I also think this info could be used in DesktopConfiguration per-monintor or global to trigger EdgeScroll when on an INSIDE_EDGE as well).
The text was updated successfully, but these errors were encountered: