Commit Graph

74 Commits

Author SHA1 Message Date
ManoloFLTK
2af1da4ff4 Wayland: simpler implementation of "GTK Shell" protocol 2024-05-06 09:29:32 +02:00
ManoloFLTK
7ec6f96d9c Add "fl_" prefix to libdecor symbols when using the built-in copy of libdecor
This allows client apps to use other versions of libdecor if they wish,
just like what FLTK already does with libpng and libjpeg.
2024-04-20 13:35:53 +02:00
ManoloFLTK
e6957fc2f5 Allow libdecor package version ≥ 0.2.0 with FLTK_USE_SYSTEM_LIBDECOR 2024-04-18 19:32:47 +02:00
Albrecht Schlosser
b53b2b6e11 CMake: Remove "-no-pie" build option
libdecor/build/Makefile: unused anyway (previously used building demos)

src/CMakeLists.txt: broke some user builds, see fltk.general, thread
  "-no-pie in FLTK Libraries build." (Mar 17, 2024).

Todo: check usage of "-fPIC" (libdecor builds)
2024-03-21 14:27:29 +01:00
ManoloFLTK
82bd0b6652 Have FLTK use libdecor at version > 0.2.2
- it's no longer necessary to take care of the change in the layout of "struct libdecor"
between versions ≤ 0.2.2 and > 0.2.2 of libdecor
- version > 0.2.2 contains MR131, that is, it defines LIBDECOR_WINDOW_STATE_RESIZING
so the hack to emulate it is no longer  necessary
- CMake option FLTK_USE_SYSTEM_LIBDECOR now requires libdecor version > 0.2.2
to be activated, otherwise the bundled libdecor is used
- what will be the libdecor version after 0.2.2 (0.2.3? 0.3.0?) is not known as of today
2024-03-15 12:21:38 +01:00
ManoloFLTK
3cf002b45d Remove compilation warning "enumeration value ‘NONE’ not handled in switch" 2024-03-13 21:10:35 +01:00
ManoloFLTK
56f49828f4 Update libdecor to upstream commit 4f2c03d5 dated March 4, 2024 2024-03-13 15:14:57 +01:00
ManoloFLTK
14d7218acd Fix compilation errors under Ubuntu 20.04
The problems will hopefully be fixed upstream later
2024-03-12 22:29:30 +01:00
ManoloFLTK
70a9c4d407 Update libdecor to upstream commit 09875530 dated March 3, 2024 2024-03-12 14:09:35 +01:00
Albrecht Schlosser
fd5cd80935 Introduce "Modern CMake" in FLTK
This is a big commit and there are too many changes to list them all.
The main changes are:

- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects

Included but not directly related changes:

- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('

Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-07 18:37:34 +01:00
ManoloFLTK
266bf1d3c0 Update libdecor to commit 7807ae34 dated 15-Jan-2024 2024-01-16 15:08:11 +01:00
ManoloFLTK
2030995f6b Wayland+libdecor: iImprove fl_is_surface_gtk_titlebar() 2023-12-15 15:48:47 +01:00
ManoloFLTK
ce06a6b519 Some reorganization of fl_libdecor-plugins.c 2023-12-15 12:05:41 +01:00
ManoloFLTK
673fa2e09c FLTK implementation of the "GTK Shell" Wayland protocol - cont'd
The loop over all libdecor-gtk decorations is now made using libdecor's
data structures, rather than using FLTK's mapped window list.
2023-12-14 07:55:31 +01:00
ManoloFLTK
0936c2a55d FLTK implementation of the "GTK Shell" Wayland protocol - cont'd
The pointer_enter() function now checks that its non-FLTK wl_surface  argument
is the wl_surface of the titlebar of a GTK-decorated window.
2023-12-13 14:48:08 +01:00
ManoloFLTK
b759767798 Remove unnecessary #include <linux/input.h> 2023-12-07 09:05:57 +01:00
ManoloFLTK
18ccbb4a4f Wayland: much lighter but partial implementation of the "GTK Shell" protocol
Only the middle-button click gesture is implemented which avoids interference
with what libdecor does with right-click and double-click.
2023-12-05 22:53:26 +01:00
ManoloFLTK
0aa8e28be0 Update libdecor to commit 060fe761 dated 1-dec-2023 2023-12-02 16:59:52 +01:00
ManoloFLTK
f72748bb45 Wayland: make OPTION_USE_SYSTEM_LIBDECOR ON by default
This commit makes the default FLTK build setting use libdecor
as packaged in Linux when the build system contains packages
libdecor-0-dev and libdecor-0-plugin-1-gtk in version ≥ 0.2.0.
Otherwise, FLTK uses the bundled version of libdecor.
This includes situations where package libdecor-0-dev is
present in an earlier version.
2023-12-02 09:28:08 +01:00
ManoloFLTK
9b33cadbc1 Wayland: use GTK Shell also with system libdecor - cont'd 2023-11-30 21:11:43 +01:00
ManoloFLTK
7472e41ccc Wayland: use GTK Shell also with system libdecor 2023-11-30 19:36:06 +01:00
ManoloFLTK
ed5ee81ccd Wayland: add changes to struct libdecor_frame_gtk 2023-11-30 16:40:13 +01:00
ManoloFLTK
6bcce462e9 Update libdecor to commit cc58dd2a dated 2-nov-2023 2023-11-29 09:57:48 +01:00
ManoloFLTK
83f6336f3b Libdecor-gtk and GTK Shell: take care of LIBDECOR_PLUGIN_DIR 2023-11-14 14:29:36 +01:00
ManoloFLTK
19e40058da Libdecor-gtk and GTK Shell: take care of touch events 2023-11-14 12:14:04 +01:00
ManoloFLTK
52f6b6abbb Libdecor GTK plugin: use gnome value for doubleclick time 2023-11-13 16:39:03 +01:00
ManoloFLTK
888dc5f5c5 Have libdecor-gtk implement the "GTK Shell" protocol 2023-11-12 19:13:35 +01:00
ManoloFLTK
c0e4410776 Update libdecor to commit c6c780c1 dated 2023-10-10 2023-10-29 10:28:27 +01:00
ManoloFLTK
c5433d6c1e Update libdecor to commit 422abaf9 dated 2023-09-07
The libdecor commit title is "libdecor-gtk: handle touch events"
2023-09-13 11:51:39 +02:00
ManoloFLTK
afc60b2503 Update to libdecor ca6e6b68 dated 25-aug-2023 2023-08-25 15:06:27 +02:00
ManoloFLTK
46fab88c7f Remove unneeded #include directive 2023-08-24 09:49:03 +02:00
ManoloFLTK
f85ee3541a Wayland: simpler implementation of get_libdecor_plugin_description() 2023-08-06 19:04:16 +02:00
ManoloFLTK
d9fa2c6082 Wayland.dox: add info about the xdg decoration protocol
Also, use KWin to name the KDE desktop's Wayland compositor.
2023-07-28 15:27:38 +02:00
ManoloFLTK
fa0aa95443 libdecor: update with upstream source code as of 2023-JUL-15 2023-07-22 14:23:08 +02:00
ManoloFLTK
3166416e4c libdecor: update with upstream source code as of 2023-jun-6 2023-06-13 07:42:44 +02:00
ManoloFLTK
87dec3af9c libdecor: update with upstream source code as of 2023-may-26 2023-06-07 15:58:12 +02:00
ManoloFLTK
cad6e63296 libdecor: update with upstream source code as of 2023-may-2
This will allow to create narrow decorated windows without crash.
2023-05-02 11:35:28 +02:00
ManoloFLTK
cdd1566cf9 Allow building Wayland platform without dbus (#726)
This commit supports configure-based builds without the dbus-dev package;
CMake-based builds are expected to be changed in further commit.
2023-04-30 18:41:49 +02:00
ManoloFLTK
64ac7b47b8 Improve detection of the location of Wayland protocol files across OSes 2023-03-29 15:25:29 +02:00
ManoloFLTK
02adfc0560 Wayland: remove libdecor/demo/* from FLTK source tree 2023-02-16 08:56:37 +01:00
ManoloFLTK
83d9a2c63d libdecor: update from upstream (3f3e5e1d) as of 29-dec-2022 2022-12-29 15:26:28 +01:00
ManoloFLTK
4d8ae8ccd0 Libdecor: update to upstream commit 25f29fef 3 dec 2022 2022-12-08 12:41:41 +01:00
Albrecht Schlosser
410e57d2db Don't build libdecor demos, add generated files to .gitignore
1) We don't need to build the libdecor demo programs for FLTK.

2) The Wayland build process generates some source and header files
   in the main src/ directory. These files are now ignored by git.
2022-11-23 13:33:52 +01:00
ManoloFLTK
a5d2b5ed45 libdecor: update from source git repo (commit e87dcfda)
This brings the GTK plugin inside the master libdecor git repo.
2022-11-03 08:16:49 +01:00
ManoloFLTK
2ffd4e4f1a Replace all calls to sprintf() by calls to snprintf(). 2022-09-26 16:12:18 +02:00
ManoloFLTK
75dd467dc5 Update with changes from source (commit bcb1d791) - cont'd. 2022-09-21 15:11:10 +02:00
ManoloFLTK
a2bf4d7ef2 Update with changes from source (commit bcb1d791). 2022-09-21 14:52:53 +02:00
ManoloFLTK
166a5bf785 Update from libdecor source code (commit a735d056). 2022-09-16 17:26:00 +02:00
ManoloFLTK
21864cf499 Attempt to fix issue #485. 2022-09-03 09:35:48 +02:00
ManoloFLTK
16f660f676 Wayland: fix issue #492 - mark FLTK differences. 2022-09-02 09:44:43 +02:00