Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger(a)uvena.de>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Sat, 15 Jun 2024 13:12:29 UTC
Commit: ea3f1d5b516a7c175ab5290d24109a50cb973423
https://github.com/geany/www.geany.org/commit/ea3f1d5b516a7c175ab5290d24109…
Log Message:
-----------
Remove references to what was called Twitter once
Modified Paths:
--------------
geany/templates/home.html
page_content/contribute/support.md
Modified: geany/templates/home.html
5 lines changed, 2 insertions(+), 3 deletions(-)
===================================================================
@@ -138,9 +138,8 @@ <h2 class="text-center">Great Community</h2>
platforms including
<a href="{% url "page" "support/mailing-lists" %}">The Mailing Lists</a>,
<a href="https://github.com/geany">Github</a>,
- Matrix <a href="https://matrix.to/#/#geany:matrix.org">#geany:matrix.org</a>,
- <a href="https://social.milchreislieferei.de/@GeanyIDE" rel="me">Mastodon</a> and
- <a href="https://twitter.com/GeanyIDE/">Twitter</a>.</p>
+ Matrix <a href="https://matrix.to/#/#geany:matrix.org">#geany:matrix.org</a> and
+ <a href="https://social.milchreislieferei.de/@GeanyIDE" rel="me">Mastodon</a>.</p>
<p><a class="btn btn-default" href="{% url "page" "contribute" %}">Get Involved »</a>
<a class="btn btn-default" href="{% url "page" "about/donate" %}">Donate »</a></p>
</div>
Modified: page_content/contribute/support.md
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -13,9 +13,9 @@ You can subscribe to the [Geany Users mailing list][1] and answer questions, giv
You can also surf through the bugs reported at the [Github issue tracker][2] and see if you maybe can help users. Some issues reported are not actually bugs and maybe can be solved with your help.
-### Twitter
+### Mastodon / fediverse
-Geany's twitter stream: https://twitter.com/GeanyIDE/
+Geany in the Fediverse: https://social.milchreislieferei.de/@GeanyIDE
[1]: /support/mailing-lists/
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Jiří Techet <techet(a)gmail.com>
Date: Mon, 10 Jun 2024 19:47:29 UTC
Commit: 0cf69303741737f2b7fd0a0de024f5ecc0755985
https://github.com/geany/geany/commit/0cf69303741737f2b7fd0a0de024f5ecc0755…
Log Message:
-----------
Fix elevated CPU usage after ui_progress_bar_start/stop() is used
After calling
```
ui_progress_bar_start("foo");
...
ui_progress_bar_stop();
```
which should theoretically completely stop the progress bar, I get
elevated CPU usage of the whole Geany process ~1% CPU on idle (and
around 4% on macOS) compared to 0% after Geany launch before the status
bar progress bar is used (e.g. by compiling). GTK seems to keep the widget
connected to "tick callback" which causes the higher CPU (in fact, there's
no gtk_progress_bar_stop() so it can't do it).
The workaround to fix this problem is to call
```
gtk_progress_bar_set_fraction()
```
which switches the progress bar to the mode where it shows the user-provided
progress and this removes the "tick callback".
Modified Paths:
--------------
src/printing.c
src/ui_utils.c
Modified: src/printing.c
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -292,6 +292,8 @@ static void end_print(GtkPrintOperation *operation, GtkPrintContext *context, gp
if (dinfo == NULL)
return;
+ /* see ui_progress_bar_stop() for more details on why this is called */
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(main_widgets.progressbar), 0.0);
gtk_widget_hide(main_widgets.progressbar);
g_object_unref(dinfo->sci);
g_object_unref(dinfo->layout);
Modified: src/ui_utils.c
4 lines changed, 4 insertions(+), 0 deletions(-)
===================================================================
@@ -2871,6 +2871,10 @@ void ui_progress_bar_stop(void)
g_source_remove(progress_bar_timer_id);
progress_bar_timer_id = 0;
}
+
+ /* hack to remove tick callback which is created for "activity mode" progress
+ * bars - without this it is called forever and causes elevated CPU usage */
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(main_widgets.progressbar), 0.0);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Fri, 14 Jun 2024 21:28:43 UTC
Commit: 94838739140cd0552a91a3eecc0013d00f99a11f
https://github.com/geany/geany/commit/94838739140cd0552a91a3eecc0013d00f99a…
Log Message:
-----------
Merge pull request #3902 from techee/progressbar_cpu
Fix elevated CPU usage after ui_progress_bar_start/stop() is used
Modified Paths:
--------------
src/printing.c
src/ui_utils.c
Modified: src/printing.c
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -292,6 +292,8 @@ static void end_print(GtkPrintOperation *operation, GtkPrintContext *context, gp
if (dinfo == NULL)
return;
+ /* see ui_progress_bar_stop() for more details on why this is called */
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(main_widgets.progressbar), 0.0);
gtk_widget_hide(main_widgets.progressbar);
g_object_unref(dinfo->sci);
g_object_unref(dinfo->layout);
Modified: src/ui_utils.c
4 lines changed, 4 insertions(+), 0 deletions(-)
===================================================================
@@ -2863,6 +2863,10 @@ void ui_progress_bar_stop(void)
g_source_remove(progress_bar_timer_id);
progress_bar_timer_id = 0;
}
+
+ /* hack to remove tick callback which is created for "activity mode" progress
+ * bars - without this it is called forever and causes elevated CPU usage */
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(main_widgets.progressbar), 0.0);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Jiří Techet <techet(a)gmail.com>
Date: Sat, 11 May 2024 14:29:31 UTC
Commit: 0dfd4655a98778c74ba2f3c2de135627acb84e01
https://github.com/geany/geany/commit/0dfd4655a98778c74ba2f3c2de135627acb84…
Log Message:
-----------
Add "document-before-save-as" signal
Right now only the "document-save" is fired when performing "save as"
which lacks the information about the original file name (which, for
instance, is necessary for the LSP client where it needs to notify
the server that the "old" document was closed and the document under
the new name opened).
Modified Paths:
--------------
doc/pluginsignals.c
src/document.c
src/geanyobject.c
src/geanyobject.h
Modified: doc/pluginsignals.c
11 lines changed, 11 insertions(+), 0 deletions(-)
===================================================================
@@ -92,6 +92,17 @@ signal void (*document_reload)(GObject *obj, GeanyDocument *doc, gpointer user_d
*/
signal void (*document_before_save)(GObject *obj, GeanyDocument *doc, gpointer user_data);
+/** Sent before save as is performed with the original document.
+ *
+ * @param obj a GeanyObject instance, should be ignored.
+ * @param doc the original document. The document with the new file name is still
+ * reported by the "document-save" signal sent afterwards.
+ * @param user_data user data.
+ *
+ * @since 2.1
+ */
+signal void (*document_before_save_as)(GObject *obj, GeanyDocument *doc, gpointer user_data);
+
/** Sent when a new document is saved.
*
* @param obj a GeanyObject instance, should be ignored.
Modified: src/document.c
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -1836,6 +1836,8 @@ gboolean document_save_file_as(GeanyDocument *doc, const gchar *utf8_fname)
g_return_val_if_fail(doc != NULL, FALSE);
+ g_signal_emit_by_name(geany_object, "document-before-save-as", doc);
+
new_file = document_need_save_as(doc) || (utf8_fname != NULL && strcmp(doc->file_name, utf8_fname) != 0);
if (utf8_fname != NULL)
SETPTR(doc->file_name, g_strdup(utf8_fname));
Modified: src/geanyobject.c
7 lines changed, 7 insertions(+), 0 deletions(-)
===================================================================
@@ -105,6 +105,13 @@ static void create_signals(GObjectClass *g_object_class)
0, NULL, NULL, g_cclosure_marshal_VOID__BOXED,
G_TYPE_NONE, 1,
GEANY_TYPE_DOCUMENT);
+ geany_object_signals[GCB_DOCUMENT_BEFORE_SAVE_AS] = g_signal_new (
+ "document-before-save-as",
+ G_OBJECT_CLASS_TYPE (g_object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE, 1,
+ GEANY_TYPE_DOCUMENT);
geany_object_signals[GCB_DOCUMENT_SAVE] = g_signal_new (
"document-save",
G_OBJECT_CLASS_TYPE (g_object_class),
Modified: src/geanyobject.h
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -57,6 +57,7 @@ typedef enum
GCB_SAVE_SETTINGS,
GCB_LOAD_SETTINGS,
GCB_KEY_PRESS_NOTIFY,
+ GCB_DOCUMENT_BEFORE_SAVE_AS,
GCB_MAX
}
GeanyCallbackId;
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).