Merge pull request 'master' (#62) from YanTheKaller/ublexec:master into master

Reviewed-on: #62
master v2.32
Dmitry Razumov 2 years ago
commit 7212c23fd9

1
.gitignore vendored

@ -10,3 +10,4 @@ compile/
.install.sh .install.sh
terminal-commands/ terminal-commands/
.updatebuild.sh .updatebuild.sh
*vgcore*

@ -876,7 +876,51 @@ config_str yon_ubl_get_all_slices(int *slices_size){
// parsing functions // parsing functions
dictionary *yon_scan_desktops(){
dictionary *apps_dict = NULL;
DIR *directory = opendir(DesktopPath);
struct dirent *de;
while ((de = readdir(directory)))
{
FILE *file;
char *path = yon_char_append(DesktopPath, de->d_name);
file = fopen(path, "r");
if (strstr(path,".desktop")){
apps *application = malloc(sizeof(apps));
GKeyFile *gfile = g_key_file_new();
GError *err = NULL;
if (!access(path,F_OK)){
g_key_file_load_from_file(gfile, path, G_KEY_FILE_KEEP_TRANSLATIONS, NULL);
application->Type = !strcmp(g_key_file_get_string(gfile, "Desktop Entry", "Type", &err),"Application") ? 1 : 0;
if (application->Type){
application->Name = g_key_file_get_locale_string(gfile,"Desktop Entry", "Name",setlocale(LC_ALL, NULL),&err);
application->Categories = g_key_file_get_string(gfile,"Desktop Entry", "Categories",&err);
application->Exec = g_key_file_get_string(gfile,"Desktop Entry", "Exec",&err);
application->Icon = g_key_file_get_string(gfile,"Desktop Entry", "Icon",&err);
application->Pluggable = (g_key_file_get_boolean(gfile,"Desktop Entry", "Pluggable",NULL)||
g_key_file_get_boolean(gfile,"Desktop Entry", "X-XfcePluggable",&err));
application->DualPluggable = g_key_file_get_boolean(gfile,"Desktop Entry", "X-UBLPluggable",NULL);
application->Hidden = g_key_file_get_boolean(gfile,"Desktop Entry", "X-X-UBL-SettingsManager-Hidden",NULL);
if (application->Name&&application->Exec){
if (!apps_dict){
yon_dictionary_add_or_create_if_exists_with_data(apps_dict,application->Name,application);
} else if (!yon_dictionary_get(&apps_dict,application->Name)){
yon_dictionary_add_or_create_if_exists_with_data(apps_dict,application->Name,application);
} else {
yon_dictionary_set_data(apps_dict,application);
}
}
}
g_key_file_free(gfile);
gfile = g_key_file_new();
}
}
}
if (apps_dict) return apps_dict;
}
static int scanned_size=0;
static apps *scanned_application = NULL;
apps *yon_apps_scan_and_parse_desktops(int *sizef) apps *yon_apps_scan_and_parse_desktops(int *sizef)
{ {
int size = 0; int size = 0;
@ -899,12 +943,13 @@ apps *yon_apps_scan_and_parse_desktops(int *sizef)
apps tempapp; apps tempapp;
GKeyFile *gfile = g_key_file_new(); GKeyFile *gfile = g_key_file_new();
GError *err = NULL; GError *err = NULL;
g_key_file_load_from_file(gfile, path, G_KEY_FILE_KEEP_TRANSLATIONS, NULL); g_key_file_load_from_file(gfile, path, G_KEY_FILE_KEEP_TRANSLATIONS, &err);
if (!err){
char *Type = g_key_file_get_string(gfile, "Desktop Entry", "Type", &err); char *Type = g_key_file_get_string(gfile, "Desktop Entry", "Type", &err);
if (err) if (err)
{ {
printf("%s\n", err->message); printf("%s\n", err->message);
} } else {
if (strcmp(Type, "Application") == 0) if (strcmp(Type, "Application") == 0)
tempapp.Type = 1; tempapp.Type = 1;
else if (strcmp(Type, "pyApplication") == 0) else if (strcmp(Type, "pyApplication") == 0)
@ -957,10 +1002,16 @@ apps *yon_apps_scan_and_parse_desktops(int *sizef)
} }
} }
} }
g_key_file_free(gfile);
}
}
} }
} }
} }
*sizef = size; *sizef = size;
scanned_application = applist;
scanned_size=size;
return applist; return applist;
}; };
@ -1003,6 +1054,9 @@ void __yon_on_app_chooser_selection(GtkTreeView *self, GtkTreeStore *store){
if (gtk_tree_model_iter_nth_child(model,&parentiter,&iter,0)) if (gtk_tree_model_iter_nth_child(model,&parentiter,&iter,0))
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(self),&parentiter); gtk_tree_selection_select_iter(gtk_tree_view_get_selection(self),&parentiter);
} }
} else {
gtk_tree_model_get_iter_first(model,&iter);
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(self),&iter);
} }
} }
@ -1023,9 +1077,13 @@ char *yon_app_chooser_open_with_sections(char *section_name, char *section_filte
gtk_dialog_add_buttons(GTK_DIALOG(dialog),_("Cancel"),0,_("Accept"),1,NULL); gtk_dialog_add_buttons(GTK_DIALOG(dialog),_("Cancel"),0,_("Accept"),1,NULL);
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"ApplicationsWindow")); GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"ApplicationsWindow"));
GtkWidget *box = GTK_WIDGET(gtk_builder_get_object(builder,"box")); GtkWidget *box = GTK_WIDGET(gtk_builder_get_object(builder,"box"));
GtkWidget *header = GTK_WIDGET(gtk_builder_get_object(builder,"ApplicationsHeaderBar"));
gtk_window_set_title(GTK_WINDOW(dialog),_("Application"));
gtk_window_set_titlebar(GTK_WINDOW(dialog),header);
g_object_ref(box); g_object_ref(box);
gtk_container_remove(GTK_CONTAINER(window),box); gtk_container_remove(GTK_CONTAINER(window),box);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),box,1,1,5); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),box,1,1,5);
gtk_style_context_add_class(gtk_widget_get_style_context(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),"workingbg");
GtkWidget *main_tree = GTK_WIDGET(gtk_builder_get_object(builder,"MainTree")); GtkWidget *main_tree = GTK_WIDGET(gtk_builder_get_object(builder,"MainTree"));
GtkTreeStore *store = GTK_TREE_STORE(gtk_builder_get_object(builder,"treestore1")); GtkTreeStore *store = GTK_TREE_STORE(gtk_builder_get_object(builder,"treestore1"));
va_list args; va_list args;
@ -1046,19 +1104,25 @@ char *yon_app_chooser_open_with_sections(char *section_name, char *section_filte
} }
} }
va_end(args); va_end(args);
int size; int size=scanned_size;
apps *app_list = yon_apps_scan_and_parse_desktops(&size); apps *app_list = scanned_application ? scanned_application : yon_apps_scan_and_parse_desktops(&size);
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store),&iter); int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store),&iter);
for (; valid; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(store),&iter)){ for (; valid; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(store),&iter)){
char *cur_categories; char *cur_categories;
gtk_tree_model_get(GTK_TREE_MODEL(store),&iter,2,&cur_categories,-1); gtk_tree_model_get(GTK_TREE_MODEL(store),&iter,2,&cur_categories,-1);
for (int i=0; i<size;i++){ for (int i=0; i<size;i++){
if (strstr(app_list[i].Categories,cur_categories)){ if (strstr(app_list[i].Categories,cur_categories)){
if (i>0&&strcmp(app_list[i].Name,app_list[i-1].Name)){
if (strstr(app_list[i].Icon,"/")){
yon_char_divide(app_list[i].Icon,yon_char_find_last(app_list[i].Icon,'/'));
app_list[i].Icon = yon_char_divide(app_list[i].Icon,yon_char_find_last(app_list[i].Icon,'.'));
}
gtk_tree_store_append(store,&childiter,&iter); gtk_tree_store_append(store,&childiter,&iter);
gtk_tree_store_set(store,&childiter,0,app_list[i].Icon, 1,app_list[i].Name, 2, app_list[i].filename, -1); gtk_tree_store_set(store,&childiter,0,app_list[i].Icon, 1,app_list[i].Name, 2, app_list[i].filename, -1);
} }
} }
} }
}
gtk_tree_view_set_model(GTK_TREE_VIEW(main_tree),GTK_TREE_MODEL(store)); gtk_tree_view_set_model(GTK_TREE_VIEW(main_tree),GTK_TREE_MODEL(store));
int res = gtk_dialog_run(GTK_DIALOG(dialog)); int res = gtk_dialog_run(GTK_DIALOG(dialog));
GtkTreeModel *model = GTK_TREE_MODEL(store); GtkTreeModel *model = GTK_TREE_MODEL(store);
@ -1070,9 +1134,12 @@ char *yon_app_chooser_open_with_sections(char *section_name, char *section_filte
gtk_widget_destroy(dialog); gtk_widget_destroy(dialog);
return path; return path;
} }
} else {
gtk_widget_destroy(dialog);
return "";
} }
} else { } else {
yon_subwindow_close(box); gtk_widget_destroy(dialog);
} }
} }

@ -73,6 +73,7 @@ typedef struct apps
char *Icon; char *Icon;
int Pluggable; int Pluggable;
int DualPluggable; int DualPluggable;
int Hidden;
} apps; } apps;
typedef char** config_str; typedef char** config_str;
@ -188,6 +189,8 @@ config_str yon_ubl_get_all_slices(int *slices_size);
config_str philos_list_user(int* size); config_str philos_list_user(int* size);
dictionary *yon_scan_desktops();
apps *yon_apps_scan_and_parse_desktops(int *sizef); apps *yon_apps_scan_and_parse_desktops(int *sizef);
void yon_apps_sort(apps *applist, int size); void yon_apps_sort(apps *applist, int size);

@ -123,7 +123,7 @@ void on_application_chooser_open(GtkWidget *self, main_window *widgets){
} }
void on_user_changed(GtkWidget *self, main_window *widgets){ void on_user_changed(GtkWidget *self, main_window *widgets){
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->prioritySpin)); GtkAdjustment *adj = gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale));
if (gtk_combo_box_get_active(GTK_COMBO_BOX(self))==0){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(self))==0){
gtk_adjustment_set_lower(adj,-20); gtk_adjustment_set_lower(adj,-20);
gtk_label_set_text(GTK_LABEL(widgets->highestPriorityLabel),PRIORITY_ROOT_LABEL); gtk_label_set_text(GTK_LABEL(widgets->highestPriorityLabel),PRIORITY_ROOT_LABEL);
@ -151,7 +151,7 @@ void on_user_activate(GtkToggleButton *self, main_window *widgets){
} }
void on_user_switching(GtkToggleButton *self, main_window *widgets){ void on_user_switching(GtkToggleButton *self, main_window *widgets){
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->prioritySpin)); GtkAdjustment *adj = gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale));
if (gtk_toggle_button_get_active(self)){ if (gtk_toggle_button_get_active(self)){
if (!gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->runWithUserCombo))){ if (!gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->runWithUserCombo))){
gtk_adjustment_set_lower(adj,-20); gtk_adjustment_set_lower(adj,-20);
@ -180,7 +180,7 @@ void on_setup_command(GtkWidget *self, main_window *widgets){
int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck)); int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck));
int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck)); int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck));
int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck)); int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck));
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->prioritySpin)))) : ""; char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))))) : "";
int size; int size;
char *command = yon_char_unite(get_run_command_command, " -o", char *command = yon_char_unite(get_run_command_command, " -o",
terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "", terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "",
@ -196,6 +196,9 @@ void on_setup_command(GtkWidget *self, main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->commandEntry),final_command); gtk_entry_set_text(GTK_ENTRY(widgets->commandEntry),final_command);
free(final_command); free(final_command);
} }
else {
gtk_entry_set_text(GTK_ENTRY(widgets->commandEntry),"");
}
} }
void on_command_run(GtkWidget *self, main_window *widgets){ void on_command_run(GtkWidget *self, main_window *widgets){
@ -216,7 +219,7 @@ void on_command_run(GtkWidget *self, main_window *widgets){
int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck)); int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck));
int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck)); int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck));
int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck)); int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck));
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->prioritySpin)))) : ""; char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))))) : "";
int size; int size;
char *command = yon_char_unite(get_run_command_command, char *command = yon_char_unite(get_run_command_command,
terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "", terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "",
@ -251,6 +254,22 @@ void config_init(){
main_config.lock_save_local=0; main_config.lock_save_local=0;
} }
void on_adjustment_changed(GtkAdjustment *self, main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->prioritySpinEntry),yon_char_from_long(gtk_adjustment_get_value(self)));
}
void on_adjustment_increase(GtkWidget *self, main_window *widgets) {
long current = gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)));
current ++;
gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)),current);
}
void on_adjustment_decrease(GtkWidget *self, main_window *widgets) {
long current = gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)));
current --;
gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)),current);
}
main_window *setup_window(){ main_window *setup_window(){
/* Widgets getting | Получение виджетов */ /* Widgets getting | Получение виджетов */
main_window *widgets = malloc(sizeof(main_window)); main_window *widgets = malloc(sizeof(main_window));
@ -276,7 +295,9 @@ main_window *setup_window(){
widgets->priorityCheck = yon_gtk_builder_get_widget(builder,"priorityCheck"); widgets->priorityCheck = yon_gtk_builder_get_widget(builder,"priorityCheck");
widgets->priorityScale = yon_gtk_builder_get_widget(builder,"priorityScale"); widgets->priorityScale = yon_gtk_builder_get_widget(builder,"priorityScale");
widgets->prioritySpin = yon_gtk_builder_get_widget(builder,"prioritySpin"); widgets->prioritySpinEntry = yon_gtk_builder_get_widget(builder,"prioritySpinEntry");
widgets->prioritySpinIncreaseButton = yon_gtk_builder_get_widget(builder,"prioritySpinIncreaseButton");
widgets->prioritySpinDecreaseButton = yon_gtk_builder_get_widget(builder,"prioritySpinDecreaseButton");
widgets->highestPriorityLabel = yon_gtk_builder_get_widget(builder,"highestPriorityLabel"); widgets->highestPriorityLabel = yon_gtk_builder_get_widget(builder,"highestPriorityLabel");
widgets->commandCheck = yon_gtk_builder_get_widget(builder,"commandCheck"); widgets->commandCheck = yon_gtk_builder_get_widget(builder,"commandCheck");
@ -308,7 +329,7 @@ main_window *setup_window(){
g_signal_connect(G_OBJECT(widgets->chooseDesktopButton),"clicked",G_CALLBACK(on_application_chooser_open),widgets); g_signal_connect(G_OBJECT(widgets->chooseDesktopButton),"clicked",G_CALLBACK(on_application_chooser_open),widgets);
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->priorityScale); g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->priorityScale);
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->prioritySpin); g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),gtk_widget_get_parent(widgets->prioritySpinEntry));
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserPkexecCheck); g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserPkexecCheck);
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserSuCheck); g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserSuCheck);
@ -336,8 +357,12 @@ main_window *setup_window(){
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(on_setup_command),widgets); g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(on_setup_command),widgets);
g_signal_connect(G_OBJECT(widgets->priorityScale),"value-changed",G_CALLBACK(on_setup_command),widgets); g_signal_connect(G_OBJECT(widgets->priorityScale),"value-changed",G_CALLBACK(on_setup_command),widgets);
g_signal_connect(G_OBJECT(widgets->runButton),"clicked",G_CALLBACK(on_command_run),widgets); g_signal_connect(G_OBJECT(widgets->prioritySpinIncreaseButton),"clicked",G_CALLBACK(on_adjustment_increase),widgets);
g_signal_connect(G_OBJECT(widgets->prioritySpinDecreaseButton),"clicked",G_CALLBACK(on_adjustment_decrease),widgets);
g_signal_connect(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))),"value-changed",G_CALLBACK(on_adjustment_changed),widgets);
g_signal_connect(G_OBJECT(widgets->runButton),"clicked",G_CALLBACK(on_command_run),widgets);
int size; int size;
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->runWithUserCombo),"root"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->runWithUserCombo),"root");
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->runWithUserCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->runWithUserCombo),0);

@ -1,5 +1,6 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtkx.h> #include <gtk/gtkx.h>
#include <gtk/gtkspinbutton.h>
#include "ubl-utils.h" #include "ubl-utils.h"
#include <locale.h> #include <locale.h>
#include <stdio.h> #include <stdio.h>
@ -97,7 +98,9 @@ typedef struct {
GtkWidget *runWithUserCombo; GtkWidget *runWithUserCombo;
GtkWidget *priorityCheck; GtkWidget *priorityCheck;
GtkWidget *priorityScale; GtkWidget *priorityScale;
GtkWidget *prioritySpin; GtkWidget *prioritySpinEntry;
GtkWidget *prioritySpinIncreaseButton;
GtkWidget *prioritySpinDecreaseButton;
GtkWidget *highestPriorityLabel; GtkWidget *highestPriorityLabel;
GtkWidget *commandCheck; GtkWidget *commandCheck;

@ -2,6 +2,30 @@
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.38.2 -->
<interface> <interface>
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<object class="GtkHeaderBar" id="ApplicationsHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="lblHeaderName1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="label" translatable="yes">Applications</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ublexec</property>
</object>
</child>
</object>
<object class="GtkTreeStore" id="treestore1"> <object class="GtkTreeStore" id="treestore1">
<columns> <columns>
<!-- column-name IconName --> <!-- column-name IconName -->
@ -27,7 +51,6 @@
<object class="GtkScrolledWindow"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child> <child>
<object class="GtkTreeView" id="MainTree"> <object class="GtkTreeView" id="MainTree">
<property name="visible">True</property> <property name="visible">True</property>
@ -35,6 +58,9 @@
<property name="model">treestore1</property> <property name="model">treestore1</property>
<property name="headers-visible">False</property> <property name="headers-visible">False</property>
<property name="expander-column">treeviewcolumn1</property> <property name="expander-column">treeviewcolumn1</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1"> <object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="title" translatable="yes">column</property> <property name="title" translatable="yes">column</property>
@ -63,31 +89,17 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="lblHeaderName1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="label" translatable="yes">Applications</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child> <child>
<object class="GtkImage"> <object class="GtkSeparator">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="pixel-size">32</property> <property name="orientation">vertical</property>
<property name="icon-name">com.ublinux.ublexec</property>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child> </child>
</object> </object>
</child> </child>

@ -2,22 +2,27 @@
text-shadow: 2px 2px @theme_bg_color; text-shadow: 2px 2px @theme_bg_color;
color: @theme_text_color; color: @theme_text_color;
} }
.thin { .thin {
margin:0px; margin:0px;
padding:0px; padding:0px;
} }
.bannerbackground { .bannerbackground {
background-color: #404040; background-color: #404040;
} }
.view_app { .view_app {
background-color: @theme_bg_color; background-color: @theme_bg_color;
} }
.view_app.view.cell:selected { .view_app.view.cell:selected {
background-color:@theme_selected_bg_color; background-color:@theme_selected_bg_color;
color:@theme_selected_text_color; color:@theme_selected_text_color;
transition: 10ms ease-out; transition: 10ms ease-out;
border-radius: 3px; border-radius: 3px;
} }
.boxInfoMessError{ .boxInfoMessError{
background-color: #ea9999; background-color: #ea9999;
} }
@ -25,6 +30,7 @@
.boxInfoMessOK{ .boxInfoMessOK{
background-color: #f3f0ac; background-color: #f3f0ac;
} }
#GnomeIcon{ #GnomeIcon{
border-style:solid; border-style:solid;
border-bottom-width: 1px; border-bottom-width: 1px;
@ -39,28 +45,34 @@
#iconlabel { #iconlabel {
font-size:14px; font-size:14px;
font-weight: bold; font-weight: bold;
} }
.roundborder * { .roundborder * {
border-width:0px; border-width:0px;
border-radius:5px; border-radius:5px;
} }
.noborder { .noborder {
border: none; border: none;
} }
.menu:hover { .menu:hover {
border-color:alpha(@theme_text_color, 0.01); border-color:alpha(@theme_text_color, 0.01);
} }
.menu { .menu {
border-color:alpha(@theme_text_color, 0.01); border-color:alpha(@theme_text_color, 0.01);
} }
.menu:hover >* { .menu:hover >* {
border-color:alpha(@theme_text_color, 0.01); border-color:alpha(@theme_text_color, 0.01);
} }
.menuitembottom{ .menuitembottom{
margin-top:0px; margin-top:0px;
margin-bottom:3px; margin-bottom:3px;
} }
.menuitemmiddle{ .menuitemmiddle{
margin-top:0px; margin-top:0px;
margin-bottom:0px; margin-bottom:0px;
@ -69,30 +81,36 @@
.menuitemtop{ .menuitemtop{
margin-bottom:0px; margin-bottom:0px;
} }
.menuitemtop *{ .menuitemtop *{
margin:2px 2px 0 2px; margin:2px 2px 0 2px;
padding: 5px 10px 3px 5px; padding: 5px 10px 3px 5px;
} }
.menuitemmiddle *{ .menuitemmiddle *{
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
} }
.menuitembottom *{ .menuitembottom *{
margin:0 2px 2px 2px; margin:0 2px 2px 2px;
padding: 3px 10px 5px 5px; padding: 3px 10px 5px 5px;
} }
.menuitemtop:hover { .menuitemtop:hover {
background:@theme_bg_color; background:@theme_bg_color;
border-color:inherit; border-color:inherit;
border-left-width:inherit; border-left-width:inherit;
border-right-width:inherit; border-right-width:inherit;
} }
.menuitemmiddle:hover { .menuitemmiddle:hover {
background:@theme_bg_color; background:@theme_bg_color;
border-color:inherit; border-color:inherit;
border-left-width:inherit; border-left-width:inherit;
border-right-width:inherit; border-right-width:inherit;
} }
.menuitembottom:hover { .menuitembottom:hover {
background:@theme_bg_color; background:@theme_bg_color;
border-color:inherit; border-color:inherit;
@ -100,18 +118,21 @@
border-right-width:inherit; border-right-width:inherit;
} }
.menuitemtop:hover* { .menuitemtop:hover* {
margin:2px 2px 0 2px; margin:2px 2px 0 2px;
padding: 5px 10px 3px 5px; padding: 5px 10px 3px 5px;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;
border-radius:2px; border-radius:2px;
} }
.menuitemmiddle:hover* { .menuitemmiddle:hover* {
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;
border-radius:2px; border-radius:2px;
} }
.menuitembottom:hover* { .menuitembottom:hover* {
margin:0 2px 2px 2px; margin:0 2px 2px 2px;
padding: 3px 10px 5px 5px; padding: 3px 10px 5px 5px;
@ -122,18 +143,22 @@
.workingbg, #workingbg { .workingbg, #workingbg {
background-color:@theme_base_color; background-color:@theme_base_color;
} }
.workingbg.view.cell:selected { .workingbg.view.cell:selected {
background-color:@theme_selected_bg_color; background-color:@theme_selected_bg_color;
} }
.workingbg.view.cell:hover { .workingbg.view.cell:hover {
background-color:darker(@theme_selected_bg_color); background-color:darker(@theme_selected_bg_color);
color:@theme_selected_text_color; color:@theme_selected_text_color;
border-radius:3px; border-radius:3px;
} }
.bkim { .bkim {
transition: 200ms ease-out; transition: 200ms ease-out;
background-image: none; background-image: none;
} }
.noborder{ .noborder{
border:none; border:none;
} }
@ -156,18 +181,21 @@ opacity:0.99;
border-left-width:inherit; border-left-width:inherit;
border-right-width:inherit; border-right-width:inherit;
} }
.aaa *{ .aaa *{
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding-top: 3px; padding-top: 3px;
padding-bottom:3px; padding-bottom:3px;
border:transparent; border:transparent;
} }
.aaa:hover { .aaa:hover {
background:@theme_bg_color; background:@theme_bg_color;
border-color:inherit; border-color:inherit;
border-left-width:inherit; border-left-width:inherit;
border-right-width:inherit; border-right-width:inherit;
} }
.aaa:hover * { .aaa:hover * {
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding-top: 3px; padding-top: 3px;
@ -175,3 +203,21 @@ opacity:0.99;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;
border-radius:2px; border-radius:2px;
} }
.flatborders {
border-radius: 0px;
}
.flatbordersleft {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.flatbordersright {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
.noleftborder {
border-left: 0px;
}

@ -67,6 +67,7 @@
</object> </object>
</child> </child>
</object> </object>
<object class="GtkSizeGroup"/>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">19</property> <property name="upper">19</property>
<property name="step-increment">1</property> <property name="step-increment">1</property>
@ -380,6 +381,16 @@ translated and supported by community.</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">media-playback-start-symbolic</property> <property name="icon-name">media-playback-start-symbolic</property>
</object> </object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">value-decrease-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">value-increase-symbolic</property>
</object>
<object class="GtkListStore" id="list_Other"> <object class="GtkListStore" id="list_Other">
<columns> <columns>
<!-- column-name gchararray1 --> <!-- column-name gchararray1 -->
@ -406,7 +417,7 @@ translated and supported by community.</property>
</object> </object>
<object class="GtkWindow" id="window"> <object class="GtkWindow" id="window">
<property name="width-request">800</property> <property name="width-request">800</property>
<property name="height-request">600</property> <property name="height-request">545</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ublexec</property> <property name="icon-name">com.ublinux.ublexec</property>
<child> <child>
@ -549,7 +560,6 @@ translated and supported by community.</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">File view</property> <property name="tooltip-text" translatable="yes">File view</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin-end">5</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -942,13 +952,57 @@ translated and supported by community.</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkSpinButton" id="prioritySpin"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<child>
<object class="GtkEntry" id="prioritySpinEntry">
<property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="adjustment">adjustment1</property> <property name="width-chars">4</property>
<property name="numeric">True</property> <property name="max-width-chars">2</property>
<property name="text" translatable="yes">0</property>
<property name="input-purpose">digits</property>
<style>
<class name="fatbordersright"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="prioritySpinIncreaseButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image3</property>
<style>
<class name="flatborders"/>
<class name="noleftborder"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="prioritySpinDecreaseButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
<style>
<class name="flatbordersleft"/>
<class name="noleftborder"/>
</style>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -957,6 +1011,13 @@ translated and supported by community.</property>
</packing> </packing>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
@ -1157,6 +1218,8 @@ translated and supported by community.</property>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="pixel-size">32</property> <property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ublexec</property> <property name="icon-name">com.ublinux.ublexec</property>
</object> </object>
@ -1193,12 +1256,6 @@ translated and supported by community.</property>
</object> </object>
</child> </child>
</object> </object>
<object class="GtkSizeGroup">
<widgets>
<widget name="prioritySpin"/>
<widget name="lblInfoPriority"/>
</widgets>
</object>
<object class="GtkWindow" id="wndWeb"> <object class="GtkWindow" id="wndWeb">
<property name="width-request">800</property> <property name="width-request">800</property>
<property name="height-request">600</property> <property name="height-request">600</property>

Loading…
Cancel
Save