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.