From d70c10622f99ace9cb2a9f75aa416aa5464868f1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 8 Jul 2025 12:14:14 +0600 Subject: [PATCH] Added package checking functions --- source/libublsettings-gtk3-window-config.c | 5 ++- source/libublsettings-gtk3.c | 46 ++++++++++++++++++++++ source/libublsettings-gtk3.h | 7 +++- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/source/libublsettings-gtk3-window-config.c b/source/libublsettings-gtk3-window-config.c index 14221b3..477084a 100644 --- a/source/libublsettings-gtk3-window-config.c +++ b/source/libublsettings-gtk3-window-config.c @@ -82,7 +82,10 @@ } } - g_key_file_save_to_file(__yon_window_config_file,__yon_window_config_path,NULL); + GError *err = NULL; + if (!g_key_file_save_to_file(__yon_window_config_file,__yon_window_config_path,&err)){ + printf("%s\n",err->message); + } { struct passwd *user = getpwnam(yon_ubl_root_user_get()); int chown_success = chown(__yon_window_config_path,user->pw_uid,user->pw_gid); diff --git a/source/libublsettings-gtk3.c b/source/libublsettings-gtk3.c index 64cc185..725b1e4 100644 --- a/source/libublsettings-gtk3.c +++ b/source/libublsettings-gtk3.c @@ -41,6 +41,52 @@ // } +struct packages { + GHashTable *all_list; + GHashTable *installed_list; +} packages_struct; + +int yon_packages_init(){ + if (getuid()) return 0; + packages_struct.all_list = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL); + packages_struct.installed_list = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL); + + int size; + int installed_size; + config_str package_list = yon_config_load("pacman -Slq",&size); + config_str installed = yon_config_load("pacman -Qq",&installed_size); + + for (int i=0;i