aboutsummaryrefslogtreecommitdiff
path: root/xwayland/xwayland.c
AgeCommit message (Collapse)Author
2018-11-29primary-selection: introduce wlr_primary_selection_sourceemersion
This is a common interface that can be used for all primary selection protocols, as discussed in [1]. A new function wlr_seat_set_primary_selection is added to set the primary selection for all protocols. The seat now owns again the source, and resets the selection to NULL when destroyed. [1]: https://github.com/swaywm/wlroots/issues/1367#issuecomment-442403454
2018-11-27gtk-primary-selection: refactor everything, untie from seatemersion
This commits completely refactors wlr_gtk_primary_selection. The goal is to remove gtk-primary-selection state from the seat and better handle inert resources where it makes sense. wlr_seat_client.primary_selection_devices has been removed and replaced by wlr_gtk_primary_selection_device. This allows us to make offers inert when the current selection is replaced. wlr_seat_set_primary_selection has been removed because it relied on wlr_seat instead of wlr_gtk_primary_selection_device_manager. A new function, wlr_gtk_primary_selection_device_manager_set_selection (candidate for the longest function name in wlroots) has been added. It doesn't take a serial anymore as serial checking only makes sense for set_selection requests coming from Wayland clients (serial checking is now done in the Wayland interface implementation). Since wlr_gtk_primary_selection_device_manager is now required to set the selection, a new function wlr_xwayland_set_gtk_primary_selection_device_manager (candidate number two for longest function name) has been added. Devices are now made inert when the seat goes away. Future work includes removing the last primary selection bits from the seat, mainly wlr_seat.primary_selection_source and wlr_seat.events.primary_selection, replacing those with new fields in wlr_gtk_primary_selection_device. Or maybe we could keep those in the seat and replace them with a re-usable interface (for future zwp_primary_selection_v1 support). We need to think how we'll sync these three protocols (GTK, X11 and wayland-protocols). See https://github.com/swaywm/wlroots/issues/1388
2018-11-06Use _POSIX_C_SOURCE, use shm_openemersion
2018-10-28xwayland: don't fail if XDG_RUNTIME_DIR is not setemersion
We don't require it, Xwayland doesn't require it, and all X11 apps I tried don't need it.
2018-09-08Fix wlr_xwayland_destroynyorain
2018-09-03Close stdout/stderr for Xwaylandrandom human
Depending on the log verbosity, close the stdout/stderr streams.
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-05-19Remove unused argumentScott Anderson
2018-05-10Fix Xwayland cleanupVincent Vanlaer
Fixes #964
2018-05-08Make xwayland_finish* clean up wlr_xwaylandVincent Vanlaer
2018-05-07Clean up eventsVincent Vanlaer
2018-05-07Add beter handling for Xwayland failing at startupVincent Vanlaer
2018-05-06Allow xwayland to start lazilyVincent Vanlaer
Makes the xwayland startup process two phased. The first phase just initialises the X11 sockets. The second phase starts the Xwayland server itself. When starting xwayland lazily the second phase will be postponed until a client has connected to the X11 socket. Changes in behaviour: The DISPLAY environment is now set immediately after the X11 sockets are created. When the Xwayland server is killed or crashes, the sockets will not be recreated, but reused. Fixes #849: Start up Xwayland lazily
2018-04-25Don't use the wlr_ prefix for static functionsemersion
2018-04-21xwayland: preserve the PATH variable n3rdopolis
Some systems don't have xwayland in /usr/bin, but in other paths. wlroots was unable to find Xwayland binaries outside of standard locations
2018-04-08xwayland: add _NET_WM_WINDOW_TYPE_MENU supportemersion
2018-03-04xwm.h: fix guard ifdef and remove wlr_ prefix from xwm_atoms_containsDominique Martinet
2018-03-03move xwm.h out of include/wlrDominique Martinet
xwm.h was meant to be private, so move it to include/xwayland/xwm.h We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move to xwm, it is not safe to use the WLR_HAS_* in the public headers. I checked a few of our current users and none rely on xwm.h being public as expected (rootston, sway, hsroots)
2018-02-26add xwayland unmanaged tests to support dmenuMarkus Ongyerth
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more fine grained control over XWayland focus. A surface that is unmanaged should not receive focus, while other windows that are just override redirect may want it (dmenu). The way unamanged is determined is taken from wlc.
2018-02-19Revert "ELF Visibility"Drew DeVault
2018-02-19Explicitly export EFL symbolsScott Anderson
2018-02-12Reformat all #include directivesemersion
2018-02-12Make wlr_signal_emit_safe privateemersion
2018-02-12Add wlr_signal_emit_safeemersion
2017-12-29wlr_xwayland: preserve end of struct on restartDominique Martinet
This is more robust than trying to recopy a few fields. Note: wlr_xwayland->events.ready now resets after each trigger, so one can hook on it again and be called when restart is ready
2017-12-29xwayland: listen to wlr_seat destroy signalDominique Martinet
2017-12-29xwayland restart: copy seat and events overDominique Martinet
This is very ugly, there must be a better way to do that (not memset it?) Meanwhile, this fixes rootston xwayland on restart
2017-12-14Merge branch 'master' into xwm-selectionemersion
2017-12-14Merge branch 'master' into display-destroyemersion
2017-12-14Merge branch 'master' into xwm-selectionemersion
2017-12-13xwm: user custom event handlerTony Crisci
2017-12-08Destroy xwayland client when possibleemersion
2017-12-08Do not destroy wl_client in wlr_xwayland_finishemersion
2017-12-08Listen to display destroy in xwayland, rename wlr_egl_freeemersion
2017-11-22xwayland: clean up seat settingTony Crisci
2017-11-22xwm: send selection dataTony Crisci
2017-11-12Run startup command after xwayland is readyDrew DeVault
2017-11-02Use compositor theme for xwm cursoremersion
2017-10-24xwm: get rid of displayable surfaces listTony Crisci
2017-10-11Add FreeBSD compatibilityGreg V
2017-10-03Unset $DISPLAY until XWayland is readyCalvin Lee
2017-09-28x11 -> xwayland, window -> surface, fix some calloc sizes and wrong typesemersion
2017-09-28Fix rootston keyboard, add XwaylandDrew DeVault
2017-08-27Double-fork for xwayland executionDominique Martinet
The intermediate fork needs to wait for SIGUSR1 for when Xserver is ready, or SIGCHLD if the exec didn't work out. Also change the exit() to _exit() as that is apparently more appropriate for forks (and waitpid's status was wrong without it for some reason) Fixes #122.
2017-08-24xwayland: relinquish wl_fd[0] after creating clientDominique Martinet
wayland WILL close this fd during wl_client_destroy, after our handler if we close it as well this will close some of the fd we reopened
2017-08-24xwm: free x11 windows on finishDominique Martinet
2017-08-24xwayland: fix some shutdown casesDominique Martinet
2017-08-24xwayland: fix shutdown caused by Xwayland/client stopDominique Martinet
2017-08-23xwayland: fix style issuesDominique Martinet
2017-08-23example compositor: loop through xwayland surfacesDominique Martinet