New interface - not fully redone yet

pull/6/head^2
parent b67c090ed4
commit c47eab30d1

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

@ -541,13 +541,24 @@ void on_confugure_monitor_settings(GtkWidget *self, MonitorSettings *settings)
monitors->templateMonitorConfigurationFrequencyCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationFrequencyCombo")); monitors->templateMonitorConfigurationFrequencyCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationFrequencyCombo"));
monitors->templateMonitorConfigurationRotationCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationCombo")); monitors->templateMonitorConfigurationRotationCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationCombo"));
monitors->templateMonitorConfigurationRotationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationLabel")); monitors->templateMonitorConfigurationRotationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationLabel"));
monitors->templateMonitorConfigurationMainRadio = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationMainRadio")); monitors->templateMonitorConfigurationMainRadio = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationMainCheck"));
monitors->templateMonitorConfigurationParameterLineCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationParameterLineCheck")); monitors->templateMonitorConfigurationParameterLineCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationParameterLineCheck"));
monitors->templateMonitorConfigurationParameterLineEntry = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationParameterLineEntry")); monitors->templateMonitorConfigurationParameterLineEntry = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationParameterLineEntry"));
monitors->templateMonitorConfigurationDoNotSwitchOffLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationDoNotSwitchOffLabel")); // monitors->templateMonitorConfigurationDoNotSwitchOffLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationDoNotSwitchOffLabel"));
monitors->templateMonitorConfigurationDoNotSwitchOffCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationDoNotSwitchOffCheck")); monitors->templateMonitorConfigurationDoNotSwitchOffCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationDoNotSwitchOffCheck"));
monitors->templateMonitorConfigurationCancelButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationCancelButton")); monitors->templateMonitorConfigurationCancelButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationCancelButton"));
monitors->templateMonitorConfigurationSaveButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationSaveButton")); monitors->templateMonitorConfigurationSaveButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationSaveButton"));
monitors->templateMonitorConfigurationEnableCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationEnableCheck"));
monitors->templateMonitorConfigurationPortLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPortLabel"));
monitors->templateMonitorConfigurationPortCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPortCombo"));
monitors->templateMonitorConfigurationShowUnsupportedCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationShowUnsupportedCheck"));
monitors->templateMonitorConfigurationPositionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPositionLabel"));
monitors->templateMonitorConfigurationPositionPosCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPositionPosCombo"));
monitors->templateMonitorConfigurationPositionPortCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPositionPortCombo"));
monitors->templateMonitorConfigurationModelineCVTCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationModelineCVTCheck"));
monitors->templateMonitorConfigurationUseCVTReducedCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationUseCVTReducedCheck"));
monitors->templateMonitorConfigurationModelineGTFCheck = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationModelineGTFCheck"));
monitors->curconfig=settings->curconfig; monitors->curconfig=settings->curconfig;
g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationParameterLineCheck), "toggled", G_CALLBACK(on_sensitive_change_reversed), monitors->templateMonitorConfigurationBox); g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationParameterLineCheck), "toggled", G_CALLBACK(on_sensitive_change_reversed), monitors->templateMonitorConfigurationBox);
@ -556,7 +567,16 @@ void on_confugure_monitor_settings(GtkWidget *self, MonitorSettings *settings)
g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationCancelButton), "clicked", G_CALLBACK(on_closed_configuration), monitors); g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationCancelButton), "clicked", G_CALLBACK(on_closed_configuration), monitors);
g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationSaveButton), "clicked", G_CALLBACK(on_save_window_configuration), monitors); g_signal_connect(G_OBJECT(monitors->templateMonitorConfigurationSaveButton), "clicked", G_CALLBACK(on_save_window_configuration), monitors);
videoconfig.ports = yon_config_load(get_ports_command,&videoconfig.portssize);
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationMonitorLabel), _("Monitor: ")); gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationMonitorLabel), _("Monitor: "));
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationPortLabel), _("Port: "));
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationPositionLabel), _("Position: "));
gtk_button_set_label(GTK_BUTTON(monitors->templateMonitorConfigurationShowUnsupportedCheck), _("Show unsupported: "));
gtk_button_set_label(GTK_BUTTON(monitors->templateMonitorConfigurationEnableCheck), _("Enabled"));
gtk_button_set_label(GTK_BUTTON(monitors->templateMonitorConfigurationModelineCVTCheck), _("Create modeline for current resolution with CVT"));
gtk_button_set_label(GTK_BUTTON(monitors->templateMonitorConfigurationUseCVTReducedCheck), _("Use \"CVT Reduced Blanking\" "));
gtk_button_set_label(GTK_BUTTON(monitors->templateMonitorConfigurationModelineGTFCheck), _("Create modeline for current resolution with GTF"));
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationResolutionLabel), _("Resolution (px): ")); gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationResolutionLabel), _("Resolution (px): "));
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationFrequencyLabel), _("Frequency (Hz): ")); gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationFrequencyLabel), _("Frequency (Hz): "));
gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationRotationLabel), _("Rotation: ")); gtk_label_set_text(GTK_LABEL(monitors->templateMonitorConfigurationRotationLabel), _("Rotation: "));
@ -612,8 +632,11 @@ MonitorSettings *yon_setup_monitor_settings()
monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay")); monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay"));
monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox")); monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox"));
monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel")); monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel"));
monitors[i].templateMonitorImage = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorImage"));
monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel")); monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel"));
monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton")); monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton"));
monitors[i].templateMonitorDeleteButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorDeleteButton"));
monitors[i].templateMonitorSwitchButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorSwitchButton"));
monitors[i].curconfig = yon_dictionary_get_nth(videoconfig.monitors, i); monitors[i].curconfig = yon_dictionary_get_nth(videoconfig.monitors, i);
printf("%d\n", i); printf("%d\n", i);
if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==0) if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==0)
@ -621,11 +644,15 @@ MonitorSettings *yon_setup_monitor_settings()
if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==1) if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==1)
gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->port,"*"))); gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->port,"*")));
char *res = yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->resolution, ""); char *res = yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->resolution, "");
if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->enable==1)
gtk_widget_set_sensitive(monitors[i].templateMonitorImage,1);
if (!res) if (!res)
res = _("Default settings"); res = _("Default settings");
gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), res); gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), res);
gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox); gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox);
g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]); g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
g_signal_connect(G_OBJECT(monitors[i].templateMonitorDeleteButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
g_signal_connect(G_OBJECT(monitors[i].templateMonitorSwitchButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
if (i==0) if (i==0)
videoconfig.videoconfig = yon_dictionary_create_with_data(((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]); videoconfig.videoconfig = yon_dictionary_create_with_data(((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]);
else else

@ -25,11 +25,13 @@
#define StatusSaveGlobalFailed _("Saving to global configuration Succeeded") #define StatusSaveGlobalFailed _("Saving to global configuration Succeeded")
#define StatusSaveLocalFailed _("Saving to local configuration Succeeded") #define StatusSaveLocalFailed _("Saving to local configuration Succeeded")
#define get_ports_command "xrandr |grep -E \"^[A-Z0-9]* connected\" |cut -d' ' -f1" #define get_ports_command "xrandr |grep -E \"*connected\" |cut -d' ' -f1"
#define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\"" #define get_resolutions_command "xrandr |grep -noP \"\\d+x+\\d+\""
#define get_proprietary_drivers_command "" #define get_proprietary_drivers_command "cut -d, -f1- video-drivers.csv | grep -E \"-\""
#define get_resolutions_supportable_command "cut -d, -f1- Resolutions.csv |sed 's/,/\t/g'"
#define get_frequences_command "xrandr |grep -v -n \"[a-z][a-z]\" |sed 's/ * / /g' |cut -d' ' -f1,3-" #define get_frequences_command "xrandr |grep -v -n \"[a-z][a-z]\" |sed 's/ * / /g' |cut -d' ' -f1,3-"
@ -70,11 +72,17 @@ typedef struct
char *primusrun; char *primusrun;
int gapfix; int gapfix;
int optiorprimus; int optiorprimus;
char **ports;
int portssize;
char **resolutions;
int resolutionssize;
} config; } config;
typedef struct typedef struct
{ {
int main; int main;
int enable;
char *position;
char *port; char *port;
char *resolution; char *resolution;
char **resolutionCapabilities; char **resolutionCapabilities;
@ -182,11 +190,25 @@ typedef struct
GtkWidget *templateMonitorConfigurationCancelButton; GtkWidget *templateMonitorConfigurationCancelButton;
GtkWidget *templateMonitorConfigurationSaveButton; GtkWidget *templateMonitorConfigurationSaveButton;
GtkWidget *templateMonitorConfigurationEnableCheck;
GtkWidget *templateMonitorConfigurationPortLabel;
GtkWidget *templateMonitorConfigurationPortCombo;
GtkWidget *templateMonitorConfigurationShowUnsupportedCheck;
GtkWidget *templateMonitorConfigurationPositionLabel;
GtkWidget *templateMonitorConfigurationPositionPosCombo;
GtkWidget *templateMonitorConfigurationPositionPortCombo;
GtkWidget *templateMonitorConfigurationModelineCVTCheck;
GtkWidget *templateMonitorConfigurationUseCVTReducedCheck;
GtkWidget *templateMonitorConfigurationModelineGTFCheck;
GtkWidget *templateMonitorscreenOverlay; GtkWidget *templateMonitorscreenOverlay;
GtkWidget *templateMonitorImage;
GtkWidget *templateMonitorInfoBox; GtkWidget *templateMonitorInfoBox;
GtkWidget *templateMonitorInfoNameLabel; GtkWidget *templateMonitorInfoNameLabel;
GtkWidget *templateMonitorInfoResolutionLabel; GtkWidget *templateMonitorInfoResolutionLabel;
GtkWidget *templateMonitorInfoConfigureButton; GtkWidget *templateMonitorInfoConfigureButton;
GtkWidget *templateMonitorDeleteButton;
GtkWidget *templateMonitorSwitchButton;
dictionary *curconfig; dictionary *curconfig;
} MonitorSettings; } MonitorSettings;

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save