You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
6.8 KiB
184 lines
6.8 KiB
#include <gtk/gtk.h>
|
|
#include <gtk/gtkx.h>
|
|
#include <locale.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <stdlib.h>
|
|
#include <libintl.h>
|
|
#include <sys/types.h>
|
|
#include <fcntl.h>
|
|
#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 --target 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 --target system set video FAILSAFENVIDIA=%s FAILSAFEATI=%s OPTIRUN=%s PRIMUSRUN=%s "
|
|
|
|
char *local;
|
|
|
|
typedef char* string;
|
|
|
|
string version_application = "1.0";
|
|
|
|
|
|
|
|
#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 |