FLTK logo

[master] 1a576d4 - Wayland: account for new Wayfire compositor - cont'd

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Library      Forums      Links      Apps     Login 
[  All Forums  |  Back to fltk.commit  ]
 
[ Previous Message ] [ Next Message ]

[master] 1a576d4 - Wayland: account for new Wayfire compositor - cont'd "ManoloFLTK" Aug 29, 2025  
 
commit 1a576d43b3e41958716867e107db302a588f47d9
Author:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Fri Aug 29 12:21:15 2025 +0200
Commit:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Fri Aug 29 12:21:15 2025 +0200

    Wayland: account for new Wayfire compositor - cont'd
    
    And allow for vertical display taskbar.

 src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
index 134d009..8bae05c 100644
--- src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
+++ src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
@@ -1401,6 +1401,11 @@ static void sync_done(void *data, struct wl_callback *cb, uint32_t time) {
   }
   // Now all screens have been initialized
   scr_driver->screen_count_set( wl_list_length(&(scr_driver->outputs)) );
+  struct pair_bool *pair = (struct pair_bool*)wl_registry_get_user_data(scr_driver->wl_registry);
+  if (pair->found_gtk_shell || pair->found_wf_shell) {
+    Fl_Wayland_Screen_Driver::compositor = (pair->found_wf_shell ?
+                          Fl_Wayland_Screen_Driver::WAYFIRE : Fl_Wayland_Screen_Driver::MUTTER);
+  }
   if (scr_driver->seat) try_update_cursor(scr_driver->seat);
   if (Fl_Wayland_Screen_Driver::compositor != Fl_Wayland_Screen_Driver::OWL) scr_driver->init_workarea();
 }
@@ -1440,9 +1445,6 @@ void Fl_Wayland_Screen_Driver::open_display_platform() {
   struct wl_callback *registry_cb = wl_display_sync(wl_display);
   wl_callback_add_listener(registry_cb, &sync_listener, &registry_cb);
   while (registry_cb) wl_display_dispatch(wl_display);
-  if (pair.found_gtk_shell || pair.found_wf_shell) {
-    Fl_Wayland_Screen_Driver::compositor = (pair.found_wf_shell ? WAYFIRE : MUTTER);
-  }
   Fl::add_fd(wl_display_get_fd(wl_display), FL_READ, (Fl_FD_Handler)wayland_socket_callback,
              wl_display);
   fl_create_print_window();
@@ -1616,6 +1618,8 @@ static bool compute_full_and_maximized_areas(Fl_Wayland_Screen_Driver::output *o
     wl_surface_destroy(wl_surface2);
     if (Wworkarea == Wfullscreen && Hworkarea < Hfullscreen && Hworkarea > Hfullscreen - 80)
       found_workarea = true;
+    if (Hworkarea == Hfullscreen && Wworkarea < Wfullscreen && Wworkarea > Wfullscreen - 80)
+      found_workarea = true;
   } else {
     Wworkarea = Wfullscreen;
     Hworkarea = Hfullscreen;
[ Direct Link to Message ]
 
     
[ Previous Message ] [ Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2026 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.