pull/9/head
parent 7fc1797292
commit 0bd1e1dbd0

@ -1,10 +1,10 @@
PAСKAGE_UBM;PAСKAGE;NAME;DESCRIPTION
ubm-002-linux515-headers;linux515-headers;Linux 5.15 headers;The Linux kernel headers v5.15
ubm-003-linux515-docs;linux515-docs;Linux 5.15 Docs;The Linux kernel docs v5.15
ubm-linux515-dkms;linux515-dkms;Linux 5.15 DKMS modules;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
ubm-002-linux61-headers;linux61-headers;Linux 6.1 headers;The Linux kernel headers v6.1
ubm-003-linux61-docs;linux61-docs;Linux 6.1 Docs;The Linux kernel docs v6.1
ubm-linux61-dkms;linux61-dkms;Linux 6.1 DKMS modules;The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
ubm-002-linux66-headers;linux66-headers;Linux 6.6 headers;The Linux kernel headers v6.6
ubm-003-linux66-docs;linux66-docs;Linux 6.6 Docs;The Linux kernel docs v6.6
ubm-linux66-dkms;linux66-dkms;Linux 6.6 DKMS modules;The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
NAME;PAСKAGE_UBM;PAСKAGE;DESCRIPTION
Linux 5.15 headers;ubm-002-linux515-headers;linux515-headers;The Linux kernel headers v5.15
Linux 5.15 Docs;ubm-003-linux515-docs;linux515-docs;The Linux kernel docs v5.15
Linux 5.15 DKMS modules;ubm-linux515-dkms;linux515-dkms;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
Linux 6.1 headers;ubm-002-linux61-headers;linux61-headers;The Linux kernel headers v6.1
Linux 6.1 Docs;ubm-003-linux61-docs;linux61-docs;The Linux kernel docs v6.1
Linux 6.1 DKMS modules;ubm-linux61-dkms;linux61-dkms;The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
Linux 6.6 headers;ubm-002-linux66-headers;linux66-headers;The Linux kernel headers v6.6
Linux 6.6 Docs;ubm-003-linux66-docs;linux66-docs;The Linux kernel docs v6.6
Linux 6.6 DKMS modules;ubm-linux66-dkms;linux66-dkms;The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
1 NAME PAСKAGE_UBM PAСKAGE DESCRIPTION
2 Linux 5.15 headers ubm-002-linux515-headers linux515-headers The Linux kernel headers v5.15
3 Linux 5.15 Docs ubm-003-linux515-docs linux515-docs The Linux kernel docs v5.15
4 Linux 5.15 DKMS modules ubm-linux515-dkms linux515-dkms The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
5 Linux 6.1 headers ubm-002-linux61-headers linux61-headers The Linux kernel headers v6.1
6 Linux 6.1 Docs ubm-003-linux61-docs linux61-docs The Linux kernel docs v6.1
7 Linux 6.1 DKMS modules ubm-linux61-dkms linux61-dkms The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
8 Linux 6.6 headers ubm-002-linux66-headers linux66-headers The Linux kernel headers v6.6
9 Linux 6.6 Docs ubm-003-linux66-docs linux66-docs The Linux kernel docs v6.6
10 Linux 6.6 DKMS modules ubm-linux66-dkms linux66-dkms The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu

@ -1,4 +1,4 @@
PAСKAGE_UBM;PAСKAGE;NAME;TAG;DESCRIPTION
ubm-001-linux515,ubm-001-linux515-headers;linux515,linux515-headers;Linux 5.15;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
ubm-001-linux61,ubm-001-linux61-headers;linux61,linux61-headers;Linux 6.1;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.1 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
ubm-001-linux66,ubm-001-linux66-headers;linux66,linux66-headers;Linux 6.6;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.6 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
NAME;PAСKAGE_UBM;PAСKAGE;PAСKAGE_UBM_REQUIRED;PAСKAGE_REQUIRED;TAG;DESCRIPTION
Linux 5.15;ubm-001-linux515;linux515;ubm-001-linux515-headers;linux515-headers;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
Linux 6.1;ubm-001-linux61;linux61;ubm-001-linux61-headers;linux61-headers;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.1 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
Linux 6.6;ubm-001-linux66;linux66;ubm-001-linux66-headers;linux66-headers;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.6 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
1 NAME PAСKAGE_UBM PAСKAGE PAСKAGE_UBM_REQUIRED PAСKAGE_REQUIRED TAG DESCRIPTION
2 Linux 5.15 ubm-001-linux515,ubm-001-linux515-headers ubm-001-linux515 linux515,linux515-headers linux515 ubm-001-linux515-headers linux515-headers LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
3 Linux 6.1 ubm-001-linux61,ubm-001-linux61-headers ubm-001-linux61 linux61,linux61-headers linux61 ubm-001-linux61-headers linux61-headers LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v6.1 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
4 Linux 6.6 ubm-001-linux66,ubm-001-linux66-headers ubm-001-linux66 linux66,linux66-headers linux66 ubm-001-linux66-headers linux66-headers LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v6.6 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs

@ -71,56 +71,91 @@ install_window *yon_install_window_new(){
return window;
}
int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name){
if (GTK_IS_BOX(target)&&!yon_char_is_empty(tag_label)&&!yon_char_is_empty(tag_style)){
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2);
GtkWidget *label = gtk_label_new(tag_label);
gtk_style_context_add_class(gtk_widget_get_style_context(label),tag_style);
GtkWidget *icon = NULL;
if (icon_name){
icon = gtk_image_new_from_icon_name(icon_name,GTK_ICON_SIZE_BUTTON);
gtk_box_pack_start(GTK_BOX(box),icon,0,0,0);
}
gtk_box_pack_start(GTK_BOX(box),label,1,1,0);
gtk_widget_show_all(box);
gtk_box_pack_start(target,box,0,0,0);
return 1;
}
return 0;
}
GtkWidget *yon_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_table_row_path);
GtkWidget *main_box = yon_gtk_builder_get_widget(builder,"TableRowLabel");
GtkWidget *icon_box = yon_gtk_builder_get_widget(builder,"IconPackBox");
GtkWidget *icon_box = yon_gtk_builder_get_widget(builder,"IconBox");
GtkWidget *name_label = yon_gtk_builder_get_widget(builder,"NameLabel");
GtkWidget *install_tags_box = yon_gtk_builder_get_widget(builder,"InstallTagsBox");
GtkWidget *run_tags_box = yon_gtk_builder_get_widget(builder,"RunBox");
GtkWidget *tags_box = yon_gtk_builder_get_widget(builder,"TagsBox");
GtkWidget *module_check = yon_gtk_builder_get_widget(builder,"ModuleCheck");
GtkWidget *package_check = yon_gtk_builder_get_widget(builder,"PackageCheck");
GtkWidget *loaded_radio = yon_gtk_builder_get_widget(builder,"LoadedRadio");
GtkWidget *description_label = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
GtkWidget *remove_module_button = yon_gtk_builder_get_widget(builder,"RemoveModuleButton");
GtkWidget *remove_package_button = yon_gtk_builder_get_widget(builder,"RemovePackageButton");
GtkWidget *install_module_button = yon_gtk_builder_get_widget(builder,"InstallModuleButton");
GtkWidget *install_package_button = yon_gtk_builder_get_widget(builder,"InstallPackageButton");
gtk_list_box_insert(target,main_box,-1);
int size;
config_str parsed = yon_char_parse(target_string,&size,";");
if (size){
char *name = yon_char_unite("<b>",parsed[2],"</b>\n<i>",parsed[0],"\n",parsed[1],"</i>",NULL);
char *name = yon_char_unite("<b>",parsed[2],"</b>\n<i>",MODULE_LABEL," ",parsed[0],"\n",PACKAGE_LABEL," ",parsed[1],"</i>",NULL);
int types_size;
config_str types_parsed = yon_char_parse(parsed[3],&types_size,", ");
config_str types_parsed = yon_char_parse(parsed[5],&types_size,", ");
for (int k=0;k<types_size;k++){
GtkWidget *cur_tag_label = gtk_label_new(types_parsed[k]);
gtk_box_pack_start(GTK_BOX(tags_box),cur_tag_label,0,0,1);
gtk_widget_show(cur_tag_label);
char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL;
if (passw) free(passw);
char *tag_type = NULL;
if (!strcmp(types_parsed[k],"LTS")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_blue");
tag_type = "tag_blue";
} else if (!strcmp(types_parsed[k],"Stable")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_green");
tag_type = "tag_green";
} else if (!strcmp(types_parsed[k],"RealTime")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_orange");
tag_type = "tag_orange";
} else if (!strcmp(types_parsed[k],"Hardened")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_yellow");
tag_type = "tag_yellow";
} else if (!strcmp(types_parsed[k],"Recomended")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_blue");
tag_type = "tag_blue";
} else if (!strcmp(types_parsed[k],"Reactive")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_purple");
tag_type = "tag_purple";
} else continue;
yon_tag_add(GTK_BOX(tags_box),types_parsed[k],tag_type,NULL);
}
char *check_install_command = get_package_is_installed_command(parsed[1]);
if (!system(check_install_command)){
yon_tag_add(GTK_BOX(install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",module_icon_path);
gtk_widget_show(remove_module_button);
gtk_widget_show(remove_package_button);
gtk_widget_hide(install_module_button);
gtk_widget_hide(install_package_button);
} else {
free(check_install_command);
check_install_command = get_package_is_installed_command(parsed[2]);
if (!system(check_install_command)){
yon_tag_add(GTK_BOX(install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",package_icon_path);
gtk_widget_hide(install_package_button);
gtk_widget_show(remove_package_button);
}
}
yon_char_parsed_free(types_parsed,types_size);
gtk_label_set_markup(GTK_LABEL(name_label),name);
gtk_label_set_text(GTK_LABEL(description_label),parsed[4]);
gtk_size_group_add_widget(widgets->StatusSizeGroup,icon_box);
gtk_size_group_add_widget(widgets->KernelSizeGroup,name_label);
gtk_size_group_add_widget(widgets->TagsSizeGroup,tags_box);
gtk_size_group_add_widget(widgets->ModuleSizeGroup,module_check);
gtk_size_group_add_widget(widgets->PackageSizeGroup,package_check);
gtk_size_group_add_widget(widgets->LoaderSizeGroup,loaded_radio);
gtk_size_group_add_widget(widgets->DescriptionSizeGroup,description_label);
gtk_label_set_text(GTK_LABEL(description_label),parsed[6]);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->StatusSizeGroup),icon_box);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->KernelSizeGroup),name_label);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->TagsSizeGroup),tags_box);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->InstallSizeGroup),install_tags_box);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->RunSizeGroup),run_tags_box);
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),description_label);
}
return main_box;
}
@ -274,33 +309,23 @@ void yon_main_window_complete(main_window *widgets){
widgets->StatusSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"StatusSizeGroup"));
widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"KernelSizeGroup"));
widgets->TagsSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup"));
widgets->ModuleSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"ModuleSizeGroup"));
widgets->PackageSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"PackageSizeGroup"));
widgets->LoaderSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"LoaderSizeGroup"));
widgets->InstallSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"InstallSizeGroup"));
widgets->RunSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"RunSizeGroup"));
widgets->DescriptionSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"DescriptionSizeGroup"));
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->InfoButton),"clicked",G_CALLBACK(on_info_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_changelog_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_module_toggled),widgets);
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_package_toggled),widgets);
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_boot_toggled),widgets);
GtkWidget *radio_group=NULL;
int kernels_size;
config_str kernels = yon_resource_open_file(kernels_path, &kernels_size);
for (int i=1;i<kernels_size;i++){
GtkWidget *current = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
GList *list = gtk_container_get_children(GTK_CONTAINER(current));
GList *list2 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,5)));
GtkWidget *radio = GTK_WIDGET(g_list_nth_data(list2,0));
if (radio_group) gtk_radio_button_join_group(GTK_RADIO_BUTTON(radio),GTK_RADIO_BUTTON(radio_group));
radio_group = radio;
g_list_free(list);
g_list_free(list2);
GtkWidget * current = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
gtk_widget_set_can_focus(gtk_widget_get_parent(current),0);
}
}
yon_load_proceed(YON_CONFIG_LOCAL);
}
int main(int argc, char *argv[]){

@ -29,6 +29,8 @@
#define kernels_path "resource:///com/ublinux/csv/kernel-list.csv"
#define kernels_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv"
#define module_icon_path "com.ublinux.libublsettingsui-gtk3.cubes-symbolic"
#define package_icon_path "com.ublinux.libublsettingsui-gtk3.dropbox-symbolic"
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-kernel"
@ -37,11 +39,12 @@
#define get_kernel_changelog_command(target) yon_char_unite("find /usr/lib/modules/ -maxdepth 2 -type f -iname \"pkgbase\" -exec grep -il \"",target,"\" {} + | xargs dirname | xargs -I {} cat \"{}/changelog\"", NULL)
#define get_package_info_command(target) yon_char_append("pacman -Q --info ",target)
#define get_package_is_installed_command(target) yon_char_append("pacman -Qqs ",target)
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get system PARAMETERS",NULL)
#define config_get_local_command "ubconfig --source system get system PARAMETERS"
#define config_get_global_command "ubconfig --source global get system PARAMETERS"
#define config_get_default_command ""
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get boot KERNEL_BOOT",NULL)
#define config_get_local_command "ubconfig --source system get boot KERNEL_BOOT"
#define config_get_global_command "ubconfig --source global get boot KERNEL_BOOT"
#define config_get_default_command "ubconfig --source default get boot KERNEL_BOOT"
#define config_get_global_only_parameters ""
#define config_get_local_only_parameters ""
@ -76,9 +79,8 @@ typedef struct {
GtkSizeGroup *StatusSizeGroup;
GtkSizeGroup *KernelSizeGroup;
GtkSizeGroup *TagsSizeGroup;
GtkSizeGroup *ModuleSizeGroup;
GtkSizeGroup *PackageSizeGroup;
GtkSizeGroup *LoaderSizeGroup;
GtkSizeGroup *InstallSizeGroup;
GtkSizeGroup *RunSizeGroup;
GtkSizeGroup *DescriptionSizeGroup;
} main_window;
@ -108,6 +110,7 @@ void config_init();
void yon_main_window_complete(main_window *widgets);
int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name);
GtkWidget *yon_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets);
void on_update_clicked(GtkWidget *, main_window *widgets);

@ -4,5 +4,11 @@
#define INFO_TITLE_LABEL _("Information")
#define MODULE_LABEL _("Module:")
#define PACKAGE_LABEL _("Package:")
#define PACKAGE_NOT_FOUND_LABEL _("Packages were not found")
#define CHANGELOG_NOT_FOUND_LABEL _("Changelog was not found")
#define PACKAGE_INSTALLED_LABEL _("Package installed")
#define MODULE_INSTALLED_LABEL _("Module installed")

@ -6,173 +6,198 @@
<object class="GtkBox" id="TableRowLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<property name="spacing">15</property>
<child>
<object class="GtkBox" id="IconBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">15</property>
<child>
<object class="GtkBox">
<object class="GtkLabel" id="NameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="NameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">
</property>
<property name="use-markup">True</property>
<property name="track-visited-links">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<property name="label" translatable="yes">&lt;b&gt;Linux 5.15&lt;/b&gt;
Modules: ubm-001-linux515
Packages: linux515</property>
<property name="use-markup">True</property>
<property name="track-visited-links">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="TagsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox" id="InstallTagsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox" id="RunBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="TagsBox">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="InstallModuleButton">
<property name="label" translatable="yes">Install module</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkButton" id="InstallPackageButton">
<property name="label" translatable="yes">Install package</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkMenuButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Install</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkMenuButton">
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Remove</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Changelog</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<object class="GtkButton" id="RemoveModuleButton">
<property name="label" translatable="yes">Remove module</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">6</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Expand</property>
<property name="visible">True</property>
<object class="GtkButton" id="RemovePackageButton">
<property name="label" translatable="yes">Remove package</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">3</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
<object class="GtkButton" id="ChangelogButton">
<property name="label" translatable="yes">Changelog</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<style>
<class name="buttonlistfx"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="pack-type">end</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="DescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">6</property>
</packing>
</child>
<style>
<class name="tableborderbottom"/>
</style>
</object>
</interface>

@ -144,6 +144,11 @@ background:transparent;
background-color: #f3f0ac;
}
.listfix row:selected * .buttonlistfx:active * {
color: @theme_fg_color;
}
.tag_red{
border-radius: 2px;
border-width: 0.5px;

@ -17,6 +17,9 @@
<column type="gchararray"/>
</columns>
</object>
<object class="GtkSizeGroup" id="DescriptionSizeGroup"/>
<object class="GtkSizeGroup" id="InstallSizeGroup"/>
<object class="GtkSizeGroup" id="KernelSizeGroup"/>
<object class="GtkListStore" id="KernelsList">
<columns>
<!-- column-name icon_name -->
@ -39,6 +42,9 @@
<column type="gchararray"/>
</columns>
</object>
<object class="GtkSizeGroup" id="RunSizeGroup"/>
<object class="GtkSizeGroup" id="StatusSizeGroup"/>
<object class="GtkSizeGroup" id="TagsSizeGroup"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -164,187 +170,11 @@
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Status</property>
<property name="xalign">0</property>
<style>
<class name="tableborderbottom"/>
<class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernel</property>
<property name="xalign">0</property>
<style>
<class name="tableborderbottom"/>
<class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Tags</property>
<property name="xalign">0</property>
<style>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Installed</property>
<property name="xalign">0</property>
<style>
<class name="tableborderleft"/>
<class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Module</property>
<property name="xalign">0</property>
<style>
<class name="tableborders"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Package</property>
<property name="xalign">0</property>
<style>
<class name="tablemargin"/>
<class name="tablebordertop"/>
<class name="tableborderbottom"/>
<class name="tableborderright"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Loader</property>
<property name="xalign">0</property>
<style>
<class name="tableborderbottom"/>
<class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description</property>
<property name="xalign">0</property>
<style>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
@ -354,6 +184,10 @@
<object class="GtkListBox" id="KernelsPackageBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<style>
<class name="listfix"/>
</style>
</object>
</child>
</object>
@ -365,9 +199,6 @@
<property name="position">1</property>
</packing>
</child>
<style>
<class name="tableborders"/>
</style>
</object>
</child>
<child type="tab">
@ -433,39 +264,4 @@
</packing>
</child>
</object>
<object class="GtkSizeGroup" id="DescriptionSizeGroup">
<widgets>
<widget name="label1"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="KernelSizeGroup">
<widgets>
<widget name="label6"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="LoaderSizeGroup">
<widgets>
<widget name="label2"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="ModuleSizeGroup">
<widgets>
<widget name="label4"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="PackageSizeGroup">
<widgets>
<widget name="label3"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="StatusSizeGroup">
<widgets>
<widget name="label7"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="TagsSizeGroup">
<widgets>
<widget name="label5"/>
</widgets>
</object>
</interface>

Loading…
Cancel
Save