Alexandre Julliard
c8ea1e50dc
winex11: Avoid passing a window data structure to functions that can send messages.
2012-09-17 12:42:21 +02:00
Alexandre Julliard
0682355af2
winex11: Don't use a window surface for embedded windows.
2012-09-13 10:31:58 +02:00
Alexandre Julliard
edea44f0ff
winex11: Add support for the LWA_COLORKEY layered window attribute.
2012-09-12 16:00:18 +02:00
Alexandre Julliard
64dc6561cd
winex11: Remove support for icon windows, use a default icon instead.
2012-09-10 16:22:08 +02:00
Alexandre Julliard
a39659fcc9
winex11: Disable client-side rendering for OpenGL windows.
2012-09-10 16:16:05 +02:00
Alexandre Julliard
33ac850c80
winex11: Use window surfaces for rendering top-level windows.
...
It can be disabled by setting "ClientSideGraphics"="n".
2012-09-06 12:44:54 +02:00
Alexandre Julliard
a5ef549c6e
user32: Add support for managing a DIB surface for a window.
2012-09-06 12:35:32 +02:00
Alexandre Julliard
514eb69584
winex11: Store the rectangle of the GL drawable and use it when updating the window size.
2012-09-04 15:03:04 +02:00
Alexandre Julliard
ea07c310ec
winex11: Create the whole window at window creation time.
2012-09-04 14:11:16 +02:00
Alexandre Julliard
9f042298f7
winex11: Move the GL drawable management to opengl.c.
2012-09-03 16:45:51 +02:00
Alexandre Julliard
ef034e71e2
winex11: Treat the client window as an OpenGL drawable.
2012-09-03 16:45:51 +02:00
Alexandre Julliard
fbac3194a5
winex11: Store the OpenGL drawable in a separate structure with its own context.
2012-09-03 16:45:51 +02:00
Alexandre Julliard
d596b62d95
winex11: Only create the client window when the pixel format is changed.
2012-09-03 16:45:50 +02:00
Alexandre Julliard
044f790bcb
winex11: Always paint to the whole window.
2012-08-30 19:02:27 +02:00
Alexandre Julliard
2967599286
winex11: Don't select for mouse events on the client window.
2012-08-30 12:57:45 +02:00
Alexandre Julliard
e280527f6b
winex11: Never attempt to create the window data from a different thread.
2012-08-30 12:11:58 +02:00
Alexandre Julliard
d35fc4369f
user32: Always go through set_window_pos when the WS_VISIBLE style is changed.
2012-08-29 20:09:28 +02:00
Alexandre Julliard
cf1be58706
winex11: Remove the remaining X11 locking calls.
2012-08-16 16:48:00 +02:00
Alexandre Julliard
c970621d90
winex11: Create contexts at initialization time to avoid the need for locks.
2012-08-16 14:34:00 +02:00
Alexandre Julliard
6bfcb347bf
winex11: Remove X11 locking around simple X calls.
2012-08-14 15:13:08 +02:00
Henri Verbeet
13820b6f94
winex11: Don't set MWM decorations either for fullscreen virtual desktops.
2012-08-13 16:28:50 +02:00
Alexandre Julliard
4b0f27f664
winex11: Get rid of the no longer needed drawable rect in the X11 device.
2012-07-12 16:05:37 -05:00
Alexandre Julliard
1adbfe921b
winex11: Don't free a variable that is no longer allocated on the heap.
2012-06-04 12:17:55 +02:00
Alexandre Julliard
c2073b7ba2
winex11: Use the create_pixmap_from_image helper to create window icons.
2012-05-15 20:58:39 +02:00
Alexandre Julliard
a708448725
winex11: Define an enum to manage the various types of GL device contexts.
2012-05-07 13:10:18 +02:00
Alexandre Julliard
fdef173ce0
winex11: Make sure the clip window is created as soon as possible.
2012-02-13 20:52:03 +01:00
Alexandre Julliard
abfed909b2
winex11: Move the window resizing support to mouse.c.
2012-02-01 16:42:48 +01:00
Alexandre Julliard
a534925a48
winex11: Reset clipping when a fullscreen window is unmapped.
2012-01-31 13:45:04 +01:00
Matteo Bruni
b4afbf98cf
winex11: Don't put the GL drawable offscreen.
2012-01-25 11:28:02 +01:00
Dmitry Timoshkov
c0cf49d50c
winex11.drv: Use dialog window type also for owned windows with WS_EX_DLGMODALFRAME style set.
2012-01-19 21:08:51 +01:00
Kusanagi Kouichi
f56e1fcf7c
winex11.drv: Assign struct.
2012-01-11 17:47:35 +01:00
Alexandre Julliard
c1297ac0d8
winex11: Only take managed popups into account when deciding whether to make a window managed.
2011-12-19 20:15:41 +01:00
Alexandre Julliard
c4cf90246d
winex11: Hardcode the MWM hints for the desktop window.
2011-12-19 20:15:41 +01:00
Alexandre Julliard
5f1f57ce48
winex11: Update MWM hints when the window size changes.
2011-12-16 12:08:08 +01:00
Ulrich Czekalla
392785965f
winex11: Avoid grabbing user_section while holding X11DRV_CritSection.
2011-11-28 20:15:18 +01:00
Alexandre Julliard
098b11e995
winex11: Don't allow setting the cursor across processes while clipping.
2011-11-09 14:26:34 +01:00
Alexandre Julliard
2e46c671d6
winex11: Set the desktop window gravity to NorthWest to avoid spurious position changes.
2011-05-12 16:25:50 +02:00
Alexandre Julliard
a07b8411fc
winex11: Export a couple of helper functions for window rectangles.
2011-05-11 12:09:12 +02:00
Alexandre Julliard
f1f223d001
winex11: Release the clip cursor grab when the clipping window loses focus.
2011-04-25 10:49:59 +02:00
Alexandre Julliard
0eb19126e5
winex11: Store a message window with the desktop when the cursor is clipped.
...
This ensures that the thread can be notified when the clip rectangle is reset.
2011-04-22 17:51:28 +02:00
Alexandre Julliard
d2ff461615
winex11: Clip out the top-level windows when repainting the desktop.
2011-04-22 12:16:33 +02:00
Dmitry Timoshkov
fd043c5644
winex11.drv: Use dialog window type again for owned popup windows.
2011-04-20 16:29:33 +02:00
Alexandre Julliard
2ed57f9b96
winex11: Make sure the clipping window is initialized in every thread.
2011-04-14 17:13:41 +02:00
Alexandre Julliard
06948ebccf
winex11: Update the cursor on the clip window when the pointer grab starts.
2011-04-06 13:10:44 +02:00
Alexandre Julliard
ecf217bbe4
winex11: Update the cursor on the clipping window while it's mapped.
2011-04-05 13:36:57 +02:00
Alexandre Julliard
886ae4c348
winex11: Always forward SetCursor to the driver, and limit the frequency of updates on the driver side.
2011-04-05 13:36:57 +02:00
Alexandre Julliard
ae2b356361
winex11: Implement cursor clipping using a pointer grab.
2011-04-05 13:36:57 +02:00
Dmitry Timoshkov
5ef58c11ce
winex11.drv: Do not use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
...
Main window of the Atom Zombie Smasher game has WS_DLGFRAME style set,
but Metacity allows making fullscreen ONLY normal windows, so do not
use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
2011-03-29 12:21:22 +02:00
Alexandre Julliard
b1af55d551
winex11: Don't unmap off-screen windows on PropertyNotify events.
2011-03-07 15:11:10 +01:00
Alexandre Julliard
94fb0f5935
winex11: Synchronize the mouse cursor in update_mouse_state.
2011-02-24 12:16:54 +01:00
Dmitry Timoshkov
38167e71d1
winex11.drv: Make sure that default clipping region exists before calling ExcludeUpdateRgn().
2011-02-01 18:14:08 +01:00
Alexandre Julliard
66814d0dd6
winex11: Make the tool window flag take precedence when setting the window type.
...
This prevents some menus from being marked as dialogs.
2010-12-28 16:35:40 +01:00
Alexandre Julliard
477c085e4d
winex11: Potentially update the system tray notification position when any foreign window is moved.
2010-12-15 17:17:39 +01:00
Alexandre Julliard
026d41c504
winex11: Only map the window the first time that WS_VISIBLE is set through WM_SETREDRAW.
2010-12-09 19:45:34 +01:00
Alexandre Julliard
20bc10c354
winex11: Properly forget about a foreign window when it's destroyed through DestroyWindow().
2010-11-15 20:41:07 +01:00
Alexandre Julliard
5d570706c6
winex11: Create Win32 windows corresponding to all the ancestors of embedded windows.
...
This is needed to keep track of the embedded window position by
handling ConfigureNotify received by ancestors.
2010-11-08 15:46:49 +01:00
Alexandre Julliard
abb559dd7a
winex11: Add support for having a drawable associated to non-toplevel windows.
2010-11-08 15:46:34 +01:00
Alexandre Julliard
a8063e8b8b
winex11: Handle GravityNotify events for non-toplevel windows.
2010-11-08 15:24:00 +01:00
Alexandre Julliard
8f24cd05b1
winex11: Sync the window attributes when switching a window to embedded.
2010-11-05 17:15:34 +01:00
Alexandre Julliard
68f497bdcc
winex11: Improve management of the lifetime of embedded windows.
2010-11-02 10:32:40 +01:00
Alexandre Julliard
536fc57091
winex11: Force setting the cursor again on the first mouse event in case the initial setting failed.
2010-09-30 17:51:18 +02:00
Alexandre Julliard
5594c4eba8
winex11: Mirror the window region for RTL windows.
2010-09-27 21:06:38 +02:00
Dmitry Timoshkov
7864ade5a8
winex11.drv: Avoid copying invalid window bits.
2010-09-14 09:43:09 -05:00
Dmitry Timoshkov
c912af04de
winex11.drv: Avoid copying window bits if the window didn't move.
2010-09-14 09:43:03 -05:00
Alexandre Julliard
7295b6746d
user32: Add support for fetching window rectangles relative to various origins.
2010-09-07 14:31:30 +02:00
Alexandre Julliard
a4704d3d14
winex11: Sending a move/resize client message to the root requires a SubstructureRedirect mask too.
2010-08-01 20:06:05 +02:00
Dmitry Timoshkov
a56df96a0e
winex11: Remember last window that had the XIC focus and use it in ToUnicode() to make dead keys work more reliably.
2010-07-26 18:38:31 +02:00
Alexandre Julliard
f2f508856b
winex11: Set the user time property on top-level windows.
...
Helps convince some broken window managers to put new windows on top
of the z-order.
2010-06-29 13:28:39 +02:00
Alexandre Julliard
0dd44a3776
winex11: Windows with WS_EX_NOACTIVATE style shouldn't be on the taskbar.
2010-06-01 13:37:48 +02:00
Alexandre Julliard
2db72e9859
winex11: Only unmap windows when the window rect changes to unmapped the first time.
2010-05-28 16:22:26 +02:00
Alexandre Julliard
61e50e15ba
winex11: Map zero-size windows and set an empty window region for them.
2010-05-28 16:22:25 +02:00
Alexandre Julliard
81c4b4120d
winex11: Set size hints to 1x1 for zero-sized windows.
2010-05-28 16:22:25 +02:00
Alexandre Julliard
8b84d64075
winex11: Set window style to normal for windows with a minimize box.
...
Some window managers don't allow minimizing dialog windows.
2010-05-28 16:22:25 +02:00
Alexandre Julliard
2cf9cdd3d8
winex11: Unmap zero-size windows also while processing a PropertyNotify event.
2010-05-24 16:41:20 +02:00
Alexandre Julliard
0d84ccbfa1
winex11: Fix a bitmap leak when setting the small icon hints.
2010-05-20 17:37:28 +02:00
Alexandre Julliard
1afd0df7de
winex11: Take into account the cursor show count when setting the initial cursor for a window.
2010-05-10 12:33:59 +02:00
Alexandre Julliard
6551553fe6
winex11: Make the cursor window global instead of per-thread, and send it a message when the cursor changes.
2010-04-29 10:19:29 -05:00
Alexandre Julliard
09dc6019b6
winex11: Don't set a hint for the small icon if it has the same size as the large one.
2010-04-22 14:47:57 +02:00
Alexandre Julliard
9ff982f2a8
winex11: Invert the icon mask only after the conversion to ARGB.
2010-04-22 14:16:44 +02:00
Alexandre Julliard
eed9c63ac7
winex11: Update the cursor from the thread input status instead of caching it per-thread in x11drv.
2010-04-21 11:07:45 +02:00
Alexandre Julliard
f84f939411
winex11: Fix memory leaks in get_bitmap_argb.
2010-04-20 16:21:37 +02:00
Alexandre Julliard
a551dfe311
winex11: Add the small icon to the NET_WM_ICON hint.
2010-04-19 17:59:09 +02:00
Alexandre Julliard
f0644c6d07
winex11: Generate an alpha channel from the bitmask for icons that don't have one.
2010-04-19 17:54:43 +02:00
Alexandre Julliard
4253120745
winex11: Move creation of an ARGB bitmap for icons to a separate function.
2010-04-19 17:53:24 +02:00
Alexandre Julliard
ea1d71c7a4
winex11: Set the NET_WM_ICON hint for 32-bpp icons.
2010-04-16 16:23:33 +02:00
Henri Verbeet
3255b21456
winex11.drv: Allow OpenGL on minimized windows.
2010-04-12 11:38:05 +02:00
Dmitry Timoshkov
e35e75b4bf
winex11.drv: Do not allow WM actions for windows with WS_DISABLED style set.
...
Some applications do not expect and could have undefined behaviour (or even
crash) when a not active (and disabled) main window under a dialog popup is
being closed or minimized/maximazed. Most of Window Managers allow that, but
Windows doesn't.
2010-04-07 13:51:21 +02:00
Alexandre Julliard
b6ef8a5944
winex11: Don't make the owner window managed if its popup isn't.
2010-03-20 20:16:42 +01:00
Vincent Povirk
e4a50e1615
winex11.drv: Use CurrentTime to focus windows if we have no timestamp.
2010-03-18 10:22:59 +01:00
Alexandre Julliard
9cd1ce2510
winex11: Don't try to create the owner window if it belongs to a different thread.
2010-03-01 17:06:19 +01:00
Alexandre Julliard
913cab1353
winex11: Switch owner window to managed when displaying one of its popups.
2010-02-23 12:35:10 +01:00
Alexandre Julliard
391afac66f
winex11: Windows that own popups should be managed.
2010-02-23 12:34:19 +01:00
Alexandre Julliard
7b3a00c09e
winex11: Make sure that the owner window exists when setting the transient for attribute.
2010-02-23 12:33:01 +01:00
Kusanagi Kouichi
10789142fc
winex11.drv: Check XDND version.
2010-02-22 11:55:42 +01:00
Alexandre Julliard
bcf88b5885
winex11: Fix the DC rect offset for a released DC.
2010-02-16 12:37:42 +01:00
Alexandre Julliard
08b8325460
winex11: Shape offset must be relative to the window position.
2010-02-08 17:49:47 +01:00
Alexandre Julliard
4c7b8ca524
winex11: Update the window shape offset when the window rect changes.
2010-02-04 17:27:19 +01:00
Alexandre Julliard
aa47784130
winex11: Synchronize the shaped flag with the window region before determining the window size.
2010-02-02 20:28:21 +01:00
Alexandre Julliard
00b06dac85
winex11: Don't process ConfigureNotify events that have been superseded by a later configure request.
2010-01-04 17:56:32 +01:00
Vincent Povirk
05f00f4ed8
winex11.drv: Allow windows in a virtual desktop to have X focus.
2009-11-12 14:39:14 +01:00