Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Sun, 27 Aug 2023 08:43:55 UTC Commit: c14eb5dfd5dd4e3dc89b5c9b09125a43ef029d76 https://github.com/geany/geany-osx/commit/c14eb5dfd5dd4e3dc89b5c9b09125a43ef...
Log Message: ----------- Add patch setting hints for Scintilla popups
Modified Paths: -------------- geany.modules geany_patches/geany_scintilla_add_window_hints.patch
Modified: geany.modules 3 lines changed, 3 insertions(+), 0 deletions(-) =================================================================== @@ -109,6 +109,7 @@ <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/git-geany_vte_login_shell.patch" strip="1" /> <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/geany_workaround_meson_expecting_git_repository.patch" strip="1" /> <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/git-geany_scintilla_block_copy.patch" strip="1" /> + <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/geany_scintilla_add_window_hints.patch" strip="1" /> </branch> <dependencies> <dep package="geany-deps" /> @@ -130,6 +131,8 @@ <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/geany_scintilla_block_copy.patch" strip="1" /> <!-- TODO: remove for the next release --> <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/geany_colors.patch" strip="1" /> + <!-- TODO: add for the next release --> + <!-- <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/geany_scintilla_add_window_hints.patch" strip="1" /> --> </branch> <dependencies> <dep package="geany-deps" />
Modified: geany_patches/geany_scintilla_add_window_hints.patch 54 lines changed, 54 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,54 @@ +From fb5651b7c973e9e0fd43e059534177393cdd761b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= techet@gmail.com +Date: Sun, 27 Aug 2023 10:16:47 +0200 +Subject: [PATCH] gtk: Set type hint for GTK_WINDOW_POPUP windows + +Without setting the hint the popup windows lead to some obscure behavior +on macOS when the main window is full screened, see + +https://gitlab.gnome.org/GNOME/gtk/-/issues/5716 +https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5778 + +while the solution from 5778 might be a sufficient workaround, setting +the hints might be a good idea in general so the window manager knows better +the purpose of these windows. +--- + scintilla/gtk/PlatGTK.cxx | 1 + + scintilla/gtk/ScintillaGTK.cxx | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/scintilla/gtk/PlatGTK.cxx b/scintilla/gtk/PlatGTK.cxx +index 97b345bac..46321994b 100644 +--- a/scintilla/gtk/PlatGTK.cxx ++++ b/scintilla/gtk/PlatGTK.cxx +@@ -1598,6 +1598,7 @@ void ListBoxX::Create(Window &parent, int, Point, int, bool, Technology) { + #endif + + wid = widCached = gtk_window_new(GTK_WINDOW_POPUP); ++ gtk_window_set_type_hint(GTK_WINDOW(wid), GDK_WINDOW_TYPE_HINT_POPUP_MENU); + + frame = gtk_frame_new(nullptr); + gtk_widget_show(PWidget(frame)); +diff --git a/scintilla/gtk/ScintillaGTK.cxx b/scintilla/gtk/ScintillaGTK.cxx +index 7a8c4d0b5..9a5951733 100644 +--- a/scintilla/gtk/ScintillaGTK.cxx ++++ b/scintilla/gtk/ScintillaGTK.cxx +@@ -684,6 +684,7 @@ void ScintillaGTK::Init() { + + /* create pre-edit window */ + wPreedit = gtk_window_new(GTK_WINDOW_POPUP); ++ gtk_window_set_type_hint(GTK_WINDOW(PWidget(wPreedit)), GDK_WINDOW_TYPE_HINT_POPUP_MENU); + wPreeditDraw = gtk_drawing_area_new(); + GtkWidget *predrw = PWidget(wPreeditDraw); // No code inside the G_OBJECT macro + #if GTK_CHECK_VERSION(3,0,0) +@@ -1398,6 +1399,7 @@ void ScintillaGTK::Paste() { + void ScintillaGTK::CreateCallTipWindow(PRectangle rc) { + if (!ct.wCallTip.Created()) { + ct.wCallTip = gtk_window_new(GTK_WINDOW_POPUP); ++ gtk_window_set_type_hint(GTK_WINDOW(PWidget(ct.wCallTip)), GDK_WINDOW_TYPE_HINT_TOOLTIP); + ct.wDraw = gtk_drawing_area_new(); + GtkWidget *widcdrw = PWidget(ct.wDraw); // // No code inside the G_OBJECT macro + gtk_container_add(GTK_CONTAINER(PWidget(ct.wCallTip)), widcdrw); +-- +2.37.5 +
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).