Inspector reworks

pull/46/head
parent 17279efa79
commit ddce68870f

@ -8,10 +8,10 @@ include_directories(${GTK_INCLUDE_DIRS})
link_directories(${GTK_LIBRARY_DIRS}) link_directories(${GTK_LIBRARY_DIRS})
add_definitions(${GTK_CFLAGS_OTHER}) add_definitions(${GTK_CFLAGS_OTHER})
#pkg_check_modules(VTE291 REQUIRED vte-2.91) pkg_check_modules(VTE291 REQUIRED vte-2.91)
#include_directories(${VTE291_INCLUDE_DIRS}) include_directories(${VTE291_INCLUDE_DIRS})
#link_directories(${VTE291_LIBRARY_DIRS}) link_directories(${VTE291_LIBRARY_DIRS})
#add_definitions(${VTE291_CFLAGS_OTHER}) add_definitions(${VTE291_CFLAGS_OTHER})
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
@ -89,7 +89,7 @@ set(SOURCE_FILES
set(LIBRARIES set(LIBRARIES
${GTK_LIBRARIES} ${GTK_LIBRARIES}
${WEBKIT_LIBRARIES} ${WEBKIT_LIBRARIES}
# ${VTE291_LIBRARIES} ${VTE291_LIBRARIES}
pthread) pthread)

@ -125,19 +125,20 @@ int yon_size_get_int_from_letter(char size){
//functions //functions
void update_loaded_logrotate(){ void update_loaded_logrotate(){
int size=0; int size=0;
gtk_list_store_clear(main_config.logrotate_list); gtk_list_store_clear(main_config.logrotate_list);
GtkTreeIter iter; GtkTreeIter iter;
config_str loaded = yon_config_get_all_by_key("LOGROTATE[",&size); config_str loaded = yon_config_get_all_by_key("LOGROTATE[",&size);
char *desc;
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *paths = yon_char_divide_search(loaded[i],"=",-1); char *paths = yon_char_divide_search(loaded[i],"=",-1);
yon_char_divide(paths,strlen("LOGROTATE")); yon_char_divide(paths,strlen("LOGROTATE"));
yon_char_divide_search_self(paths,"]",-1); yon_char_divide_search_self(paths,"]",-1);
loaded[i] = yon_char_replace(loaded[i],",","\n"); yon_window_config_get_parameter("description",paths,&desc,YON_TYPE_STRING);
paths = yon_char_replace(paths,",","\n");
gtk_list_store_append(main_config.logrotate_list,&iter); gtk_list_store_append(main_config.logrotate_list,&iter);
gtk_list_store_set(main_config.logrotate_list,&iter,1,paths,-1); gtk_list_store_set(main_config.logrotate_list,&iter,1,paths,2,desc ? desc : "",-1);
} }
} }
@ -202,71 +203,73 @@ void on_save_local(){
void on_inspector_update(GtkWidget *self, inspector_window *window){ void on_inspector_update(GtkWidget *self, inspector_window *window){
int size; int size;
GtkTextIter titer,titerend; GtkTextIter titer,titerend;
gtk_text_buffer_get_bounds(window->textbuffer1,&titer,&titerend);
gtk_text_buffer_delete(window->textbuffer1,&titer,&titerend);
config_str output; config_str output;
if (!strcmp(window->journal_name,"journald")){ if (!strcmp(window->journal_name,"journald")){
if (self==window->UpdateButton){ if (self==window->UpdateButton){
switch(window->last_mode){ switch(window->last_mode){
case 0: output = yon_config_load(get_journal_output_command, &size); case 0:
yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_command,NULL,NULL);
break; break;
case 1: output = yon_config_load(get_journal_output_since_boot_command, &size); case 1:
yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_since_boot_command,NULL,NULL);
break; break;
case 2: output = yon_config_load(get_journal_output_followed_command, &size); case 2:
yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_followed_command,NULL,NULL);
break; break;
case 3: output = yon_config_load(get_journal_output_kernel_command, &size); case 3:
yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_kernel_command,NULL,NULL);
break; break;
case 4: output = yon_config_load(get_journal_output_prioritied_command, &size); case 4:
yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_prioritied_command,NULL,NULL);
break; break;
} }
} }
if (self==window->ShowSinceBootButton){ if (self==window->ShowSinceBootButton){
window->last_mode=1; window->last_mode=1;
output = yon_config_load(get_journal_output_since_boot_command, &size); yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_since_boot_command,NULL,NULL);
} }
if (self==window->NewMessagesButton){ if (self==window->NewMessagesButton){
window->last_mode=2; window->last_mode=2;
output = yon_config_load(get_journal_output_followed_command, &size); yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_followed_command,NULL,NULL);
} }
if (self==window->ShowKernelButton){ if (self==window->ShowKernelButton){
window->last_mode=3; window->last_mode=3;
output = yon_config_load(get_journal_output_kernel_command, &size); yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_kernel_command,NULL,NULL);
} }
if (self==window->ShowPriorityButton){ if (self==window->ShowPriorityButton){
window->last_mode=4; window->last_mode=4;
output = yon_config_load(get_journal_output_prioritied_command, &size); yon_terminal_integrated_start(window->LoggingTerminal, get_journal_output_prioritied_command,NULL,NULL);
}
if (output){
for (int i=0;i<size;i++){
gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
gtk_text_buffer_insert(window->textbuffer1,&titer,output[i],-1);
}
gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(window->LoggingTextView),&titer,0.25,0,1,0);
} }
// if (output){
// for (int i=0;i<size;i++){
// gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
// gtk_text_buffer_insert(window->textbuffer1,&titer,output[i],-1);
// }
// gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(window->LoggingTerminal),&titer,0.25,0,1,0);
// }
} else { } else {
window->journal_paths = yon_char_replace(window->journal_paths,"\n"," "); // window->journal_paths = yon_char_replace(window->journal_paths,"\n"," ");
output = yon_config_load(yon_char_unite("cat ",window->journal_paths,NULL),&size); // output = yon_config_load(yon_char_unite("cat ",window->journal_paths,NULL),&size);
for (int i=0;i<size;i++){ // for (int i=0;i<size;i++){
gtk_text_buffer_get_end_iter(window->textbuffer1,&titer); // gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
gtk_text_buffer_insert(window->textbuffer1,&titer,output[i],-1); // gtk_text_buffer_insert(window->textbuffer1,&titer,output[i],-1);
} // }
gtk_text_buffer_get_end_iter(window->textbuffer1,&titer); // gtk_text_buffer_get_end_iter(window->textbuffer1,&titer);
gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(window->LoggingTextView),&titer,0.25,0,1,0); // gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(window->LoggingTerminal),&titer,0.25,0,1,0);
} }
} }
void on_inspector_open(GtkWidget *self, main_window *widgets){ void on_inspector_open(GtkWidget *self, main_window *widgets){
inspector_window *window = malloc(sizeof(inspector_window)); inspector_window *window = malloc(sizeof(inspector_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_inspector_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_inspector_path);
window->textbuffer1=GTK_TEXT_BUFFER(gtk_builder_get_object(builder,"textbuffer1"));
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->ShowSinceBootButton=yon_gtk_builder_get_widget(builder,"ShowSinceBootButton"); window->ShowSinceBootButton=yon_gtk_builder_get_widget(builder,"ShowSinceBootButton");
window->NewMessagesButton=yon_gtk_builder_get_widget(builder,"NewMessagesButton"); window->NewMessagesButton=yon_gtk_builder_get_widget(builder,"NewMessagesButton");
window->ShowKernelButton=yon_gtk_builder_get_widget(builder,"ShowKernelButton"); window->ShowKernelButton=yon_gtk_builder_get_widget(builder,"ShowKernelButton");
window->ShowPriorityButton=yon_gtk_builder_get_widget(builder,"ShowPriorityButton"); window->ShowPriorityButton=yon_gtk_builder_get_widget(builder,"ShowPriorityButton");
window->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton"); window->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton");
window->LoggingTextView=yon_gtk_builder_get_widget(builder,"LoggingTextView"); window->LoggingTerminal=yon_gtk_builder_get_widget(builder,"LoggingTerminal");
window->JournalActionsBox=yon_gtk_builder_get_widget(builder,"JournalActionsBox"); window->JournalActionsBox=yon_gtk_builder_get_widget(builder,"JournalActionsBox");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list); GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
@ -745,15 +748,27 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
char *after = (char*)gtk_entry_get_text(GTK_ENTRY(window->CommandAfterEntry)); char *after = (char*)gtk_entry_get_text(GTK_ENTRY(window->CommandAfterEntry));
char *endwork = (char*)gtk_entry_get_text(GTK_ENTRY(window->EndworkCommandEntry)); char *endwork = (char*)gtk_entry_get_text(GTK_ENTRY(window->EndworkCommandEntry));
sharedscripts = "sharedscripts"; sharedscripts = "sharedscripts";
if (!yon_char_is_empty(before_once)) if (!yon_char_is_empty(before_once)) {
before_once = yon_char_replace(before_once,"\"","=--");
before_once = yon_char_replace(before_once,"=--","\\\"");
firstaction = yon_char_append("firstaction ",before_once); firstaction = yon_char_append("firstaction ",before_once);
if (!yon_char_is_empty(after_once)) }
if (!yon_char_is_empty(after_once)) {
after_once = yon_char_replace(after_once,"\"","=--");
after_once = yon_char_replace(after_once,"=--","\\\"");
lastaction = yon_char_append("lastaction ",after_once); lastaction = yon_char_append("lastaction ",after_once);
if (!yon_char_is_empty(before)) }
if (!yon_char_is_empty(before)) {
before = yon_char_replace(before,"\"","=--");
before = yon_char_replace(before,"=--","\\\"");
prerotate = yon_char_append("prerotate ",before); prerotate = yon_char_append("prerotate ",before);
if (!yon_char_is_empty(after)) }
if (!yon_char_is_empty(after)) {
after = yon_char_replace(after,"\"","=--");
after = yon_char_replace(after,"=--","\\\"");
postrotate = yon_char_append("postrotate ",after); postrotate = yon_char_append("postrotate ",after);
if (!yon_char_is_empty(endwork)) }
if (!yon_char_is_empty(firstaction)||!yon_char_is_empty(after_once)||!yon_char_is_empty(before)||!yon_char_is_empty(after))
endscript = yon_char_append("endscript ",endwork); endscript = yon_char_append("endscript ",endwork);
} }
@ -762,8 +777,13 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
free(yon_char_divide_search(commandline,",",-1)); free(yon_char_divide_search(commandline,",",-1));
} }
if(!yon_char_is_empty(paths)){ if(!yon_char_is_empty(paths)){
if(window->paths){
yon_config_remove_by_key(window->paths);
yon_window_config_erase_custom_parameter(window->paths,"description");
}
GtkTreeIter iter; GtkTreeIter iter;
yon_config_register(LOGROTATE(paths),"logging",commandline); yon_config_register(LOGROTATE(paths),"logging",commandline);
yon_window_config_add_custom_parameter(paths,"description",yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->LogDescriptionEntry))),YON_TYPE_STRING);
GtkTreeModel *model = GTK_TREE_MODEL(main_config.logrotate_list); GtkTreeModel *model = GTK_TREE_MODEL(main_config.logrotate_list);
if (!dialog||!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->MainTree)),&model,&iter)){ if (!dialog||!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->MainTree)),&model,&iter)){
gtk_list_store_append(main_config.logrotate_list,&iter); gtk_list_store_append(main_config.logrotate_list,&iter);
@ -839,6 +859,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
window->CommandAfterEntry=yon_gtk_builder_get_widget(builder,"CommandAfterEntry"); window->CommandAfterEntry=yon_gtk_builder_get_widget(builder,"CommandAfterEntry");
window->EndworkCommandEntry=yon_gtk_builder_get_widget(builder,"EndworkCommandEntry"); window->EndworkCommandEntry=yon_gtk_builder_get_widget(builder,"EndworkCommandEntry");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL);
window->paths=paths;
if (paths){ if (paths){
int sz; int sz;
@ -1035,7 +1056,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
gtk_entry_set_text(GTK_ENTRY(window->CommandBeforeEntry),value); gtk_entry_set_text(GTK_ENTRY(window->CommandBeforeEntry),value);
i++; i++;
}else if (strstr(parsed[i],"postrotate")){ }else if (strstr(parsed[i],"postrotate")){
char *value = parsed[i+1]; char *value = strstr(parsed[i]," ")+1;
gtk_entry_set_text(GTK_ENTRY(window->CommandAfterEntry),value); gtk_entry_set_text(GTK_ENTRY(window->CommandAfterEntry),value);
i++; i++;
// }else if (!strcmp(parsed[i],"preremove")){ // }else if (!strcmp(parsed[i],"preremove")){
@ -1082,11 +1103,11 @@ void on_logrotate_edit(GtkWidget *self, logrotate_window *window){
gtk_widget_show(dialog->MainWindow); gtk_widget_show(dialog->MainWindow);
gtk_tree_model_get(model,&iter,0,&name,1,&paths,2,&description,-1); gtk_tree_model_get(model,&iter,0,&name,1,&paths,2,&description,-1);
gtk_entry_set_text(GTK_ENTRY(dialog->LogNameEntry),name); gtk_entry_set_text(GTK_ENTRY(dialog->LogNameEntry),name);
gtk_entry_set_text(GTK_ENTRY(dialog->LogDescriptionEntry),description); gtk_entry_set_text(GTK_ENTRY(dialog->LogDescriptionEntry),description ? description : "");
gtk_widget_set_can_focus(dialog->LogNameEntry,0); gtk_widget_set_can_focus(dialog->LogNameEntry,0);
gtk_widget_set_can_focus(dialog->LogDescriptionEntry,0); // gtk_widget_set_can_focus(dialog->LogDescriptionEntry,0);
gtk_entry_set_has_frame(GTK_ENTRY(dialog->LogNameEntry),0); gtk_entry_set_has_frame(GTK_ENTRY(dialog->LogNameEntry),0);
gtk_entry_set_has_frame(GTK_ENTRY(dialog->LogDescriptionEntry),0); // gtk_entry_set_has_frame(GTK_ENTRY(dialog->LogDescriptionEntry),0);
gtk_style_context_add_class(gtk_widget_get_style_context(dialog->LogNameEntry),"nobackground"); gtk_style_context_add_class(gtk_widget_get_style_context(dialog->LogNameEntry),"nobackground");
gtk_style_context_add_class(gtk_widget_get_style_context(dialog->LogDescriptionEntry),"nobackground"); gtk_style_context_add_class(gtk_widget_get_style_context(dialog->LogDescriptionEntry),"nobackground");
} }
@ -1635,7 +1656,7 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
// g_signal_connect(G_OBJECT(window->SyslogButton),"clicked", G_CALLBACK(yon_journald_open),widgets); // g_signal_connect(G_OBJECT(window->SyslogButton),"clicked", G_CALLBACK(yon_journald_open),widgets);
} }
window->log_name=name; window->log_name=name;
gtk_entry_set_text(GTK_ENTRY(window->LogDescriptionEntry),description); gtk_entry_set_text(GTK_ENTRY(window->LogDescriptionEntry),description ? description : "");
config_str paths_parsed = yon_char_parse(paths,&size,"\n"); config_str paths_parsed = yon_char_parse(paths,&size,"\n");
GtkWidget *last=NULL; GtkWidget *last=NULL;
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
@ -1654,7 +1675,7 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
gtk_widget_show(last); gtk_widget_show(last);
g_signal_connect(G_OBJECT(last),"clicked",G_CALLBACK(on_log_path_append),window); g_signal_connect(G_OBJECT(last),"clicked",G_CALLBACK(on_log_path_append),window);
gtk_widget_set_sensitive(window->LogTypeCombo,0); gtk_widget_set_sensitive(window->LogTypeCombo,0);
gtk_widget_set_sensitive(window->LogDescriptionEntry,0); // gtk_widget_set_sensitive(window->LogDescriptionEntry,0);
} }
} }
@ -1920,12 +1941,15 @@ main_window *setup_window(){
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->MainTree)); GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->MainTree));
for (int i=0; i<g_list_length(list);i++){ for (int i=0; i<g_list_length(list);i++){
yon_window_config_add_listener(g_list_nth_data(list,i),yon_char_append("column",yon_char_from_int(i)),"fixed-width",YON_TYPE_INT); yon_window_config_add_listener(g_list_nth_data(list,i),yon_char_append("column",yon_char_from_int(i)),"fixed-width",YON_TYPE_INT);
// yon_gtk_column_minimal_fixed_size_set((GtkTreeViewColumn*)g_list_nth_data(list,i));
} }
g_list_free(list); g_list_free(list);
list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->ServicesTree)); list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->ServicesTree));
for (int i=0; i<g_list_length(list);i++){ for (int i=0; i<g_list_length(list);i++){
yon_window_config_add_listener(g_list_nth_data(list,i),yon_char_append("servicecolumn",yon_char_from_int(i)),"fixed-width",YON_TYPE_INT); yon_window_config_add_listener(g_list_nth_data(list,i),yon_char_append("servicecolumn",yon_char_from_int(i)),"fixed-width",YON_TYPE_INT);
// yon_gtk_column_minimal_fixed_size_set((GtkTreeViewColumn*)g_list_nth_data(list,i));
} }
/* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */ /* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */
// yon_window_config_add_custom_parameter(widgets->HeadInfoLabel,"head-text","label",YON_TYPE_STRING); // yon_window_config_add_custom_parameter(widgets->HeadInfoLabel,"head-text","label",YON_TYPE_STRING);
@ -2045,7 +2069,6 @@ int main(int argc, char *argv[]){
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id); yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id);
yon_window_config_setup(GTK_WINDOW(widgets->Window)); yon_window_config_setup(GTK_WINDOW(widgets->Window));
yon_load_proceed(YON_CONFIG_LOCAL);
yon_window_config_load(config_path); yon_window_config_load(config_path);
yon_load_proceed(YON_CONFIG_LOCAL); yon_load_proceed(YON_CONFIG_LOCAL);
update_loaded_logrotate(); update_loaded_logrotate();

@ -8,6 +8,7 @@
#include <libintl.h> #include <libintl.h>
#include <getopt.h> #include <getopt.h>
#include <libintl.h> #include <libintl.h>
#include <vte/vte.h>
#include "../compile/ubl-cmake.h" #include "../compile/ubl-cmake.h"
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h> #include <webkit2/webkit2.h>
@ -43,11 +44,11 @@
#define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL) #define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL)
#define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL) #define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL)
#define get_journal_output_command "journalctl --no-pager" #define get_journal_output_command "clear;journalctl --no-pager"
#define get_journal_output_since_boot_command "journalctl --no-pager -b" #define get_journal_output_since_boot_command "clear;journalctl --no-pager -b"
#define get_journal_output_followed_command "journalctl --no-pager -f" #define get_journal_output_followed_command "clear;journalctl --no-pager -f"
#define get_journal_output_kernel_command "journalctl --no-pager -k" #define get_journal_output_kernel_command "clear;journalctl --no-pager -k"
#define get_journal_output_prioritied_command "journalctl --no-pager -p err..alert" #define get_journal_output_prioritied_command "clear;journalctl --no-pager -p err..alert"
#define start_icon_name "com.ublinux.ubl-settings-logging.play-symbolic" #define start_icon_name "com.ublinux.ubl-settings-logging.play-symbolic"
#define stop_icon_name "com.ublinux.ubl-settings-logging.stop-symbolic" #define stop_icon_name "com.ublinux.ubl-settings-logging.stop-symbolic"
@ -187,7 +188,6 @@ typedef struct {
} add_log_window; } add_log_window;
typedef struct { typedef struct {
GtkTextBuffer *textbuffer1;
GtkWidget *MainWindow; GtkWidget *MainWindow;
GtkWidget *plugBox; GtkWidget *plugBox;
GtkWidget *ShowSinceBootButton; GtkWidget *ShowSinceBootButton;
@ -195,7 +195,7 @@ GtkWidget *NewMessagesButton;
GtkWidget *ShowKernelButton; GtkWidget *ShowKernelButton;
GtkWidget *ShowPriorityButton; GtkWidget *ShowPriorityButton;
GtkWidget *UpdateButton; GtkWidget *UpdateButton;
GtkWidget *LoggingTextView; GtkWidget *LoggingTerminal;
GtkWidget *JournalActionsBox; GtkWidget *JournalActionsBox;
int last_mode; int last_mode;
char *journal_name; char *journal_name;
@ -338,6 +338,7 @@ typedef struct {
GtkWidget *CommandBeforeEntry; GtkWidget *CommandBeforeEntry;
GtkWidget *CommandAfterEntry; GtkWidget *CommandAfterEntry;
GtkWidget *EndworkCommandEntry; GtkWidget *EndworkCommandEntry;
char *paths;
} logrotate_configure_window; } logrotate_configure_window;
main_window *setup_window(); main_window *setup_window();

@ -1632,7 +1632,7 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end
NULL, NULL,
NULL, NULL,
NULL); NULL);
vte_terminal_set_scrollback_lines(VTE_TERMINAL(terminal), 100); vte_terminal_set_scrollback_lines(VTE_TERMINAL(terminal), -1);
vte_terminal_set_scroll_on_output(VTE_TERMINAL(terminal), TRUE); vte_terminal_set_scroll_on_output(VTE_TERMINAL(terminal), TRUE);
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(terminal), TRUE); vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(terminal), TRUE);
gtk_widget_show_all(terminal); gtk_widget_show_all(terminal);
@ -1860,6 +1860,11 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end
param->property = tracked_value; param->property = tracked_value;
param->containing_type = val_type; param->containing_type = val_type;
yon_dictionary_add_or_create_if_exists_with_data(__yon_main_window_config.custom_parameters,param->parameter_name,param); yon_dictionary_add_or_create_if_exists_with_data(__yon_main_window_config.custom_parameters,param->parameter_name,param);
dictionary *dict=NULL;
for_dictionaries(dict,__yon_main_window_config.deleted_parameters){
if (strcmp(dict->key,param->parameter_name))
yon_dictionary_rip(dict);
}
} }
void yon_window_config_erase_custom_parameter(char *param_name, char *section){ void yon_window_config_erase_custom_parameter(char *param_name, char *section){
@ -1962,6 +1967,11 @@ int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find){
} return -1; } return -1;
} }
void yon_gtk_column_minimal_fixed_size_set(GtkTreeViewColumn *column){
int width= gtk_tree_view_column_get_width(column);
gtk_tree_view_column_set_min_width(column,width);
}
/**yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...) /**yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...)
* [EN] * [EN]
* *

@ -14,6 +14,7 @@
#include <locale.h> #include <locale.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtkx.h> #include <gtk/gtkx.h>
#include <vte/vte.h>
#include "../compile/ubl-cmake.h" #include "../compile/ubl-cmake.h"
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
@ -291,6 +292,8 @@ int yon_gtk_combo_box_fill(GtkWidget *combo, char **parameters,int size);
int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find); int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find);
void yon_gtk_column_minimal_fixed_size_set(GtkTreeViewColumn *column);
int yon_gtk_icon_view_hide_empty(dictionary *icon_view_segment); int yon_gtk_icon_view_hide_empty(dictionary *icon_view_segment);
int yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...); int yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...);

@ -2,6 +2,7 @@
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-logging"> <interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<requires lib="vte-2.91" version="0.68"/>
<!-- interface-css-provider-path ubl-settings-logging.css --> <!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property> <property name="upper">100</property>
@ -13,6 +14,11 @@
<property name="step-increment">1</property> <property name="step-increment">1</property>
<property name="page-increment">10</property> <property name="page-increment">10</property>
</object> </object>
<object class="GtkAdjustment" id="adjustment3">
<property name="upper">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -53,7 +59,6 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">emblem-shared-symbolic</property> <property name="icon-name">emblem-shared-symbolic</property>
</object> </object>
<object class="GtkTextBuffer" id="textbuffer1"/>
<object class="GtkWindow" id="MainWindow"> <object class="GtkWindow" id="MainWindow">
<property name="width-request">800</property> <property name="width-request">800</property>
<property name="height-request">600</property> <property name="height-request">600</property>
@ -238,27 +243,16 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkScrolledWindow"> <object class="VteTerminal" id="LoggingTerminal">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="hadjustment">adjustment1</property> <property name="hscroll-policy">natural</property>
<property name="vadjustment">adjustment2</property> <property name="vadjustment">adjustment3</property>
<property name="shadow-type">in</property> <property name="vscroll-policy">natural</property>
<child> <property name="encoding">UTF-8</property>
<object class="GtkTextView" id="LoggingTextView"> <property name="scrollback-lines">0</property>
<property name="visible">True</property> <property name="scroll-on-keystroke">True</property>
<property name="can-focus">True</property> <property name="scroll-on-output">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="hadjustment">adjustment1</property>
<property name="vadjustment">adjustment2</property>
<property name="editable">False</property>
<property name="buffer">textbuffer1</property>
<property name="input-purpose">terminal</property>
</object>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -266,6 +260,19 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkScrollbar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="adjustment">adjustment3</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -315,4 +322,5 @@
</object> </object>
</child> </child>
</object> </object>
<object class="GtkTextBuffer" id="textbuffer1"/>
</interface> </interface>

@ -232,7 +232,6 @@
<child> <child>
<object class="GtkEntry" id="LogDescriptionEntry"> <object class="GtkEntry" id="LogDescriptionEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
<packing> <packing>

@ -947,7 +947,7 @@ translated and supported by community.</property>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
<property name="fixed-width">30</property> <property name="min-width">30</property>
<property name="title" translatable="yes">Status</property> <property name="title" translatable="yes">Status</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -960,7 +960,7 @@ translated and supported by community.</property>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
<property name="fixed-width">30</property> <property name="min-width">30</property>
<property name="title" translatable="yes">Autostart</property> <property name="title" translatable="yes">Autostart</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>

Loading…
Cancel
Save