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
Dmitry Timoshkov
9dbdd708e3
winex11.drv: Handle WM_DELETE_WINDOW by simulating clicking the caption Close button.
2009-09-09 12:18:28 +02:00
Alexandre Julliard
e3720c2810
winex11: Use the Globally Active focus model with take focus.
2009-08-13 18:18:33 +02:00
Alexandre Julliard
edebc2b75f
winex11: Try to use the correct window rectangle as far as possible at XCreateWindow time.
2009-06-25 12:10:44 +02:00
Alexandre Julliard
a4644f126b
winex11: Limit window dimensions to 65535 to avoid 16-bit truncation issues.
2009-05-05 15:36:25 +02:00
Andrew Talbot
f63ceec432
winex11.drv: Declare some functions static.
2009-01-30 11:43:41 +01:00
Alexandre Julliard
95cf00f30b
winex11: Flush the display after releasing the capture to make sure it happens right away.
2009-01-26 15:12:55 +01:00
Vincent Povirk
538cf8b847
winex11: Select StructureNotifyMask input on all windows.
2009-01-10 17:43:11 +01:00
Damjan Jovanovic
3613b15785
winex11: Support the startup notification fd.o spec.
2009-01-07 14:17:46 +01:00
Maarten Lankhorst
0a6459598a
user32/winex11.drv: Change all user32 operations to use CDECL.
2008-12-23 13:06:04 +01:00
Alexandre Julliard
7fdadbb377
server: Add functions for conversions between server user handles and pointer-style handles.
2008-12-08 16:58:20 +01:00
Dmitry Timoshkov
15c8206118
winex11.drv: Use the monitor work area to decide whether a window should be made managed.
2008-10-07 12:13:03 +02:00
Alexandre Julliard
fb84ba59d9
winex11: Fix SetLayeredWindowAttributes when called on a thread that doesn't have any window.
2008-09-22 12:52:53 +02:00
Alexandre Julliard
3cb23d3455
winex11: Don't try to retrieve the X11 size on ShowWindow for zero-sized windows.
2008-09-17 21:17:11 +02:00
Alexandre Julliard
308476ef2f
winex11: Force the X11 size of zero-sized window to always be 1x1.
2008-09-17 21:11:47 +02:00
Alexandre Julliard
be3c3a5214
winex11: Driver-side implementation of SetLayeredWindowAttributes.
...
Based on a patch by Rob Shearman.
2008-09-12 15:54:02 +02:00
Alexandre Julliard
2f11213168
user32: Notify the user driver about window extended style changes too.
2008-09-12 14:55:07 +02:00
Alexandre Julliard
9fab7b458a
winex11: Fixed mapping of the move/resize starting point to X11 root coordinates.
2008-09-12 11:03:26 +02:00
Alexandre Julliard
9d45cfde33
winex11: Support setting the window region on windows belonging to other threads.
2008-09-08 15:51:08 +02:00
Alexandre Julliard
370368aace
winex11: Moved the X11DRV_WindowMessage function to window.c.
2008-09-08 15:42:24 +02:00
Alexandre Julliard
ac40efa911
winex11: Always set the z-order when a window is being made visible.
2008-08-29 13:34:55 +02:00
Alexandre Julliard
31b4061c9b
winex11: Fetch the current X window position on ShowWindow resulting from a window manager event.
...
This ensures that we get the correct size for maximized windows too,
which cannot be done with SetWindowPlacement.
2008-07-31 11:40:49 +02:00
Alexandre Julliard
89a3bd0c15
user32: Split the SetWindowPos driver backend in WindowPosChanging/Changed.
...
This is needed to allow updating the visible rect before invalidating
the DCEs.
2008-07-02 15:40:10 +02:00
Alexandre Julliard
93a02e7f65
winex11: Don't create a win data structure for HWND_MESSAGE windows.
2008-06-26 16:49:09 +02:00
Alexandre Julliard
e7044cb8f8
winex11: Explicitly request creation of the thread display where necessary.
2008-06-26 16:47:42 +02:00
Alexandre Julliard
9d53a1ae2b
winex11: Get rid of the explicit colormap management.
2008-06-26 16:21:32 +02:00
Alexandre Julliard
06a1407c13
winex11: Explicitly request creation of the per-thread data where necessary.
2008-06-26 15:08:08 +02:00
Alexandre Julliard
fc8c21c259
winex11: Avoid erasing the window when changing the pixel format.
2008-06-18 20:10:56 +02:00
Alexandre Julliard
2d9b38133b
winex11: Add support for performing GL calls on a top-level window DC.
2008-05-28 17:52:06 +02:00
Alexandre Julliard
ed37174a71
winex11: Make sure that all glX functions are called under the X11 lock.
2008-05-28 17:02:07 +02:00
Alexandre Julliard
30a133fe00
winex11: When re-creating a client window check the new visual against the current one instead of the default one.
2008-05-13 10:43:48 +02:00
Alexandre Julliard
b605980bf1
winex11: Create a dummy parent window for composite child windows to avoid using the root.
2008-05-12 19:37:57 +02:00
Alexandre Julliard
6e9dea8a27
winex11: Create all the GL drawables using the gdi_display to avoid synchronization issues.
2008-05-12 19:37:54 +02:00
Andrew Talbot
5156219a1c
winex11.drv: Remove unused variables.
2008-05-02 16:08:15 +02:00
Alexandre Julliard
6b9517a70a
winex11: Only unmap a window when explicitly hidden, not just when WS_VISIBLE is cleared.
2008-05-01 18:11:26 +02:00
Alexandre Julliard
8a5f578223
winex11: Ignore the specified owner if it's a zero-size window.
...
Go back to not mapping zero-size windows.
2008-05-01 18:11:26 +02:00
Alexandre Julliard
2bbf00ed08
winex11: Don't put window manager decorations on shaped windows.
2008-04-29 12:46:16 +02:00
Alexandre Julliard
1f99d80c06
winex11: Don't force tool windows to unmanaged mode.
...
The detection algorithm should be good enough for that case now.
2008-04-25 14:26:52 +02:00
Roderick Colenbrander
f0307d9366
wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times.
2008-04-24 12:32:38 +02:00
Alexandre Julliard
bbd32aacff
winex11: Don't allow changing the X11 size of a maximized window.
2008-04-23 15:34:07 +02:00
Alexandre Julliard
6ba06fa7af
winex11: Make sure that the window gravity is always set.
2008-04-23 15:33:29 +02:00
Alexandre Julliard
855308fd95
winex11: Merged the contents of winpos.c into window.c.
2008-04-23 15:32:58 +02:00
Alexandre Julliard
0bbadeb69b
winex11: Set type to dialog for owned popup windows.
2008-04-21 20:33:18 +02:00
Alexandre Julliard
9727aa8123
winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format.
2008-04-21 20:32:22 +02:00
Alexandre Julliard
24dbaa0856
winex11: Moved the WM_SYSCOMMAND handling to window.c.
2008-04-17 16:13:34 +02:00
Dmitry Timoshkov
15c0bcb3d8
winex11.drv: Map zero-sized windows but don't add WM decoration to them.
2008-04-17 12:41:18 +02:00
Alexandre Julliard
18f4fb9883
winex11: Fix the type hint for the desktop window.
2008-04-14 13:27:38 +02:00
Alexandre Julliard
9bf9c0b7ec
winex11: Make WS_EX_APPWINDOW windows have normal type.
2008-04-14 13:27:19 +02:00
Matthew D'Asaro
4217fcb187
winex11: Add registry option to let wine decorate windows.
2008-04-11 13:11:17 +02:00
Alexandre Julliard
70ef99e5e1
winex11: Make sure to flush painting operations before moving a window.
2008-04-10 14:47:19 +02:00
Kusanagi Kouichi
185157cb6e
winex11: Connect to XIM server dynamically.
2008-04-10 12:45:56 +02:00
Alexandre Julliard
731d77f762
winex11: Flush the display after creating X windows.
2008-04-09 20:24:27 +02:00
Alexandre Julliard
52246fb921
winex11: Move all the embedded systray window support to winex11.drv.
2008-04-08 15:47:36 +02:00
Dmitry Timoshkov
1bf824e0b0
winex11.drv: Do not set window type to utility to avoid a Metacity bug.
2008-04-07 20:35:27 +02:00
Dmitry Timoshkov
751a71a044
winex11: Change the priority of evaluated window styles to workaround a Metacity bug with handling of utility windows.
2008-04-07 12:15:26 +02:00
Alexandre Julliard
2108734f97
winex11: Get rid of the SetWindowPos hack to unmap systray windows.
2008-04-07 11:42:31 +02:00
Alexandre Julliard
3bfa90eeda
winex11: Fix handling of property sizes for 64-bit platforms.
2008-04-07 11:41:54 +02:00
Alexandre Julliard
cf9d3e3a00
winex11: Don't update the normal size hints when a window is minimized or maximized.
2008-04-04 11:28:30 +02:00
Alexandre Julliard
4d14adfea3
winex11: Use the same test for resizable windows when setting size and mwm hints.
2008-04-04 11:25:48 +02:00
Alexandre Julliard
cef3bc62ce
winex11: Always update the window position without relying on the cached values.
2008-04-04 11:20:45 +02:00
Alexandre Julliard
46489aeda2
winex11: Don't attempt to dock into the system tray in desktop mode.
2008-03-25 12:13:28 +01:00
Alexandre Julliard
78de7e363b
winex11: Grab the pointer in menu tracking mode too.
2008-03-24 17:59:40 +01:00
Alexandre Julliard
5787c12ba6
winex11: Setting window z-order using a sibling doesn't work with some window managers.
...
So let's see what happens if we don't set z-order at all in that case.
2008-03-24 15:47:28 +01:00
Alexandre Julliard
af369106db
winex11: Clip out children window when repainting the desktop.
2008-03-18 12:42:25 +01:00
Alexandre Julliard
dc26f27835
winex11: Moved support for window moving/resizing back to user32.
2008-03-12 15:01:24 +01:00
Alexandre Julliard
51d3d620cf
winex11: Reset the cursor window when re-creating the client window.
2008-03-05 20:52:14 +01:00
Alexandre Julliard
3b6f95c663
winex11: Add a DestroyNotify handler to catch a situation that is not supposed to happen.
2008-03-05 16:51:09 +01:00
Alexandre Julliard
7af2a9a902
winex11: Avoid depending on win.h.
2008-02-29 13:44:55 +01:00
Alexandre Julliard
936ab3a644
user32: Moved the ShowWindow implementation from winex11 back to user32.
2008-02-28 17:01:30 +01:00
Alexandre Julliard
63dd1a02ca
winex11: Merge the iconification support into the SetWindowPos driver backend.
2008-02-28 17:01:10 +01:00
Dmitry Timoshkov
cfcacdf554
winex11: Add a workaround for Metacity being too strict and disabling fullscreen support for not resizable windows.
2008-02-28 13:15:03 +01:00
Alexandre Julliard
5a5344b4ad
winex11: Added tracking of the WM_STATE window property.
2008-02-27 19:11:43 +01:00
Alexandre Julliard
dba8ad5751
winex11: Use the same full screen test in is_window_managed and update_wm_states.
2008-02-25 19:48:07 +01:00
Alexandre Julliard
a268725922
winex11: Get rid of the visual id property, we are using the default now.
2008-02-25 16:06:08 +01:00
Alexandre Julliard
1642fbcbc2
user32: Moved the DCE support from winex11 back to user32.
...
Window and class DCEs are now allocated lazily.
2008-02-25 15:59:19 +01:00
Alexandre Julliard
f13ef6b898
winex11: Force the client dimensions to at least 1x1 in sync_gl_drawable.
2008-02-22 16:30:10 +01:00
Alexandre Julliard
42ad345852
winex11: Re-create the client window when setting the pixel format on a top-level window.
2008-02-22 10:40:22 +01:00
Alexandre Julliard
e9307d09a6
winex11: Keep track of the window colormap and free it on destroy.
2008-02-21 20:23:32 +01:00
Alexandre Julliard
8ee07d49ae
winex11: Re-introduce a separate X11 window for the client area of top-level windows.
2008-02-21 12:53:00 +01:00
Alexandre Julliard
125793df0e
winex11: Move the raising of windows on SetFocus to the X11 driver where it belongs.
2008-02-18 17:22:51 +01:00
Alexandre Julliard
e6dfbcb07f
winex11: Check for managed mode in create_whole_window again now that it is called lazily.
2008-01-25 12:07:11 +01:00
Alexandre Julliard
d6f6745c9c
user32: Moved the bulk of CreateWindow and SetWindowPos from the driver back into user32.
2008-01-24 11:23:09 +01:00
Alexandre Julliard
8913182b89
winex11: Check for need to make window managed when WS_VISIBLE is set outside of SetWindowPos.
2008-01-24 10:21:07 +01:00
Alexandre Julliard
026974f5be
winex11: Create the window data structure lazily, once the window is made visible.
2008-01-24 10:20:51 +01:00
Alexandre Julliard
b6cc7f9bcc
winex11: Don't create a win_data structure for the root window in non-desktop mode.
2008-01-24 10:20:11 +01:00
Alexandre Julliard
cbdf1294e6
winex11: Export a function to dock a window into the system tray, and get rid of the WS_EX_TRAYWINDOW style.
2008-01-23 21:40:45 +01:00
Alexandre Julliard
d147e02087
winex11: Remove obsolete code to set Z-order for child windows.
2008-01-23 21:39:32 +01:00
Alexandre Julliard
e929e3b603
winex11: Get the icon from the window in case it was changed before the whole window was created.
2008-01-23 16:41:09 +01:00
Alexandre Julliard
12d1d4041a
winex11: Set icon hints on non-managed windows too, since they may become managed later on.
2008-01-23 16:40:19 +01:00
Alexandre Julliard
3ba20257ce
winex11: Set hints for the existing window text when creating the whole window.
2008-01-23 16:32:55 +01:00
Alexandre Julliard
395928dfb1
winex11: Apply the existing window region (if any) when creating the whole window.
...
Move X11DRV_SetWindowRgn to window.c.
2008-01-23 16:30:18 +01:00
Alexandre Julliard
9fc4e5f740
winex11: Add a mapped flag to the window data instead of relying on WS_VISIBLE.
2008-01-23 12:28:32 +01:00
Alexandre Julliard
c567556dfe
winex11: Move code around in X11DRV_SetWindowPos to reduce indentation levels.
2008-01-23 12:28:12 +01:00
Alexandre Julliard
bbfbe24681
winex11: Update the win data rectangles before doing anything else in SetWindowPos.
2008-01-23 12:28:01 +01:00
Alexandre Julliard
a76abc0322
winex11: Leave it up to explorer to specify the correct size and position for the desktop.
2008-01-23 11:31:07 +01:00
Alexandre Julliard
f1a0348b4e
winex11: Make the client rect relative to the parent window for consistency with the server side.
2008-01-22 20:08:56 +01:00