User services fixes

pull/12/head
parent 64ed79ce0a
commit 0ed2bc04ab

@ -466,7 +466,8 @@ gboolean yon_interface_update(main_window *widgets){
GtkTreeIter iter;
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->MainTree),NULL);
config_str services = yon_config_load(load_services_command,&size);
config_str users_services = yon_config_load(load_user_services_command,&size_users);
char *command = load_user_services_command;
config_str users_services = yon_config_load(command,&size_users);
for (int i=0;i<size;i++){
while(gtk_events_pending()) gtk_main_iteration();
int parsed_size;
@ -479,11 +480,23 @@ gboolean yon_interface_update(main_window *widgets){
type = 2;
else type = 1;
int user_service=0;
if (yon_char_parsed_check_exist(users_services,size_users,parsed[0])!=-1){
user_service=1;
}
gtk_list_store_set(widgets->liststore2,&iter,5,parsed[0],6,description,7,type,8,user_service,-1);
}
for (int i=0;i<size_users;i++){
while(gtk_events_pending()) gtk_main_iteration();
int parsed_size;
if (users_services[i][strlen(users_services[i])-1]=='\n') users_services[i][strlen(users_services[i])-1]='\0';
config_str parsed = yon_char_parse(users_services[i],&parsed_size,";");
gtk_list_store_append(widgets->liststore2,&iter);
int type;
char *description = parsed[parsed_size-1];
if (strstr(parsed[0],".socket"))
type = 2;
else type = 1;
int user_service=1;
gtk_list_store_set(widgets->liststore2,&iter,5,parsed[0],6,description,7,type,8,user_service,-1);
}
int launched_size;
config_str launched_parsed = yon_config_load(load_launched_command,&launched_size);
int enabled_size;
@ -656,11 +669,11 @@ void config_init(){
void on_activate(GtkTreeView *self, main_window *widgets){
if (self){};
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore2);
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->MainTree));
char *name=NULL;
char *description=NULL;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->liststore2),&iter,5,&name,6,&description,-1);
gtk_tree_model_get(model,&iter,5,&name,6,&description,-1);
gtk_label_set_text(GTK_LABEL(widgets->ServiceLabel),name);
gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel),description);
menu_obj *menu=widgets->menu;

@ -33,7 +33,7 @@
#define LocaleName "ubl-settings-services"
#define load_services_command "systemctl list-units --type=service --type=socket --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g' -e 's/running /running;/g' -e 's/inactive /inactive;/g'"
#define load_user_services_command yon_char_unite("su -l ",yon_ubl_root_user_get()," -c \"systemctl --user list-units --type=service --type=socket --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g' |cut -f1 -d';'\"",NULL)
#define load_user_services_command yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ list-units --type=service --type=socket --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g'",NULL)
#define load_system_services_command "systemctl --system list-units --type=service --type=socket --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g' |cut -f1 -d';'"
#define load_enabled_command "systemctl list-unit-files --type=service --type=socket --no-pager --state=enabled --all |sed -e 's/ */:/g' -e 's/ *: */:/g'|cut -f1 -d:"
#define load_launched_command "systemctl list-units --type=service --type=socket --no-pager --state=active --all --no-legend|sed -e 's/^ //g' -e 's/ */:/g' |cut -f1 -d:"

Loading…
Cancel
Save