Commit Graph

21257 Commits

Author SHA1 Message Date
Mike Blumenkrantz add8af06a9 delete internal wayland elm windows in wl client delete request callback
fix T2874
2016-04-26 09:55:06 -04:00
Mike Blumenkrantz 025c130a45 restrict shelf border_fix to only affect clients affected by the shelf
fixes random other clients changing sizes based on irrelevant shelf hiding
2016-04-26 09:55:02 -04:00
Mike Blumenkrantz 635e056e08 do not incrementally remaximize clients during shelf hide animation
this looks really bad and forces unnecessary spinning
2016-04-26 09:52:16 -04:00
Derek Foreman 8a40d9c6ef wayland: Fix xdg-popup crash
We need to remove the destroy listener when we delete a pixmap or it
leaves an invalid node on the signal list.
2016-04-26 09:51:33 -04:00
Mike Blumenkrantz 9f9dbb3b5e reapply client focus after input grab, only handle focus for wayland compositors
this was looking too weird

ref 4a73e9f29a
2016-04-26 09:51:23 -04:00
Derek Foreman 4b643d8c96 xwayland: Don't leak memory on dnd read failure 2016-04-26 09:51:13 -04:00
Mike Blumenkrantz 0bc84ac6b0 remove clamping for wl xdg popup configures
I don't remember why I added it but it's wrong and so was I
2016-04-26 09:51:07 -04:00
Derek Foreman b2715d2586 wayland: Stop E from consuming all CPU as soon as a selection is made
Clipboard fds from clients are regular files, which shouldn't be passed
to fd_handler_add.  Using the wrong add function causes epoll to return
immediately and we end up running idle handlers and burning cpu.

Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-26 09:51:03 -04:00
Derek Foreman 3eecf5904c wayland: Don't leak a clipboard source if adding fd handler fails
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-26 09:50:59 -04:00
Mike Blumenkrantz 15806cbbf9 don't set wl xdg popups to POPUP layer, set popups as placed on creation
resolves random popup placements
2016-04-26 09:50:53 -04:00
Mike Blumenkrantz bf6ba1b003 enforce wl xdg popup stacking relative to parent stacking 2016-04-26 09:50:46 -04:00
Mike Blumenkrantz 0656da9d2f set destructor for xdg popups when setting implementation
popups never get deleted without this
2016-04-26 09:50:42 -04:00
Mike Blumenkrantz 656a1982bd do not reset previously-set ec->placed state when attempting early client moves 2016-04-26 09:50:38 -04:00
Mike Blumenkrantz 17e32f5786 apply compositor keybinds if an action client that is not focus exists 2016-04-26 09:50:32 -04:00
Mike Blumenkrantz 783c35622d only attempt to rescue offscreen clients if they are completely offscreen 2016-04-26 09:50:26 -04:00
Mike Blumenkrantz 7a2d7cacb6 allow some client zone/desk move actions to occur on action client 2016-04-26 09:50:12 -04:00
Mike Blumenkrantz aa686641b1 remove wl xdg popup new_client stuff from get_popup method
ref d7f7eb9448
2016-04-26 09:50:08 -04:00
Mike Blumenkrantz ae6d22ac40 optimize case where an x11 client is focused/unfocused in same loop iteration 2016-04-26 09:49:51 -04:00
Mike Blumenkrantz 76b76af8ea explicitly manage client focus when setting/unsetting input grabs
clients cannot retain focus during a compositor grab, so ensure that
they do not think they have focus in such cases

fix T3338
2016-04-26 09:49:46 -04:00
Mike Blumenkrantz 7b201be6b3 block wl keyboard modifier updating during input grabs 2016-04-26 09:49:41 -04:00
Mike Blumenkrantz 165f470d7c force keyboard modifier update on wl client focus-in
ensure that clients always receive up-to-date modifiers when they get focus
2016-04-26 09:49:38 -04:00
Mike Blumenkrantz 83faf58fdb don't show some x11-specific compositor settings under wayland 2016-04-26 09:49:33 -04:00
Mike Blumenkrantz 2fdc1096c5 remove old compositor reset code 2016-04-26 09:49:28 -04:00
Mike Blumenkrantz fbb24d9e13 reshuffle notifications on replace 2016-04-26 09:49:24 -04:00
Mike Blumenkrantz 32839ee8f2 track offline/presentation mode notification ids and replace on toggle 2016-04-26 09:49:19 -04:00
Mike Blumenkrantz 3980f4bac3 move notification text escaping into dbus notify method callback
this ensures that notification text reaching the module can be considered
"usable" without forcing multiple escape passes onto the same notification

fix T2757
2016-04-26 09:49:15 -04:00
Mike Blumenkrantz d546536c60 selectively reject comp object signal emissions based on action_client state
in the case where a mouse binding is active and a signal binding is triggered
by the same mouse-up event which also ends the mouse binding, the deferred
nature of edje emissions will result in the signal being received by the
corresponding callback some time after the mouse-up event has been handled by
the client and the mouse binding has ended

to accurately handle these cases, signal bindings triggered in the same event
loop in which a mouse binding has ended after a mouse-up must be rejected in
order to enforce the compositor's mouse grab

fix T3347
2016-04-26 09:49:10 -04:00
Mike Blumenkrantz bdc8078f87 feed mouse out to internal clients upon activating a mouse binding
this prevents internal windows from effectively processing pending
mouse-up events

ref T3347
2016-04-26 09:49:04 -04:00
Mike Blumenkrantz 005de524fb add even more systray/dbusmenu hacks
mrw Qt systray devs take working (4.X) and then break it in 5.X to
be worse than steam: http://gfycat.com/CloudyPinkEmperorshrimp

fix T3139
2016-04-26 09:48:58 -04:00
Mike Blumenkrantz a7e28b6e76 ignore x11 ConfigureRequest events when maximize_override is set 2016-04-26 09:48:52 -04:00
Mike Blumenkrantz c635bf8d5e use canvas pointer coords in systray mouse cb 2016-04-26 09:48:44 -04:00
Mike Blumenkrantz 669d598ef4 remove deleted clients from tasks client list during repop
fix T3369
2016-04-26 09:48:38 -04:00
Mike Blumenkrantz 5a21fd6ee3 do not add deleted clients to tasks gadgets 2016-04-26 09:48:33 -04:00
Mike Blumenkrantz d1568b832f redo wayland client unignore mechanism
wayland clients were previously set as ignored until they obtained
a shell surface in order to avoid early execution of things like placement.

this had no effect.

the ignore must last until the first commit, at which point surfaces have been
sized and can be placed accurately without needing to move the surface around
a lot of times due to resize/frame adjust/birthdays
2016-04-26 09:48:29 -04:00
Mike Blumenkrantz 56e96ce294 do not set initial changed state for new clients if they are ignored
this loops the client idler for no reason
2016-04-26 09:48:22 -04:00
Mike Blumenkrantz 39717a8a38 feed mouse-up events for all buttons on internal wins when activating a binding
bindings enforce compositor grabs, which will result in stuck canvas buttons and
break internal windows which have already received button presses

fix T3347
2016-04-26 09:48:06 -04:00
Carsten Haitzler 586d1ac505 e mod: cpufreq - handle the case where cpu has zero freqs - dont crash
it can be that if you remove setuid bits on cpufreq binary we can end
up with zero freqs on bsd. this causes a crash.

@fix
2016-04-26 09:47:47 -04:00
Mike Blumenkrantz 845cabf732 send resize edges to wl clients on resize start and end 2016-04-26 09:47:41 -04:00
Mike Blumenkrantz 783ae4cae4 remove lots of impossible null checks from pager move callback
CID 1237302
2016-04-26 09:46:55 -04:00
Mike Blumenkrantz fbda06d657 use snprintf for string handling in batget
CID 1039801
2016-04-26 09:46:50 -04:00
Mike Blumenkrantz 9731acfe4a rework systray theme applying code
potentially the most overoptimized string handling code I've ever seen.

CID 1039843
2016-04-26 09:46:45 -04:00
Mike Blumenkrantz ffbe9de1ce use snprintf for string handling in batget
CID 1039801
2016-04-26 09:46:40 -04:00
Mike Blumenkrantz 8344b79020 use eina_streq for e_util_binding_match() comparisons
optimizes what is likely a stringshare comparison as well as avoiding
null derefs

CID 1191998
2016-04-26 09:46:35 -04:00
Mike Blumenkrantz d7e22929c2 avoid null deref in during pager_plain dnd
CID 1237302
2016-04-26 09:46:29 -04:00
Mike Blumenkrantz da00500c11 unset opaque region during comp object render if none exists
fixes case where opaque region has been unset after previously being set
2016-04-26 09:46:24 -04:00
Mike Blumenkrantz fd2a30c767 cast eina_list_count() in flowlayout, not entire expression
CID 1267211
2016-04-26 09:46:20 -04:00
Mike Blumenkrantz 5e27e5f302 ignore xwayland clients in wl client delete request callback
this breaks the compositor!
2016-04-26 09:46:12 -04:00
Mike Blumenkrantz d624b4f4e4 store (internal) elm win geometry when set prior to showing the win
this fixes the case where attempts to manipulate a window would fail
prior to showing the window
2016-04-26 09:45:57 -04:00
Mike Blumenkrantz cc8d773dfc use zone geometry when clamping evry gadget popup to gadget's screen
fix T3238
2016-04-26 09:45:48 -04:00
Mike Blumenkrantz eb596299ad remove wl selection hacks from f0ba92d39e
https://gfycat.com/ChiefDeafeningGull
2016-04-26 09:45:40 -04:00