Commit Graph

240 Commits

Author SHA1 Message Date
Colin Harrison
a400dbb38f Xming: Add NET_WM_ICON to native icon conversion
fd.o bugzilla #4491
originally from a patch by Joe Krahn <jkrahn@nc.rr.com>

Convert a NET_WM_ICON to a native icon by converting to a native
bitmap and then using CreateIconIndirect()

Don't use icon alpha on Windows 2000 or if display isn't 32-bit, convert
alpha channel to a 1-bit transparency mask using a threshold value

Fix warning in winScaleXBitmapToWindows() about signedness of *iconData

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-08-12 17:56:06 +01:00
Colin Harrison
de2ae521ab Xming: Use RegisterClassEx() instead of superseded RegisterClass()
RegisterClass is supserseded by RegisterClassEx, so change to using that everywhere

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-29 17:05:17 +01:00
Colin Harrison
764ce6ee68 Xming: Use GetClassLongPtr() instead of superseded GetClassLong()
GetClassLong() is superseded by GetClassLongPtr(), so change to using that
2009-07-29 17:05:15 +01:00
Colin Harrison
0524420622 Cygwin/X: use GWLP_WNDPROC, GWLP_USERDATA with Get/SetWindowLongPtr
Missed from commit b3751454cb

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-28 15:17:47 +01:00
Colin Harrison
b3751454cb Cygwin/X: Update Get/SetWindowLong() to Get/SetWindowLongPtr() everywhere
Get/SetWindowLong() is superseded by Get/SetWindowLongPtr(), so change to
using that everywhere it remains

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-26 15:15:37 +01:00
Jon TURNEY
afc3e3b595 Cygwin/X: winInitMultiWindowClass() should be static
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-21 16:19:40 +01:00
Peter Hutterer
aa19d35512 xwin: switch to byte counting functions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-14 10:14:01 +10:00
Jon TURNEY
48a9d65b88 Cygwin/X: Window positioning improvements for multiwindow mode
A few tweaks to winUpdateWindowPosition():

* Don't allow window decoration to disappear off to top or left edge of the
display as a result of adjustments to add decoration for the window style

* Honour the position requested by window geometry for the client area (so
windows which save their position don't get moved by the decoration width
every time they are created) (unless we need to bump it away from top or left edges)

* Fix an issue with initial window placement being offscreen on multimonitor
systems when some monitors have negative coordinates (are to the left of or
above the primary monitor)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-07 15:03:43 +01:00
Colin Harrison
a49ae50370 Xming: Apply window style hints in -multiwindow mode
Remove frames from 'dock' windows and make them topmost in -multiwindow mode.
Remove frames from windows with MOTIF_WM_HINTS of no decorations in -multiwindow mode.
Apply some _NET_WM_STATE hints in -multiwindow mode.
Apply window styles overrides from .rc file
Correctly update region of shaped windows when applying styles

Copyright (C) Colin Harrison 2005-2009
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/
2009-07-03 11:19:38 +01:00
Joe Krahn
17e67c407d Cygwin/X: Change to a single native window class for all X windows
from fd.o Bugzilla #4491:

There is no point in having one class for every window, aside from trying to
set custom icons via the class, which we no longer do, so converted to using
a single class for all client windows.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-07-03 11:19:27 +01:00
Jon TURNEY
65d74d9314 Cygwin/X: Fix multiwindow extwm mode to build again
Build and link with rootless extension
Update Xwin code for removal of RootlessAccelInit()
Fix Xwin code which now has a collision with the type name EventType

Based on patches from Colin Harrison, Jon Turney and Yaakov Selkowitz

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-29 18:00:03 +01:00
Jon TURNEY
638ca9a7a2 Cygwin/X: Avoid a visual glitch on window move in rootless modes
Handle and ignore WM_ERASEBKGND since we repaint the entire invalidated region anyhow
(this avoids a white flickering on window resize)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-29 17:54:40 +01:00
Jon TURNEY
b718b2e088 Cygwin/X: Allow pointer warping to work in rootless modes
Mouse pointer warping in multiwindow/rootless mode was never implemented,
due to concerns that moving the mouse pointer without asking might be rude

This patch allows X applications to move the mouse pointer in rootless modes,
Let's hope they don't abuse this privilege ;-)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-29 17:54:38 +01:00
Jon TURNEY
85614946ba Cygwin/X: Improve mouse tracking for moving/resizing undecorated windows
In -multiwindow mode, tell Windows we wish to capture the mouse when a button
is down.  This causes Windows to continue to send movement events for the mouse
even if the mouse pointer moves outside the window frame.

This helps greatly with undecorated windows which have regions you can grab
to move (e.g. gmplayer, xine control panels) or resize (e.g. Songbird) the
window, as it means the window continues to receive the mouse motion even if the
mouse pointer  moves out of the window (which presumably happens if we don't
manage to update the window fast enough to track the mouse pointer)

Consolidate the multiple instances of the code to start the mouse position
polling timer into a new function winStartMousePolling(), and use that to
restart the polling timer when we release the mouse.

Also, start the timer on WM_SHOW, so that xeyes will track the mouse position
when it is first shown, even if the mouse doesn't enter it's window
(You probably need focus-stealing turned off to see this problem)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-29 17:54:35 +01:00
Yaakov Selkowitz
f351c10a97 Cygwin/X: Man page fixes
Correct path names in man pages, using cpprules.in
Install XWinrc man page into section 5

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-29 17:54:33 +01:00
Yaakov Selkowitz
33e2514336 Cygwin/X: add hebrew to autodetected keyboard layouts
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-23 21:07:03 +01:00
Jon TURNEY
b079945c39 Cygwin/X: more warnings fixes
More warning fixes, mainly removing casts on function return values

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-23 21:02:48 +01:00
Jon TURNEY
e79db6a97d Cygwin/X: Remove an obsolete mention of xf86Config
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-23 21:02:38 +01:00
Jon TURNEY
cd8abd17ab Cygwin/X: Fix permuted args to InitPointerDeviceStruct()
Fix a minor error in commit a30fef9956,
new btn_labels argument to InitPointerDeviceStruct() wasn't added in
the right place
2009-06-17 14:22:35 +01:00
Peter Hutterer
a30fef9956 input: Add labels to buttons and valuators - ABI_XINPUT_VERSION 7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-18 14:41:47 +10:00
Colin Harrison
8035223003 Xming: Simplify logic for ownership release of native clipboard
Make the logic simpler for the ownership release of the Windows
clipboard in winclipboardwrappers.c - We've already marked a selection
as unowned if it is owned by our clipboard window

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-10 14:00:43 +01:00
Jon TURNEY
c7d3965bee Cygwin/X: Add a needed inputstr.h
Add a needed inputstr.h to fix build after commit 6d4ffcc9e0

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-10 13:13:49 +01:00
Jon TURNEY
ef0e435052 Cygwin/X: Remove obsolete ChangeLog files
Remove obsolete ChangeLog files, this information is preserved in
the automatically generated top-level ChangeLog
2009-06-05 19:29:02 +01:00
Jon TURNEY
752508577a Cygwin/X: Tidy up a bodge to avoid collision between X header and native Win32 API definitions of ATOM
Remove a bodge to avoid collision between X header and the native
Win32 API definitions of ATOM, use X11/Xwindows.h which exists to
address these issues

Consequently, include misc.h in winclipboardthread.c, to provide the
max() macro, as previously we were using the the one from windows.h

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-06-05 19:22:16 +01:00
Adam Jackson
e1e8c7ddd7 s/MIN/min/, s/MAX/max/ (#2968) 2009-06-03 13:45:42 -04:00
Joe Krahn
996357e905 Cygwin/X: Update icons directly, rather than modifying the window's class
Update icons directly to windows rather than modifying
the window's class.  Respect custom icons overriden via
the configuration file.

fd.o bugzilla #4491

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:14:32 +01:00
Jon TURNEY
9955252564 Cygwin/X: Remove unused TimeSinceLastInputEvent()
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:14:10 +01:00
Colin Harrison
966c8fccf1 Xming: Fix some log spam
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:13:11 +01:00
Colin Harrison
d190a27a33 Xming: Various tidy ups in winClipboardFlushXEvents()
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:12:51 +01:00
Colin Harrison
fbe9ed27b1 Xming: Avoid log spam if a windows application won't provide CF_UNICODETEXT clipboard format
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:12:31 +01:00
Colin Harrison
71ba9856a4 Xming: Cache atom lookups in clipboard integration code
Cache the CLIPBOARD atom lookups in winClipboardWindowProc()
Cache atom lookups in winClipboardFlushXEvents()
Recache on server regeneration

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:12:12 +01:00
Colin Harrison
4ec110327b Xming: Prevent the mouse wheel from stalling when another window is minimized.
Fix internal WM to prevent the mouse wheel from stalling when another window is minimized.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:11:54 +01:00
Jon TURNEY
888e6961a4 Cygwin/X: Correctly allow for the native window frame width in ValidateSizing()
Fix internal WM to correctly calculate the native window border when validating window sizing

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:11:36 +01:00
Joe Krahn
a72865868f Cygwin/X: Consolidate dialog initialization in winInitDialog()
Changed windialogs.c to set icons via window properties rather than class
properties, and use LoadImage() for small icons, because LoadIcon() can only open
large icons. Since this code is redundant across the dialogs, I put it in the
winCenterDialog function, along with a few other redundant instructions, and
renamed in winInitDialog().

Also, don't bogusly put our dialogs at the center of the virtual desktop if we
are on a multimonitor system (this causes the dialog to end up split across two
monitors in a dual-monitor side-by-side setup)

Corrections to use HWND_TOPMOST instead of HWND_TOP and not to use SWP_NOZORDER
from Colin Harrison

fd.o bugzilla #4491

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:11:18 +01:00
Colin Harrison
d053c3b35f Xming: Slightly adjust the formatting of the logged command line
Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-27 14:11:00 +01:00
Jon TURNEY
8331bde0ad Cygwin/X: link with libmain.a to provide main()
Commit 987579c930 moves main.c into
into libmain.a to be linked with separately, and updates the various
DDXs to link with libmain.a, except Xwin, which also needs this change.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-05-18 14:48:26 +01:00
Jon TURNEY
10dcf3ed9c Cygwin/X: Fix keyboard layout mapping for Latin American keyboards
Fix keyboard layout mapping table entry for Windows keyboard layout 0x80a
(Latin American), layout should (now) be 'latam', not 'la' which is Laos

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-22 13:08:42 +00:00
Colin Harrison
0065896e1a Xming: Update keyboard layouts mapping table
An update to the keyboard layout mapping table which updates some no longer valid keyboard layout names
(e.g. de_CH -> ch -variant de) and adds a few more reported layouts

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:07:46 +00:00
Colin Harrison
d7c27bfe55 Xming: Check clipboard selection ownership after taking it
When you take ownership of a selection you should always check you got
it (X11 ICCCM gospel).

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:07:30 +00:00
Colin Harrison
cb6315072f Xming: Fix a memory leak in clipboard integration code
Free the memory allocated for ReturnData in FlushXEvents().

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:07:13 +00:00
Colin Harrison
d54d24dd5f Xming: Fix prototype for winProcessXEventsTimeout() in clipboard integration code
Function 'winProcessXEventsTimeout()' is declared 'static Bool' and
defined 'static int' (correct) in 'winclipboardwndproc.c'. This has been
wrong since dot, but luckily was of no significance

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:06:57 +00:00
Colin Harrison
d8bae80305 Xming: Improve clipboard integration startup in XDMCP mode
Improve clipboard integration startup in XDMCP mode
Stop the "Clipboard not yet started, aborting" message from spamming the log.

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:06:40 +00:00
Colin Harrison
7cb1622ce4 Xming: Select events correctly in clipboard integration code
The clipboard should only select PropertyChange events and do this on
the correct window, the messaging window for the clipboard not the root
window!

Copyright (C) Colin Harrison 2005-2008
http://www.straightrunning.com/XmingNotes/
http://sourceforge.net/projects/xming/

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:06:25 +00:00
Colin Harrison
b997b3849d Xming: Add Colin Harrison to copyright and authors list for clipboard integration files
Add Colin Harrison to copyright and authors list
Adjust license text for multiple authors

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:06:10 +00:00
Jon TURNEY
5ff289834d Cygwin/X: Place prototype for winSelectIcons() in a header file
Fixes warning as prototype is now in scope for the definition

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:05:53 +00:00
Jon TURNEY
ab2c98b86f Cygwin/X: Place prototypes for winCheckKeyPressed() and winFixShiftKeys() in a header file
Fixes warnings as they are now in scope at the definition

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:05:13 +00:00
Jon TURNEY
cc7a4c7c6e cygwin/X: Remove an unused variable to fix a warning
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:04:32 +00:00
Jon TURNEY
7c2fb098b2 Cygwin/X: Fix several prototypes to return HICON
Fix prototypes of winOverrideIcon(), winTaskbarIcon() and winOverrideDefaultIcon() to return HICON
Also use HICON type in WINPREFS stucture
Remove various casts these changes make unnecessary

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:04:17 +00:00
Jon TURNEY
19b3e44ce5 Cygwin/X: Fix -Wold-style-definition warnings
Fix old-style definition warnings caused by definitions with empty
parameter lists "()", which should be "(void)" to indicate the function
takes no parameters, rather than unspecified parameters

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-12 12:03:55 +00:00
Jon TURNEY
4475ae036c Cygwin/X: Fix compilation for mandatory XKB
Fix a stray '}'
Update to use RMLVO interface
Remove g_winInfo.xkb.disable, can never be set since noXkbExtension has been removed
Change to retrieve modifier key state using XkbStateFieldFromRec() from Colin Harrison
Update to use XKB defaults from xkb-config.h

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-02-02 17:51:50 +00:00