Commit Graph

265 Commits

Author SHA1 Message Date
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Mike Blumenkrantz eba50312b4 use e_client_unfullscreen() to handle xdg-shell unfullscreen requests
ensure that previous window states get accurately reapplied when unfullscreening,
e.g., maximize
2017-10-06 11:36:53 -04:00
Mike Blumenkrantz b873f9bd45 defer wl startup apps until after xwayland init completes
startup apps may require x11 connections, so ensure this is available

fix T6122
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 0ee8cc896e hide wl shell clients again after mapping if clients are on a hidden desk
fix T5544
2017-08-25 14:47:10 -04:00
Carsten Haitzler 94f3cc4a2a meson - wl module builds - make them all consistent 2017-08-12 11:11:32 +09:00
Marcel Hollerbach 3aa126a90d meson: build again without wayland 2017-08-11 19:29:36 +02:00
Carsten Haitzler e464449511 meson build - simplify 3 more wl modules to use generic parent harness
this makes wl_text_input wl_desktop_shell and wl_weekeyboard use the
generic build, add to the src list the generated files
2017-08-11 20:44:38 +09:00
Carsten Haitzler 84bf48b3ed module build - clean up and fix meson install of pretty much all modules
so we';re missing installing desktop files. edj icon files, wizard
data files in the wrong place, and much more. this also cleans up the
module meson build of pretty much all modules and make their build
files cimple and consistent so it's far easier to re-use things from
one module to the next. we should aim for simplicity, consistency
between as much as possible so we can refactor and turn into maybe
functions later. imho that starts with consistency though. until i can
see all the common patterns clearly, i don't want to write functions
yet. it's easier to see if all the files are consistently using the
same vars and formatting etc. etc. etc.

but either way the installation needs fixing so it installs all files
in the right places with the right permissions etc. etc. etc.

this doesn't fix all module build files bt all the ones i found that
were broken installs and they use what i think is a cleaner/simpler
template, BUT there is far too much copy & pastage here... far too
much.i need to find a cleaner way to automate this.
2017-07-27 14:29:30 +09:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b7e8e886e9 do not generate module.desktop files
the purpose of this is to allow variable substitutions, but no desktop
files do this so it's a waste of build time for no reason
2017-07-14 18:40:50 -04:00
Derek Foreman 19a9f4ed29 also apply xdg-shell v6 client del hooks to external clients
partially reverts 7e05eff3e3

This was causing problems when destroying some xdg v6 clients.

if weston-simple-shm was killed while not on the current desktop
it would remain on deskmirrors.
2017-07-06 11:40:30 -05:00
Mike Blumenkrantz c21c0d64eb always run client icon update path when creating xdg6 role surface
ensure that the client gets a desktop associated with it so that it
can be matched to exec instances
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz a5cc19bd1a remove unused struct members from wl E_Comp_Wl_Client_Data 2017-04-07 16:08:38 -04:00
Mike Blumenkrantz 014db9469b use e_client_parent_set() in wl *shell parent setting methods 2017-04-07 16:07:25 -04:00
Mike Blumenkrantz 6bb6f14b7c add debug for xdg6 configure 2017-03-24 13:17:24 -04:00
Mike Blumenkrantz d589e5217b unset wl shell resource data on destroy
ensure that destroy cannot be called multiple times for the same resource
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz 7e05eff3e3 only apply xdg-shell client del hooks to internal clients
ref 8173c06c4d
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz 7052c66e74 force sending of last-used geometry when terminating a resize in wl shell send_configure
in the event that a client has not yet committed the changes from the
most recent resize event, it's legal for a client to have acked the previous
configure, ack this one, and then do nothing

this ensures that the last resize event(s) sizes are applied by the client
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz 047f08a994 do not accidentally place unplaced clients during wl *shell configure 2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 0d8b33c15f use maximized geometry for shell maximize calls on wl clients if !buffer_commit
this is for setting the initial state of a surface as maximized, so do not use
animation geometry here
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz a7f708d568 add wl client flag to indicate status of xdg6 pre-buffer configure
ensure that initial configure is not sent more than once

ref T5044
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 7828db4575 track and delete xdg-shell client hooks
fix T5242
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 9e54e62447 fix dangling pointers in xdg-shell deletion
partially caused by use of wrong hash, partially by failure to remove
list entries

fix T5235
2017-03-03 10:49:33 -05:00
Chris Michael 96e63d863f Revert "reverse order of shell binding in wl_desktop_shell module"
Reverting the shell order commit in favor of a better approach as
discussed on IRC.

This reverts commit 9b457513e4.
2017-02-28 11:36:23 -05:00
Chris Michael 9b457513e4 reverse order of shell binding in wl_desktop_shell module
Small patch to reverse order of shell binding so that we always
support the newest shell first and fallback to older ones.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:26:52 -05:00
Mike Blumenkrantz 1bf6c2d5c3 remove e_comp_wl->ptr.grab_x/y
unused
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 2c7e91d38f make e_comp_wl->ptr.x/y ints and fix usage to be consistent
sometimes these were treated as ints and sometimes wl_fixed
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 0c56e19a64 validate xdg-shell move/resize requests against latest button serial
these are supposed to match in order to initiate the corresponding action
2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 7716f58b5d throw xdg6 errors for unconfigured buffers as spec requires 2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 531fcb8577 apply better algorithm during xdg6 positioner slide calc
try useful geometry, then base zone geometry. also restrict slide to being
adjacent to parent surface's anchor
2016-12-02 10:23:04 -05:00
Mike Blumenkrantz 6f4d77d10a disable xdg6 positioner resize hints
this is stupid so we're not going to do it

 #leadership
2016-12-02 10:04:52 -05:00
Chris Michael 7d8266995d verify shell client delete functions are operating on wayland clients.
ref cc795bfbda

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:29:44 -05:00
Chris Michael cc795bfbda Revert "verify valid client comp_data before accessing it directly"
Reverting this in favor of a different fix.

This reverts commit bbad744060.
2016-12-02 09:25:54 -05:00
Chris Michael bbad744060 verify valid client comp_data before accessing it directly
ref 8173c06c4d

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:12:29 -05:00
Mike Blumenkrantz cd4c3ecc5d free xdg-shell data for xdg5 surfaces 2016-12-01 12:14:25 -05:00
Mike Blumenkrantz 8173c06c4d add handler for triggering xdg-shell data cleanup on client del
in the case of internal windows, the client is deleted before any surfaces
are destroyed. this requires a special case to perform cleanups in order to
prevent client objects from leaking
2016-12-01 12:14:25 -05:00
Derek Foreman 3313f0f26d Fix crash on xdg shell unbind
Running weston-simple-dmabuf-intel and killing it could crash E in
xdg_shell_unbind.
2016-11-30 10:19:40 -06:00
Mike Blumenkrantz f58eb2db7b use more accurate determination for applying xdg-shell (un)maximize operations
fixes maximizing again
2016-11-30 11:16:24 -05:00
Mike Blumenkrantz f5788293b5 check gravity variable for gravities when applying xdg6 positioners
fixes positioning

--(typo--)
2016-11-29 11:45:39 -05:00
Mike Blumenkrantz 632e4097b5 always send valid size geom when configuring xdg6 popups
sending 0x0 here when passed (which happens during initial commit)
breaks the universe
2016-11-29 11:44:29 -05:00
Mike Blumenkrantz 79d157f5d5 fix use of E_CONTAINS macro for xdg-shell positioners
last week was backwards week
2016-11-29 11:30:27 -05:00
Mike Blumenkrantz 7851769eab handle illegal xdg-shell resource unbinds
this occurs when the shell resource dies before all the surfaces/positioners
are destroyed. usually this means the client has aborted, so there's no point in
sending an error or doing anything beyond performing a thorough cleanup
2016-11-29 11:30:24 -05:00
Mike Blumenkrantz 50b2712f61 destroy xdg role surfaces if base surface is destroyed
this is illegal, but at least we should not leak the client when it happens
2016-11-29 11:09:31 -05:00
Mike Blumenkrantz 2a9d4e73c5 correctly handle xdg surface deletion and pointer clearing
fixes crashing/leaking when deleting surfaces
2016-11-29 11:08:46 -05:00
Mike Blumenkrantz bf40d92ad8 handle xdg-shell maximize/unmaximize calls correctly 2016-11-29 10:11:23 -05:00
Chris Michael ddaf5b9a20 add missing EINA_UNUSED for unused function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-23 11:02:49 -05:00
Mike Blumenkrantz 5497fadce4 xdg6 support 2016-11-22 11:31:22 -05:00
Mike Blumenkrantz ad3d0bd8c5 split wl_desktop_shell into separate files per shell
this should make it easier to selectively disable shells, and it will
definitely simplify future shell additions
2016-10-10 11:30:52 -04:00
Derek Foreman e4da5ba56a Auto generate wayland protocol
Replaces any checked-in wayland protocol files with auto-generation.

In some cases this means renaming include files that didn't use "standard"
names, or adding missing xml files.  Any source edits are simple search and
replace, there should be no functional changes.
2016-09-26 15:23:50 -05:00
Mike Blumenkrantz 54fa1a0ca4 adjust xdg-shell window menu coords by client's coords
the coords passed in this method are relative to the window geometry
2016-07-19 14:15:21 -04:00