Merge pull request 'master' (#11) from YanTheKaller/ubl-settings-video:master into develop

Reviewed-on: #11
pull/12/head
Dmitry Razumov 3 years ago
commit 11d51c7742

@ -113,8 +113,14 @@ install: check uninstall
@install -dm655 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps" @install -dm655 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/devices/" "com.ublinux.${PKGNAME}.display.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/devices/" "com.ublinux.${PKGNAME}.display.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/devices/" "com.ublinux.${PKGNAME}.video-card.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/emblems/" "com.ublinux.${PKGNAME}.nvidia-logo.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/emblems/" "com.ublinux.${PKGNAME}.intel-logo.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/emblems/" "com.ublinux.${PKGNAME}.amd-logo.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
@install -dm755 "${DESTDIR}${PREFIX}/share/polkit-1/actions"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.pkexec.${PKGNAME}.exec.policy"
@install -Dm655 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" @install -Dm655 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -dm655 "${DESTDIR}${PREFIX}/share/applications" @install -dm655 "${DESTDIR}${PREFIX}/share/applications"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"

@ -6,6 +6,7 @@ In order to build ubl-settings-video you will need:
- CMake - CMake
- C compiler - C compiler
- GTK+ 3 & dependencies - GTK+ 3 & dependencies
- vte-2.91
Once you have all the necessary dependencies, you can use: Once you have all the necessary dependencies, you can use:
```sh ```sh
@ -24,5 +25,5 @@ After a successful build, just use:
$ sudo make uninstall $ sudo make uninstall
``` ```
![alt text](screenshot/screenshot.png) ![alt text](desc/ubl-settings-video-screenshot.png)

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>UBLinux</vendor>
<vendor_url>https://ublinux.ru</vendor_url>
<action id="org.freedesktop.policykit.ubl-settings-video.pkexec.policy.run">
<description>Run "ubl-settings-video" as root</description>
<description xml:lang="ru">Запуск утилиты "ubl-settings-video" с правами root</description>
<message>Authentication is required to run "ubl-settings-video"</message>
<message xml:lang="ru">Требуется авторизация для запуска утилиты "ubl-settings-video" с правами root</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ubl-settings-video</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

@ -1,27 +1,27 @@
640x480 ,4:3,VGA 640x480 ;4:3;VGA
800x480 ,5:3,WVGA 800x480 ;5:3;WVGA
800x600 ,4:3,SVGA 800x600 ;4:3;SVGA
854x480 ,16:9,FWVGA 854x480 ;16:9;FWVGA
960x540 ,19:9,qHD 960x540 ;19:9;qHD
1024x600,128:75,WSVGA 1024x600;128:75;WSVGA
1024x768,4:3,XGA 1024x768;4:3;XGA
1152x864,4:3,XGA+ 1152x864;4:3;XGA+
1200x600,2:1,WXVGA 1200x600;2:1;WXVGA
1280x720,16:9,HD 1280x720;16:9;HD
1280x768,5:3,WSGA 1280x768;5:3;WSGA
1280x1024,5:4,SXGA 1280x1024;5:4;SXGA
1440x900,16:10,WXGA+ 1440x900;16:10;WXGA+
1400x1050,4:3,SXGA+ 1400x1050;4:3;SXGA+
1440x1080,4:3,HDV 1080 1440x1080;4:3;HDV 1080
1536x960,16:10,XJXGA 1536x960;16:10;XJXGA
1536x1024,3:2,WSXGA 1536x1024;3:2;WSXGA
1600x900,16:9,HD+ 1600x900;16:9;HD+
1600x1024,25:16,WSXGA 1600x1024;25:16;WSXGA
1600x1200,4:3,UXGA 1600x1200;4:3;UXGA
1680x1050,16:10,WSXGA+ 1680x1050;16:10;WSXGA+
1920x1080,16:9,FHD 1920x1080;16:9;FHD
1920x1200,16:10,WUXGA 1920x1200;16:10;WUXGA
2048x1080,19:10,2K DCI 2048x1080;19:10;2K DCI
2048x1152,16:9,QWXGA 2048x1152;16:9;,QWXGA
2560x1080,21:9,UWHD 2560x1080;21:9;UWHD
2560x1440,16:9,QHD 2560x1440;16:9;QHD

1 640x480 4:3 VGA
2 800x480 5:3 WVGA
3 800x600 4:3 SVGA
4 854x480 16:9 FWVGA
5 960x540 19:9 qHD
6 1024x600 128:75 WSVGA
7 1024x768 4:3 XGA
8 1152x864 4:3 XGA+
9 1200x600 2:1 WXVGA
10 1280x720 16:9 HD
11 1280x768 5:3 WSGA
12 1280x1024 5:4 SXGA
13 1440x900 16:10 WXGA+
14 1400x1050 4:3 SXGA+
15 1440x1080 4:3 HDV 1080
16 1536x960 16:10 XJXGA
17 1536x1024 3:2 WSXGA
18 1600x900 16:9 HD+
19 1600x1024 25:16 WSXGA
20 1600x1200 4:3 UXGA
21 1680x1050 16:10 WSXGA+
22 1920x1080 16:9 FHD
23 1920x1200 16:10 WUXGA
24 2048x1080 19:10 2K DCI
25 2048x1152 16:9 QWXGA ,QWXGA
26 2560x1080 21:9 UWHD
27 2560x1440 16:9 QHD

@ -1,3 +1,5 @@
#define VERSION_LABEL yon_char_unite(_("Version:")," ",version_application,"\n",NULL)
#define HELP_LABEL yon_char_unite(_("ubl-settings-video version:")," ", version_application,"\n",_("Video adapter and display settings"),"\n",_("Usage:"), " ubl-settings-video ",_("[OPTIONS]"),"\n",_("Options:"),"\n\t--help, -h\t\t\t",_("Show this help"),"\n\t--version, -V\t\t\t",_("Show package version"),"\n\t--lock-help\t\t\t",_("Lock this help menu"),"\n\t--lock-save\t\t\t",_("Lock configration saving"),"\n\t--lock-save-local\t\t",_("Lock local configration saving"),"\n\t--lock-save-global\t\t",_("Lock global configration saving"),"\n\t--lock-load-global\t\t",_("Lock global configration loading"),"\n",NULL)
#define PARAMETER_DEFAULT_LABEL _("Default settings") #define PARAMETER_DEFAULT_LABEL _("Default settings")
#define MONITOR_LABEL _("Monitor ") #define MONITOR_LABEL _("Monitor ")
#define SETTINGS_VIDEO_TITLE_LABEL _("Video adapter and display settings") #define SETTINGS_VIDEO_TITLE_LABEL _("Video adapter and display settings")
@ -47,7 +49,7 @@
#define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI)") #define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI)")
#define LOAD_GLOBAL_LABEL _("Load from global configuration") #define LOAD_GLOBAL_LABEL _("Load from global configuration")
#define LOAD_LOCAL_LABEL _("Load from local configuration") #define LOAD_LOCAL_LABEL _("Load from local configuration")
#define SAVE_GLOBAL_LOCAL_LABEL _("Save to global an local configuration") #define SAVE_GLOBAL_LOCAL_LABEL _("Save configuration")
#define SAVE_GLOBAL_LABEL _("Save to global configuration") #define SAVE_GLOBAL_LABEL _("Save to global configuration")
#define SAVE_LOCAL_LABEL _("Save to local configuration") #define SAVE_LOCAL_LABEL _("Save to local configuration")
#define DOCUMENTATION_LABEL _("Documentation") #define DOCUMENTATION_LABEL _("Documentation")

@ -53,7 +53,7 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
} }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo))!=0) { if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo))!=0) {
config->resolution = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationResolutionCombo)); config->resolution =yon_char_divide_search((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationResolutionCombo)),";",-1);
int rotation = gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationRotationCombo)); int rotation = gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationRotationCombo));
if (rotation==1) config->rotation=rotation; if (rotation==1) config->rotation=rotation;
else if (rotation==2) config->rotation=rotation; else if (rotation==2) config->rotation=rotation;
@ -72,8 +72,6 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
} }
void on_terminal_done(GtkWidget *terminal, int size, widgets_dict *widgets){ void on_terminal_done(GtkWidget *terminal, int size, widgets_dict *widgets){
char *text=vte_terminal_get_text_range(VTE_TERMINAL(terminal),0,0,0,10,NULL,NULL,NULL);
printf("\"%s\"\n",text);
gtk_widget_destroy(terminal); gtk_widget_destroy(terminal);
} }
@ -100,7 +98,6 @@ static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer
void on_terminal_check_progress(VteTerminal *terminal, widgets_dict *widgets){ void on_terminal_check_progress(VteTerminal *terminal, widgets_dict *widgets){
char *text = vte_terminal_get_text(terminal,NULL,NULL,NULL); char *text = vte_terminal_get_text(terminal,NULL,NULL,NULL);
// printf("%d - %s\n",rows, text);
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),(double)yon_char_find_count(text,"::")/4); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),(double)yon_char_find_count(text,"::")/4);
} }
@ -375,13 +372,11 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
char *str=NULL; char *str=NULL;
char *delstr=NULL; char *delstr=NULL;
str=yon_configuration_get_save_command(save_drivers_local_command); str=yon_configuration_get_save_command(save_drivers_local_command);
delstr=yon_configuration_get_remove_command(remove_drivers_local_command); // delstr=yon_configuration_get_remove_command(remove_drivers_local_command);
if (delstr){ // if (delstr){
printf("%s\n\n",delstr); // yon_config_save(delstr);
yon_config_save(delstr); // }
}
if (str){ if (str){
printf("%s\n\n",str);
yon_config_save(str); yon_config_save(str);
videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS; videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS;
@ -394,30 +389,44 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets)
{ {
on_configuration_save_global(self, widgets); on_configuration_save_global_local(self, widgets);
on_configuration_save_local(self, widgets);
videoconfig.status_render.text_to_render=GLOBAL_LOCAL_SAVE_SUCCESS; videoconfig.status_render.text_to_render=GLOBAL_LOCAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE; videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render); yon_ubl_status_box_render(&videoconfig.status_render);
} }
void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_save_global_local(GtkWidget *self, widgets_dict *widgets)
{ {
videoconfig.status_render.text_to_render=GLOBAL_SAVE_SUCCESS; yon_update_config(widgets);
char *str=NULL;
char *delstr=NULL;
str=yon_configuration_get_save_command(save_drivers_global_local_command);
if (str){
yon_config_save(str);
videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE; videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render); yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets)
{
yon_update_config(widgets); yon_update_config(widgets);
char *str = NULL; char *str=NULL;
if (videoconfig.failsafenVidia) char *delstr=NULL;
str = yon_char_get_augumented(save_drivers_global_command, yon_char_get_augumented(" ", videoconfig.failsafenVidia)); str=yon_configuration_get_save_command(save_drivers_global_command);
if (videoconfig.failsafeATI) // delstr=yon_configuration_get_remove_command(remove_drivers_global_command);
str = yon_char_get_augumented(str, yon_char_get_augumented(" ", videoconfig.failsafeATI)); // if (delstr){
if (videoconfig.optirun) // yon_config_save(delstr);
str = yon_char_get_augumented(str, yon_char_get_augumented(" ", videoconfig.optirun)); // }
if (videoconfig.primusrun) if (str){
str = yon_char_get_augumented(str, yon_char_get_augumented(" ", videoconfig.primusrun));
// printf(str);
yon_config_save(str); yon_config_save(str);
videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
} }
void yon_update_config(widgets_dict *widgets) void yon_update_config(widgets_dict *widgets)
@ -430,38 +439,17 @@ void yon_update_config(widgets_dict *widgets)
void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets) void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets)
{ {
videoconfig.status_render.text_to_render=LOCAL_LOAD_SUCCESS; yon_setup_config(load_drivers_local_command);
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
char *command = load_drivers_local_command;
dictionary *dct;
for_dictionaries(dct, videoconfig.monitors)
{
command = yon_char_get_augumented(command, (yon_char_get_augumented(" XORG_MONITOR[", yon_char_get_augumented(((monitorconfig *)dct->data)->port, "]"))));
}
int size = 0;
char **rtn = yon_ubl_load_global_config(command, &size);
char *param = NULL;
// yon_config_init(rtn, size);
on_config_fill_interface(widgets); on_config_fill_interface(widgets);
yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox);
} }
void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets)
{ {
videoconfig.status_render.text_to_render=GLOBAL_LOAD_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE; yon_setup_config(load_drivers_global_command);
yon_ubl_status_box_render(&videoconfig.status_render);
char *command = load_drivers_global_command;
dictionary *dct;
for_dictionaries(dct, videoconfig.monitors)
{
command = yon_char_get_augumented(command, (yon_char_get_augumented(" XORG_MONITOR[", yon_char_get_augumented(((monitorconfig *)dct->data)->port, "]"))));
}
int size = 0;
char **rtn = yon_ubl_load_global_config(command, &size);
char *param = NULL;
// yon_config_init(rtn, size);
on_config_fill_interface(widgets); on_config_fill_interface(widgets);
yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox);
} }
/**void on_monitor_delete(GtkWidget *self,monitor_view windowd) /**void on_monitor_delete(GtkWidget *self,monitor_view windowd)
@ -500,22 +488,6 @@ void on_monitor_add(GtkWidget *self,monitor_window *window){
} }
} }
// void on_monitor_string_edit(GtkWidget *self,monitor_edit_window *monitor){
// int size=0;
// config_str rtn = yon_char_parse((char*)gtk_entry_get_text(GTK_ENTRY(monitor->templateMonitorConfigurationParameterLineEntry)),&size,",");
// if (yon_char_parsed_check_exist(rtn,size,"enable")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationEnableCheck));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationResolutionCombo));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationFrequencyCombo));
// if (yon_char_parsed_check_exist(rtn,size,"rotate")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationRotationCombo));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPositionPosCombo));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPositionPortCombo));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationDoNotSwitchOffCheck));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationModelineCVTCheck));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationUseCVTReducedCheck));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationModelineGTFCheck));
// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationMainCheck));
// }
void on_monitor_configure(GtkWidget *self,monitor_window *window){ void on_monitor_configure(GtkWidget *self,monitor_window *window){
if(window&&window->config){ if(window&&window->config){
monitor_edit_window *monitors = new(monitor_edit_window); monitor_edit_window *monitors = new(monitor_edit_window);
@ -635,7 +607,10 @@ void yon_monitor_window_update(monitor_edit_window *window){
found=0; found=0;
gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationPortCombo),found); gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationPortCombo),found);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo),found); gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo),found);
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationFrequencyCombo));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationFrequencyCombo),PARAMETER_DEFAULT_LABEL);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationFrequencyCombo),"60");
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationFrequencyCombo),"75");
found = yon_gtk_combo_box_text_find(window->templateMonitorConfigurationPositionPortCombo, yon_dictionary_get_data(window->config,monitorconfig*)->position_port); found = yon_gtk_combo_box_text_find(window->templateMonitorConfigurationPositionPortCombo, yon_dictionary_get_data(window->config,monitorconfig*)->position_port);
if (found==-1) if (found==-1)
found=0; found=0;
@ -722,7 +697,7 @@ void yon_monitor_view_update(){
else if (params->stringparameters){ else if (params->stringparameters){
int size=0; int size=0;
config_str rtn=yon_char_parse(params->stringparameters,&size,","); config_str rtn=yon_char_parse(params->stringparameters,&size,",");
char *res=yon_char_parsed_get_resolution(rtn,size); char *res=yon_char_divide_search(yon_char_new(yon_char_parsed_get_resolution(rtn,size))," ",-1);
if (res&&strcmp(res,"")!=0) if (res&&strcmp(res,"")!=0)
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoResolutionLabel),res); gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoResolutionLabel),res);
else else
@ -913,7 +888,7 @@ void on_config_fill_interface(widgets_dict *widgets)
str = videoconfig.failsafenVidia; str = videoconfig.failsafenVidia;
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), DONT_USE_LABEL); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), DONT_USE_LABEL);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), FBDEV_LABEL); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), FBDEV_LABEL);
if (str&&videoconfig.autoChooseDrivers==0) if (str)
{ {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->mainDriverFailsafeNvidiaCombo), 1); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->mainDriverFailsafeNvidiaCombo), 1);
} }
@ -924,7 +899,7 @@ void on_config_fill_interface(widgets_dict *widgets)
str = videoconfig.failsafeATI; str = videoconfig.failsafeATI;
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), DONT_USE_LABEL); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), DONT_USE_LABEL);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), FBDEV_LABEL); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), FBDEV_LABEL);
if (str&&videoconfig.autoChooseDrivers==0) if (str)
{ {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->mainDriverFailsafeAMDCombo), 1); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->mainDriverFailsafeAMDCombo), 1);
} }
@ -933,6 +908,8 @@ void on_config_fill_interface(widgets_dict *widgets)
if (videoconfig.autoChooseDrivers==1){ if (videoconfig.autoChooseDrivers==1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->mainDriverAutomaticallyChooseCheck),1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->mainDriverAutomaticallyChooseCheck),1);
} }
else
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->mainDriverAutomaticallyChooseCheck),0);
dictionary *dict = NULL; dictionary *dict = NULL;
} }
@ -950,9 +927,9 @@ dictionary *yon_proprieary_get(){
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
rtn[i] = yon_char_divide_search(rtn[i],"\n",-1); rtn[i] = yon_char_divide_search(rtn[i],"\n",-1);
char *key=yon_char_new(rtn[i]); char *key=yon_char_new(rtn[i]);
if (key[0]==':') if (key[0]==';')
yon_char_divide_search(key,":",-1); yon_char_divide_search(key,";",-1);
key = yon_char_divide_search(key,":",-1); key = yon_char_divide_search(key,";",-1);
char *driver_name=yon_char_divide_search(yon_char_new(drivers[drivers_found])," ",-1); char *driver_name=yon_char_divide_search(yon_char_new(drivers[drivers_found])," ",-1);
if (strcmp(key,driver_name)==0) if (strcmp(key,driver_name)==0)
if (i==0) videoconfig.proprietary=yon_dictionary_create_with_data(drivers[drivers_found],rtn[i]); if (i==0) videoconfig.proprietary=yon_dictionary_create_with_data(drivers[drivers_found],rtn[i]);
@ -971,7 +948,7 @@ void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
for_dictionaries(dict,videoconfig.proprietary){ for_dictionaries(dict,videoconfig.proprietary){
GtkTreeIter iter; GtkTreeIter iter;
int size=0; int size=0;
config_str str = yon_char_parse((char*)dict->data,&size,":"); config_str str = yon_char_parse((char*)dict->data,&size,";");
gtk_list_store_append(list,&iter); gtk_list_store_append(list,&iter);
gtk_list_store_set(list,&iter,1,str[0],2,str[1],3,str[2],4,str[3],-1); gtk_list_store_set(list,&iter,1,str[0],2,str[1],3,str[2],4,str[3],-1);
if (strstr(dict->key," installed")) if (strstr(dict->key," installed"))
@ -989,14 +966,42 @@ char *yon_char_remove_brackets(char* source){
return NULL; return NULL;
} }
void yon_monitor_view_dictionary_destroy(void *window){
monitor_window *monitor=(monitor_window*)window;
gtk_widget_destroy(monitor->templateMonitorscreenOverlay);
}
/**void yon_setup_config(char *configcommand) /**void yon_setup_config(char *configcommand)
* [EN] * [EN]
*/ */
void yon_setup_config(char *configcommand) void yon_setup_config(char *configcommand)
{ {
videoconfig.monitors=NULL;
if(videoconfig.monitor_visuals)
yon_dictionary_free_all(videoconfig.monitor_visuals,yon_monitor_view_dictionary_destroy);
videoconfig.monitor_visuals=NULL;
videoconfig.autoChooseDrivers=0;
videoconfig.configsize=0;
videoconfig.descreteOnly=0;
videoconfig.failsafeATI=NULL;
videoconfig.failsafenVidia=NULL;
videoconfig.gapfix=0;
videoconfig.loaded_config=NULL;
if(videoconfig.optirun)
free(videoconfig.optirun);
videoconfig.optirun=NULL;
if (videoconfig.primusrun)
free(videoconfig.primusrun);
videoconfig.primusrun=NULL;
if (videoconfig.ports)
for (int i=0;i<videoconfig.portssize;i++)
free(videoconfig.ports[i]);
videoconfig.ports=NULL;
videoconfig.portssize=0; videoconfig.portssize=0;
videoconfig.ports=yon_config_load(get_ports_command,&videoconfig.portssize); videoconfig.ports=yon_config_load(get_ports_command,&videoconfig.portssize);
int size = 0; int size = 0;
char *command = configcommand; char *command = configcommand;
@ -1011,7 +1016,7 @@ void yon_setup_config(char *configcommand)
param=yon_config_get_parameter(videoconfig.loaded_config,videoconfig.configsize,"VGADRV_AUTO"); param=yon_config_get_parameter(videoconfig.loaded_config,videoconfig.configsize,"VGADRV_AUTO");
if (param){ if (param){
yon_char_divide_search(param,"=",-1); yon_char_divide_search(param,"=",-1);
if (strcmp(param,"")!=0) if (strcmp(param,"NO")!=0)
videoconfig.autoChooseDrivers=1; videoconfig.autoChooseDrivers=1;
} }
@ -1272,6 +1277,7 @@ void yon_adapter_window_setup(widgets_dict *widgets){
gtk_widget_destroy(widgets->InformationCompanyLogoImage); gtk_widget_destroy(widgets->InformationCompanyLogoImage);
} }
} }
/** void yon_setup_widgets(widgets_dict *widgets) /** void yon_setup_widgets(widgets_dict *widgets)
* [EN] * [EN]
* Sets up every element on main window * Sets up every element on main window
@ -1345,6 +1351,10 @@ void yon_setup_widgets(widgets_dict *widgets)
widgets->templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffLabel"); widgets->templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffLabel");
widgets->templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffCheck"); widgets->templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffCheck");
widgets->PlugBox = yon_gtk_builder_get_widget(widgets->builder, "mainPlugBox");
widgets->PlugSaveBox = yon_gtk_builder_get_widget(widgets->builder, "plugLoadButton");
widgets->PlugLoadBox = yon_gtk_builder_get_widget(widgets->builder, "plugSaveButton");
widgets->proprietaryTreeView = yon_gtk_builder_get_widget(widgets->builder, "proprietaryTreeView"); widgets->proprietaryTreeView = yon_gtk_builder_get_widget(widgets->builder, "proprietaryTreeView");
widgets->proprietaryInfoButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryInfoButton"); widgets->proprietaryInfoButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryInfoButton");
widgets->proprietaryDeleteButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryDeleteButton"); widgets->proprietaryDeleteButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryDeleteButton");
@ -1466,21 +1476,104 @@ void yon_setup_widgets(widgets_dict *widgets)
videoconfig.status_render.icon=widgets->mainStatusIcon; videoconfig.status_render.icon=widgets->mainStatusIcon;
videoconfig.status_render.label=widgets->mainStatusLabel; videoconfig.status_render.label=widgets->mainStatusLabel;
videoconfig.status_render.box=widgets->mainStatusBox; videoconfig.status_render.box=widgets->mainStatusBox;
if (videoconfig.lock_load_global==1)
gtk_widget_set_sensitive(widgets->mainHeaderLoadGlobalMenuItem,0);
if (videoconfig.lock_save_global==1)
gtk_widget_set_sensitive(widgets->mainHeaderSaveGlobalMenuItem,0);
if (videoconfig.lock_save_local==1)
gtk_widget_set_sensitive(widgets->mainHeaderSaveLocalMenuItem,0);
if (videoconfig.lock_save_global==1||videoconfig.lock_save_local==1)
gtk_widget_set_sensitive(widgets->mainHeaderSaveGlobalLocalMenuItem,0);
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
{
int show_help=0;
videoconfig.socket_id=-1;
videoconfig.save_socket_id=-1;
videoconfig.load_socket_id=-1;
videoconfig.lock_help=-1;
videoconfig.lock_load_global=-1;
videoconfig.lock_save_global=-1;
videoconfig.lock_save_local=-1;
local = setlocale(LC_ALL, ""); local = setlocale(LC_ALL, "");
textdomain(LocaleName); textdomain(LocaleName);
int option_index=0;
struct option long_options[] = {
{"help", 0, 0, 'h'},
{"version", 0, 0, 'V'},
{"lock-help", 0,0, 1},
// {"lock-settings", 0,0, -16},
{"lock-save", 0,0, 2},
{"lock-save-local", 0,0, 3},
{"lock-save-global", 0,0, 4},
{"lock-load-global", 0,0, 5},
{"socket-id", 1, 0, 's'},
{"socket-ext-id", 1,0, 'e'},
{"socket-trd-id", 1,0, 't'},
{ NULL, 0, NULL, 0 }
};
for (int i=0;i<argc;i++){
int argument=getopt_long(argc,argv,"hVvs:e:t:",long_options,&option_index);
switch(argument){
case 'h':
show_help=1;
break;
case 'v':
case 'V':
printf("%s\n",VERSION_LABEL);
exit(0);
break;
case 's':
if(optarg)
videoconfig.socket_id=atoi(optarg);
break;
case 'e':
if(optarg)
videoconfig.load_socket_id=atoi(optarg);
break;
case 't':
if(optarg)
videoconfig.save_socket_id=atoi(optarg);
break;
case 1:
videoconfig.lock_help=1;
break;
// case -16:
// break;
case 2:
videoconfig.lock_save_local=1;
videoconfig.lock_save_global=1;
break;
case 3:
videoconfig.lock_save_local=1;
break;
case 4:
videoconfig.lock_save_global=1;
break;
case 5:
videoconfig.lock_load_global=1;
break;
}
}
if (show_help==1&&videoconfig.lock_help==-1){
printf("%s\n",HELP_LABEL);
exit(0);
}
}
if (getuid()!=0){
system("/usr/bin/pkexec ubl-settings-video");
return 0;
} else {
gtk_init(&argc, &argv); gtk_init(&argc, &argv);
GError error; GError error;
yon_setup_config(load_drivers_local_command); yon_setup_config(load_drivers_local_command);
widgets_dict widgets; widgets_dict widgets;
yon_setup_widgets(&widgets); yon_setup_widgets(&widgets);
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
yon_gtk_list_store_fill_with_proprietaries(videoconfig.modulelist); // yon_gtk_list_store_fill_with_proprietaries(videoconfig.modulelist);
gtk_widget_show(widgets.MainWindow); gtk_widget_show(widgets.MainWindow);
// yon_fill_ui(&widgets); // yon_fill_ui(&widgets);
videoconfig.status_render.text_to_render=LOCAL_LOAD_SUCCESS; videoconfig.status_render.text_to_render=LOCAL_LOAD_SUCCESS;
@ -1495,6 +1588,8 @@ int main(int argc, char *argv[])
GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER(css),
-1); -1);
yon_monitor_view_update(); yon_monitor_view_update();
yon_ubl_setup_sockets(widgets.PlugBox,widgets.PlugLoadBox,widgets.PlugSaveBox,videoconfig.socket_id,videoconfig.load_socket_id,videoconfig.save_socket_id);
gtk_main(); gtk_main();
return 0; return 0;
}
} }

@ -9,6 +9,8 @@
#include <libintl.h> #include <libintl.h>
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>
#include <getopt.h>
#include <libintl.h>
#include "ubl-utils.h" #include "ubl-utils.h"
#include "ubl-settings-video-strings.h" #include "ubl-settings-video-strings.h"
#ifndef UBL_SETINGS_VIDEO_H #ifndef UBL_SETINGS_VIDEO_H
@ -33,7 +35,7 @@
#define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\"" #define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\""
#define get_resolution_ports_command "xrandr |grep -nwP \"connected\" |grep -oE \"[0-9a-zA-Z:]{1,10} connected\" |grep -oE \"[0-9a-zA-Z:]{1,10} \"" #define get_resolution_ports_command "xrandr |grep -nwP \"connected\" |grep -oE \"[0-9a-zA-Z:]{1,10} connected\" |grep -oE \"[0-9a-zA-Z:]{1,10} \""
#define get_proprietary_drivers_info_command "cut -d: -f2- /usr/share/ubl-settings-video/csv/video-drivers.csv | grep -E \"-\"" #define get_proprietary_drivers_info_command "cut -d';' -f2- /usr/share/ubl-settings-video/csv/video-drivers.csv | grep -E \"-\""
#define get_resolutions_supportable_command "cut -d, -f1- /usr/share/ubl-settings-video/csv/resolutions.csv |sed 's/,/ /g'" #define get_resolutions_supportable_command "cut -d, -f1- /usr/share/ubl-settings-video/csv/resolutions.csv |sed 's/,/ /g'"
@ -43,7 +45,9 @@
#define load_drivers_global_command "/usr/bin/ubconfig --default --source global get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN VGADRV_AUTO " #define load_drivers_global_command "/usr/bin/ubconfig --default --source global get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN VGADRV_AUTO "
#define save_drivers_global_command "/usr/bin/ubconfig --target global set video " #define save_drivers_global_command "pkexec /usr/bin/ubconfig --target global --noexecute set video "
#define save_drivers_global_local_command "pkexec /usr/bin/ubconfig set video "
#define load_drivers_local_command "/usr/bin/ubconfig --default --source system get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN VGADRV_AUTO " #define load_drivers_local_command "/usr/bin/ubconfig --default --source system get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN VGADRV_AUTO "
@ -61,9 +65,9 @@
#define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2" #define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2"
#define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}-nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'" #define get_proprietary_drivers_command "LC_ALL=C pacman -Ssy ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}-nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'"
#define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'" // #define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'"
#define get_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ]{1,}\"|sed 's/: /=/g'|sed 's/ /_/g'" #define get_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ]{1,}\"|sed 's/: /=/g'|sed 's/ /_/g'"
@ -105,7 +109,6 @@ typedef struct
proprietary_config proprietary; proprietary_config proprietary;
dictionary *supported_resolutions; dictionary *supported_resolutions;
GtkListStore *list; GtkListStore *list;
GtkListStore *modulelist;
char *failsafenVidia; char *failsafenVidia;
char *failsafeATI; char *failsafeATI;
int descreteOnly; int descreteOnly;
@ -117,6 +120,14 @@ typedef struct
config_str resolutions; config_str resolutions;
int resolutionssize; int resolutionssize;
render_data status_render; render_data status_render;
int socket_id;
int save_socket_id;
int load_socket_id;
int lock_save_local;
int lock_save_global;
int lock_load_global;
int lock_help;
} config; } config;
typedef struct typedef struct
@ -256,6 +267,11 @@ typedef struct
GtkWidget *TerminalMoreButton; GtkWidget *TerminalMoreButton;
GtkWidget *TerminalScroll; GtkWidget *TerminalScroll;
GtkWidget *TerminalMoreRevieler; GtkWidget *TerminalMoreRevieler;
GtkWidget *PlugBox;
GtkWidget *PlugSaveBox;
GtkWidget *PlugLoadBox;
} widgets_dict; } widgets_dict;
typedef struct typedef struct
@ -330,6 +346,7 @@ void yon_monitor_set_resolutions();
monitor_config yon_monitor_config_new(char *port); monitor_config yon_monitor_config_new(char *port);
void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_string); void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_string);
void yon_monitor_view_new(monitor_config monitor); void yon_monitor_view_new(monitor_config monitor);
void on_configuration_save_global_local(GtkWidget *self, widgets_dict *widgets);
// void on_confugure_monitor_settings(GtkWidget *self, MonitorSettings *settings); // void on_confugure_monitor_settings(GtkWidget *self, MonitorSettings *settings);
void yon_monitor_view_draw_all(GtkWidget *cnt); void yon_monitor_view_draw_all(GtkWidget *cnt);
void on_monitor_configure(GtkWidget *self,monitor_window *window); void on_monitor_configure(GtkWidget *self,monitor_window *window);
@ -342,4 +359,6 @@ char *yon_monitor_make_string(monitorconfig* config);
void yon_launch_with_output(char *command); void yon_launch_with_output(char *command);
dictionary *yon_proprieary_get(); dictionary *yon_proprieary_get();
void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list); void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list);
void yon_setup_config(char *configcommand);
void yon_monitor_view_setup(GtkWidget *container);
#endif #endif

@ -232,6 +232,24 @@ dictionary *yon_dictionary_create_with_data(char *key, void *data)
return dct; return dct;
} }
/** void *yon_dictionary_free_all(dictionary *dictionary,void *data_manipulation)
* [EN]
* Frees whole [dictionary] and activates [data_manipulation] function if not NULL with [dictionary]->data argument for each dictionary.
* [RU]
* Освобождает память для всех элементов словаря [dictionary] и активирует функцию [data_manipulation], если она была передана, с аргументом [dictionary]->data на каждый элемент словаря.
*/
void *yon_dictionary_free_all(dictionary *dictionary_to_free,void (*data_manipulation)(void*)){
dictionary *dict=NULL;
for_dictionaries(dict,dictionary_to_free){
if(data_manipulation)
data_manipulation(dict->data);
if(dict->prev)
free(dict->prev);
}
free(dict);
return NULL;
}
dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data) dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data)
{ {
dictionary *dct = yon_dictionary_create_conneced(dict); dictionary *dct = yon_dictionary_create_conneced(dict);
@ -781,8 +799,61 @@ int yon_launch(thread_output *thread)
// Gtk functions // Gtk functions
#ifdef __GTK_H__ #ifdef __GTK_H__
#ifdef VTE_TERMINAL
/**
* void yon_terminal_integrated_launch(GtkWidget *place_to_show, void *endwork_function, void* endwork_function_argument)
* [EN]
* launches terminal with specific [command],
* terminal is shown in [place_to_show] container,
* after terminal done its work [endwork_function] is called with [endwork_function_argument] argument.
* [RU]
* Запускает терминал с командой [command],
* терминал добавляется в контейнер [place_to_show] виджета,
* после завершения работы терминала вызывается функция [endwork_function] с аргументом [endwork_function_argument].
*/
void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, void *endwork_function, void* endwork_function_argument){
GtkWidget *terminal = vte_terminal_new();
vte_terminal_set_size(VTE_TERMINAL(terminal),10,15);
VtePty *pty = vte_pty_new_sync(VTE_PTY_DEFAULT,NULL,NULL);
vte_terminal_set_pty(VTE_TERMINAL(terminal),pty);
char *install_command=yon_char_unite("tput cup 0 0 && tput ed; ",command," ; sleep 5;exit 0","\n",NULL);
g_signal_connect(G_OBJECT(terminal), "child-exited", G_CALLBACK(on_terminal_done), widgets);
vte_terminal_spawn_async(VTE_TERMINAL(terminal),
VTE_PTY_DEFAULT,
NULL,
install_command,
NULL,
0,
NULL, NULL,
NULL,
-1,
NULL,
NULL,
NULL);
vte_pty_spawn_async(pty,
NULL,
install_command,
NULL,
0,
NULL, NULL,
NULL,
-1,
NULL,
NULL,
NULL);
vte_terminal_set_scrollback_lines(VTE_TERMINAL(terminal), 100);
vte_terminal_set_scroll_on_output(VTE_TERMINAL(terminal), TRUE);
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(terminal), TRUE);
gtk_widget_show_all(widgets->TerminalRevealer);
}
#endif
// dictionary *yon_gtk_app_chooser_create(GtkBuilder *builder){ // dictionary *yon_gtk_app_chooser_create(GtkBuilder *builder){
// GtkWidget *chooserWindow=gtk_window_new(GTK_WINDOW_TOPLEVEL); // GtkWidget *chooserWindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);
// GtkWidget *Box=gtk_box_new(GTK_ORIENTATION_VERTICAL,5); // GtkWidget *Box=gtk_box_new(GTK_ORIENTATION_VERTICAL,5);
@ -953,4 +1024,43 @@ void _yon_ubl_status_box_render(render_data *datav)
sleep(2); sleep(2);
} }
} }
void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id){
if (main_window&&socket_main_id>-1){
gtk_widget_hide(gtk_widget_get_toplevel(main_window));
GtkWidget *plug_main=gtk_plug_new(socket_main_id);
GtkWidget *plug_left=NULL;
GtkWidget *plug_right=NULL;
g_signal_connect(G_OBJECT(plug_main), "destroy", G_CALLBACK(gtk_main_quit),NULL);
if (socket_left_id>-1&&left_window){
plug_left=gtk_plug_new(socket_left_id);
g_object_ref(left_window);
gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(left_window)),left_window);
gtk_container_add(GTK_CONTAINER(plug_left),left_window);
gtk_style_context_add_class(gtk_widget_get_style_context(plug_left),"primary-toolbar");
gtk_style_context_add_class(gtk_widget_get_style_context(left_window),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(left_window),"opacited");
gtk_style_context_add_class(gtk_widget_get_style_context(left_window),"color");
gtk_style_context_add_class(gtk_widget_get_style_context(plug_left),"noborder");
gtk_widget_show(plug_left);
}
if (socket_right_id>-1&&right_window){
plug_right=gtk_plug_new(socket_right_id);
g_object_ref(right_window);
gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(right_window)),right_window);
gtk_container_add(GTK_CONTAINER(plug_right),right_window);
gtk_style_context_add_class(gtk_widget_get_style_context(plug_right),"primary-toolbar");
gtk_style_context_add_class(gtk_widget_get_style_context(right_window),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(right_window),"opacited");
gtk_style_context_add_class(gtk_widget_get_style_context(right_window),"color");
gtk_style_context_add_class(gtk_widget_get_style_context(plug_right),"noborder");
gtk_widget_show(plug_right);
}
g_object_ref(main_window);
gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(main_window)),main_window);
gtk_container_add(GTK_CONTAINER(plug_main),main_window);
gtk_widget_show(plug_main);
}
}
#endif #endif

@ -94,6 +94,8 @@ dictionary *yon_dictionary_rip(dictionary *dict);
dictionary *yon_dictionary_get_nth(dictionary *dict, int place); dictionary *yon_dictionary_get_nth(dictionary *dict, int place);
void *yon_dictionary_free_all(dictionary *dictionary,void (data_manipulation)(void*));
// char functions // char functions
char *yon_char_get_augumented(char *source, char *append); char *yon_char_get_augumented(char *source, char *append);
@ -147,6 +149,9 @@ int yon_launch(thread_output *thread);
// Gtk functions // Gtk functions
#ifdef __GTK_H__ #ifdef __GTK_H__
#ifdef VTE_TERMINAL
void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, void *endwork_function, void* endwork_function_argument);
#endif
#define yon_gtk_builder_get_widget(obj, obj2) GTK_WIDGET(gtk_builder_get_object(obj, obj2)) #define yon_gtk_builder_get_widget(obj, obj2) GTK_WIDGET(gtk_builder_get_object(obj, obj2))
@ -208,5 +213,6 @@ typedef struct {
void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path);
void _yon_ubl_status_box_render(render_data *datav); void _yon_ubl_status_box_render(render_data *datav);
void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id);
#endif #endif
#endif #endif

@ -1,6 +1,10 @@
.noborder { .noborder {
border:none; border:none;
} }
.textHead{
text-shadow: 2px 2px @theme_bg_color;
color: @theme_text_color;
}
.thin { .thin {
margin:0px; margin:0px;
padding:0px; padding:0px;

@ -7,7 +7,7 @@ GenericName[ru]=Настройки Видеоадаптера и дисплея
Comment=Application for managing video adapter and display settings Comment=Application for managing video adapter and display settings
Comment[ru]=Приложение для управления настройками видеоадаптера и дисплея Comment[ru]=Приложение для управления настройками видеоадаптера и дисплея
Type=Application Type=Application
Exec=ubl-settings-video Exec=pkexec ubl-settings-video
Icon=com.ublinux.ubl-settings-video Icon=com.ublinux.ubl-settings-video
Terminal=false Terminal=false
X-XfcePluggable=true X-XfcePluggable=true

@ -108,62 +108,8 @@
</child> </child>
</object> </object>
<object class="GtkSizeGroup" id="ThirdColumnSizeGroup"/> <object class="GtkSizeGroup" id="ThirdColumnSizeGroup"/>
<object class="GtkWindow">
<property name="width-request">800</property>
<property name="height-request">400</property>
<property name="can-focus">False</property>
<property name="default-width">800</property>
<property name="default-height">400</property>
<property name="icon-name">com.ublinux.ubl-settings-video</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="TerminalHeaderBar">
<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="TerminalHeaderTitleLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="hexpand">False</property>
<property name="label" translatable="yes">UBlinux Video Configuration</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="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-video</property>
</object>
</child>
</object>
</child>
</object>
<object class="GtkAboutDialog" id="aboutWindow"> <object class="GtkAboutDialog" id="aboutWindow">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="title" translatable="yes">О Программе</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="window-position">center</property> <property name="window-position">center</property>
@ -206,6 +152,20 @@
</child> </child>
</object> </object>
</child> </child>
<child type="titlebar">
<object class="GtkHeaderBar" id="GEADER">
<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="AboutHeaderLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">About ubl-settings-video</property>
</object>
</child>
</object>
</child>
</object> </object>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">300</property> <property name="upper">300</property>
@ -410,11 +370,12 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Video output configuration</property> <property name="label" translatable="yes">Video output configuration</property>
<attributes> <attributes>
<attribute name="font-desc" value="URW Gothic Semi-Bold 10"/>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
<attribute name="foreground" value="#000023233232"/>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
<style>
<class name="textHead"/>
</style>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -882,6 +843,10 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">0</property> <property name="active">0</property>
<items>
<item translatable="yes">60</item>
<item translatable="yes">75</item>
</items>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -1200,8 +1165,8 @@
<property name="margin-right">5</property> <property name="margin-right">5</property>
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">6</property> <property name="margin-top">5</property>
<property name="margin-bottom">6</property> <property name="margin-bottom">5</property>
<property name="pixel-size">25</property> <property name="pixel-size">25</property>
</object> </object>
<packing> <packing>
@ -1210,14 +1175,6 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child> <child>
<object class="GtkLabel" id="mainStatusLabel"> <object class="GtkLabel" id="mainStatusLabel">
<property name="visible">True</property> <property name="visible">True</property>
@ -1234,18 +1191,8 @@
<attribute name="foreground" value="#000000000000"/> <attribute name="foreground" value="#000000000000"/>
</attributes> </attributes>
</object> </object>
</child>
<style>
<class name="thin"/>
</style>
</object>
</child>
<style>
<class name="thin"/>
</style>
</object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
@ -2327,7 +2274,7 @@
</object> </object>
</child> </child>
<child> <child>
<object class="GtkBox" id="boxButton"> <object class="GtkBox" id="plugLoadButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>
@ -2385,7 +2332,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkBox" id="boxSave"> <object class="GtkBox" id="plugSaveButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>

@ -6,353 +6,396 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ubl-settings-manager 1.0\n" "Project-Id-Version: ubl-settings-video 1.0\n"
"Report-Msgid-Bugs-To: info@ublinux.com\n" "Report-Msgid-Bugs-To: info@ublinux.com\n"
"POT-Creation-Date: 2023-04-21 12:33+0000\n" "POT-Creation-Date: 2023-05-10 15:53+0600\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n" "PO-Revision-Date: 2023-01-01 00:00+0600\n"
"Last-Translator: UBLinux Team <info@ublinux.com>\n" "Last-Translator: UBLinux Team <info@ublinux.com>\n"
"Language-Team: UBLinux Team <info@ublinux.com>\n" "Language-Team: UBLinux Team <info@ublinux.com>\n"
"Language: \n" "Language: Russian\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-video.c:323 source/ubl-settings-video.c:366 #: source/ubl-settings-video.c:298 source/ubl-settings-video.c:354
#: source/ubl-settings-video.c:923 source/ubl-settings-video.c:934 #: source/ubl-settings-video-strings.h:62
msgid "Don't use" msgid "Don't use"
msgstr "" msgstr ""
#: source/ubl-settings-video.c:615 source/ubl-settings-video-strings.h:38 #: source/ubl-settings-video.c:581 source/ubl-settings-video-strings.h:40
msgid "UBlinux Video Configuration" msgid "UBlinux Video Configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video.c:617 #: source/ubl-settings-video.c:583
msgid "Progect Home Page" msgid "Progect Home Page"
msgstr "" msgstr ""
#: source/ubl-settings-video.c:618 #: source/ubl-settings-video.c:584
msgid "Videocard and monitor configuration manager" msgid "Videocard and monitor configuration manager"
msgstr "" msgstr ""
#: source/ubl-settings-video.c:924 source/ubl-settings-video.c:935 #: source/ubl-settings-video.h:27
#: source/ubl-settings-video-strings.h:43 msgid "Failed to load global configuration"
msgid "fbdev" msgstr ""
#: source/ubl-settings-video.h:28
msgid "Failed to load local configuration"
msgstr ""
#: source/ubl-settings-video.h:30
msgid "Saving to global configuration Succeeded"
msgstr ""
#: source/ubl-settings-video.h:31
msgid "Saving to local configuration Succeeded"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:1 #: source/ubl-settings-video-strings.h:1
msgid "Default settings" msgid "Version:"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:2 #: source/ubl-settings-video-strings.h:2
msgid "Monitor " msgid "ubl-settings-video version:"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:3 #: source/ubl-settings-video-strings.h:2 source/ubl-settings-video-strings.h:5
msgid "Video adapter and display settings" msgid "Video adapter and display settings"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Usage:"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "[OPTIONS]"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Options:"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Show this help"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Show package version"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Lock this help menu"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Lock configration saving"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Lock local configration saving"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Lock global configration saving"
msgstr ""
#: source/ubl-settings-video-strings.h:2
msgid "Lock global configration loading"
msgstr ""
#: source/ubl-settings-video-strings.h:3
msgid "Default settings"
msgstr ""
#: source/ubl-settings-video-strings.h:4 #: source/ubl-settings-video-strings.h:4
msgid "Monitor "
msgstr ""
#: source/ubl-settings-video-strings.h:6
msgid "Port: " msgid "Port: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:5 #: source/ubl-settings-video-strings.h:7
msgid "Resolution (px): " msgid "Resolution (px): "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:6 #: source/ubl-settings-video-strings.h:8
msgid "Frequency (Hz): " msgid "Frequency (Hz): "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:7 #: source/ubl-settings-video-strings.h:9
msgid "Rotation: " msgid "Rotation: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:8 #: source/ubl-settings-video-strings.h:10
msgid "Position: " msgid "Position: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:9 #: source/ubl-settings-video-strings.h:11
msgid "Do not switch off display" msgid "Do not switch off display"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:10 #: source/ubl-settings-video-strings.h:12
msgid "Create modeline for current resolution with CVT" msgid "Create modeline for current resolution with CVT"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:11 #: source/ubl-settings-video-strings.h:13
msgid "Use \"CVT Reduced Blanking\"" msgid "Use \"CVT Reduced Blanking\""
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:12 #: source/ubl-settings-video-strings.h:14
msgid "Create modeline for current resolution with GTF" msgid "Create modeline for current resolution with GTF"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:13 #: source/ubl-settings-video-strings.h:15
msgid "Configure manually through parameter line: " msgid "Configure manually through parameter line: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:14 #: source/ubl-settings-video-strings.h:16
msgid "Main display" msgid "Main display"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:15 #: source/ubl-settings-video-strings.h:17
msgid "Show unsupported" msgid "Show unsupported"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:16 #: source/ubl-settings-video-strings.h:18
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:17 #: source/ubl-settings-video-strings.h:19
msgid "Left" msgid "Left"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:18 #: source/ubl-settings-video-strings.h:20
msgid "Right" msgid "Right"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:19 #: source/ubl-settings-video-strings.h:21
msgid "Inverted" msgid "Inverted"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:20 #: source/ubl-settings-video-strings.h:22
msgid "Left of" msgid "Left of"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:21 #: source/ubl-settings-video-strings.h:23
msgid "Right of" msgid "Right of"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:22 #: source/ubl-settings-video-strings.h:24
msgid "Above" msgid "Above"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:23 #: source/ubl-settings-video-strings.h:25
msgid "Below " msgid "Below "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:24 #: source/ubl-settings-video-strings.h:26
msgid "No rotation" msgid "No rotation"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:25 #: source/ubl-settings-video-strings.h:27
#: source/ubl-settings-video-strings.h:40 #: source/ubl-settings-video-strings.h:42
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:26 #: source/ubl-settings-video-strings.h:28
#: source/ubl-settings-video-strings.h:58 #: source/ubl-settings-video-strings.h:60
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:27 #: source/ubl-settings-video-strings.h:29
msgid "Choose port to configure" msgid "Choose port to configure"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:28 #: source/ubl-settings-video-strings.h:30
msgid "1st variant. May cause perfomance drops in video games" msgid "1st variant. May cause perfomance drops in video games"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:29 #: source/ubl-settings-video-strings.h:31
msgid "2nd variant. May not work on specific video cards" msgid "2nd variant. May not work on specific video cards"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:30 #: source/ubl-settings-video-strings.h:32
msgid "Video output configuration" msgid "Video output configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:31 #: source/ubl-settings-video-strings.h:33
msgid "Failsafe driver nVidia: " msgid "Failsafe driver nVidia: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:32 #: source/ubl-settings-video-strings.h:34
msgid "Failsafe driver AMD/ATI: " msgid "Failsafe driver AMD/ATI: "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:33 #: source/ubl-settings-video-strings.h:35
msgid "Driver" msgid "Driver"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:34 #: source/ubl-settings-video-strings.h:36
msgid "Monitor configuration" msgid "Monitor configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:35 #: source/ubl-settings-video-strings.h:37
msgid "Hybrid graphics" msgid "Hybrid graphics"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:36 #: source/ubl-settings-video-strings.h:38
msgid "Fix frame gap (nVidia)" msgid "Fix frame gap (nVidia)"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:37 #: source/ubl-settings-video-strings.h:39
msgid "Extra" msgid "Extra"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:39 #: source/ubl-settings-video-strings.h:41
msgid "Load" msgid "Load"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:41 #: source/ubl-settings-video-strings.h:43
msgid "On" msgid "On"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:42 #: source/ubl-settings-video-strings.h:44
msgid "Off" msgid "Off"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:44 #: source/ubl-settings-video-strings.h:45
msgid "fbdev"
msgstr ""
#: source/ubl-settings-video-strings.h:46
msgid "Automatically choose and use driver" msgid "Automatically choose and use driver"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:45 #: source/ubl-settings-video-strings.h:47
msgid "Launch programms through optirun (nVidia): " msgid "Launch programms through optirun (nVidia): "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:46 #: source/ubl-settings-video-strings.h:48
msgid "Launch programs through primusrun (nVidia): " msgid "Launch programs through primusrun (nVidia): "
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:47 #: source/ubl-settings-video-strings.h:49
msgid "discrete video only (AMD/ATI)" msgid "discrete video only (AMD/ATI)"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:48 #: source/ubl-settings-video-strings.h:50
msgid "Load from global configuration" msgid "Load from global configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:49 #: source/ubl-settings-video-strings.h:51
msgid "Load from local configuration" msgid "Load from local configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:50 #: source/ubl-settings-video-strings.h:52
msgid "Save to global an local configuration" msgid "Save configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:51 #: source/ubl-settings-video-strings.h:53
msgid "Save to global configuration" msgid "Save to global configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:52 #: source/ubl-settings-video-strings.h:54
msgid "Save to local configuration" msgid "Save to local configuration"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:53 #: source/ubl-settings-video-strings.h:55
msgid "Documentation" msgid "Documentation"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:54 #: source/ubl-settings-video-strings.h:56
msgid "About" msgid "About"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:55 #: source/ubl-settings-video-strings.h:57
msgid "Installed" msgid "Installed"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:56 #: source/ubl-settings-video-strings.h:58
msgid "Package" msgid "Package"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:57 #: source/ubl-settings-video-strings.h:59
msgid "Supported Devices" msgid "Supported Devices"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:59 #: source/ubl-settings-video-strings.h:61
msgid "Accept" msgid "Accept"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:61 #: source/ubl-settings-video-strings.h:64
msgid "Information" msgid "Information"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:62 #: source/ubl-settings-video-strings.h:65
msgid "Drivers" msgid "Drivers"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:63 #: source/ubl-settings-video-strings.h:66
msgid "Main settings" msgid "Main settings"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:64 #: source/ubl-settings-video-strings.h:67
msgid "Devices and drivers" msgid "Devices and drivers"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:65 #: source/ubl-settings-video-strings.h:68
msgid "Driver modules" msgid "Driver modules"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:80 #: source/ubl-settings-video-strings.h:83
msgid "Error: Port must be chosen to save" msgid "Error: Port must be chosen to save"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:81 #: source/ubl-settings-video-strings.h:84
msgid "Monitor configuration succeedeed" msgid "Monitor configuration succeedeed"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:83 #: source/ubl-settings-video-strings.h:86
msgid "Global configuration loading succseeded." msgid "Global configuration loading succseeded."
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:84 #: source/ubl-settings-video-strings.h:87
msgid "Local configuration loading succseeded." msgid "Local configuration loading succseeded."
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:86 #: source/ubl-settings-video-strings.h:89
msgid "Local and global configuration saving succseeded." msgid "Local and global configuration saving succseeded."
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:87 #: source/ubl-settings-video-strings.h:90
msgid "Global configuration saving succseeded." msgid "Global configuration saving succseeded."
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:88 #: source/ubl-settings-video-strings.h:91
msgid "Local configuration saving succseeded." msgid "Local configuration saving succseeded."
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:90 #: source/ubl-settings-video-strings.h:93
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:91 #: source/ubl-settings-video-strings.h:94
msgid "No" msgid "No"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:93 #: source/ubl-settings-video-strings.h:96
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:94 #: source/ubl-settings-video-strings.h:97
msgid "Vendor" msgid "Vendor"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:95 #: source/ubl-settings-video-strings.h:98
msgid "Model" msgid "Model"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:96 #: source/ubl-settings-video-strings.h:99
msgid "Kernel driver in use" msgid "Kernel driver in use"
msgstr "" msgstr ""
#: source/ubl-settings-video-strings.h:97 #: source/ubl-settings-video-strings.h:100
msgid "Kernel modules" msgid "Kernel modules"
msgstr "" msgstr ""
#: source/ubl-settings-video.h:25
msgid "Failed to load global configuration"
msgstr ""
#: source/ubl-settings-video.h:26
msgid "Failed to load local configuration"
msgstr ""
#: source/ubl-settings-video.h:28
msgid "Saving to global configuration Succeeded"
msgstr ""
#: source/ubl-settings-video.h:29
msgid "Saving to local configuration Succeeded"
msgstr ""
msgid "VGA compitable controller"
msgstr ""

@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ubl-settings-manager 1.0\n" "Project-Id-Version: ubl-settings-video 1.0\n"
"Report-Msgid-Bugs-To: info@ublinux.com\n" "Report-Msgid-Bugs-To: info@ublinux.com\n"
"POT-Creation-Date: 2023-04-21 12:33+0000\n" "POT-Creation-Date: 2023-05-10 15:53+0600\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n" "PO-Revision-Date: 2023-01-01 00:00+0600\n"
"Last-Translator: UBLinux Team <info@ublinux.com>\n" "Last-Translator: UBLinux Team <info@ublinux.com>\n"
"Language-Team: Russian - UBLinux Team <info@ublinux.com>\n" "Language-Team: Russian - UBLinux Team <info@ublinux.com>\n"
@ -17,347 +17,398 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-video.c:323 source/ubl-settings-video.c:366 #: source/ubl-settings-video.c:298 source/ubl-settings-video.c:354
#: source/ubl-settings-video.c:923 source/ubl-settings-video.c:934 #: source/ubl-settings-video-strings.h:62
msgid "Don't use" msgid "Don't use"
msgstr "Не использовать" msgstr "Не использовать"
#: source/ubl-settings-video.c:615 source/ubl-settings-video-strings.h:38 #: source/ubl-settings-video.c:581 source/ubl-settings-video-strings.h:40
msgid "UBlinux Video Configuration" msgid "UBlinux Video Configuration"
msgstr "Видеокарта/Экран" msgstr "Видеокарта/Экран"
#: source/ubl-settings-video.c:617 #: source/ubl-settings-video.c:583
msgid "Progect Home Page" msgid "Progect Home Page"
msgstr "Домашняя страница проекта" msgstr "Домашняя страница проекта"
#: source/ubl-settings-video.c:618 #: source/ubl-settings-video.c:584
msgid "Videocard and monitor configuration manager" msgid "Videocard and monitor configuration manager"
msgstr "Настройка вывода изображения" msgstr "Настройка вывода изображения"
#: source/ubl-settings-video.c:924 source/ubl-settings-video.c:935 #: source/ubl-settings-video.h:27
#: source/ubl-settings-video-strings.h:43 msgid "Failed to load global configuration"
msgid "fbdev" msgstr "Ошибка загрузки глобальной конфигурации"
msgstr "fbdev"
#: source/ubl-settings-video.h:28
msgid "Failed to load local configuration"
msgstr "Ошибка загрузки локальной конфигурации"
#: source/ubl-settings-video.h:30
msgid "Saving to global configuration Succeeded"
msgstr "Успешное сохранение глобальной конфигурации"
#: source/ubl-settings-video.h:31
msgid "Saving to local configuration Succeeded"
msgstr "Успешное сохранение локальной конфигурации"
#: source/ubl-settings-video-strings.h:1 #: source/ubl-settings-video-strings.h:1
msgid "Default settings" msgid "Version:"
msgstr "По умолчанию" msgstr "Версия:"
#: source/ubl-settings-video-strings.h:2 #: source/ubl-settings-video-strings.h:2
msgid "Monitor " msgid "ubl-settings-video version:"
msgstr "Монитор: " msgstr "Версия менеджера настроек вывода изображения: "
#: source/ubl-settings-video-strings.h:3 #: source/ubl-settings-video-strings.h:2 source/ubl-settings-video-strings.h:5
msgid "Video adapter and display settings" msgid "Video adapter and display settings"
msgstr "Настройка вывода изображения и установка драйвера видеокарты" msgstr "Настройка вывода изображения и установка драйвера видеокарты"
#: source/ubl-settings-video-strings.h:2
msgid "Usage:"
msgstr "Использование:"
#: source/ubl-settings-video-strings.h:2
msgid "[OPTIONS]"
msgstr "[АРГУМЕНТЫ]"
#: source/ubl-settings-video-strings.h:2
msgid "Options:"
msgstr "Аргументы:"
#: source/ubl-settings-video-strings.h:2
msgid "Show this help"
msgstr "Показать эту справку"
#: source/ubl-settings-video-strings.h:2
msgid "Show package version"
msgstr "Показать версию пакета"
#: source/ubl-settings-video-strings.h:2
msgid "Lock this help menu"
msgstr "Запретить вывод этой справки"
#: source/ubl-settings-video-strings.h:2
#, fuzzy
msgid "Lock configration saving"
msgstr "Запретить сохранение конфигурации"
#: source/ubl-settings-video-strings.h:2
#, fuzzy
msgid "Lock local configration saving"
msgstr "Запретить сохранение локальной конфигурации"
#: source/ubl-settings-video-strings.h:2
#, fuzzy
msgid "Lock global configration saving"
msgstr "Запретить сохранение глобальной конфигурации"
#: source/ubl-settings-video-strings.h:2
#, fuzzy
msgid "Lock global configration loading"
msgstr "Запретить загрузку глобальной конфигурации"
#: source/ubl-settings-video-strings.h:3
msgid "Default settings"
msgstr "По умолчанию"
#: source/ubl-settings-video-strings.h:4 #: source/ubl-settings-video-strings.h:4
msgid "Monitor "
msgstr "Монитор "
#: source/ubl-settings-video-strings.h:6
msgid "Port: " msgid "Port: "
msgstr "Порт: " msgstr "Порт: "
#: source/ubl-settings-video-strings.h:5 #: source/ubl-settings-video-strings.h:7
msgid "Resolution (px): " msgid "Resolution (px): "
msgstr "Разрешение (px): " msgstr "Разрешение (px): "
#: source/ubl-settings-video-strings.h:6 #: source/ubl-settings-video-strings.h:8
msgid "Frequency (Hz): " msgid "Frequency (Hz): "
msgstr "Обновления (Hz): " msgstr "Обновления (Hz): "
#: source/ubl-settings-video-strings.h:7 #: source/ubl-settings-video-strings.h:9
msgid "Rotation: " msgid "Rotation: "
msgstr "Вращение: " msgstr "Вращение: "
#: source/ubl-settings-video-strings.h:8 #: source/ubl-settings-video-strings.h:10
msgid "Position: " msgid "Position: "
msgstr "Положение: " msgstr "Положение: "
#: source/ubl-settings-video-strings.h:9 #: source/ubl-settings-video-strings.h:11
msgid "Do not switch off display" msgid "Do not switch off display"
msgstr "Не выключать дисплей" msgstr "Не выключать дисплей"
#: source/ubl-settings-video-strings.h:10 #: source/ubl-settings-video-strings.h:12
msgid "Create modeline for current resolution with CVT" msgid "Create modeline for current resolution with CVT"
msgstr "Создать modeline для укащанного разрешения с помощью CVT" msgstr "Создать modeline для укащанного разрешения с помощью CVT"
#: source/ubl-settings-video-strings.h:11 #: source/ubl-settings-video-strings.h:13
msgid "Use \"CVT Reduced Blanking\"" msgid "Use \"CVT Reduced Blanking\""
msgstr "" msgstr ""
"Использовать \"CVT Reduced Blanking\" уменьшения пропускной способности\n" "Использовать \"CVT Reduced Blanking\" уменьшения пропускной способности\n"
"для дисплеев с высоким разрешением" "для дисплеев с высоким разрешением"
#: source/ubl-settings-video-strings.h:12 #: source/ubl-settings-video-strings.h:14
msgid "Create modeline for current resolution with GTF" msgid "Create modeline for current resolution with GTF"
msgstr "Создать modeline для указанного разрешения с помощью GTF" msgstr "Создать modeline для указанного разрешения с помощью GTF"
#: source/ubl-settings-video-strings.h:13 #: source/ubl-settings-video-strings.h:15
msgid "Configure manually through parameter line: " msgid "Configure manually through parameter line: "
msgstr "Настроить вручную через строку параметра: " msgstr "Настроить вручную через строку параметра: "
#: source/ubl-settings-video-strings.h:14 #: source/ubl-settings-video-strings.h:16
msgid "Main display" msgid "Main display"
msgstr "Основной дисплей" msgstr "Основной дисплей"
#: source/ubl-settings-video-strings.h:15 #: source/ubl-settings-video-strings.h:17
msgid "Show unsupported" msgid "Show unsupported"
msgstr "Все видеорежимы" msgstr "Все видеорежимы"
#: source/ubl-settings-video-strings.h:16 #: source/ubl-settings-video-strings.h:18
msgid "Enabled" msgid "Enabled"
msgstr "Включён" msgstr "Включён"
#: source/ubl-settings-video-strings.h:17 #: source/ubl-settings-video-strings.h:19
msgid "Left" msgid "Left"
msgstr "Влево" msgstr "Влево"
#: source/ubl-settings-video-strings.h:18 #: source/ubl-settings-video-strings.h:20
msgid "Right" msgid "Right"
msgstr "Вправо" msgstr "Вправо"
#: source/ubl-settings-video-strings.h:19 #: source/ubl-settings-video-strings.h:21
msgid "Inverted" msgid "Inverted"
msgstr "Инвертирован" msgstr "Инвертирован"
#: source/ubl-settings-video-strings.h:20 #: source/ubl-settings-video-strings.h:22
msgid "Left of" msgid "Left of"
msgstr "Слева от" msgstr "Слева от"
#: source/ubl-settings-video-strings.h:21 #: source/ubl-settings-video-strings.h:23
msgid "Right of" msgid "Right of"
msgstr "Справа от" msgstr "Справа от"
#: source/ubl-settings-video-strings.h:22 #: source/ubl-settings-video-strings.h:24
msgid "Above" msgid "Above"
msgstr "Над" msgstr "Над"
#: source/ubl-settings-video-strings.h:23 #: source/ubl-settings-video-strings.h:25
msgid "Below " msgid "Below "
msgstr "Под " msgstr "Под "
#: source/ubl-settings-video-strings.h:24 #: source/ubl-settings-video-strings.h:26
msgid "No rotation" msgid "No rotation"
msgstr "Не поворачивать" msgstr "Не поворачивать"
#: source/ubl-settings-video-strings.h:25 #: source/ubl-settings-video-strings.h:27
#: source/ubl-settings-video-strings.h:40 #: source/ubl-settings-video-strings.h:42
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: source/ubl-settings-video-strings.h:26 #: source/ubl-settings-video-strings.h:28
#: source/ubl-settings-video-strings.h:58 #: source/ubl-settings-video-strings.h:60
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: source/ubl-settings-video-strings.h:27 #: source/ubl-settings-video-strings.h:29
msgid "Choose port to configure" msgid "Choose port to configure"
msgstr "Выбрать порт для настройки" msgstr "Выбрать порт для настройки"
#: source/ubl-settings-video-strings.h:28 #: source/ubl-settings-video-strings.h:30
msgid "1st variant. May cause perfomance drops in video games" msgid "1st variant. May cause perfomance drops in video games"
msgstr "1 вариант. Может снизить производительность в играх" msgstr "1 вариант. Может снизить производительность в играх"
#: source/ubl-settings-video-strings.h:29 #: source/ubl-settings-video-strings.h:31
msgid "2nd variant. May not work on specific video cards" msgid "2nd variant. May not work on specific video cards"
msgstr "2 вариант. Не на каждой карте может сработать" msgstr "2 вариант. Не на каждой карте может сработать"
#: source/ubl-settings-video-strings.h:30 #: source/ubl-settings-video-strings.h:32
msgid "Video output configuration" msgid "Video output configuration"
msgstr "Настройка вывода изображения" msgstr "Настройка вывода изображения"
#: source/ubl-settings-video-strings.h:31 #: source/ubl-settings-video-strings.h:33
msgid "Failsafe driver nVidia: " msgid "Failsafe driver nVidia: "
msgstr "Отказоучтойчивый драйвер nVidia: " msgstr "Отказоучтойчивый драйвер nVidia: "
#: source/ubl-settings-video-strings.h:32 #: source/ubl-settings-video-strings.h:34
msgid "Failsafe driver AMD/ATI: " msgid "Failsafe driver AMD/ATI: "
msgstr "Отказоустойчивый драйвер AMD/ATI: " msgstr "Отказоустойчивый драйвер AMD/ATI: "
#: source/ubl-settings-video-strings.h:33 #: source/ubl-settings-video-strings.h:35
msgid "Driver" msgid "Driver"
msgstr "Драйвер" msgstr "Драйвер"
#: source/ubl-settings-video-strings.h:34 #: source/ubl-settings-video-strings.h:36
msgid "Monitor configuration" msgid "Monitor configuration"
msgstr "Настройка экрана" msgstr "Настройка экрана"
#: source/ubl-settings-video-strings.h:35 #: source/ubl-settings-video-strings.h:37
msgid "Hybrid graphics" msgid "Hybrid graphics"
msgstr "Гибридная графика" msgstr "Гибридная графика"
#: source/ubl-settings-video-strings.h:36 #: source/ubl-settings-video-strings.h:38
msgid "Fix frame gap (nVidia)" msgid "Fix frame gap (nVidia)"
msgstr "Исправить разрыв кадров (nVidia)" msgstr "Исправить разрыв кадров (nVidia)"
#: source/ubl-settings-video-strings.h:37 #: source/ubl-settings-video-strings.h:39
msgid "Extra" msgid "Extra"
msgstr "Дополнительно" msgstr "Дополнительно"
#: source/ubl-settings-video-strings.h:39 #: source/ubl-settings-video-strings.h:41
msgid "Load" msgid "Load"
msgstr "Загрузить" msgstr "Загрузить"
#: source/ubl-settings-video-strings.h:41 #: source/ubl-settings-video-strings.h:43
msgid "On" msgid "On"
msgstr "Включить" msgstr "Включить"
#: source/ubl-settings-video-strings.h:42 #: source/ubl-settings-video-strings.h:44
msgid "Off" msgid "Off"
msgstr "Выключить" msgstr "Выключить"
#: source/ubl-settings-video-strings.h:44 #: source/ubl-settings-video-strings.h:45
msgid "fbdev"
msgstr "fbdev"
#: source/ubl-settings-video-strings.h:46
msgid "Automatically choose and use driver" msgid "Automatically choose and use driver"
msgstr "Автоматический выбор и использование драйвера" msgstr "Автоматический выбор и использование драйвера"
#: source/ubl-settings-video-strings.h:45 #: source/ubl-settings-video-strings.h:47
msgid "Launch programms through optirun (nVidia): " msgid "Launch programms through optirun (nVidia): "
msgstr "Запуск программ через optirun (nVidia)" msgstr "Запуск программ через optirun (nVidia)"
#: source/ubl-settings-video-strings.h:46 #: source/ubl-settings-video-strings.h:48
msgid "Launch programs through primusrun (nVidia): " msgid "Launch programs through primusrun (nVidia): "
msgstr "Запуск программ через primusrun (nVidia)" msgstr "Запуск программ через primusrun (nVidia)"
#: source/ubl-settings-video-strings.h:47 #: source/ubl-settings-video-strings.h:49
msgid "discrete video only (AMD/ATI)" msgid "discrete video only (AMD/ATI)"
msgstr "Только дискретное видео (AMD/ATI)" msgstr "Только дискретное видео (AMD/ATI)"
#: source/ubl-settings-video-strings.h:48 #: source/ubl-settings-video-strings.h:50
msgid "Load from global configuration" msgid "Load from global configuration"
msgstr "Загрузить глобальную конфигурацию" msgstr "Загрузить глобальную конфигурацию"
#: source/ubl-settings-video-strings.h:49 #: source/ubl-settings-video-strings.h:51
msgid "Load from local configuration" msgid "Load from local configuration"
msgstr "Загрузить локальную конфигуруцию" msgstr "Загрузить локальную конфигуруцию"
#: source/ubl-settings-video-strings.h:50 #: source/ubl-settings-video-strings.h:52
msgid "Save to global an local configuration" msgid "Save configuration"
msgstr "Сохранить в глобальную и локальную конфигурацию" msgstr "Сохранить конфигурацию"
#: source/ubl-settings-video-strings.h:51 #: source/ubl-settings-video-strings.h:53
msgid "Save to global configuration" msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию" msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-settings-video-strings.h:52 #: source/ubl-settings-video-strings.h:54
msgid "Save to local configuration" msgid "Save to local configuration"
msgstr "Схоранить в локальную конфигурацию" msgstr "Схоранить в локальную конфигурацию"
#: source/ubl-settings-video-strings.h:53 #: source/ubl-settings-video-strings.h:55
msgid "Documentation" msgid "Documentation"
msgstr "Справка" msgstr "Справка"
#: source/ubl-settings-video-strings.h:54 #: source/ubl-settings-video-strings.h:56
msgid "About" msgid "About"
msgstr "О программе" msgstr "О программе"
#: source/ubl-settings-video-strings.h:55 #: source/ubl-settings-video-strings.h:57
msgid "Installed" msgid "Installed"
msgstr "Установлено" msgstr "Установлено"
#: source/ubl-settings-video-strings.h:56 #: source/ubl-settings-video-strings.h:58
msgid "Package" msgid "Package"
msgstr "Пакет" msgstr "Пакет"
#: source/ubl-settings-video-strings.h:57 #: source/ubl-settings-video-strings.h:59
msgid "Supported Devices" msgid "Supported Devices"
msgstr "Устройства" msgstr "Устройства"
#: source/ubl-settings-video-strings.h:59 #: source/ubl-settings-video-strings.h:61
msgid "Accept" msgid "Accept"
msgstr "Принять" msgstr "Принять"
#: source/ubl-settings-video-strings.h:61 #: source/ubl-settings-video-strings.h:64
msgid "Information" msgid "Information"
msgstr "Информация" msgstr "Информация"
#: source/ubl-settings-video-strings.h:62 #: source/ubl-settings-video-strings.h:65
msgid "Drivers" msgid "Drivers"
msgstr "Драйвера" msgstr "Драйвера"
#: source/ubl-settings-video-strings.h:63 #: source/ubl-settings-video-strings.h:66
msgid "Main settings" msgid "Main settings"
msgstr "Основные настройки" msgstr "Основные настройки"
#: source/ubl-settings-video-strings.h:64 #: source/ubl-settings-video-strings.h:67
msgid "Devices and drivers" msgid "Devices and drivers"
msgstr "Устройства и драйвера" msgstr "Устройства и драйвера"
#: source/ubl-settings-video-strings.h:65 #: source/ubl-settings-video-strings.h:68
msgid "Driver modules" msgid "Driver modules"
msgstr "Модули ядра" msgstr "Модули драйвера"
#: source/ubl-settings-video-strings.h:80 #: source/ubl-settings-video-strings.h:83
msgid "Error: Port must be chosen to save" msgid "Error: Port must be chosen to save"
msgstr "Ошибка: Выберите порт для сохранения" msgstr "Ошибка: Выберите порт для сохранения"
#: source/ubl-settings-video-strings.h:81 #: source/ubl-settings-video-strings.h:84
msgid "Monitor configuration succeedeed" msgid "Monitor configuration succeedeed"
msgstr "Настройки экрана сохранены" msgstr "Настройки экрана сохранены"
#: source/ubl-settings-video-strings.h:83 #: source/ubl-settings-video-strings.h:86
msgid "Global configuration loading succseeded." msgid "Global configuration loading succseeded."
msgstr "Успешная загрузка глобальной конфигурации" msgstr "Успешная загрузка глобальной конфигурации"
#: source/ubl-settings-video-strings.h:84 #: source/ubl-settings-video-strings.h:87
msgid "Local configuration loading succseeded." msgid "Local configuration loading succseeded."
msgstr "Успешная загрузка локальной конфигурации" msgstr "Успешная загрузка локальной конфигурации"
#: source/ubl-settings-video-strings.h:86 #: source/ubl-settings-video-strings.h:89
msgid "Local and global configuration saving succseeded." msgid "Local and global configuration saving succseeded."
msgstr "Успешное сохранение глобальной и локальной конфигурации" msgstr "Успешное сохранение глобальной и локальной конфигурации"
#: source/ubl-settings-video-strings.h:87 #: source/ubl-settings-video-strings.h:90
msgid "Global configuration saving succseeded." msgid "Global configuration saving succseeded."
msgstr "Успешное сохранение глобальной конфигурации" msgstr "Успешное сохранение глобальной конфигурации"
#: source/ubl-settings-video-strings.h:88 #: source/ubl-settings-video-strings.h:91
msgid "Local configuration saving succseeded." msgid "Local configuration saving succseeded."
msgstr "Успешная загрузка локальной конфигурации" msgstr "Успешная загрузка локальной конфигурации"
#: source/ubl-settings-video-strings.h:90 #: source/ubl-settings-video-strings.h:93
msgid "Yes" msgid "Yes"
msgstr "Да" msgstr "Да"
#: source/ubl-settings-video-strings.h:91 #: source/ubl-settings-video-strings.h:94
msgid "No" msgid "No"
msgstr "Нет" msgstr "Нет"
#: source/ubl-settings-video-strings.h:93 #: source/ubl-settings-video-strings.h:96
msgid "Description" msgid "Description"
msgstr "Описание" msgstr "Описание"
#: source/ubl-settings-video-strings.h:94 #: source/ubl-settings-video-strings.h:97
msgid "Vendor" msgid "Vendor"
msgstr "Производитель" msgstr "Производитель"
#: source/ubl-settings-video-strings.h:95 #: source/ubl-settings-video-strings.h:98
msgid "Model" msgid "Model"
msgstr "Модель" msgstr "Модель"
#: source/ubl-settings-video-strings.h:96 #: source/ubl-settings-video-strings.h:99
msgid "Kernel driver in use" msgid "Kernel driver in use"
msgstr "Используемый драйвер ядра" msgstr "Используемый драйвер ядра"
#: source/ubl-settings-video-strings.h:97 #: source/ubl-settings-video-strings.h:100
msgid "Kernel modules" msgid "Kernel modules"
msgstr "Модули ядра" msgstr "Модули ядра"
#: source/ubl-settings-video.h:25 #~ msgid "VGA compitable controller"
msgid "Failed to load global configuration" #~ msgstr "VGA-совместимый адаптер"
msgstr "Ошибка загрузки глобальной конфигурации"
#: source/ubl-settings-video.h:26
msgid "Failed to load local configuration"
msgstr "Ошибка загрузки локальной конфигурации"
#: source/ubl-settings-video.h:28
msgid "Saving to global configuration Succeeded"
msgstr "Успешное сохранение глобальной конфигурации"
#: source/ubl-settings-video.h:29
msgid "Saving to local configuration Succeeded"
msgstr "Успешное сохранение локальной конфигурации"
msgid "VGA compitable controller"
msgstr "VGA-совместимый адаптер"
#~ msgid "Configuration has been loaded" #~ msgid "Configuration has been loaded"
#~ msgstr "Конфигурация была загружена" #~ msgstr "Конфигурация была загружена"

@ -1,8 +1,8 @@
VERSION_ID:DRV_PAСKAGE:DRV_NAME:DRV_DESCRIPTION:DRV_SUPPORT VERSION_ID;DRV_PAСKAGE;DRV_NAME;DRV_DESCRIPTION;DRV_SUPPORT
2204:ubm-nvidia-340:nvidia-340:Пакет с модулем драйвера и утилиты NVIDIA 340xx:Драйвер видеокарт nVidia серий 8XXX, 9XXX, 1XX, 2XX, 3XX, 4XX, 5XX, 6XX, 7XX 2204;ubm-nvidia-340;nvidia-340;Пакет с модулем драйвера и утилиты NVIDIA 340xx;Драйвер видеокарт nVidia серий 8XXX, 9XXX, 1XX, 2XX, 3XX, 4XX, 5XX, 6XX, 7XX
2204:ubm-nvidia-390:nvidia-390:Пакет с модулем драйвера и утилиты NVIDIA 390xx:Драйвер видеокарт nVidia серий 4XX, 5XX, 6XX, 7XX, 9XX, 10XX 2204;ubm-nvidia-390;nvidia-390;Пакет с модулем драйвера и утилиты NVIDIA 390xx;Драйвер видеокарт nVidia серий 4XX, 5XX, 6XX, 7XX, 9XX, 10XX
2204:ubm-nvidia-430:nvidia-430:Пакет с модулем включает в себя драйвер NVIDIA 430xx и утилиты:Драйвер видеокарт nVidia серий 6XX, 7XX, 9XX, 10XX, 16XX 2204;ubm-nvidia-430;nvidia-430;Пакет с модулем включает в себя драйвер NVIDIA 430xx и утилиты;Драйвер видеокарт nVidia серий 6XX, 7XX, 9XX, 10XX, 16XX
2204:ubm-nvidia-470:nvidia-470:Пакет с модулем драйвера и утилиты NVIDIA 470xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;ubm-nvidia-470;nvidia-470;Пакет с модулем драйвера и утилиты NVIDIA 470xx;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204:ubm-nvidia-510:nvidia-510:Пакет с модулем драйвера и утилиты NVIDIA 510xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;ubm-nvidia-510;nvidia-510;Пакет с модулем драйвера и утилиты NVIDIA 510xx;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204:ubm-nvidia-515:nvidia-515:Пакет с модулем драйвера и утилиты NVIDIA 515xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204;ubm-nvidia-515;nvidia-515;Пакет с модулем драйвера и утилиты NVIDIA 515xx;Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
2204:ubm-nvidia-optimus:nvidia-optimus:Пакет с модулем включает в себя NVIDIA Optimus: 2204;ubm-nvidia-optimus;nvidia-optimus;Пакет с модулем включает в себя NVIDIA Optimus;

1 VERSION_ID:DRV_PAСKAGE:DRV_NAME:DRV_DESCRIPTION:DRV_SUPPORT VERSION_ID DRV_PAСKAGE DRV_NAME DRV_DESCRIPTION DRV_SUPPORT
2 2204:ubm-nvidia-340:nvidia-340:Пакет с модулем драйвера и утилиты NVIDIA 340xx:Драйвер видеокарт nVidia серий 8XXX, 9XXX, 1XX, 2XX, 3XX, 4XX, 5XX, 6XX, 7XX 2204 ubm-nvidia-340 nvidia-340 Пакет с модулем драйвера и утилиты NVIDIA 340xx Драйвер видеокарт nVidia серий 8XXX, 9XXX, 1XX, 2XX, 3XX, 4XX, 5XX, 6XX, 7XX
3 2204:ubm-nvidia-390:nvidia-390:Пакет с модулем драйвера и утилиты NVIDIA 390xx:Драйвер видеокарт nVidia серий 4XX, 5XX, 6XX, 7XX, 9XX, 10XX 2204 ubm-nvidia-390 nvidia-390 Пакет с модулем драйвера и утилиты NVIDIA 390xx Драйвер видеокарт nVidia серий 4XX, 5XX, 6XX, 7XX, 9XX, 10XX
4 2204:ubm-nvidia-430:nvidia-430:Пакет с модулем включает в себя драйвер NVIDIA 430xx и утилиты:Драйвер видеокарт nVidia серий 6XX, 7XX, 9XX, 10XX, 16XX 2204 ubm-nvidia-430 nvidia-430 Пакет с модулем включает в себя драйвер NVIDIA 430xx и утилиты Драйвер видеокарт nVidia серий 6XX, 7XX, 9XX, 10XX, 16XX
5 2204:ubm-nvidia-470:nvidia-470:Пакет с модулем драйвера и утилиты NVIDIA 470xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204 ubm-nvidia-470 nvidia-470 Пакет с модулем драйвера и утилиты NVIDIA 470xx Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
6 2204:ubm-nvidia-510:nvidia-510:Пакет с модулем драйвера и утилиты NVIDIA 510xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204 ubm-nvidia-510 nvidia-510 Пакет с модулем драйвера и утилиты NVIDIA 510xx Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
7 2204:ubm-nvidia-515:nvidia-515:Пакет с модулем драйвера и утилиты NVIDIA 515xx:Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX 2204 ubm-nvidia-515 nvidia-515 Пакет с модулем драйвера и утилиты NVIDIA 515xx Драйвер видеокарт nVidia серий NVS, Quadro Sync, Quadro NVS, Quadro Blade/Embedded, Quadro, Quadro RTX, NVIDIA RTX
8 2204:ubm-nvidia-optimus:nvidia-optimus:Пакет с модулем включает в себя NVIDIA Optimus: 2204 ubm-nvidia-optimus nvidia-optimus Пакет с модулем включает в себя NVIDIA Optimus
Loading…
Cancel
Save