Commit Graph

265 Commits

Author SHA1 Message Date
Gaetan Nadon
c739beb439 .gitignore: use common defaults with custom section #24239
Using common defaults will reduce errors and maintenance.
Only the very small or inexistent custom section need periodic maintenance
when the structure of the component changes. Do not edit defaults.

Reviewed-By: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-11 21:40:20 -08:00
Jon TURNEY
ec5417b965 Cygwin/X: Ensure WM_STATE atom exists in multiwindow mode
Workaround a bug in iiimxcf (assuming the WM_STATE atom exists),
which can cause many Solaris clients to simply fail with a BadAtom
error

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:51 +00:00
Yaakov Selkowitz
aa860552fd Cygwin/X: Enable clipboard integration by default
Enable clipboard integration by default, can be turned off with -noclipboard.
We still accept -clipboard for backwards compatibility.  If both are passed,
the last one is accepted (just as other arguments are handled).

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:50 +00:00
Jon TURNEY
87b00ced3d Cygwin/X: Setup screen layout in Xinerama mode
Setup screen layout according to the screen window native window
positions in Xinerama mode

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:48 +00:00
Yaakov Selkowitz
26a69bbd9b Cygwin/X: Mount options have changed in cygwin-1.7
Mount options have changed in cygwin-1.7

Also fix a typo in the warning issued if /tmp is a textmode mount

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:46 +00:00
Paul Loewenstein
35901ece6a Cygwin/X: Handle fake keypresses generated by speech recognizers
Apparently, fake keypresses generated by speech recognizers may not bother
with a scan code, so look up what scan code corresponds to the virtual key
code if this occurs.

Patch by Paul Loewenstein <paul.loewenstein@gmail.com>

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:45 +00:00
Jon TURNEY
0866322b57 Cygwin/X: Always use an authorization cookie for internal clients
Don't conditionalize use of an authorization cookie for internal client
threads on XCSECURITY, always use one (this avoids certain problems
with XDMCP setups where the XDMCP host removes localhost from the access
list etc.)

Conditionalize the use of a XCSECURITY authorization descriptor on XCSECURITY

Consolidate the various places where the authorization cookie is set
for internal threads into a new function, winSetAuthorization()

Use authorization cookie for multiwindow WM X message thread as well

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:44 +00:00
Colin Harrison
72f81f4e44 Xming: Make -auth option work in with -multiwindow
Use an internally generated cookie for authentication of the internal
window manager client when using the -auth option in -multiwindow mode.

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-11-09 20:33:42 +00:00
Colin Harrison
6dbf8f27c8 Xming: Tidy up code for initial native window positioning
Tidy up code for initial native window positioning and avoid a
duplicate call to winMultiWindowGetTransientFor()

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:41 +00:00
Colin Harrison
091cbbaed7 Xming: Fix UT8String and CompoundText clipboard text sharing with windows clipboard
XConvertSelection() in libX11 always returns 1, so there is no point in
testing it incorrectly against Success. This is possibly a bug in
XConvertSelection()

This should fix UTF8String and CompoundText selection via the clipboard.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:39 +00:00
Jon TURNEY
9657eae5d6 Cygwin/X: Clearly diagnose a timeout while waiting for SelectionNotify event
Clearly diagnose a timeout while waiting for SelectionNotify event
in the clipboard integration internal client.
(which seems to be behind some of the reported failures)

Turn useless #if 0/ErrorF()/#endif into useful winDebug()

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:38 +00:00
Jon TURNEY
062f49a8e0 Cygwin/X: Add a workaround for a SWT/Motif bug to internal window manager
SWT/Motif expects all top-level windows to get reparented, and waits until they
do. So workaround that in our internal WM by forcing a reparent event to
occur, even though we don't actually need to reparent the window to
frame it (as the frame is a native window, not an X window)

http://sourceware.org/bugzilla/show_bug.cgi?id=9848
https://bugs.eclipse.org/bugs/show_bug.cgi?id=36806

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:36 +00:00
Jon TURNEY
71519a572f Cygwin/X: Fix typo in g_fAnotherWMRunning and tidy up WM detection code
Tidy up code for detecting another WM is already running
Fix typo g_fAnotherWMRunnig -> g_fAnotherWMRunning
Remove some unused event mask macros

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-11-09 20:33:35 +00:00
Colin Harrison
f3fad371cc Xming: Add FORCEEXIT option to configuration file
Add a new option to configuration file: FORCEEXIT, like SILENTEXIT
but ignores the client count. Unsaved client work may be lost with
this option but it is useful if you want no dialogs.

Add description of this new keyword to XWinrc man page

Also fix grammar of the exit confirmation dialog warning to be correct
when there is only one(1) client connected.

Also rearrange yacc tokens to one per line to make future merges
easier

Also amend default system.XWinrc so that SILENTEXIT is on by default

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:34 +00:00
Colin Harrison
019a601de6 Xming: Add mouse motion events with flag POINTER_SCREEN in winEnqueueMotion()
Add mouse motion events with flag POINTER_SCREEN in winEnqueueMotion(), as
they are in screen coordindates and may need to be scaled to the axis range
appropriately

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:33 +00:00
Colin Harrison
7af1240b57 Xming: Replace all the uses of deprecated functions in hw/xwin with current ones
Replace uses of LookupIDByType() and SecurityLookupIDByType()
with dixLookupResourceByType()

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:32 +00:00
Jon TURNEY
2a38f7c0db Cygwin/X: Remove a couple of extraneous '\n' in logged version info
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-11-09 20:33:31 +00:00
Yaakov Selkowitz
63f4bf3917 Fix make dist after 78c87bdad1
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-19 12:34:22 +09:00
Jon TURNEY
22b38f513c Cygwin/X: Avoid a potential null pointer dereference before input initialization
Avoid a null pointer dereference if WM_MOUSEMOVE occurred before
the input device had been initialized (a timing sensitive bug
occassionally seen during initialization)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-10-14 20:29:10 +01:00
Jon TURNEY
1b0dfd8dee Cygwin/X: Make -logverbose affect the verbosity of logging to the log file
Make -logverbose affect the verbosity of logging to the log file, not just the
verbosity of logging to the console

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2009-10-14 20:29:08 +01:00
Colin Harrison
83d120b904 Xming: Fix various 'ISO C90 forbids mixed declarations and code' warnings
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-10-14 20:28:11 +01:00
Colin Harrison
78c87bdad1 Xming: Remove unused X-boxed icon resource
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-10-14 11:00:30 +01:00
Colin Harrison
fdf7f7e95c Xming: update .rc file
Remove the obsolete DISCARDABLE flag in the .rc file
Replace the obsolete DIALOG resource with DIALOGEX in the .rc file

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2009-10-14 11:00:28 +01:00
Jeremy Huddleston
5b91dfac6f Rootless: Abstract some of the Xplugin specific stuff which has crept into rootlessWindow.c
The rootless extension now directly calls some Xplugin functions, and relies
on types defined in Xplugin.h, which isn't very abstracted :-)

This patch is a start at abstracting some of the Xplugin specific stuff which
has crept into rootlessWindow.c.  This has been done in a pretty mindless fashion,
without much thought as to if the additions to the generic rootless interface are
the correct ones

There is some confusion as to if RootlesscolormapCallback() returns a Bool or
xp_error_enum value (not so abstact), but I have no way of checking, of finding
out if Xplugin actually checks the result :-)

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

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-13 13:59:57 -07:00
Peter Hutterer
55747d256d input: define server-supported protocol versions in one single file.
include/protocol-versions.h specifies each extension version as supported by
the server and sent back on the wire to the client.

This fixes up several issues with the server potentially reporting a higher
version of the protocol if recompiled against a newer version of the
protocol.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Julien Cristau <jcristau@debian.org>
2009-09-21 21:47:35 +10:00
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