Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package girara for openSUSE:Factory checked 
in at 2024-04-05 20:27:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/girara (Old)
 and      /work/SRC/openSUSE:Factory/.girara.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "girara"

Fri Apr  5 20:27:54 2024 rev:18 rq:1165444 version:0.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/girara/girara.changes    2024-01-03 
12:33:16.237637555 +0100
+++ /work/SRC/openSUSE:Factory/.girara.new.1905/girara.changes  2024-04-05 
20:27:54.422760730 +0200
@@ -1,0 +2,7 @@
+Mon Mar 25 07:38:16 UTC 2024 - ming li <[email protected]>
+
+- Update to version 0.4.2:
+  * Ellipsize status bar
+  * Various fixes and improvements
+
+-------------------------------------------------------------------

Old:
----
  girara-0.4.1.tar.xz

New:
----
  girara-0.4.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ girara.spec ++++++
--- /var/tmp/diff_new_pack.UuhIgA/_old  2024-04-05 20:27:55.386796184 +0200
+++ /var/tmp/diff_new_pack.UuhIgA/_new  2024-04-05 20:27:55.402796772 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package girara
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define libname libgirara-gtk3
 %define so_ver  3
 Name:           girara
-Version:        0.4.1
+Version:        0.4.2
 Release:        0
 Summary:        Graphical user interface library
 License:        Zlib

++++++ girara-0.4.1.tar.xz -> girara-0.4.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/.gitlab-ci.yml 
new/girara-0.4.2/.gitlab-ci.yml
--- old/girara-0.4.1/.gitlab-ci.yml     2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/.gitlab-ci.yml     2024-01-13 18:01:29.000000000 +0100
@@ -122,3 +122,32 @@
   except:
     - tags
 
+# Ubuntu 24.04 LTS (noble)
+# build:ubuntu-noble:
+#   tags:
+#     - pwmt
+#   stage: build
+#   image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:noble
+#   script:
+#     - mkdir -p build && cd build
+#     - meson ..
+#     - ninja
+#   artifacts:
+#     expire_in: 6 hours
+#     paths:
+#       - build
+#   except:
+#     - tags
+
+# test:ubuntu-noble:
+#   tags:
+#     - pwmt
+#   stage: test
+#   image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:noble
+#   script:
+#     - cd build
+#     - ninja test
+#   dependencies:
+#     - build:ubuntu-noble
+#   except:
+#     - tags
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/commands.c 
new/girara-0.4.2/girara/commands.c
--- old/girara-0.4.1/girara/commands.c  2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/commands.c  2024-01-13 18:01:29.000000000 +0100
@@ -54,7 +54,10 @@
     {"ShiftTab",  GDK_KEY_ISO_Left_Tab},
     {"Up",        GDK_KEY_Up},
     {"Print",     GDK_KEY_Print},
-    {"Home",      GDK_KEY_Home}
+    {"KPLeft",    GDK_KEY_KP_Left},
+    {"KPRight",   GDK_KEY_KP_Right},
+    {"KPUp",      GDK_KEY_KP_Up},
+    {"KPDown",    GDK_KEY_KP_Down}
   };
 
   typedef struct gdk_mouse_button_s
@@ -556,7 +559,7 @@
   };
 
   /* add new inputbar command */
-  girara_command_t* new_command = g_slice_new(girara_command_t);
+  girara_command_t* new_command = g_malloc0(sizeof(girara_command_t));
 
   new_command->command     = g_strdup(command);
   new_command->abbr        = abbreviation ? g_strdup(abbreviation) : NULL;
@@ -588,7 +591,7 @@
   };
 
   /* create new special command */
-  girara_special_command_t* special_command = 
g_slice_new(girara_special_command_t);
+  girara_special_command_t* special_command = 
g_malloc0(sizeof(girara_special_command_t));
 
   special_command->identifier = identifier;
   special_command->function   = function;
@@ -599,26 +602,19 @@
   return true;
 }
 
-void
-girara_special_command_free(girara_special_command_t* special_command)
-{
-  if (special_command == NULL) {
-    return;
-  }
-  g_slice_free(girara_special_command_t, special_command);
+void girara_special_command_free(girara_special_command_t* special_command) {
+  g_free(special_command);
 }
 
-void
-girara_command_free(girara_command_t* command)
-{
+void girara_command_free(girara_command_t* command) {
   if (command == NULL) {
     return;
   }
 
-  g_free(command->command);
-  g_free(command->abbr);
   g_free(command->description);
-  g_slice_free(girara_command_t, command);
+  g_free(command->abbr);
+  g_free(command->command);
+  g_free(command);
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/completion.c 
new/girara-0.4.2/girara/completion.c
--- old/girara-0.4.1/girara/completion.c        2023-12-08 18:28:17.000000000 
+0100
+++ new/girara-0.4.2/girara/completion.c        2024-01-13 18:01:29.000000000 
+0100
@@ -51,40 +51,32 @@
 
 typedef struct girara_internal_completion_entry_s 
girara_internal_completion_entry_t;
 
-static void
-completion_element_free(girara_completion_element_t* element)
-{
+static void completion_element_free(girara_completion_element_t* element) {
   if (element == NULL) {
     return;
   }
 
   /* free element */
-  g_free(element->value);
   g_free(element->description);
-  g_slice_free(girara_completion_element_t, element);
+  g_free(element->value);
+  g_free(element);
 }
 
-girara_completion_t*
-girara_completion_init(void)
-{
-  girara_completion_t *completion = g_slice_new(girara_completion_t);
-  completion->groups = girara_list_new2(
-      (girara_free_function_t) girara_completion_group_free);
+girara_completion_t* girara_completion_init(void) {
+  girara_completion_t* completion = g_malloc(sizeof(girara_completion_t));
+  completion->groups              = 
girara_list_new2((girara_free_function_t)girara_completion_group_free);
 
   return completion;
 }
 
-girara_completion_group_t*
-girara_completion_group_create(girara_session_t* UNUSED(session), const char* 
name)
-{
-  girara_completion_group_t* group = g_slice_new(girara_completion_group_t);
+girara_completion_group_t* girara_completion_group_create(girara_session_t* 
UNUSED(session), const char* name) {
+  girara_completion_group_t* group = 
g_malloc(sizeof(girara_completion_group_t));
 
   group->value    = name ? g_strdup(name) : NULL;
-  group->elements = girara_list_new2(
-      (girara_free_function_t) completion_element_free);
+  group->elements = 
girara_list_new2((girara_free_function_t)completion_element_free);
 
   if (group->elements == NULL) {
-    g_slice_free(girara_completion_group_t, group);
+    g_free(group);
     return NULL;
   }
 
@@ -100,38 +92,32 @@
   girara_list_append(completion->groups, group);
 }
 
-void
-girara_completion_group_free(girara_completion_group_t* group)
-{
+void girara_completion_group_free(girara_completion_group_t* group) {
   if (group == NULL) {
     return;
   }
 
-  g_free(group->value);
   girara_list_free(group->elements);
-  g_slice_free(girara_completion_group_t, group);
+  g_free(group->value);
+  g_free(group);
 }
 
-void
-girara_completion_free(girara_completion_t* completion)
-{
+void girara_completion_free(girara_completion_t* completion) {
   g_return_if_fail(completion != NULL);
 
   girara_list_free(completion->groups);
   /* free completion */
-  g_slice_free(girara_completion_t, completion);
+  g_free(completion);
 }
 
-void
-girara_completion_group_add_element(girara_completion_group_t* group, const 
char* name, const char* description)
-{
-  g_return_if_fail(group   != NULL);
-  g_return_if_fail(name    != NULL);
+void girara_completion_group_add_element(girara_completion_group_t* group, 
const char* name, const char* description) {
+  g_return_if_fail(group != NULL);
+  g_return_if_fail(name != NULL);
 
-  girara_completion_element_t* new_element = 
g_slice_new(girara_completion_element_t);
+  girara_completion_element_t* new_element = 
g_malloc(sizeof(girara_completion_element_t));
 
   new_element->value       = g_strdup(name);
-  new_element->description = description ?  g_strdup(description) : NULL;
+  new_element->description = description ? g_strdup(description) : NULL;
 
   girara_list_append(group->elements, new_element);
 }
@@ -208,12 +194,12 @@
     if (session->gtk.results != NULL) {
       /* destroy elements */
       for (GList* element = entries; element; element = g_list_next(element)) {
-        girara_internal_completion_entry_t* entry = 
(girara_internal_completion_entry_t*) element->data;
+        girara_internal_completion_entry_t* entry = 
(girara_internal_completion_entry_t*)element->data;
 
         if (entry != NULL) {
           gtk_widget_destroy(GTK_WIDGET(entry->widget));
           g_free(entry->value);
-          g_slice_free(girara_internal_completion_entry_t, entry);
+          g_free(entry);
         }
       }
 
@@ -237,8 +223,8 @@
 
       g_strfreev(elements);
 
-      g_free(current_command);
       g_free(current_parameter);
+      g_free(current_command);
 
       return false;
     }
@@ -252,8 +238,8 @@
     widget_add_class(GTK_WIDGET(session->gtk.results), "completion-box");
 
     if (session->gtk.results == NULL) {
-      g_free(current_command);
       g_free(current_parameter);
+      g_free(current_command);
 
       g_strfreev(elements);
       return false;
@@ -270,7 +256,7 @@
             (command->command != NULL && !strncmp(current_command, 
command->command, current_command_length)) ||
             (command->abbr != NULL && !strncmp(current_command, command->abbr, 
current_command_length))) {
           /* create entry */
-          girara_internal_completion_entry_t* entry = 
g_slice_new(girara_internal_completion_entry_t);
+          girara_internal_completion_entry_t* entry = 
g_malloc(sizeof(girara_internal_completion_entry_t));
           entry->group                              = FALSE;
           entry->value                              = 
g_strdup(command->command);
           entry->widget = girara_completion_row_create(command->command, 
command->description, FALSE);
@@ -298,7 +284,7 @@
         gtk_widget_destroy(GTK_WIDGET(entry->widget));
 
         entries = g_list_remove(entries, g_list_first(entries)->data);
-        g_slice_free(girara_internal_completion_entry_t, entry);
+        g_free(entry);
       }
 
       /* search matching command */
@@ -325,15 +311,15 @@
       }
 
       if (command->completion == NULL) {
-          girara_internal_completion_entry_t* entry = 
g_slice_new(girara_internal_completion_entry_t);
-          entry->group  = FALSE;
-          entry->value  = g_strdup(command->command);
-          entry->widget = girara_completion_row_create(command->command, 
command->description, FALSE);
+        girara_internal_completion_entry_t* entry = 
g_malloc(sizeof(girara_internal_completion_entry_t));
+        entry->group                              = FALSE;
+        entry->value                              = g_strdup(command->command);
+        entry->widget = girara_completion_row_create(command->command, 
command->description, FALSE);
 
-          entries = g_list_append(entries, entry);
+        entries = g_list_append(entries, entry);
 
-          gtk_box_pack_start(session->gtk.results, GTK_WIDGET(entry->widget), 
FALSE, FALSE, 0);
-          command_mode = true;
+        gtk_box_pack_start(session->gtk.results, GTK_WIDGET(entry->widget), 
FALSE, FALSE, 0);
+        command_mode = true;
       } else {
         /* generate completion result
          * XXX: the last argument should only be current_paramater ... but
@@ -342,8 +328,8 @@
         girara_completion_t *result = command->completion(session, 
current_parameter ? current_parameter : "");
 
         if (result == NULL || result->groups == NULL) {
-          g_free(current_command);
           g_free(current_parameter);
+          g_free(current_command);
 
           g_strfreev(elements);
           return false;
@@ -357,7 +343,7 @@
 
           /* create group entry */
           if (group->value != NULL) {
-            girara_internal_completion_entry_t* entry = 
g_slice_new(girara_internal_completion_entry_t);
+            girara_internal_completion_entry_t* entry = 
g_malloc(sizeof(girara_internal_completion_entry_t));
             entry->group                              = TRUE;
             entry->value                              = g_strdup(group->value);
             entry->widget                             = 
girara_completion_row_create(group->value, NULL, TRUE);
@@ -370,7 +356,7 @@
           for (size_t inner_idx = 0; inner_idx != 
girara_list_size(group->elements); ++inner_idx) {
             girara_completion_element_t* element = 
girara_list_nth(group->elements, inner_idx);
 
-            girara_internal_completion_entry_t* entry = 
g_slice_new(girara_internal_completion_entry_t);
+            girara_internal_completion_entry_t* entry = 
g_malloc(sizeof(girara_internal_completion_entry_t));
             entry->group                              = FALSE;
             entry->value                              = 
g_strdup(element->value);
             entry->widget = girara_completion_row_create(element->value, 
element->description, FALSE);
@@ -475,16 +461,19 @@
     g_free(escaped_value);
 
     /* update previous */
-    g_free(previous_command);
     g_free(previous_parameter);
-    previous_command   = g_strdup((command_mode) ? 
((girara_internal_completion_entry_t*) entries_current->data)->value : 
current_command);
-    previous_parameter = g_strdup((command_mode) ? current_parameter : 
((girara_internal_completion_entry_t*) entries_current->data)->value);
+    g_free(previous_command);
+
+    previous_command   = g_strdup((command_mode) ? 
((girara_internal_completion_entry_t*)entries_current->data)->value
+                                                 : current_command);
+    previous_parameter = g_strdup((command_mode) ? current_parameter
+                                                 : 
((girara_internal_completion_entry_t*)entries_current->data)->value);
     previous_length    = strlen(temp);
     g_free(temp);
   }
 
-  g_free(current_command);
   g_free(current_parameter);
+  g_free(current_command);
 
   g_strfreev(elements);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/config.c 
new/girara-0.4.2/girara/config.c
--- old/girara-0.4.1/girara/config.c    2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/config.c    2024-01-13 18:01:29.000000000 +0100
@@ -240,7 +240,7 @@
 
   if (found == false) {
     /* add new config handle */
-    girara_config_handle_t* config_handle = 
g_slice_new(girara_config_handle_t);
+    girara_config_handle_t* config_handle = 
g_malloc0(sizeof(girara_config_handle_t));
 
     config_handle->identifier = g_strdup(identifier);
     config_handle->handle     = handle;
@@ -258,7 +258,7 @@
   }
 
   g_free(handle->identifier);
-  g_slice_free(girara_config_handle_t, handle);
+  g_free(handle);
 }
 
 static bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/session.c 
new/girara-0.4.2/girara/session.c
--- old/girara-0.4.1/girara/session.c   2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/session.c   2024-01-13 18:01:29.000000000 +0100
@@ -301,8 +301,8 @@
 {
   ensure_gettext_initialized();
 
-  girara_session_t* session = g_slice_alloc0(sizeof(girara_session_t));
-  session->private_data     = g_slice_alloc0(sizeof(girara_session_private_t));
+  girara_session_t* session = g_malloc0(sizeof(girara_session_t));
+  session->private_data     = g_malloc0(sizeof(girara_session_private_t));
 
   girara_session_private_t* session_private = session->private_data;
 
@@ -380,6 +380,8 @@
 
   /* make notification text selectable */
   gtk_label_set_selectable(GTK_LABEL(session->gtk.notification_text), TRUE);
+  /* ellipsize notification text */
+  gtk_label_set_ellipsize(GTK_LABEL(session->gtk.notification_text), 
PANGO_ELLIPSIZE_END);
 
   return session;
 }
@@ -636,7 +638,7 @@
   /* clean up mutex */
   g_mutex_clear(&session->feedkeys_mutex);
 
-  g_slice_free(girara_session_private_t, session);
+  g_free(session);
 }
 
 bool
@@ -682,7 +684,7 @@
   session->private_data = NULL;
 
   /* clean up session */
-  g_slice_free(girara_session_t, session);
+  g_free(session);
 
   return TRUE;
 }
@@ -868,9 +870,9 @@
   }
 
   /* create new mode identifier */
-  girara_mode_string_t* mode = g_slice_new(girara_mode_string_t);
-  mode->index = last_index + 1;
-  mode->name = g_strdup(name);
+  girara_mode_string_t* mode = g_malloc(sizeof(girara_mode_string_t));
+  mode->index                = last_index + 1;
+  mode->name                 = g_strdup(name);
   girara_list_append(session->modes.identifiers, mode);
 
   return mode->index;
@@ -884,7 +886,7 @@
   }
 
   g_free(mode->name);
-  g_slice_free(girara_mode_string_t, mode);
+  g_free(mode);
 }
 
 girara_mode_t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/settings.c 
new/girara-0.4.2/girara/settings.c
--- old/girara-0.4.1/girara/settings.c  2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/settings.c  2024-01-13 18:01:29.000000000 +0100
@@ -81,7 +81,7 @@
   }
 
   /* add new setting */
-  girara_setting_t* setting = g_slice_new0(girara_setting_t);
+  girara_setting_t* setting = g_malloc0(sizeof(girara_setting_t));
 
   setting->name        = g_strdup(name);
   setting->type        = type;
@@ -168,12 +168,12 @@
     return;
   }
 
-  g_free(setting->name);
-  g_free(setting->description);
   if (setting->type == STRING) {
     g_free(setting->value.s);
   }
-  g_slice_free(girara_setting_t, setting);
+  g_free(setting->description);
+  g_free(setting->name);
+  g_free(setting);
 }
 
 girara_setting_t* girara_setting_find(girara_session_t* session, const char* 
name) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/shortcuts.c 
new/girara-0.4.2/girara/shortcuts.c
--- old/girara-0.4.1/girara/shortcuts.c 2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/shortcuts.c 2024-01-13 18:01:29.000000000 +0100
@@ -39,7 +39,7 @@
   }
 
   /* add new shortcut */
-  girara_shortcut_t* shortcut = g_slice_new(girara_shortcut_t);
+  girara_shortcut_t* shortcut = g_malloc(sizeof(girara_shortcut_t));
 
   shortcut->mask             = modifier;
   shortcut->key              = key;
@@ -71,13 +71,11 @@
   return false;
 }
 
-void
-girara_shortcut_free(girara_shortcut_t* shortcut)
-{
+void girara_shortcut_free(girara_shortcut_t* shortcut) {
   g_return_if_fail(shortcut != NULL);
   g_free(shortcut->buffered_command);
   g_free(shortcut->argument.data);
-  g_slice_free(girara_shortcut_t, shortcut);
+  g_free(shortcut);
 }
 
 bool girara_inputbar_shortcut_add(girara_session_t* session, guint modifier, 
guint key,
@@ -99,7 +97,7 @@
   }
 
   /* create new inputbar shortcut */
-  girara_inputbar_shortcut_t* inputbar_shortcut = 
g_slice_new(girara_inputbar_shortcut_t);
+  girara_inputbar_shortcut_t* inputbar_shortcut = 
g_malloc(sizeof(girara_inputbar_shortcut_t));
 
   inputbar_shortcut->mask     = modifier;
   inputbar_shortcut->key      = key;
@@ -126,10 +124,8 @@
   return true;
 }
 
-void
-girara_inputbar_shortcut_free(girara_inputbar_shortcut_t* inputbar_shortcut)
-{
-  g_slice_free(girara_inputbar_shortcut_t, inputbar_shortcut);
+void girara_inputbar_shortcut_free(girara_inputbar_shortcut_t* 
inputbar_shortcut) {
+  g_free(inputbar_shortcut);
 }
 
 bool
@@ -545,7 +541,12 @@
     {"Super",     GDK_KEY_Super_L},
     {"Tab",       GDK_KEY_Tab},
     {"ShiftTab",  GDK_KEY_ISO_Left_Tab},
-    {"Up",        GDK_KEY_Up}
+    {"Up",        GDK_KEY_Up},
+    {"Print",     GDK_KEY_Print},
+    {"KPLeft",    GDK_KEY_KP_Left},
+    {"KPRight",   GDK_KEY_KP_Right},
+    {"KPUp",      GDK_KEY_KP_Up},
+    {"KPDown",    GDK_KEY_KP_Down}
   };
 
   char* input               = (char*) argument->data;
@@ -643,7 +644,7 @@
   }
 
   /* add new config handle */
-  girara_shortcut_mapping_t* mapping = g_slice_new(girara_shortcut_mapping_t);
+  girara_shortcut_mapping_t* mapping = 
g_malloc(sizeof(girara_shortcut_mapping_t));
 
   mapping->identifier = g_strdup(identifier);
   mapping->function   = function;
@@ -652,15 +653,13 @@
   return true;
 }
 
-void
-girara_shortcut_mapping_free(girara_shortcut_mapping_t* mapping)
-{
+void girara_shortcut_mapping_free(girara_shortcut_mapping_t* mapping) {
   if (mapping == NULL) {
     return;
   }
 
   g_free(mapping->identifier);
-  g_slice_free(girara_shortcut_mapping_t, mapping);
+  g_free(mapping);
 }
 
 bool girara_argument_mapping_add(girara_session_t* session, const char* 
identifier, int value) {
@@ -680,7 +679,7 @@
   }
 
   /* add new config handle */
-  girara_argument_mapping_t* mapping = g_slice_new(girara_argument_mapping_t);
+  girara_argument_mapping_t* mapping = 
g_malloc(sizeof(girara_argument_mapping_t));
 
   mapping->identifier = g_strdup(identifier);
   mapping->value      = value;
@@ -689,15 +688,13 @@
   return true;
 }
 
-void
-girara_argument_mapping_free(girara_argument_mapping_t* argument_mapping)
-{
+void girara_argument_mapping_free(girara_argument_mapping_t* argument_mapping) 
{
   if (argument_mapping == NULL) {
     return;
   }
 
   g_free(argument_mapping->identifier);
-  g_slice_free(girara_argument_mapping_t, argument_mapping);
+  g_free(argument_mapping);
 }
 
 bool girara_mouse_event_add(girara_session_t* session, guint mask, guint 
button, girara_shortcut_function_t function,
@@ -718,7 +715,7 @@
   }
 
   /* add new mouse event */
-  girara_mouse_event_t* mouse_event = g_slice_new(girara_mouse_event_t);
+  girara_mouse_event_t* mouse_event = g_malloc(sizeof(girara_mouse_event_t));
 
   mouse_event->mask       = mask;
   mouse_event->button     = button;
@@ -746,11 +743,6 @@
   return false;
 }
 
-void
-girara_mouse_event_free(girara_mouse_event_t* mouse_event)
-{
-  if (mouse_event == NULL) {
-    return;
-  }
-  g_slice_free(girara_mouse_event_t, mouse_event);
+void girara_mouse_event_free(girara_mouse_event_t* mouse_event) {
+  g_free(mouse_event);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/statusbar.c 
new/girara-0.4.2/girara/statusbar.c
--- old/girara-0.4.1/girara/statusbar.c 2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/statusbar.c 2024-01-13 18:01:29.000000000 +0100
@@ -15,7 +15,7 @@
   girara_session_private_t* session_private = session->private_data;
   g_return_val_if_fail(session_private->elements.statusbar_items != NULL, 
FALSE);
 
-  girara_statusbar_item_t* item = g_slice_new(girara_statusbar_item_t);
+  girara_statusbar_item_t* item = g_malloc0(sizeof(girara_statusbar_item_t));
 
   item->box  = gtk_event_box_new();
   item->text = GTK_LABEL(gtk_label_new(NULL));
@@ -50,10 +50,8 @@
   return item;
 }
 
-void
-girara_statusbar_item_free(girara_statusbar_item_t* item)
-{
-  g_slice_free(girara_statusbar_item_t, item);
+void girara_statusbar_item_free(girara_statusbar_item_t* item) {
+  g_free(item);
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/girara/template.c 
new/girara-0.4.2/girara/template.c
--- old/girara-0.4.1/girara/template.c  2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/girara/template.c  2024-01-13 18:01:29.000000000 +0100
@@ -25,18 +25,16 @@
  * Internal variables
  */
 typedef struct variable_s {
-  char*   name;
-  char*   value;
+  char* name;
+  char* value;
 } variable_t;
 
-static variable_t*
-new_variable(const char* name)
-{
+static variable_t* new_variable(const char* name) {
   if (name == NULL) {
     return NULL;
   }
 
-  variable_t* variable = g_slice_new0(variable_t);
+  variable_t* variable = g_malloc0(sizeof(variable_t));
   if (variable == NULL) {
     return NULL;
   }
@@ -47,25 +45,25 @@
   return variable;
 }
 
-static void
-free_variable(void* data)
-{
+static void free_variable(void* data) {
+  if (data == NULL) {
+    return;
+  }
+
   variable_t* variable = data;
 
-  g_free(variable->name);
   g_free(variable->value);
+  g_free(variable->name);
 
   variable->name  = NULL;
   variable->value = NULL;
 
-  g_slice_free(variable_t, data);
+  g_free(variable);
 }
 
-static int
-compare_variable_name(const void* data1, const void* data2)
-{
+static int compare_variable_name(const void* data1, const void* data2) {
   const variable_t* variable = data1;
-  const char* name = data2;
+  const char* name           = data2;
 
   if (variable == NULL) {
     return -1;
@@ -77,10 +75,8 @@
 /* Methods */
 static void dispose(GObject* object);
 static void finalize(GObject* object);
-static void set_property(GObject* object, guint prop_id,
-    const GValue* value, GParamSpec* pspec);
-static void get_property(GObject* object, guint prop_id, GValue* value,
-    GParamSpec* pspec);
+static void set_property(GObject* object, guint prop_id, const GValue* value, 
GParamSpec* pspec);
+static void get_property(GObject* object, guint prop_id, GValue* value, 
GParamSpec* pspec);
 static void base_changed(GiraraTemplate* object);
 static void variable_changed(GiraraTemplate* object, const char* name);
 static void template_changed(GiraraTemplate* object);
@@ -88,7 +84,7 @@
 /* Properties */
 enum {
   PROP_0,
-  PROP_BASE
+  PROP_BASE,
 };
 
 /* Signals */
@@ -96,15 +92,13 @@
   BASE_CHANGED,
   VARIABLE_CHANGED,
   TEMPLATE_CHANGED,
-  LAST_SIGNAL
+  LAST_SIGNAL,
 };
 
-static guint signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = {0};
 
 /* Class init */
-static void
-girara_template_class_init(GiraraTemplateClass* class)
-{
+static void girara_template_class_init(GiraraTemplateClass* class) {
   /* overwrite methods */
   GObjectClass* object_class = G_OBJECT_CLASS(class);
   object_class->dispose      = dispose;
@@ -118,145 +112,108 @@
 
   /* add properties */
   g_object_class_install_property(object_class, PROP_BASE,
-    g_param_spec_object("base",
-      "base template",
-      "String used as base for the template.",
-      girara_template_get_type(),
-      G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+                                  g_param_spec_object("base", "base template", 
"String used as base for the template.",
+                                                      
girara_template_get_type(),
+                                                      G_PARAM_WRITABLE | 
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   /* add signals */
-  signals[BASE_CHANGED] = g_signal_new("base-changed",
-      GIRARA_TYPE_TEMPLATE,
-      G_SIGNAL_RUN_FIRST,
-      G_STRUCT_OFFSET(GiraraTemplateClass, base_changed),
-      NULL,
-      NULL,
-      NULL,
-      G_TYPE_NONE,
-      0);
-
-  signals[VARIABLE_CHANGED] = g_signal_new("variable-changed",
-      GIRARA_TYPE_TEMPLATE,
-      G_SIGNAL_RUN_FIRST,
-      G_STRUCT_OFFSET(GiraraTemplateClass, variable_changed),
-      NULL,
-      NULL,
-      NULL,
-      G_TYPE_NONE,
-      1,
-      G_TYPE_STRING);
-
-  signals[TEMPLATE_CHANGED] = g_signal_new("changed",
-      GIRARA_TYPE_TEMPLATE,
-      G_SIGNAL_RUN_FIRST,
-      G_STRUCT_OFFSET(GiraraTemplateClass, changed),
-      NULL,
-      NULL,
-      NULL,
-      G_TYPE_NONE,
-      0);
+  signals[BASE_CHANGED] =
+      g_signal_new("base-changed", GIRARA_TYPE_TEMPLATE, G_SIGNAL_RUN_FIRST,
+                   G_STRUCT_OFFSET(GiraraTemplateClass, base_changed), NULL, 
NULL, NULL, G_TYPE_NONE, 0);
+
+  signals[VARIABLE_CHANGED] = g_signal_new("variable-changed", 
GIRARA_TYPE_TEMPLATE, G_SIGNAL_RUN_FIRST,
+                                           
G_STRUCT_OFFSET(GiraraTemplateClass, variable_changed), NULL, NULL, NULL,
+                                           G_TYPE_NONE, 1, G_TYPE_STRING);
+
+  signals[TEMPLATE_CHANGED] =
+      g_signal_new("changed", GIRARA_TYPE_TEMPLATE, G_SIGNAL_RUN_FIRST, 
G_STRUCT_OFFSET(GiraraTemplateClass, changed),
+                   NULL, NULL, NULL, G_TYPE_NONE, 0);
 }
 
 /* GObject init */
-static void
-girara_template_init(GiraraTemplate* history)
-{
+static void girara_template_init(GiraraTemplate* template) {
   GError* error = NULL;
-  GRegex* regex = g_regex_new("@([A-Za-z0-9][A-Za-z0-9_-]*)@",
-                              G_REGEX_OPTIMIZE, 0, &error);
+  GRegex* regex = g_regex_new("@([A-Za-z0-9][A-Za-z0-9_-]*)@", 
G_REGEX_OPTIMIZE, 0, &error);
   if (regex == NULL) {
     girara_error("Failed to create regex: %s", error->message);
     g_error_free(error);
   }
 
-  GRegex* check_regex = g_regex_new("^[A-Za-z0-9][A-Za-z0-9_-]*$",
-                                    G_REGEX_OPTIMIZE, 0, &error);
+  GRegex* check_regex = g_regex_new("^[A-Za-z0-9][A-Za-z0-9_-]*$", 
G_REGEX_OPTIMIZE, 0, &error);
   if (check_regex == NULL) {
     girara_error("Failed to create regex: %s", error->message);
     g_regex_unref(regex);
     g_error_free(error);
   }
 
-  GiraraTemplatePrivate* priv            = 
girara_template_get_instance_private(history);
-  priv->base                 = g_strdup("");
-  priv->variable_regex       = regex;
-  priv->variable_check_regex = check_regex;
-  priv->variables_in_base    = girara_list_new2(g_free);
-  priv->variables            = girara_list_new2(free_variable);
-  priv->valid                = true;
+  GiraraTemplatePrivate* priv = girara_template_get_instance_private(template);
+  priv->base                  = g_strdup("");
+  priv->variable_regex        = regex;
+  priv->variable_check_regex  = check_regex;
+  priv->variables_in_base     = girara_list_new2(g_free);
+  priv->variables             = girara_list_new2(free_variable);
+  priv->valid                 = true;
 }
 
 /* GObject dispose */
-static void
-dispose(GObject* object)
-{
-  GiraraTemplate* obj = GIRARA_TEMPLATE(object);
+static void dispose(GObject* object) {
+  GiraraTemplate* obj         = GIRARA_TEMPLATE(object);
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(obj);
 
-  g_regex_unref(priv->variable_regex);
   g_regex_unref(priv->variable_check_regex);
+  g_regex_unref(priv->variable_regex);
 
-  priv->variable_regex = NULL;
+  priv->variable_regex       = NULL;
   priv->variable_check_regex = NULL;
 
   G_OBJECT_CLASS(girara_template_parent_class)->dispose(object);
 }
 
 /* GObject finalize */
-static void
-finalize(GObject* object)
-{
-  GiraraTemplate* obj = GIRARA_TEMPLATE(object);
+static void finalize(GObject* object) {
+  GiraraTemplate* obj         = GIRARA_TEMPLATE(object);
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(obj);
 
-  g_free(priv->base);
-  girara_list_free(priv->variables_in_base);
   girara_list_free(priv->variables);
+  girara_list_free(priv->variables_in_base);
+  g_free(priv->base);
 
-  priv->base = NULL;
+  priv->base              = NULL;
   priv->variables_in_base = NULL;
-  priv->variables = NULL;
+  priv->variables         = NULL;
 
   G_OBJECT_CLASS(girara_template_parent_class)->finalize(object);
 }
 
 /* GObject set_property */
-static void
-set_property(GObject* obj, guint prop_id, const GValue* value,
-    GParamSpec* pspec)
-{
+static void set_property(GObject* obj, guint prop_id, const GValue* value, 
GParamSpec* pspec) {
   GiraraTemplate* object = GIRARA_TEMPLATE(obj);
 
   switch (prop_id) {
-    case PROP_BASE: {
-      girara_template_set_base(object, g_value_get_string(value));
-      break;
-    }
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec);
+  case PROP_BASE: {
+    girara_template_set_base(object, g_value_get_string(value));
+    break;
+  }
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec);
   }
 }
 
 /* GObject get_property */
-static void
-get_property(GObject* obj, guint prop_id, GValue* value,
-    GParamSpec* pspec)
-{
+static void get_property(GObject* obj, guint prop_id, GValue* value, 
GParamSpec* pspec) {
   GiraraTemplate* object = GIRARA_TEMPLATE(obj);
 
   switch (prop_id) {
-    case PROP_BASE:
-      g_value_set_string(value, girara_template_get_base(object));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec);
+  case PROP_BASE:
+    g_value_set_string(value, girara_template_get_base(object));
+    break;
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec);
   }
 }
 
 /* Object new */
-GiraraTemplate*
-girara_template_new(const char* base)
-{
+GiraraTemplate* girara_template_new(const char* base) {
   GObject* obj = g_object_new(GIRARA_TYPE_TEMPLATE, NULL);
   g_return_val_if_fail(obj, NULL);
 
@@ -267,9 +224,7 @@
   return object;
 }
 
-void
-girara_template_set_base(GiraraTemplate* object, const char* base)
-{
+void girara_template_set_base(GiraraTemplate* object, const char* base) {
   g_return_if_fail(GIRARA_IS_TEMPLATE(object));
 
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
@@ -282,18 +237,14 @@
   }
 }
 
-const char*
-girara_template_get_base(GiraraTemplate* object)
-{
+const char* girara_template_get_base(GiraraTemplate* object) {
   g_return_val_if_fail(GIRARA_IS_TEMPLATE(object), NULL);
 
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
   return priv->base;
 }
 
-static void
-base_changed(GiraraTemplate* object)
-{
+static void base_changed(GiraraTemplate* object) {
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
   girara_list_clear(priv->variables_in_base);
   priv->valid = true;
@@ -302,12 +253,10 @@
   if (g_regex_match(priv->variable_regex, priv->base, 0, &match_info) == true) 
{
     while (g_match_info_matches(match_info) == true) {
       char* variable = g_match_info_fetch(match_info, 1);
-      char* found = girara_list_find(priv->variables_in_base,
-          list_strcmp, variable);
+      char* found    = girara_list_find(priv->variables_in_base, list_strcmp, 
variable);
 
       if (priv->valid == true) {
-        if (girara_list_find(priv->variables, compare_variable_name,
-                             variable) == NULL) {
+        if (girara_list_find(priv->variables, compare_variable_name, variable) 
== NULL) {
           girara_debug("Variable '%s' not set.", variable);
           priv->valid = false;
         }
@@ -337,23 +286,16 @@
   }
 }
 
-static void
-template_changed(GiraraTemplate* GIRARA_UNUSED(object))
-{
-}
+static void template_changed(GiraraTemplate* GIRARA_UNUSED(object)) {}
 
-girara_list_t*
-girara_template_referenced_variables(GiraraTemplate* object)
-{
+girara_list_t* girara_template_referenced_variables(GiraraTemplate* object) {
   g_return_val_if_fail(GIRARA_IS_TEMPLATE(object), NULL);
 
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
   return priv->variables_in_base;
 }
 
-bool
-girara_template_add_variable(GiraraTemplate* object, const char* name)
-{
+bool girara_template_add_variable(GiraraTemplate* object, const char* name) {
   g_return_val_if_fail(GIRARA_IS_TEMPLATE(object), false);
   g_return_val_if_fail(name != NULL, false);
 
@@ -364,8 +306,7 @@
     return false;
   }
 
-  variable_t* variable = girara_list_find(priv->variables, 
compare_variable_name,
-                                          name);
+  variable_t* variable = girara_list_find(priv->variables, 
compare_variable_name, name);
   if (variable != NULL) {
     girara_debug("Variable '%s' already exists.", name);
     return false;
@@ -384,18 +325,14 @@
   return true;
 }
 
-void
-girara_template_set_variable_value(GiraraTemplate* object, const char* name,
-                                   const char* value)
-{
+void girara_template_set_variable_value(GiraraTemplate* object, const char* 
name, const char* value) {
   g_return_if_fail(GIRARA_IS_TEMPLATE(object));
   g_return_if_fail(name != NULL);
   g_return_if_fail(value != NULL);
 
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
 
-  variable_t* variable = girara_list_find(priv->variables, 
compare_variable_name,
-                                          name);
+  variable_t* variable = girara_list_find(priv->variables, 
compare_variable_name, name);
   if (variable == NULL) {
     girara_error("Variable '%s' does not exist.", name);
     return;
@@ -410,14 +347,11 @@
   }
 }
 
-static gboolean
-eval_replace_cb(const GMatchInfo* info, GString* res, void* data)
-{
+static gboolean eval_replace_cb(const GMatchInfo* info, GString* res, void* 
data) {
   girara_list_t* variables = data;
 
-  char* name = g_match_info_fetch(info, 1);
-  variable_t* variable = girara_list_find(variables, compare_variable_name,
-                                          name);
+  char* name           = g_match_info_fetch(info, 1);
+  variable_t* variable = girara_list_find(variables, compare_variable_name, 
name);
   g_return_val_if_fail(variable != NULL, TRUE);
 
   g_string_append(res, variable->value);
@@ -426,9 +360,7 @@
   return FALSE;
 }
 
-char*
-girara_template_evaluate(GiraraTemplate* object)
-{
+char* girara_template_evaluate(GiraraTemplate* object) {
   g_return_val_if_fail(GIRARA_IS_TEMPLATE(object), NULL);
 
   GiraraTemplatePrivate* priv = girara_template_get_instance_private(object);
@@ -437,6 +369,5 @@
     return NULL;
   }
 
-  return g_regex_replace_eval(priv->variable_regex, priv->base, -1, 0, 0,
-                              eval_replace_cb, priv->variables, NULL);
+  return g_regex_replace_eval(priv->variable_regex, priv->base, -1, 0, 0, 
eval_replace_cb, priv->variables, NULL);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/meson.build new/girara-0.4.2/meson.build
--- old/girara-0.4.1/meson.build        2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/meson.build        2024-01-13 18:01:29.000000000 +0100
@@ -1,5 +1,5 @@
 project('girara', 'c',
-  version: '0.4.1',
+  version: '0.4.2',
   meson_version: '>=0.61',
   default_options: ['c_std=c17', 'warning_level=3'],
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/girara-0.4.1/tests/meson.build 
new/girara-0.4.2/tests/meson.build
--- old/girara-0.4.1/tests/meson.build  2023-12-08 18:28:17.000000000 +0100
+++ new/girara-0.4.2/tests/meson.build  2024-01-13 18:01:29.000000000 +0100
@@ -47,13 +47,22 @@
 
   xvfb = find_program('xvfb-run', required: get_option('tests'))
   if xvfb.found()
+    xvfb_args = ['-s', '-screen 0 1400x900x24 -ac +extension GLX +render 
-noreset']
+    xvfb_h_output = run_command(xvfb, '-h', capture: true, check: false)
+    if xvfb_h_output.stdout().contains('--auto-display')
+      # becasue Arch and Fedora
+      xvfb_args += ['-d']
+    else
+      xvfb_args += ['-a']
+    endif
+
     config = executable('test_config', ['test_config.c', 'tests.c'],
       dependencies: build_dependencies + test_dependencies,
       include_directories: include_directories,
       c_args: defines + flags
     )
     test('config', xvfb,
-      args: ['-a', '-s', '-screen 0 1400x900x24 -ac +extension GLX +render 
-noreset', config],
+      args: xvfb_args + [config],
       timeout: 60*60,
       is_parallel: false
     )
@@ -64,7 +73,7 @@
       c_args: defines + flags
     )
     test('session', xvfb,
-      args: ['-a', '-s', '-screen 0 1400x900x24 -ac +extension GLX +render 
-noreset', session],
+      args: xvfb_args + [session],
       timeout: 60*60,
       is_parallel: false
     )
@@ -75,7 +84,7 @@
       c_args: defines + flags
     )
     test('setting', xvfb,
-      args: ['-a', '-s', '-screen 0 1400x900x24 -ac +extension GLX +render 
-noreset', setting],
+      args: xvfb_args + [setting],
       timeout: 60*60,
       is_parallel: false
     )

Reply via email to