Commit graph

1059 commits

Author SHA1 Message Date
anthony
20182c8ec8 Cairo: Default font hinting to off when GSScaleFactor is set to values other than 1.0 2022-01-24 09:56:03 +00:00
Riccardo Canalicchio
977b375feb wayland: use GSStandardWindowDecorationView to hit-test cursor clicks 2021-12-29 14:29:44 +01:00
Fred Kiefer
9c7c878717
Merge pull request #35 from nongio/wayland-pointer
Wayland backend pointer events and cursor images
2021-12-27 17:52:47 +01:00
Riccardo Canalicchio
89280c0e3e code formatting 2021-12-27 15:21:03 +01:00
Fred Kiefer
06be91b267
Merge pull request #34 from nongio/wayland-shm-surface
Wayland shm surface
2021-12-27 13:29:36 +01:00
Riccardo Canalicchio
ec500d2bfb wayland backend: libs-gui api change _menu 2021-12-27 10:00:02 +01:00
Riccardo Canalicchio
cc7af18075 wayland backendL capture mouse bugfix 2021-12-27 09:53:15 +01:00
Riccardo Canalicchio
a240d1b4d8 wayland cursor: capture and release methods 2021-12-22 07:50:34 +01:00
Riccardo Canalicchio
2683cdd8ab Wayland backend: cursor event serial 2021-12-20 00:12:13 +01:00
Riccardo Canalicchio
54b2b172d8 Wayland backend: cursor icon functions 2021-12-20 00:11:48 +01:00
Riccardo Canalicchio
5db58c071d Wayland backend: window ignoreMouse 2021-12-20 00:11:41 +01:00
Riccardo Canalicchio
00b7183f84 Wayland backend: cursor handlers 2021-12-20 00:11:32 +01:00
Gregory Casamento
e106932ae0
Merge pull request #33 from nongio/wayland 2021-12-14 12:47:06 -05:00
Riccardo Canalicchio
79be4acfba WaylandCairoShmSurface: fix memory leak, handling buffer release 2021-12-13 22:27:31 +01:00
Riccardo Canalicchio
317ca762a3 rename WaylandCairoShmSurface 2021-12-13 22:27:22 +01:00
Riccardo Canalicchio
96f07c13f7 Wayland server: remove attach calls from server, surface attach is delegated to cairo surface 2021-12-13 22:23:59 +01:00
Riccardo Mottola
637baa2d91 make cast to float explicit 2021-12-03 02:04:47 +01:00
Riccardo Canalicchio
91a1479193 Wayland server: code formatting
using clang-format from:
https://github.com/gnustep/libs-base/blob/master/.clang-format
2021-11-23 14:00:01 -05:00
Riccardo Canalicchio
114743a5d0 wayland backend: refactor logs 2021-11-09 03:23:08 -05:00
Riccardo Canalicchio
5967015078 wayland backend: window move/resize 2021-11-06 08:09:26 -04:00
Riccardo Canalicchio
502dde25f5 wayland backend: surface roles based on window level 2021-11-06 08:07:44 -04:00
Riccardo Canalicchio
6a9e97660d wayland backend: change logs to debuglog 2021-10-28 02:35:31 -04:00
Riccardo Canalicchio
30ceacc90d wayland backend: refactor code, split into categories 2021-10-25 07:38:15 -04:00
Riccardo Canalicchio
7b87b268e3 wayland backend: layer shell 2021-10-25 03:13:35 -04:00
Riccardo Canalicchio
1d74e36258 wayland backend:re-attach surface on ExposeRect 2021-10-19 02:10:45 -04:00
Riccardo Canalicchio
e7ab056264 wayland backend:implement xdg ping/pong handler
this prevents the client from being considered unresponsive
2021-10-18 13:39:58 -04:00
Riccardo Canalicchio
c6ce795898 wayland backend: delayed toplevel creation 2021-10-18 03:37:02 -04:00
Fred Kiefer
9299fa1f93 * Source/x11/XGServerWindow.m (-styleoffsets:...:): Change NSLog
statement on guessing the offset into a NSDebugLLog statement.
2021-03-12 17:40:08 +01:00
rmottola
8640bfafe3 use consistently GetWindowLongPtr also for Cairo on Windows 2021-03-04 15:12:34 +01:00
rmottola
d5abf2ff1c actually store in a LONG_PTR the result of GetWindowLongPtr 2021-03-03 20:58:05 +01:00
rmottola
aad896a260 use consistently GetWindowLongPtr also for Cairo on Windows 2021-03-03 20:53:01 +01:00
rmottola
da9e53c608 upgrade consistently [Set,Get]WindowLong to [Set,Get]WindowLongPtr 2021-03-02 22:13:22 +01:00
Sergii Stoian
e5cdc1747b * Source/x11/XGServerWindow.m (_checkStyle:): do not set application
name and WindowGroupHint to temporary window. Created window designed
to help get window frame offsets only - appicon window will be created
later. This change prevents appicon flickering on WindowMaker at
application start.
(_createWMAppiconHack, _setupRootWindow): WindowMaker hack removed in
favour of solution introduced in _checkStyle:.
2021-01-27 15:37:27 +02:00
Sergii Stoian
3f3c1305a9 2021-01-24 Sergii Stoian <stoyan255@gmail.com>
* Source/x11/XGServerWindow.m: WindowMaker doesn't support
  _NET_REQUEST_FRAME_EXTENTS message andthe only way to determine offsets
  is creating and mapping window. In this case first mapped window of
  application is not appicon window.
  Early appicon creating inserted back as _createWMAppiconHack method and
  called only if no other way to determine window's offsets (before call to
  _checkStyle);appicon window size is set to size icon;
2021-01-24 02:45:29 +02:00
Sergii Stoian
0bbb7a0915 Author: Sergii Stoian <stoyan255@gmail.com>
--- log message follows this line --
* Source/x11/XGServerWindow.m: removed code commented out in
  previous commit.
2020-09-19 01:48:00 +03:00
Sergii Stoian
31b7c4ed2f * Source/x11/XGServerWindow.m
(_setupRootWindow, window::::): removed WindowMaker appicon hack and
  - now unused - _wmAppIcon variable.

  Description: The removed code removed creates and maps zero-sized
  window in hope that WindowMaker will recognize app by this event and
  create app icon window. Although when application requests window
  for appicon through the `-window::::` method call, it returns newly
  created and mapped window. This actually happens but application icon
  flickers between WM icon creation and application icon window appearance.

  This fix based on the fact that root application window (ROOT) is mapped
  in `-orderwindow:::` and this is the event of application recognition
  by WindowMaker because it is a first application window that is
  mapped.
2020-09-18 16:15:14 +03:00
Sergii Stoian
fa4549e522 * Source/x11/XGServerEvent.m (_handleTakeFocusAtom:forContext:):
space before argument was added.
2020-09-17 12:00:38 +03:00
Sergii Stoian
df32af71fc * Source/x11/XGServerEvent.m
(_handleTakeFocusAtom:forContext:): if application (window) receives
  WM_TAKE_FOCUS in hidden state it means WindowMaker wants us to be
  unhidden.

  Description: There are 2 protocols defined in XGServerWindow.h:
  WMFHideApplication and WMFHideOtherApplications. These protocols exist
  to help GNUstep application and WindowMaker notify each other
  about "Hide" and "Hide Others" actions. There are no protocols for
  "unhide" action.

  Test case steps:
  1. Open application with window opened.
  2. Hide application with "Hide" menu item.
  3. Open WindowMaker's "Windows" menu (middle-click on desktop).
  4. Select hidden application window.
  Application unhides, activates, restored window is focused (receives) input
  and "Hide" menu item unselected.
2020-09-17 01:42:32 +03:00
Sergii Stoian
d970554391 * Source/x11/XGServerWindow.m
(hideApplication:): send application's root window to WindowMaker (WM)
  because it's a "group leader" that clearly identifies application
  inside WM. WM uses XFindContext to get WApplication structure and
  "group leader" window ID is a key to find it.
2020-09-16 09:24:48 +00:00
Riccardo Mottola
95f8546eec Match return value in case of error (nil instead of NO) 2020-06-18 00:54:32 +02:00
fredkiefer
e929b48e0b * Headers/fontconfig/FCFaceInfo.h: Add instancevariable _patternIsResolved.
* Source/fontconfig/FCFaceInfo.m (-matchedPattern): Cache the
resolved pattern and return this. The method characterSet now uses
this cached pattern.
Patch by Josh Freeman <gnustep_lists@twilightedge.com>
2020-06-10 18:24:51 +02:00
Patrick Georgi
aebcc4b7fe Fix a bunch of typos
Taken from the Debian "gnustep-back" package sources, which attribute
these changes to:

Author: Eric Heintzmann <heintzmann.eric@free.fr>
Author: Yavor Doganov <yavor@gnu.org>
2020-05-29 08:21:55 +02:00
Ivan Vučica
bf4efe9d36
wayland: Added a small readme noting some backend-specific information. 2020-04-25 18:23:49 +01:00
Ivan Vučica
8f0cc1b0ca
wayland: Write down TODOs for cairo_surface doublebuffering to itself and for mouse wheel axis_source. 2020-04-25 18:12:43 +01:00
Ivan Vučica
f8b8609e70
wayland: Implement -[WaylandServer mouselocation]. 2020-04-25 18:12:42 +01:00
Ivan Vučica
67e352b83e
wayland: Deleted the useless override of -[GSDisplayServer windowlist]. 2020-04-25 18:12:42 +01:00
Ivan Vučica
c6e9ee857f
wayland: Support mouse middle click and smooth scroll wheel events. 2020-04-25 18:12:41 +01:00
Ivan Vučica
12f1d48772
wayland: Remove the 'fake drawing' branch. 2020-04-25 18:12:41 +01:00
Ivan Vučica
de9a8b36c3
wayland: Performed some investigation into freeing WaylandCairoSurface memory. 2020-04-25 18:12:40 +01:00
Ivan Vučica
b294b7f1b9
wayland: In case *stable* XDG Shell protocol isn't supported, be more informative.
The exception was not very informative about why exactly the
error message may occur. Weston in Debian buster doesn't
support the stable XDG Shell protocol, for instance, and
triaging this took some effort.
2020-04-25 18:12:40 +01:00