#include #include #include #include #include #include #include #include #include #include "ubl-utils.h" #ifndef UBL_SETINGS_VIDEO_H #define UBL_SETINGS_VIDEO_H #define icon_name "com.ublinux.ubl-settings-video" #define banner_path "/usr/share/ubl-settings-video/ui/ubl-settings-video-banner.png" #define glade_path "/usr/share/ubl-settings-video/ui/ubl-settings-video.glade" #define LocalePath "/usr/share/locale" #define LocaleName "ubl-settings-video" #define CssPath "/usr/share/ubl-settings-video/css/ubl-settings-video.css" #define StatusLoadGlobalFailed _("Failed to load global configuration") #define StatusLoadLocalFailed _("Failed to load local configuration") #define StatusSaveGlobalFailed _("Saving to global configuration Succeeded") #define StatusSaveLocalFailed _("Saving to local configuration Succeeded") #define get_ports_command "xrandr |grep -E \"^[A-Z0-9]* connected\" |cut -d' ' -f1" #define load_drivers_command "/usr/bin/ubconfig --default --source " #define load_drivers_global_command "/usr/bin/ubconfig --default --source global get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN " #define save_drivers_global_command "/usr/bin/ubconfig --default --source global set video FAILSAFENVIDIA=%s FAILSAFEATI=%s OPTIRUN=%s PRIMUSRUN=%s " #define load_drivers_local_command "/usr/bin/ubconfig --default --source system get video FAILSAFENVIDIA FAILSAFEATI OPTIRUN PRIMUSRUN " #define save_drivers_local_command "/usr/bin/ubconfig --default --source system set video FAILSAFENVIDIA=%s FAILSAFEATI=%s OPTIRUN=%s PRIMUSRUN=%s " char *local; typedef char* string; string version_application = ""; #define _(String) gettext(String) typedef struct { int autoChooseDrivers; dictionary *videoconfig; dictionary *monitors; char *proprietary; char *failsafenVidia; char *failsafeATI; int descreteOnly; char *optirun; char *primusrun; int gapfix; int optiorprimus; apps *applist; int appsize; } config; typedef struct { int main; char *port; char *resolution; char *resolutionCapabilities; char *frequency; char *rotation; char *stringparameters; } monitorconfig; typedef struct { dictionary *monitors; dictionary *overlays; GtkBuilder *builder; GtkWidget *appsPackBox; GtkWidget *appsPackWindow; GtkWidget *extraOptirunChooseAppsButton; GtkWidget *extraPrimusunChooseAppsButton; GtkWidget *MainWindow; GtkWidget *headBox; GtkWidget *headInfoLabel; GtkWidget *mainPlugBox; GtkWidget *mainErrorBox; GtkWidget *mainHeadOverlay; GtkWidget *mainHeadBackgroundImage; GtkWidget *mainDriverAutomaticallyChooseCheck; GtkWidget *mainDriverProprietaryDriverLabel; GtkWidget *mainDriverFailsafeNvidiaLabel; GtkWidget *mainDriverFailsafeAMDLabel; GtkWidget *mainDriverProprietaryDriverCombo; GtkWidget *mainDriverProprietaryDriverButton; GtkWidget *mainExtraFixGapCombo; GtkWidget *mainDriverFailsafeNvidiaCombo; GtkWidget *mainDriverFailsafeAMDCombo; GtkWidget *mainDriverFrameLabel; GtkWidget *monitorConfigurationMethodLabel; GtkWidget *monitorConfigurationMethodCombo; GtkWidget *mainMonitorVisualConfigurationBox; GtkWidget *mainMonitorConfigurationBox; GtkWidget *mainMonitorConfigurationFrameLabel; GtkWidget *mainHybridGraphicsDiscreteLabel; GtkWidget *mainHybridGraphicsDiscreteCheck; GtkWidget *mainHybridGraphicsFrameLabel; GtkWidget *mainExtraLaunchOptirunCheck; GtkWidget *mainExtraLaunchPrismusunCheck; GtkWidget *mainExtraFixGapLabel; GtkWidget *mainExtraLaunchOptirunEntry; GtkWidget *mainExtraLaunchPrismusunEntry; GtkWidget *mainExtraLaunchThroughEntry; GtkWidget *mainExtraFixGapLabelCombo; GtkWidget *mainExtraLaunchThroughButton; GtkWidget *mainExtraFrameLabel; GtkWidget *mainHeaderTitleLabel; GtkWidget *mainHeaderLoadButton; GtkWidget *mainHeaderConfigLoadLabel; GtkWidget *mainHeaderSaveConfigurationLabel; GtkWidget *mainHeaderSaveButton; GtkWidget *mainHeaderSettingsButton; GtkWidget *mainHeaderLoadGlobalMenuItem; GtkWidget *mainHeaderLoadLocalMenuItem; GtkWidget *mainHeaderSaveGlobalLocalMenuItem; GtkWidget *mainHeaderSaveGlobalMenuItem; GtkWidget *mainHeaderSaveLocalMenuItem; GtkWidget *mainHeaderSettingsDocumentationMenuItem; GtkWidget *mainHeaderSettingsAboutMenuItem; GtkWidget *mainStatusBox; GtkWidget *mainStatusIcon; GtkWidget *mainStatusLabel; GtkWidget *templateMonitorConfigurationBox; GtkWidget *templateMonitorConfigurationMonitorLabel; GtkWidget *templateMonitorConfigurationResolutionLabel; GtkWidget *templateMonitorConfigurationResolutionCombo; GtkWidget *templateMonitorConfigurationFrequencyLabel; GtkWidget *templateMonitorConfigurationFrequencyCombo; GtkWidget *templateMonitorConfigurationRotationLabel; GtkWidget *templateMonitorConfigurationRotationCombo; GtkWidget *templateMonitorConfigurationMainRadio; GtkWidget *templateMonitorConfigurationParameterLineCheck; GtkWidget *templateMonitorConfigurationParameterLineEntry; GtkWidget *templateMonitorConfigurationDoNotSwitchOffLabel; GtkWidget *templateMonitorConfigurationDoNotSwitchOffCheck; } widgets_dict; typedef struct { GtkWidget *templateMonitorConfigurationWindow; GtkWidget *templateMonitorConfigurationBox; GtkWidget *templateMonitorConfigurationMonitorLabel; GtkWidget *templateMonitorConfigurationResolutionLabel; GtkWidget *templateMonitorConfigurationResolutionCombo; GtkWidget *templateMonitorConfigurationFrequencyLabel; GtkWidget *templateMonitorConfigurationFrequencyCombo; GtkWidget *templateMonitorConfigurationRotationCombo; GtkWidget *templateMonitorConfigurationRotationLabel; GtkWidget *templateMonitorConfigurationMainRadio; GtkWidget *templateMonitorConfigurationParameterLineCheck; GtkWidget *templateMonitorConfigurationParameterLineEntry; GtkWidget *templateMonitorConfigurationDoNotSwitchOffLabel; GtkWidget *templateMonitorConfigurationDoNotSwitchOffCheck; GtkWidget *templateMonitorConfigurationCancelButton; GtkWidget *templateMonitorConfigurationSaveButton; GtkWidget *templateMonitorscreenOverlay; GtkWidget *templateMonitorInfoBox; GtkWidget *templateMonitorInfoNameLabel; GtkWidget *templateMonitorInfoResolutionLabel; GtkWidget *templateMonitorInfoConfigureButton; dictionary *curconfig; } MonitorSettings; int yon_check_for_monitors(); MonitorSettings *yon_setup_monitor_settings(); dictionary *yon_dictionary_pack_monitors(MonitorSettings *monitors, int size); dictionary *yon_dictionary_pack_overlays(MonitorSettings *monitors, int size); void on_closed_configuration(GtkWidget *self, MonitorSettings *monitors); void on_save_configuration(GtkWidget self, MonitorSettings *monitors); #endif