This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch improve-macos-support
in repository terminology.

View the commit online.

commit d50daa41a49e75b834116279be7b9d0c6c99336f
Author: Cedric BAIL <[email protected]>
AuthorDate: Thu Apr 30 11:30:11 2026 -0600

    macos: replace _cb_reopen ifdef with portable elm_app_new_window_cb
    
    Removes #ifdef __APPLE__ around Dock-reopen wiring. Now Terminology
    registers a single new-window callback via elm_app_new_window_cb_set
    that EFL invokes from both the Dock-reopen path (via ecore_cocoa) and
    the auto-populated 'File / New Window' menu on macOS.
    
    The portable API exists on all platforms but is currently never
    invoked by EFL on Linux/Windows apps still get the same callback
    mechanism without platform branching.
    
    Also drops the now-unused ecore-cocoa dependency from meson.build,
    and bumps the EFL version floor to 1.28.
---
 meson.build    |  6 +-----
 src/bin/main.c | 17 +++++------------
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/meson.build b/meson.build
index 41314896..0756c662 100644
--- a/meson.build
+++ b/meson.build
@@ -40,7 +40,7 @@ if host_os == 'linux'
    config_data.set('_POSIX_1_SOURCE', 1)
 endif
 
-efl_version = '1.26.0'
+efl_version = '1.28.0'
 m_dep = cc.find_library('m', required : false)
 efl_deps = ['edje',
             'elementary',
@@ -86,10 +86,6 @@ foreach efl_dep: efl_deps
   endif
 endforeach
 
-if host_os == 'darwin'
-  ecore_cocoa_dep = dependency('ecore-cocoa', required: true)
-  terminology_dependencies += [ecore_cocoa_dep]
-endif
 
 if cc.has_function('mkstemps')
   config_data.set('HAVE_MKSTEMPS', 1)
diff --git a/src/bin/main.c b/src/bin/main.c
index 1964b4f1..4d8a4449 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -20,9 +20,6 @@
 #include "gravatar.h"
 #include "keyin.h"
 
-#ifdef __APPLE__
-# include <Ecore_Cocoa.h>
-#endif
 
 int terminology_starting_up;
 int _log_domain = -1;
@@ -204,18 +201,17 @@ main_config_get(void)
    return _main_config;
 }
 
-#ifdef __APPLE__
 static Eina_Bool
-_cb_reopen(Eina_Bool has_visible EINA_UNUSED)
+_cb_new_window(void *data EINA_UNUSED)
 {
-   Win *wn;
+   Win  *wn;
    Term *term;
 
    wn = win_new(NULL, NULL, NULL, NULL, _main_config,
                 EINA_FALSE, EINA_FALSE, EINA_FALSE, EINA_FALSE, EINA_FALSE);
    if (!wn)
      {
-        CRITICAL(_("Could not create window on reopen"));
+        CRITICAL(_("Could not create window"));
         return EINA_FALSE;
      }
 
@@ -223,7 +219,7 @@ _cb_reopen(Eina_Bool has_visible EINA_UNUSED)
                    NULL, 80, 24, EINA_FALSE, NULL);
    if (!term)
      {
-        CRITICAL(_("Could not create terminal on reopen"));
+        CRITICAL(_("Could not create terminal"));
         win_free(wn);
         return EINA_FALSE;
      }
@@ -239,7 +235,6 @@ _cb_reopen(Eina_Bool has_visible EINA_UNUSED)
 
    return EINA_TRUE;
 }
-#endif
 
 static void
 main_ipc_new(Ipc_Instance *inst)
@@ -981,9 +976,7 @@ elm_main(int argc, char **argv)
 
    ipc_init();
 
-#ifdef __APPLE__
-   ecore_cocoa_reopen_cb_set(_cb_reopen);
-#endif
+   elm_app_new_window_cb_set(_cb_new_window, NULL);
 
    instance.config = config_fork(_main_config);
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to