@ -1,6 +1,5 @@
# include <gtk/gtk.h>
# include <gtk/gtkx.h>
# include "ubl-utils.h"
# include <locale.h>
# include <stdio.h>
# include <unistd.h>
@ -12,7 +11,9 @@
# include <sys/types.h>
# include <sys/select.h>
# include <pwd.h>
# include "../compile/ubl-cmake.h"
# include <libublsettings.h>
# include <libublsettings-gtk3.h>
# include <libublsettingsui-gtk3.h>
# ifdef WEBKIT_FOUND
# include <webkit2/webkit2.h>
# endif
@ -39,6 +40,7 @@
# define config_path yon_char_unite(yon_ubl_user_get_home_directory()," / .config / ",LocaleName," / ",LocaleName,".conf",NULL)
# define journals_list_path " / usr / share / ubl-settings-logging / csv / journals_list.csv"
# define services_list_path " / usr / share / ubl-settings-logging / csv / logging_services.csv"
# define icon_path "com.ublinux.ubl-settings-logging"
# define logrotate_config_command "ls / etc / logrotate.d / |sed -e 's / * / \\n / g'"
# define journald_size_command "journalctl --disk-usage | grep -oE \"[0-9]{1,}.[0-9]{1,}[A-Z]\""
@ -49,6 +51,12 @@
# define LocalePath " / usr / share / locale"
# define LocaleName "ubl-settings-logging"
# define config_get_command(source) yon_char_unite("ubconfig --source ",source," get logging LOGROTATE[*] JOURNALD[*]",NULL)
# define config_get_default_command ""
# define config_get_global_only_parameters ""
# define config_get_local_only_parameters ""
# define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL)
# define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL)
@ -75,23 +83,12 @@ string version_application;
char * local ;
typedef struct {
template_config_fields
config_str launch_arguments ;
int launch_size ;
char * * envp ;
int always_open_documentation ;
int win_pos_x ;
int win_pos_y ;
int win_width ;
int win_height ;
int socket_id ;
int load_socket_id ;
int save_socket_id ;
int lock_help ;
int lock_save_local ;
int lock_save_global ;
int lock_load_global ;
int load_mode ;
int save_config ;
GtkListStore * logrotate_list ;
GtkListStore * logrotate_apps_list ;
@ -109,33 +106,7 @@ typedef struct {
typedef struct {
//Standard
GtkWidget * Window ;
GtkWidget * HatLabel ;
GtkWidget * PlugBox ;
GtkWidget * HeadOverlay ;
GtkWidget * HeadImage ;
GtkWidget * HeadBox ;
GtkWidget * HeadTitleLabel ;
GtkWidget * HeadInfoLabel ;
GtkWidget * StatusBox ;
GtkWidget * StatusIcon ;
GtkWidget * StatusLabel ;
GtkWidget * SaveLabel ;
GtkWidget * SaveMenuItem ;
GtkWidget * SaveGlobalMenuItem ;
GtkWidget * SaveLocalMenuItem ;
GtkWidget * RightBox ;
GtkWidget * LoadLabel ;
GtkWidget * LoadGlobalMenuItem ;
GtkWidget * LoadLocalMenuItem ;
GtkWidget * LeftBox ;
GtkWidget * DocumentationMenuItem ;
GtkWidget * AboutMenuItem ;
template_window_fields
GtkWidget * MainTree ;
GtkWidget * InspectButton ;
@ -372,4 +343,83 @@ typedef struct {
YON_CONFIG_TYPE type ;
} saving_window ;
main_window * setup_window ( ) ;
main_window * setup_window ( ) ;
void on_save_window_parameter_switched ( GtkCellRendererToggle * self , gchar * path , saving_window * window ) ;
char * yon_size_get_letter_from_int ( int size ) ;
int yon_size_get_int_from_letter ( char size ) ;
// void yon_polkit_authorized_action(GCallback *func);
void yon_logs_custom_save ( main_window * widgets ) ;
void update_loaded_logrotate ( ) ;
int yon_load_proceed ( YON_CONFIG_TYPE type ) ;
void on_load_global ( ) ;
void on_load_local ( ) ;
void on_config_custom_load ( GtkWidget * , main_window * widgets ) ;
void on_save_global_local ( ) ;
void on_save_global ( ) ;
void on_save_local ( ) ;
void on_config_custom_save ( GtkWidget * , main_window * ) ;
void on_save_done ( main_window * widgets , config_str output , int size ) ;
void on_save_failed ( main_window * , config_str , int ) ;
void on_inspector_jornald_read_async ( inspector_window * window ) ;
void on_inspector_update ( GtkWidget * self , inspector_window * window ) ;
GtkWidget * yon_inspector_add_terminal ( inspector_window * window , char * page_name , int mode ) ;
void on_inspector_close ( GtkWidget * self , inspector_window * window ) ;
void on_inspector_open ( GtkWidget * self , main_window * widgets ) ;
void on_logrotate_configuration_path_filechooser_selection_changed ( GtkWidget * self , logrotate_filechooser_window * dialog ) ;
void on_logrotate_filechooser_file_dir_toggled ( GtkWidget * self , logrotate_filechooser_window * dialog ) ;
void on_logrotate_configuration_path_filechooser_save_edit ( GtkWidget * self , dictionary * dict ) ;
void on_logrotate_configuration_path_filechooser_save ( GtkWidget * self , dictionary * dict ) ;
void on_logrotate_configuration_path_filechooser_open ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_logrotate_configuration_path_add ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_path_editing_done ( GtkCellRendererText * self , gchar * gtkpath , gchar * new_text , logrotate_configure_window * window ) ;
void on_path_editing_cancel ( GtkCellRendererText * self , logrotate_configure_window * window ) ;
void on_logrotate_configuration_path_edit ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_logrotate_configuration_path_remove ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_combo_activate_first ( GtkComboBox * self , GtkWidget * target ) ;
void on_combo_activate_second ( GtkComboBox * self , GtkWidget * target ) ;
void on_file_amount_checked ( GtkToggleButton * self , logrotate_configure_window * window ) ;
void on_rules_accept ( GtkWidget * self , dictionary * dict ) ;
void on_rules_update ( GtkWidget * self , logrotate_rules_window * window ) ;
void on_rules_open ( GtkWidget * self , GtkEntry * entry ) ;
void on_filechooser_mode_switch ( GtkWidget * self , logrotate_filechooser_window * window ) ;
void on_filechooser_save ( GtkWidget * self , dictionary * dict ) ;
void on_filechooser_open ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_logrotate_period_check_toggled ( GtkToggleButton * self , logrotate_configure_window * window ) ;
void on_logrotate_paths_cursor_changed ( GtkWidget * self , logrotate_configure_window * window ) ;
int on_logrotate_check_repeats ( GtkWidget * self , logrotate_configure_window * window ) ;
void on_logrotate_save ( GtkWidget * self , dictionary * dict ) ;
logrotate_configure_window * yon_logrotate_window_new ( char * paths , logrotate_window * dialog , char * log_name ) ;
void on_logrotate_add ( GtkWidget * self , logrotate_window * dialog ) ;
void on_logrotate_edit ( GtkWidget * self , logrotate_window * window ) ;
void on_logrotate_remove ( GtkWidget * self , logrotate_window * window ) ;
void on_logrotate_apps_configure ( GtkWidget * self , logrotate_window * window ) ;
void on_log_edit_logrotate_settings ( GtkWidget * self , dictionary * dict ) ;
void on_logrotate_tab_selection_changed ( GtkWidget * self , logrotate_window * window ) ;
void on_logrotate_applications_tab_selection_changed ( GtkWidget * self , logrotate_window * window ) ;
void on_logrotate_tab_open ( GtkWidget * self , main_window * widgets ) ;
void yon_combo_compress_check ( GtkComboBox * self , journald_window * window ) ;
void on_journald_reset ( GtkWidget * self , journald_window * window ) ;
void on_journald_save ( GtkWidget * self , journald_window * window ) ;
journald_window * yon_journald_open ( GtkWidget * self , main_window * widgets ) ;
void on_journald_open ( GtkWidget * self , main_window * widgets ) ;
void on_log_save ( GtkWidget * self , dictionary * dict ) ;
add_log_window * on_add_open ( main_window * widgets ) ;
void on_log_path_remove ( GtkWidget * self , add_log_window * window ) ;
void on_log_path_filechooser_selection_changed ( GtkWidget * self , logrotate_filechooser_window * dialog ) ;
void on_log_path_filechooser_toggled ( GtkWidget * self , logrotate_filechooser_window * dialog ) ;
void on_log_path_filechooser_save ( GtkWidget * self , dictionary * dict ) ;
void on_log_path_filechooser_open ( GtkWidget * self , GtkEntry * entry ) ;
void on_log_path_choose ( GtkWidget * self , add_log_window * window ) ;
void on_log_path_append ( GtkWidget * self , add_log_window * window ) ;
void on_log_add ( GtkWidget * self , main_window * widgets ) ;
void on_log_edit ( GtkWidget * self , main_window * widgets ) ;
void on_log_remove ( GtkWidget * self , main_window * widgets ) ;
void on_service_edit ( GtkWidget * self , main_window * widgets ) ;
void on_main_window_tree_selection_changed ( GtkWidget * self , main_window * widgets ) ;
void on_main_window_services_tree_selection_changed ( GtkWidget * self , main_window * widgets ) ;
void on_start_stop_clicked ( GtkButton * self , main_window * widgets ) ;
void on_enable_disable_clicked ( GtkButton * self , main_window * widgets ) ;
void on_permissions_changed ( ) ;
void config_init ( ) ;
void yon_main_window_complete ( template_main_window * * window ) ;
int main ( int argc , char * argv [ ] ) ;