From 4dea975c4532a77c4e676c94e73ae49a29feb497 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Thu, 16 Feb 2023 15:38:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE:=20-=20=D0=A1=20=D0=BF=D0=BE=D0=BC=D0=BE=D1=89?= =?UTF-8?q?=D1=8C=D1=8E=20=D1=84=D0=BB=D0=B0=D0=B3=D0=B0=20IUP=5FWITH=5FSO?= =?UTF-8?q?UND=5FCHECKBOX=20=D1=81=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20=D0=B7=D0=B2?= =?UTF-8?q?=D1=83=D0=BA=D0=B0=20=D0=BF=D1=80=D0=B8=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=BF=D0=B8=D0=BB=D1=8F=D1=86=D0=B8=D0=B8=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D1=8B=20=D0=9D=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=B5:=20-=20=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=B5=D0=BA=D0=BE=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++-- freerdp.db | Bin 81920 -> 81920 bytes freerdp/client/X11/cli/gui.c | 10 +++--- freerdp/client/X11/cli/parameter.h | 3 +- freerdp/client/X11/cli/settings.c | 50 ++++++++++++++++------------- gui.patch | 12 ++++--- 6 files changed, 48 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 37a1131..30ddc45 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,8 @@ git apply ../GUI-FreeRDP/xrandr.patch ## Сборка -Параметр `WITH_COLOR_BUTTONS` отвечает за окрашивание кнопок. +Параметр `IUP_WITH_COLOR_BUTTONS` отвечает за окрашивание кнопок (по умолчанию `OFF`). +Параметр `IUP_WITH_SOUND_CHECKBOX` включает поддержку параметров звука (по умолчанию `OFF`). Создать отдельный каталог `build`: @@ -47,7 +48,7 @@ cd build и выполнить в нём сборку: ```sh -cmake -B . -S .. \ +cmake -B . -S ../freerdp-2.9.0 \ -DWITH_WAYLAND=OFF \ -DWITH_OSS=OFF \ -DWITH_ALSA=OFF \ @@ -63,7 +64,8 @@ cmake -B . -S .. \ -DWITH_DSP_FFMPEG=OFF \ -DWITH_FAAC=OFF \ -DWITH_SSE2=ON \ - -DWITH_COLOR_BUTTONS=ON \ + -DIUP_WITH_COLOR_BUTTONS=OFF \ + -DIUP_WITH_SOUND_CHECKBOX=OFF \ -DBUILD_SHARED_LIBS=OFF ``` diff --git a/freerdp.db b/freerdp.db index 7c0f79884dbde4df79af00ebee951f21e47a1501..416201a6c9828e25be61864be7a695fc91bf4fa1 100644 GIT binary patch delta 124 zcmV-?0E7R4fCYen1&|v7aFHBC1#kc^V*s&apbrBR4N#K@5G4W)P_r=*A`K}g5(WSz zHwg(XWMyM-a$$67Z*Fr?K~h0YMN~ynUqnSiPf|ftNl#8wvw0nh0s|8dl9LA@B?1qU evoRoK4+aGT0Ra*cvzRYi5CIZ{^goyMKLHHg4IsS$ delta 77 zcmV-T0J8spfCYen1&|v7Z;>2B1#bW@OOdf;pbrBQ4SACX5GAuQAVv)b4lDpA00029 jc^!)a0}>CIlLsIrvmr2S53`srTMz*egY-X_^gjU%A+r?o diff --git a/freerdp/client/X11/cli/gui.c b/freerdp/client/X11/cli/gui.c index 53afea6..7744dcf 100644 --- a/freerdp/client/X11/cli/gui.c +++ b/freerdp/client/X11/cli/gui.c @@ -39,7 +39,7 @@ static int activeBtnConnect(Ihandle *self, int c, char *value) if (!strcmp(value, "\0") || isEmptyFieldServerUser(self)) { IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 0); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "49 54 61"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "238 238 238"); #endif @@ -47,7 +47,7 @@ static int activeBtnConnect(Ihandle *self, int c, char *value) else { IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 1); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "0 179 0"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "255 255 255"); #endif @@ -188,7 +188,7 @@ Ihandle* guiStart() IupSetHandle("CONNECT", btnConnect); IupSetAttribute(btnConnect, "NAME", "CONNECT"); IupSetAttribute(btnConnect, "TIP", "Выполнить подключение"); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(btnConnect, "BGCOLOR", "0 179 0"); IupSetAttribute(btnConnect, "FGCOLOR", "255 255 255"); #endif @@ -197,7 +197,7 @@ Ihandle* guiStart() IupSetHandle("CLOSE", btnClose); IupSetAttribute(btnClose, "NAME", "CLOSE"); IupSetAttribute(btnClose, "TIP", "Закрыть FreeRDP"); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(btnClose, "BGCOLOR", "204 0 0"); IupSetAttribute(btnClose, "FGCOLOR", "255 255 255"); #endif @@ -205,7 +205,7 @@ Ihandle* guiStart() btnSettings = IupButton("Настройки", NULL); IupSetAttribute(btnSettings, "NAME", "SETTINGS"); IupSetAttribute(btnSettings, "TIP", "Перейти в настройки"); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(btnSettings, "BGCOLOR", "0 136 204"); IupSetAttribute(btnSettings, "FGCOLOR", "255 255 255"); #endif diff --git a/freerdp/client/X11/cli/parameter.h b/freerdp/client/X11/cli/parameter.h index b78f3dc..203683f 100644 --- a/freerdp/client/X11/cli/parameter.h +++ b/freerdp/client/X11/cli/parameter.h @@ -27,7 +27,8 @@ typedef enum PARAMETER_AUTHENTICATION, PARAMETER_SECURITY, PARAMETER_BITSPERPIXEL, - PARAMETER_USB + PARAMETER_USB, + PARAMETER_DECORATIONS } Parameter; #endif /* PARAMETERS_H_ */ diff --git a/freerdp/client/X11/cli/settings.c b/freerdp/client/X11/cli/settings.c index 80200ec..3992406 100644 --- a/freerdp/client/X11/cli/settings.c +++ b/freerdp/client/X11/cli/settings.c @@ -63,6 +63,12 @@ static int settingsTglWallpaper(Ihandle *self) return IUP_DEFAULT; } +static int settingsTglDecorations(Ihandle *self) +{ + changeParameter(PARAMETER_DECORATIONS); + return IUP_DEFAULT; +} + static int settingsTglSound(Ihandle *self) { changeParameter(PARAMETER_SOUND); @@ -204,12 +210,13 @@ static int settingsTglFullscreen(Ihandle *self) */ static Ihandle* settingsBoxCheckbox() { - Ihandle *tglAuthentication, *tglCertIgnore, *tglThemes, *tglWallpaper, *tglSound, *tglFonts, *tglEncryption, *tglCompression; + Ihandle *tglAuthentication, *tglCertIgnore, *tglThemes, *tglWallpaper, *tglDecorations, *tglSound, *tglFonts, *tglEncryption, *tglCompression; tglAuthentication = IupToggle("Аутентификация", NULL); tglCertIgnore = IupToggle("Игнорировать сертификат", NULL); tglThemes = IupToggle("Отключить темы", NULL); tglWallpaper = IupToggle("Отключить обои", NULL); + tglDecorations = IupToggle("Отключить оформление окон", NULL); tglSound = IupToggle("Поддержка звука", NULL); tglFonts = IupToggle("Отключить прорисовку шрифтов", NULL); @@ -220,31 +227,30 @@ static Ihandle* settingsBoxCheckbox() IupSetInt(tglCertIgnore, "VALUE", getSetParameter(PARAMETER_CERTIGNORE)); IupSetInt(tglThemes, "VALUE", getSetParameter(PARAMETER_THEMES)); IupSetInt(tglWallpaper, "VALUE", getSetParameter(PARAMETER_WALLPAPER)); + IupSetInt(tglDecorations, "VALUE", getSetParameter(PARAMETER_DECORATIONS)); IupSetInt(tglSound, "VALUE", getSetParameter(PARAMETER_SOUND)); IupSetInt(tglFonts, "VALUE", getSetParameter(PARAMETER_FONTS)); IupSetInt(tglEncryption, "VALUE", getSetParameter(PARAMETER_ENCRYPTION)); IupSetInt(tglCompression, "VALUE", getSetParameter(PARAMETER_COMPRESSION)); return IupSetAttributes( - IupFrame( - IupVbox( - IupSetCallbacks(IupSetAttributes(tglAuthentication, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Получить окно входа авторизации\""), "ACTION", - (Icallback) settingsTglAuthentication, NULL), - IupSetCallbacks(IupSetAttributes(tglCertIgnore, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Игнорировать подтверждение принятия сертификата\""), "ACTION", - (Icallback) settingsTglCertIgnore, NULL), - IupSetCallbacks(IupSetAttributes(tglThemes, "NAME=SETTINGS_TGL_THEMES, TIP=\"Отключить поддержку тем оформления (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglThemes, - NULL), - IupSetCallbacks(IupSetAttributes(tglWallpaper, "NAME=SETTINGS_TGL_WALLPAPER, TIP=\"Отключить поддержку обои рабочего стола (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglWallpaper, - NULL), IupSetCallbacks(IupSetAttributes(tglSound, "NAME=SETTINGS_TGL_SOUND, TIP=\"Включить поддержку звука с удаленного сервера\""), "ACTION", (Icallback) settingsTglSound, - NULL), IupSetCallbacks(IupSetAttributes(tglFonts, "NAME=SETTINGS_TGL_FONTS, TIP=\"Отключить прорисовку шрифтов (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglFonts, - NULL), - IupSetCallbacks(IupSetAttributes(tglEncryption, "NAME=SETTINGS_TGL_ENCRYPTION, TIP=\"Отключить шифрование данных\""), "ACTION", - (Icallback) settingsTglEncryption, - NULL), - IupSetCallbacks(IupSetAttributes(tglCompression, "NAME=SETTINGS_TGL_COMPRESSION, TIP=\"Включить сжатие данных (улучшает скорость соединения)\""), "ACTION", - (Icallback) settingsTglCompression, - NULL), - NULL)), "TITLE=\"Общие\", MARGIN=10x10"); + IupFrame( + IupVbox( + IupSetCallbacks(IupSetAttributes(tglAuthentication, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Получить окно входа авторизации\""), "ACTION", (Icallback) settingsTglAuthentication, NULL), + IupSetCallbacks(IupSetAttributes(tglCertIgnore, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Игнорировать подтверждение принятия сертификата\""), "ACTION", (Icallback) settingsTglCertIgnore, NULL), + IupSetCallbacks(IupSetAttributes(tglThemes, "NAME=SETTINGS_TGL_THEMES, TIP=\"Отключить поддержку тем оформления (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglThemes, NULL), + IupSetCallbacks(IupSetAttributes(tglWallpaper, "NAME=SETTINGS_TGL_WALLPAPER, TIP=\"Отключить поддержку обоев рабочего стола (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglWallpaper, NULL), + IupSetCallbacks(IupSetAttributes(tglDecorations, "NAME=SETTINGS_TGL_DECORATIONS, TIP=\"Отключить поддержку оформления окон (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglDecorations, NULL), +#ifdef IUP_WITH_SOUND_CHECKBOX + IupSetCallbacks(IupSetAttributes(tglSound, "NAME=SETTINGS_TGL_SOUND, TIP=\"Включить поддержку звука с удаленного сервера\""), "ACTION", (Icallback) settingsTglSound, NULL), +#endif + IupSetCallbacks(IupSetAttributes(tglFonts, "NAME=SETTINGS_TGL_FONTS, TIP=\"Отключить прорисовку шрифтов (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglFonts, NULL), + IupSetCallbacks(IupSetAttributes(tglEncryption, "NAME=SETTINGS_TGL_ENCRYPTION, TIP=\"Отключить шифрование данных\""), "ACTION", (Icallback) settingsTglEncryption, NULL), + IupSetCallbacks(IupSetAttributes(tglCompression, "NAME=SETTINGS_TGL_COMPRESSION, TIP=\"Включить сжатие данных (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglCompression, NULL), + NULL + ) + ), "TITLE=\"Общие\", MARGIN=10x10" + ); } static Ihandle* settingsBoxSecurity() @@ -368,7 +374,7 @@ static Ihandle* settingsHorizontalBoxButtons() btnSave = IupButton("Сохранить", NULL); IupSetAttribute(btnSave, "NAME", "SETTIGS_BTN_SAVE"); IupSetAttribute(btnSave, "TIP", "Сохранить настройки"); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(btnSave, "BGCOLOR", "0 179 0"); IupSetAttribute(btnSave, "FGCOLOR", "255 255 255"); #endif @@ -376,7 +382,7 @@ static Ihandle* settingsHorizontalBoxButtons() btnClose = IupButton("Закрыть", NULL); IupSetAttribute(btnClose, "NAME", "SETTIGS_BTN_CLOSE"); IupSetAttribute(btnClose, "TIP", "Отменить изменения"); -#ifdef WITH_COLOR_BUTTONS +#ifdef IUP_WITH_COLOR_BUTTONS IupSetAttribute(btnClose, "BGCOLOR", "204 0 0"); IupSetAttribute(btnClose, "FGCOLOR", "255 255 255"); #endif diff --git a/gui.patch b/gui.patch index eb66a99..44dba98 100644 --- a/gui.patch +++ b/gui.patch @@ -1,5 +1,5 @@ diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt -index 869652c..0588402 100644 +index 869652c..e30acc5 100644 --- a/client/X11/CMakeLists.txt +++ b/client/X11/CMakeLists.txt @@ -57,6 +57,37 @@ set(${MODULE_PREFIX}_SRCS @@ -49,12 +49,16 @@ index 869652c..0588402 100644 add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp") include_directories(..) -@@ -226,13 +257,17 @@ if(WITH_XFIXES) +@@ -226,13 +257,21 @@ if(WITH_XFIXES) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XFIXES_LIBRARIES}) endif() -+if(WITH_COLOR_BUTTONS) -+ add_definitions(-DWITH_COLOR_BUTTONS) ++if(IUP_WITH_COLOR_BUTTONS) ++ add_definitions(-DIUP_WITH_COLOR_BUTTONS) ++endif() ++ ++if(IUP_WITH_SOUND_CHECKBOX) ++ add_definitions(-DIUP_WITH_SOUND_CHECKBOX) +endif() + include_directories(${CMAKE_SOURCE_DIR}/resources)