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 )
