Commit graph

311 commits

Author SHA1 Message Date
Fred Kiefer
042f6f3761 * Source/x11/XGServerEvent.m (-processEvent:): Reenable
Richard's frontend based expose code.
        * Source/x11/XGServerWindow.m (-window::::, -_checkStyle:):
        Don't use CWBackPixel, as the window background may be different.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@38419 72102866-910b-0410-8b05-ffd578937521
2015-03-22 15:15:20 +00:00
Fred Kiefer
59723d8e42 * Headers/x11/XGGeneric.h
* Source/x11/XGServerWindow.m: Correct name for atom
        net_wm_state_modal_atom. Use this atom to try to set the sate
        for dialog windows to modal.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@38417 72102866-910b-0410-8b05-ffd578937521
2015-03-21 18:53:46 +00:00
Niels Grewe
51973502b0 Roll back addition of redundant method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37539 72102866-910b-0410-8b05-ffd578937521
2014-01-05 23:03:35 +00:00
Fred Kiefer
6cf28f1c50 * Source/x11/XGServerWindow.m(-_checkStyle:): Change NSLog into
NSDebugLLog.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37535 72102866-910b-0410-8b05-ffd578937521
2014-01-05 16:40:32 +00:00
Niels Grewe
d499d53e75 Add a method to GSDisplayServer that allows you to obtain the
identifier used by the backend's windowing system instead of
just the GNUstep-internal window number. On X11, the identifier
is useful, among other things, to implement the D-Bus menu 
protocol.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37533 72102866-910b-0410-8b05-ffd578937521
2014-01-01 19:45:26 +00:00
Fred Kiefer
91e1e5c8d4 * Source/x11/XGServerWindow.m (-_createBuffer, -windowbacking::,
-setWindowdevice:forContext:): Move code from last patch around a bit.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37475 72102866-910b-0410-8b05-ffd578937521
2013-12-18 22:34:20 +00:00
Eric Wasylishen
14d77dbfee * Source/x11/XGServerWindow.m (-_createBuffer): Fix a big
memory leak noticed by Riccardo with the cairo backend,
by #ifdef-ing out this method when using cairo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37471 72102866-910b-0410-8b05-ffd578937521
2013-12-18 17:40:21 +00:00
Fred Kiefer
664096b79b * Source/x11/XGDragView.m (-_xWindowAcceptingDnDDescendentOf:...):
Correct to work with kwin window decoration.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37460 72102866-910b-0410-8b05-ffd578937521
2013-12-13 15:03:09 +00:00
Fred Kiefer
b624d4a9a9 * Tools/xpbs.m (-xProvideSelection:): Leave enough space for all
possible types.
* Source/x11/XGDragView.m: Simplify D&D window detection code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37457 72102866-910b-0410-8b05-ffd578937521
2013-12-13 12:58:09 +00:00
Eric Wasylishen
b56aea123d * Source/x11/XIMInputServer.m: If the requested XIM style
(the GSXIMInputMethodStyle user default) is not available,
fall back to using a stlye that both the X server and
GNUstep support, if any. Also, add support for NoneStyle, which
is for simple input methods that don't have any visualization.
Problem reported and tested by Riccardo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37065 72102866-910b-0410-8b05-ffd578937521
2013-09-10 20:00:11 +00:00
Fred Kiefer
a5b102b243 * Source/x11/XGGLContext.m,
* Source/x11/XGGLFormat.m: Better error reporting by converting
  glGetError() to a string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37047 72102866-910b-0410-8b05-ffd578937521
2013-09-08 18:19:12 +00:00
Eric Wasylishen
3ec966768f * Source/x11/XIMInputServer.m: Add the setlocale(LC_CTYPE, "") call
back that I removed last year (r35152).

I tested the fcitx input method, and without the setlocale call,
XOpenIM would fail. I'm not sure what the best plan is in the long
term, I wanted to avoid calling setlocale from the core frameworks
but in this case xlib seems to require it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37002 72102866-910b-0410-8b05-ffd578937521
2013-08-21 22:30:15 +00:00
Fred Kiefer
6f2602b8dd * Source/x11/XGServerWindow.m (-setIgnoreMouse::): Completely
rewrite this method to use Xfixes.
        * Source/win32/WIN32Server.m (-setIgnoreMouse::): Implement a
        Windows version of this method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36861 72102866-910b-0410-8b05-ffd578937521
2013-07-09 21:23:20 +00:00
Fred Kiefer
e74cf49cda * Source/x11/XGServerWindow.m (-setIgnoreMouse::): New method
that allows to ignore mouse events for a window.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36855 72102866-910b-0410-8b05-ffd578937521
2013-07-08 20:46:07 +00:00
Ivan Vučica
9a67894038 ARGB visual is only picked if NSOpenGLPFAAlphaSize is specified in the pixel format.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36821 72102866-910b-0410-8b05-ffd578937521
2013-07-03 16:06:38 +00:00
Ivan Vučica
774b5092bd OpenGL context under X11 now picks up the best possible framebuffer that includes an alpha mask in the X visual info. The code is currently disabled as it needs more debugging.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36815 72102866-910b-0410-8b05-ffd578937521
2013-07-03 09:36:29 +00:00
Germán Arias
7f87663bd3 Don't delay sending events GSAppKitWindowMoved and GSAppKitWindowResized.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36765 72102866-910b-0410-8b05-ffd578937521
2013-06-28 01:44:24 +00:00
Fred Kiefer
7b2bd47f1f Fix compiler warnings reported by
Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36165 72102866-910b-0410-8b05-ffd578937521
2013-02-18 20:29:10 +00:00
Fred Kiefer
6c450e3ea6 Adopt to changes in gui.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36149 72102866-910b-0410-8b05-ffd578937521
2013-02-16 00:11:14 +00:00
Fred Kiefer
5a5f73e79c Silence warnings from clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36106 72102866-910b-0410-8b05-ffd578937521
2013-02-10 17:32:47 +00:00
Wolfgang Lux
ccde063b3e Fix for big endian machines.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35587 72102866-910b-0410-8b05-ffd578937521
2012-09-21 20:32:05 +00:00
Fred Kiefer
43fe122a1c * Source/cairo/CairoFontEnumerator.m: Allow for Windows default
fonts.
* Source/win32/w32_GLcontext.m,
* Source/x11/XGGLContext.m: Implement 10.6 methods to get/set
the CGLContextObj.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35419 72102866-910b-0410-8b05-ffd578937521
2012-08-17 13:32:44 +00:00
Eric Wasylishen
a8860a1493 * Source/x11/XIMInputServer.m: Remove the locale setting code.
Use the correct #ifdef check for Xutf8LookupString, and use
that function if available; otherwise use XLookupString.
Interpret the return value of XLookupString as Latin-1.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35152 72102866-910b-0410-8b05-ffd578937521
2012-05-13 02:41:30 +00:00
Eric Wasylishen
091480978b * Source/x11/XGServerEvent.m: Make the GSModifiersAreKeys
default to YES, by renaming the default to GSModifiersAreNotKeys.
This should fix bug 25659; for example, in Ink you can now
open the color panel with <Shift>+<Alt>+c or <Alt>+<Shift>+c.
* Documentation/Back/DefaultsSummary.gsdoc: Update docs for
GSModifiersAreNotKeys.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34984 72102866-910b-0410-8b05-ffd578937521
2012-03-23 00:13:09 +00:00
Wolfgang Lux
074b625584 Fix the brain-dead commits I made this morning.
Looks like I wasn't awake then ...


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34595 72102866-910b-0410-8b05-ffd578937521
2012-01-19 21:37:35 +00:00
Wolfgang Lux
fce27ac4bd Change order of atoms in client message; at least metacity seems to
ignore the _NET_WM_STATE_STICKY_ATOM otherwise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34590 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:44:50 +00:00
Wolfgang Lux
cc2cffa7e8 Add GS prefix to the names of the new user defaults.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34587 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:14:57 +00:00
Wolfgang Lux
8edd54c5fb Introduce new user defaults to respectively make app icons and mini
windows sticky (aka omnipresent).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34586 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:05:09 +00:00
Eric Wasylishen
d84def3af7 Revert mousewheel coalescing (r34553, r34554, r34558)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34582 72102866-910b-0410-8b05-ffd578937521
2012-01-18 21:35:59 +00:00
Eric Wasylishen
6866ad9961 * Source/x11/XGServerEvent.m (-processEvent:): Rewrite coalescing
code to only combine an uninterrupted set of scroll events.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34558 72102866-910b-0410-8b05-ffd578937521
2012-01-17 00:43:29 +00:00
Eric Wasylishen
3689ee5c35 * Source/x11/XGServerEvent.m (-processEvent:): Coalesce
mousewheel events


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34554 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:37:18 +00:00
Eric Wasylishen
47c06f7ca2 * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode
* Source/x11/XGServerEvent.m (-receivedEvent:type:extra:forMode:):
Only read one event from the xlib event queue, instead of all of them.
* Source/x11/XGServerEvent.m (-getEventMatchingMask:beforeDate:inMode:):
Remove call to -receivedEvent:type:extra:forMode:
* Source/x11/XGServerEvent.m (-discardEventsMatchingMask:beforeEvent:):
Remove call to -receivedEvent:type:extra:forMode:

These changes are an attempt to fix a bug where a steady stream
of X events can postpone autodisplay indefinitely. To see it, open
a long document in Ink and scroll with the mousewheel slowly but
continuously. If you scroll steadily enough, the window will not
update until you stop scrolling.

This occurs beacuse autodisplay only occurs when the AppKit event
queue is empty and the runloop runs, and without the above changes,
the AppKit event queue was filling up and not emptying until the
mousewheel events stopped arriving.

In the long run I think we should get rid of the AppKit event queue
and have XGServer override the default implementation of
-[GSDisplayServer getEventMatchingMask:beforeDate:inMode:dequeue:]
and related methods with custom ones that interact
directly with the Xlib event queue.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34553 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:33:45 +00:00
Fred Kiefer
fb1f42cbee Revert change to use AltGr as Alt key. You may still get the same result
by setting a user default.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34225 72102866-910b-0410-8b05-ffd578937521
2011-11-28 17:00:50 +00:00
Fred Kiefer
6e7cc10890 * Source/x11/XGGLFormat.m (-assembleGLXAttributes:): Use
GLX_BUFFER_SIZE for NSOpenGLPFAColorSize instead of setting all
the single colour sizes, which was wrong.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34136 72102866-910b-0410-8b05-ffd578937521
2011-11-07 20:53:54 +00:00
Fred Kiefer
5454ce9e20 Use XK_ISO_Level3_Shift as second alternate key and document this change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34130 72102866-910b-0410-8b05-ffd578937521
2011-11-07 09:41:38 +00:00
Eric Wasylishen
696978c4ab * Source/x11/context.c: check for NULL from XRenderFindVisualFormat
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34120 72102866-910b-0410-8b05-ffd578937521
2011-11-04 18:04:12 +00:00
Fred Kiefer
8d50a6cef9 * Headers/x11/XWindowBuffer.h: Bracket even more usage of shm in
conditional compilation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34034 72102866-910b-0410-8b05-ffd578937521
2011-10-20 08:34:49 +00:00
Fred Kiefer
3cc89b962e Protect usage of shape extension.
Should fix bug #34552.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34016 72102866-910b-0410-8b05-ffd578937521
2011-10-17 11:28:54 +00:00
Fred Kiefer
bc7f059583 * Source/x11/XGDragView.m (GSActionForDragOperation,
GSDragOperationForAction): Corrected drag type conversion.
  Patch by Andreas Schick <andreas.schik@googlemail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33829 72102866-910b-0410-8b05-ffd578937521
2011-09-12 09:18:29 +00:00
Eric Wasylishen
337ce46bba * Source/win32/WIN32Server.m (-resolutionForScreen:):
Scale the result by 0.75 so the Windows default of 96 DPI is
mapped to the GNUstep default of 72 DPI. While this sounds wrong,
72 and 96 are just "virtual" DPI's; both mean 1 point = 1 pixel,
so it's actually the right thing to do.
* Source/x11/XGServerWindow.m (-resolutionForScreen:):
Comment out the implementation and just return 72 for now,
because I'm not sure if we can trust the value the X server
gives us.

NOTE: Currently -gui ignores these methods and only looks at the
GSScaleFactor user default. I'm going to make -gui use the server
values now, because it's safe to do so on Windows (the system
DPI is set by the user, and affects all applications.)

NOTE: We might consider refactoring these methods to be called
scaleFactorForScreen: to make it clearer what they do.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33658 72102866-910b-0410-8b05-ffd578937521
2011-07-30 20:39:10 +00:00
Eric Wasylishen
726d4a0801 * Source/x11/XGServerWindow.m: Add Xcursor support (for RGBA
imagecursor support.) configure test is still TODO, so it isn't
compiled in at the moment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33563 72102866-910b-0410-8b05-ffd578937521
2011-07-15 19:05:44 +00:00
Eric Wasylishen
1554a718dc * Headers/x11/XGGeneric.h
* Source/x11/XGServerWindow.m: Add new netwm window state atoms


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33549 72102866-910b-0410-8b05-ffd578937521
2011-07-14 19:09:17 +00:00
Wolfgang Lux
938f716f55 Enlarge protocol array to make space for the _NET_WM_SYNC_REQUEST
protocol atom.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33224 72102866-910b-0410-8b05-ffd578937521
2011-06-01 20:56:27 +00:00
David Chisnall
7d3d3852c9 Call NSZoneFree() on pointer allocated with NSAllocateCollectable(), not free(). This is a no-op in GC mode, and will free the memory in non-GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33148 72102866-910b-0410-8b05-ffd578937521
2011-05-27 13:53:57 +00:00
David Chisnall
1b26d9be44 Use NSAllocateCollectable() for some things that store pointers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33106 72102866-910b-0410-8b05-ffd578937521
2011-05-24 16:37:26 +00:00
Eric Wasylishen
5ece9220eb * Source/x11/XGServerWindow.m:
* Source/x11/XGServer.m:
* Source/x11/XGServerEvent.m:
* Headers/x11/XGGeneric.h:
* Headers/x11/XGServerWindow.h:
* Headers/x11/XGServer.h:
Implement the _NET_WM_SYNC_REQUEST protocol described here:
http://standards.freedesktop.org/wm-spec/1.3/ar01s06.html

This is supposed to make window resizing smoother when dragging
a resize handle provided by the window manager, by waiting to
change the window manager's frame until the GNUstep window is
finished repainting.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33045 72102866-910b-0410-8b05-ffd578937521
2011-05-15 08:37:44 +00:00
Fred Kiefer
0f82f1a833 Fixes warnings reported by clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32823 72102866-910b-0410-8b05-ffd578937521
2011-04-09 17:10:49 +00:00
Fred Kiefer
80eab30de7 Extract the bitmap conversion into a local function and use it througout the file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32643 72102866-910b-0410-8b05-ffd578937521
2011-03-18 09:29:01 +00:00
Fred Kiefer
8913452ffc Change the way the image for the cursor gets passed on to the backend.
The old way could only work for 8 bit data.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32492 72102866-910b-0410-8b05-ffd578937521
2011-03-07 19:45:20 +00:00
Fred Kiefer
5125141980 Implement the ne cursor backend methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32180 72102866-910b-0410-8b05-ffd578937521
2011-02-15 22:54:51 +00:00