Commit Graph

11634 Commits

Author SHA1 Message Date
Carsten Haitzler 6ddf1ee961 fix up window+screen positioning fixup so it doesnt catch other clients
so some other clients like mpv also try to explicitly position their
windows (like centering on screen 0 ALWAYS) and this now gets caught
up in trying to detect libreoffice doing the same thing for
presentations. so only support this is the app has explicitly
requested initial positionin explicitly and then use pending configures.
2017-10-12 10:34:26 -04:00
Derek Foreman 8ca6f02914 Fix crash when processing a wayland client cursor set after death
It looks like the only way we can get here with NULL resource data
is when we explicitly cleared it in the del hook, meaning the client
is dead to us.  In this case it's ok to ignore the cursor set request.

ref T4988
2017-10-12 10:33:39 -04:00
Mike Blumenkrantz e2d35d9b77 remove fullscreen clients from vdesk clients list when toggling sticky state
fix T5988
2017-09-07 14:16:01 -04:00
Mike Blumenkrantz 7af9ab44a6 handle first time desk setting for fullscreen clients without crashing
ref T5988
2017-09-07 14:15:57 -04:00
Mike Blumenkrantz 3fc4c39bb4 warp pointer to center of internal dialog on show if dialog has focus
ensure that pointer-based focus policies do not experience unexpected focus
changes when a dialog changes from basic<->advanced

ref T1931
2017-09-07 14:15:48 -04:00
Mike Blumenkrantz 92b23f0d6d block all desk flips during window resize
this breaks *

fix T5984
2017-09-07 14:15:30 -04:00
Mike Blumenkrantz 0bbff0664a reset zone edge objects after comp canvas update
fix T5969
2017-09-01 13:55:43 -04:00
Mike Blumenkrantz 57593564c3 stack gadgets below site event rect when reparenting gadget 2017-09-01 13:46:26 -04:00
Mike Blumenkrantz a6589188f2 set shaped client image alpha after setting image data
avoid triggering render sync with old image data

fix T5957
2017-09-01 13:46:13 -04:00
Mike Blumenkrantz 9ac1b433b1 use correct string for randr screen fuzzy matching
using the full edid string results in infinite recursion
2017-09-01 13:46:09 -04:00
Mike Blumenkrantz b4574be2bc check for matching '/' in screen edid before fuzzy matching in randr init
if no / exists then this function is pointless
2017-09-01 13:46:04 -04:00
Mike Blumenkrantz 12fc4286a6 avoid adding render updates on client resize while shading the client
this results in a blank render

fix T5929
2017-09-01 13:45:49 -04:00
Mike Blumenkrantz 6c93f1fedd return during client pixel callback if pixmap is dirty and no updates exist
this probably indicates a client update is needed in order to complete the
render, so the existing data should be reused since nothing will render now
2017-09-01 13:45:44 -04:00
Mike Blumenkrantz e88bfc6fd3 move pending client render queue in pixel callback to before render call
no functional changes
2017-09-01 13:45:40 -04:00
Mike Blumenkrantz 007dbf04c6 do not reset existing client damage on resize if tiler size matches pixmap size
this probably indicates a case where the client wasn't actually resized and the
compositor is doing something like shading a window
2017-09-01 13:45:32 -04:00
Mike Blumenkrantz 4c4016ad02 track gadget ctxpopups and reposition within zone on resize
this attempts to shift the ctxpopup content vertically and horizontally to
keep it on the same screen that the gadget is on

fix T5945
2017-09-01 13:45:11 -04:00
Mike Blumenkrantz 19f45ab1c9 use focus_set_with_pointer to focus from clients menu (middle click)
fixes pointer warping for this case
2017-09-01 13:45:01 -04:00
Mike Blumenkrantz 6406c2c1b6 use int array for client maximize hint state update
CID 1379946
2017-08-25 14:57:38 -04:00
Mike Blumenkrantz 1cb85fbe26 initialize stack variables
CIDs 1379939, 1379943
2017-08-25 14:57:30 -04:00
Mike Blumenkrantz 2d6f01a18d force client render on mirror show for clients which have not yet been rendered
this is the same mechanism in e_comp_object_dirty() which applies now if a
mirror is created for a previously-dirty client

fix T5937
2017-08-25 14:57:17 -04:00
Mike Blumenkrantz 97b22aaa91 Revert "handle updates_full when adding comp object update regions"
This reverts commit fac907e0c5.

this was already handled and I'm dumb.
2017-08-25 14:57:12 -04:00
Mike Blumenkrantz 0adffef016 Revert "force recalc on bryce scroller when doing recalc on gadget site"
This reverts commit 87515abd2a.

this breaks scaling since the min size must be reset in order to trigger a
resize
2017-08-25 14:57:02 -04:00
Mike Blumenkrantz 4da9016bff track setxkbmap processes and allow only one to run at a time
fix T5188
2017-08-25 14:56:29 -04:00
Mike Blumenkrantz df69508d89 handle bryce setup when theme is broken
fix T5889
2017-08-25 14:55:59 -04:00
Mike Blumenkrantz 914aef57d7 do not rescale override x11 clients during hint fetching 2017-08-25 14:55:24 -04:00
Mike Blumenkrantz 6e522f8026 perform client zone updates on canvas move/resize when not ignored
overrides still need zone updates here
2017-08-25 14:55:15 -04:00
Mike Blumenkrantz f2579fbc5b use client frame for internal win geometry setting on show
calling these functions on the elm_win has no effect here
2017-08-25 14:55:05 -04:00
Mike Blumenkrantz adf2f8597f use evas size hints for image widget internals if internal obj is not edje obj 2017-08-25 14:54:50 -04:00
Mike Blumenkrantz 602e93651f destroy dropped gadgets after drop operation completes
the gadget object is used during the drop callback, so destroying it
before the callback breaks the drop operation
2017-08-25 14:54:38 -04:00
Mike Blumenkrantz 56f6c0f950 perform gadget site layout before calling drop callback
calling this inside the drop callback resets the dropped gadget's position
and causes the drop operation to fail
2017-08-25 14:54:30 -04:00
Mike Blumenkrantz 9dac9c7946 set moving gadgets in pointer site to have moving state
prevent spurious resizes during layout
2017-08-25 14:54:25 -04:00
Mike Blumenkrantz 673195a6ac handle gadget ctxpopup placement for desktop gadgets
fix T5877
2017-08-25 14:54:19 -04:00
Mike Blumenkrantz 43dd2c1166 always use client geometry for comp object centering functions
this should always be more accurate than the object geometry, which may
or may not have been applied at any given time
2017-08-25 14:53:44 -04:00
Mike Blumenkrantz 13f3072172 force min size calc on dialog show
this resolves a number of dialog sizing issues where text or content could
be clipped due to deferred sizing
2017-08-25 14:53:15 -04:00
Carsten Haitzler 6c7cd33cf3 xsettings - fix warning for buffer that could be a bit small
warnings of buffer being a little small in theory. fix.
2017-08-25 14:52:55 -04:00
Carsten Haitzler 3aa8f2f1f7 filepreview - properly set min size on cells not in a broken way
this should fix T5891
2017-08-25 14:52:34 -04:00
Mike Blumenkrantz d770c06840 batch x11 maximize state change requests
if an app wants to set both horizontal and vertical, set both at the same
time to improve performance and accuracy
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 961129bb59 temporarily cache x11 configure requests which reposition hidden windows
when an app tries to position itself before being shown, attempt to store this
and apply it in order to effectively handle cases where an app attempts to show
on a specific screen, e.g., presentation apps which show a console on one monitor
and the presentation on a different monitor

fix T1571
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz b6df8639a4 only set new clients to current desk if desk has not yet been set
placement policies can override setting windows onto the current desk
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 1c9f9bd32c use menu item geometry to determine whether menu item is onscreen
fix T2126
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz fbbccfc346 lock menu eventing during menu idler positioning
ensure moving menus doesn't trigger menu item activation
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz c870923716 replace existing resize pointer mode for x11 client-initiated resizes
ensure there is no mismatch between pointer modes when pushing/popping modes

fix T4893
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz a8fc231d67 handle focus reverting correctly when using desk flip all actions
perform the focus revert once the last desk has finished flipping and based
on all available visible windows

fix T3495
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 7fc3d6e094 only update wl client window size on commit if no pending resize exists
this breaks pending resizes

fix T4189
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz f9f75df309 clamp xsettings font size to 12 when size is 0
font class config does not require the user to select a size, so do
extra clamping here when a size isn't set

fix T3093
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 2e7e988555 avoid hiding->showing->hiding->etc submenus for active menu items 2017-08-18 16:51:02 -04:00
Mike Blumenkrantz a4d9574307 use EC_CHANGED for client menu attr changes 2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 95831a19e1 block updating window remembers while applying them
some attrs (e.g., desk setting) change the position/size of a window before
another attr is set, changing the original value

fix T5295
2017-08-18 16:51:02 -04:00
Mike Blumenkrantz 4ad464d746 send theme signal for dialogs when no buttons are present 2017-08-18 16:51:02 -04:00
Mike Blumenkrantz a4e0c5a836 use xwindow check to determine whether to check icccm accept/take focus attrs 2017-08-18 16:51:02 -04:00