Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:GA
motif.27027
openMotif-2.3.3-mwm-screenresize.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openMotif-2.3.3-mwm-screenresize.patch of Package motif.27027
--- clients/mwm/WmEvent.c | 30 ++++++++++++++++++++++++++++++ clients/mwm/WmWinState.c | 5 +++++ 2 files changed, 35 insertions(+) --- a/clients/mwm/WmEvent.c +++ b/clients/mwm/WmEvent.c @@ -143,7 +143,7 @@ void InitEventHandling (void) * manage client windows. Setup accelerator event processing. */ - base_mask = SubstructureRedirectMask | FocusChangeMask; + base_mask = SubstructureRedirectMask | StructureNotifyMask | FocusChangeMask; /* handle entry of root window */ base_mask |= EnterWindowMask | LeaveWindowMask; @@ -859,6 +859,29 @@ Boolean WmDispatchMenuEvent (XButtonEven } /* END OF FUNCTION WmDispatchMenuEvent */ +/*************************************<->************************************* + * + * HandleRootConfigureNotify (configureNotify, pCD) + * + * + * Description: + * ----------- + * This functions handles ConfigureNotify events that are for root windows. + * + * + * Inputs: + * ------ + * configureNotify = a pointer to a Configure event + * pCD = client data + * + *************************************<->***********************************/ + +void HandleRootConfigureNotify (XConfigureEvent *configureNotify) +{ + fprintf(stderr, "mwm: detected screen resize on %d to %dx%d\n", ACTIVE_SCREEN, configureNotify->width, configureNotify->height); + DisplayWidth(DISPLAY, ACTIVE_SCREEN) = configureNotify->width; + DisplayHeight(DISPLAY, ACTIVE_SCREEN) = configureNotify->height; +} /*************************************<->************************************* @@ -1027,6 +1050,13 @@ Boolean WmDispatchWsEvent (XEvent *event break; } + case ConfigureNotify: + { + /* Fix for root window resize event handling */ + HandleRootConfigureNotify((XConfigureEvent *)event); + break; + } + } /* end of event.type switch */ --- a/clients/mwm/WmWinState.c +++ b/clients/mwm/WmWinState.c @@ -655,6 +655,11 @@ static void SetupWindowStateWithEventMas void ConfigureNewState (ClientData *pcd) { + pcd->maxWidth = DisplayWidth (DISPLAY, SCREEN_FOR_CLIENT(pcd)) - + (2 * pcd->clientOffset.x); + pcd->maxHeight = DisplayHeight (DISPLAY, SCREEN_FOR_CLIENT(pcd)) - + (pcd->clientOffset.x + pcd->clientOffset.y); + if (pcd->maxConfig) { pcd->maxConfig = FALSE;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor