Scott Moreau
c6a7e4b277
toytoolkit: Don't draw shadows for maximized windows.
...
Add THEME_FRAME_MAXIMIZED flag so the theming system can know not to draw
shadows for maximized windows. This allows maximized surfaces' content to be
sized and placed in a more expectable fashion.
2012-10-10 11:23:41 -04:00
Tiago Vignatti
0d20d7c8f4
xwm: Plug kill signal for killing X apps
...
Xeyes is the counter-example that fails on that heuristic and won't be caught
on kill binding. This and the last two patches should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=53679
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-10-04 11:07:50 -04:00
Kristian Høgsberg
b00a9d3cb9
compositor: Make all non-backend modules use module_init() as entry point
2012-09-11 14:06:27 -04:00
Pekka Paalanen
4f9c07bf11
xwayland: replace opaque_rect, fix an alpha problem
...
Remove weston_surface::opaque_rect completely.
Instead, set the opaque region in xwayland.
Before this patch, black text in xterm was transparent. Now it is not.
However, this patch fixes only a part of the alpha problem. If you apply
full-surface alpha with super+alt+wheel, the problem reappears. This
problem is still due to bad alpha channel contents on xwayland windows.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com >
2012-09-04 16:14:29 -04:00
Kristian Høgsberg
5ba31891a1
xwm: Use a simple heuristic for mapping X input events to a weston seat
2012-08-10 10:06:59 -04:00
Kristian Høgsberg
64eca8949b
compositor: Fold the log prototypes into compositor.h and drop log.h
...
We're trying to keep the API exposed by the core compositor in compositor.h
2012-08-01 00:00:57 -04:00
Kristian Høgsberg
c4063f310a
xwm: Make override-redirect windows opaque
2012-07-22 15:32:45 -04:00
Tiago Vignatti
ce1baa8097
xwm: use last focused window for guessing transient parent
...
On X the global absolute coordinates are sent in ConfigureNotify and transient
windows are mapped exactly on that position. On Wayland we don't have the
concept of global coordinates, and that's a problem for transient surfaces
without transient_for set because they rely on such hint for setting their
positioning.
So this solution is a workaround. It guesses a parent based on the last
focused window to determine the relative position of the transient surface.
This put transient windows of Chrome browser back to work.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-22 14:35:25 -04:00
Tiago Vignatti
e66fcee435
xwm: Fix transient positioning
...
Commit eaee7841 took out the configure positioning of windows. This patch
brings it back and addresses also logic for resizing and sub-menus, that was
not covered on that commit.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-22 14:28:35 -04:00
Tiago Vignatti
2ea74d9f71
xwm: Initialize window decoration always as !override
...
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-22 14:26:49 -04:00
Tiago Vignatti
9134b77f2c
xwm: Don't try to change frame cursor when there's no decoration
...
It was causing some artifacts on chrome.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-20 15:31:00 -04:00
Tiago Vignatti
c190323c90
xwm: set the root window pointer to left_ptr
...
More pretty and also consistent with toytoolkit.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-16 13:35:27 -04:00
Tiago Vignatti
236b48d414
xwm: set appropriate cursors for the frame window
...
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-16 13:35:27 -04:00
Tiago Vignatti
90fada4338
xwayland: add simple xcb-cursor hook based on libXcursor
...
It's in fact based on the core of libXcursor, which doesn't bring any Xlib
dependency.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-07-16 13:35:27 -04:00
Kristian Høgsberg
e89cef37eb
xwayland: Look up 32 depth rgba render format as well
2012-07-16 13:35:27 -04:00
Kristian Høgsberg
e6d8d2f62a
xwayland: Use the right length for iterating through the formats array
...
Spotted by Tiago Vignatti, minimal fix to just use the right length.
2012-07-16 13:35:26 -04:00
Martin Olsson
197214112c
xwayland: Don't leak fd while reading lock file in src/xwayland/launcher.c
2012-07-09 17:50:45 -04:00
Kristian Høgsberg
8150b190d6
shell: Take a wl_surface as parent for transient and popup windows
2012-06-27 10:24:22 -04:00
Kristian Høgsberg
529b00eb34
xwm: Add xwayland.h to Makefile.am
2012-06-25 16:00:48 -04:00
Kristian Høgsberg
cd80f107b3
xwm: Fix crash when we don't have a transient_for window
2012-06-15 15:40:57 -04:00
Tiago Vignatti
bf1e8660ed
xwm: fix typo on windows hints
...
was giving a wrong assignment to window->type.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-06-13 09:23:16 -04:00
Martin Minarik
6d11836721
Replace fprintf() by weston_log()
2012-06-08 13:11:36 -04:00
Tiago Vignatti
771241e88f
xwm: use override_redirect for determining or not top-level windows
...
"top-level window is a window whose override-redirect attribute is False",
ICCCM 4.1.1
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-06-05 11:49:18 -04:00
Tiago Vignatti
71574542b3
xwayland: fix typo on configure libs
...
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-06-05 11:46:51 -04:00
Kristian Høgsberg
be375b362b
xwm: Only destroy window frame in unmap_notify if we have one
...
Based on a patch from Tiago Vignatti <tiago.vignatti@intel.com >.
2012-06-05 11:46:08 -04:00
Kristian Høgsberg
670b5d343d
xwm: Take WM_S0 manager selection
2012-06-04 11:00:40 -04:00
Kristian Høgsberg
cba022af3d
xwm: Claim the CLIPBOARD_MANAGER selection
2012-06-04 10:11:45 -04:00
Kristian Høgsberg
e220327223
xwm: Initialize X selection on X server startup
...
This way an already existing wayland selection will be available on
launch.
2012-06-03 17:59:04 -04:00
Kristian Høgsberg
4dec011807
xwm: Move selection proxy setup to selection.c
2012-06-03 17:59:04 -04:00
Kristian Høgsberg
c65d56a280
xwm: Follow wl_data_source changes
...
Creating the wl_data_offer is now entirely inside libwayland-server.
2012-06-03 17:58:45 -04:00
Kristian Høgsberg
805667388b
xwayland: Handle selection source going away without crashing
2012-06-01 00:08:12 -04:00
Kristian Høgsberg
d64bdf4755
xwm: Just ignore the synthetic unmap_notify
...
As per ICCCM 4.1.4 we're supposed to withdraw the window when we see
the real unmap or the synthetic unmap, whichever comes first. The
synthetic unmap may come after the window has been destroyed, so let's
just only handle the real unmap.
2012-05-31 10:33:43 -04:00
Kristian Høgsberg
a6d9a5e4aa
xwm: Set WM_STATE window property
...
xprop and gtk+ dnd is now working.
2012-05-30 12:15:44 -04:00
Kristian Høgsberg
f197e9f7a3
xwm: Bring back synthetic events and handle synthetic unmap notify as per ICCCM
2012-05-30 11:46:29 -04:00
Kristian Høgsberg
e244cb03f7
xwm: Don't try to read deleted properties
2012-05-30 11:34:35 -04:00
Kristian Høgsberg
029539bf27
xwm: Handle reparenting windows
2012-05-30 11:28:24 -04:00
Kristian Høgsberg
44c2013d43
xwm: Don't select for XCB_EXPOSE
...
We don't need expose events. All windows are redirected and we know
exactly when we need to repaint them.
2012-05-30 10:09:24 -04:00
Kristian Høgsberg
8d1aa7d8ef
xwm: Don't dispatch for events coming from XSendEvent
...
GTK+ sends an unmap_notify to the root window when a toplevel GTK+ window
gets unmapped. That may be a GTK+ bug, but we should just ignore events
from XSendEvent.
2012-05-30 10:06:59 -04:00
Kristian Høgsberg
194ea5423e
xwm: Destroy frame resources and reparent back to root in unmap_notify
...
The frame window and the wayland surface needs to go away when then
X window is unmapped, not when it's destroyed.
2012-05-30 10:05:41 -04:00
Kristian Høgsberg
d96fe1f7e7
xwm: Remove pointless change set request
2012-05-30 10:04:15 -04:00
Kristian Høgsberg
f94a031b84
xwm: Don't select for STRUCTURE_NOTIFY or RESIZE_REDIRECT
...
We get all that information through SUBSTRUCTURE_NOTIFY on the parent
windows.
2012-05-30 10:02:58 -04:00
Kristian Høgsberg
bc6e1622b0
xwm: Ignore map request for already mapped window
...
If a client sends another map request before the server has seen our
reply to the first map request event, we might get a map request for an
already mapped window. Just ignore that.
2012-05-30 09:59:56 -04:00
Kristian Høgsberg
0273b5716a
xwm: Reduce window property debug output
...
We just print properties when they change now instead of dumping all
properties whenever we re-read them. Also, make the property output a
little more concise.
2012-05-30 09:58:02 -04:00
Kristian Høgsberg
c9571fbd3a
xwm: Reset wm->focus_window when the focused window is destroyed
2012-05-29 15:35:29 -04:00
Tiago Vignatti
629ce23bd0
xwayland: change library name
...
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com >
2012-05-25 22:54:40 -04:00
Kristian Høgsberg
e68fd10f87
xwm: Handle resize cases of _NET_WM_MOVERESIZE
2012-05-22 17:09:40 -04:00
Kristian Høgsberg
c1693f209a
xwm: Implement resizing by frame borders
2012-05-22 16:56:23 -04:00
Kristian Høgsberg
f96e6c00d9
Share code to to classify pointer location in frame
2012-05-22 16:38:53 -04:00
Kristian Høgsberg
a61ca06b49
xwm: Add window resize support
2012-05-22 16:05:52 -04:00
Scott Moreau
85ecac0a4e
xwm: Fold weston_wm_activate into weston_wm_window_activate
2012-05-22 12:58:41 -04:00