From 6817833c18252831c03a292dfd590022a54c7cb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaro=20Mart=C3=ADnez?= Date: Mon, 21 Mar 2022 22:57:25 -0500 Subject: [PATCH 1/7] Add Show desktop button --- RetroBar/Controls/ShowDesktopButton.xaml | 31 ++++++++ RetroBar/Controls/ShowDesktopButton.xaml.cs | 84 ++++++++++++++++++++ RetroBar/Languages/English.xaml | 7 ++ "RetroBar/Languages/espa\303\261ol.xaml" | 7 ++ RetroBar/Properties/Settings.Designer.cs | 24 ++++++ RetroBar/Properties/Settings.settings | 9 ++- RetroBar/PropertiesWindow.xaml | 4 + RetroBar/Resources/desktop95.ico | Bin 0 -> 1078 bytes RetroBar/Resources/desktopMe2K.ico | Bin 0 -> 10134 bytes RetroBar/Resources/desktopxp.ico | Bin 0 -> 25214 bytes RetroBar/RetroBar.csproj | 2 + RetroBar/Taskbar.xaml | 10 +++ RetroBar/Taskbar.xaml.cs | 16 ++++ RetroBar/Themes/System.xaml | 32 ++++++++ RetroBar/Themes/Watercolor.xaml | 3 + RetroBar/Themes/Windows 2000.xaml | 36 +++++++++ RetroBar/Themes/Windows 95-98.xaml | 5 ++ RetroBar/Themes/Windows Me.xaml | 3 + RetroBar/Themes/Windows XP Blue.xaml | 2 + RetroBar/Utilities/Settings.cs | 30 +++++++ 20 files changed, 303 insertions(+), 2 deletions(-) create mode 100644 RetroBar/Controls/ShowDesktopButton.xaml create mode 100644 RetroBar/Controls/ShowDesktopButton.xaml.cs create mode 100644 RetroBar/Resources/desktop95.ico create mode 100644 RetroBar/Resources/desktopMe2K.ico create mode 100644 RetroBar/Resources/desktopxp.ico diff --git a/RetroBar/Controls/ShowDesktopButton.xaml b/RetroBar/Controls/ShowDesktopButton.xaml new file mode 100644 index 00000000..5fa6875c --- /dev/null +++ b/RetroBar/Controls/ShowDesktopButton.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RetroBar/Controls/ShowDesktopButton.xaml.cs b/RetroBar/Controls/ShowDesktopButton.xaml.cs new file mode 100644 index 00000000..3e032f4b --- /dev/null +++ b/RetroBar/Controls/ShowDesktopButton.xaml.cs @@ -0,0 +1,84 @@ +using ManagedShell.Common.Helpers; +using ManagedShell.Interop; +using RetroBar.Utilities; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Controls; + +namespace RetroBar.Controls +{ + /// + /// Interaction logic for ShowDesktopButton.xaml + /// + public partial class ShowDesktopButton : UserControl + { + private const int TOGGLE_DESKTOP = 407; + private IntPtr taskbarHandle = Process.GetCurrentProcess().MainWindowHandle; + private bool isWindows81OrBetter = EnvironmentHelper.IsWindows81OrBetter; + + public ShowDesktopButton() + { + InitializeComponent(); + } + + private void ContextMenu_Opened(object sender, RoutedEventArgs e) + { + PeekAtDesktopItem.IsEnabled = true; + if (!NativeMethods.DwmIsCompositionEnabled()) + { + PeekAtDesktopItem.IsEnabled = false; + } + } + + private void ToggleDesktop() + { + NativeMethods.SendMessage(WindowHelper.FindWindowsTray(IntPtr.Zero), + (int)NativeMethods.WM.COMMAND, (IntPtr)TOGGLE_DESKTOP, IntPtr.Zero); + } + + private void PeekAtDesktop(uint shouldPeek) + { + if (Settings.Instance.PeekAtDesktop && NativeMethods.DwmIsCompositionEnabled()) + { + if (isWindows81OrBetter) + { + NativeMethods.DwmActivateLivePreview(shouldPeek, taskbarHandle, + IntPtr.Zero, NativeMethods.AeroPeekType.Desktop, IntPtr.Zero); + } + else + { + NativeMethods.DwmActivateLivePreview(shouldPeek, taskbarHandle, + IntPtr.Zero, NativeMethods.AeroPeekType.Desktop); + } + } + } + + private void ShowDesktop_OnMouseEnter(object sender, RoutedEventArgs e) + { + PeekAtDesktop(1); + } + + private void ShowDesktop_OnMouseLeave(object sender, RoutedEventArgs e) + { + PeekAtDesktop(0); + } + + private void ShowDesktop_OnClick(object sender, RoutedEventArgs e) + { + // TODO: Check the button if the desktop is active after clicking it. + // Uncheck if the desktop is no longer active. + ToggleDesktop(); + } + + private void OpenDisplayPropertiesCpl() + { + ShellHelper.StartProcess("desk.cpl"); + } + + private void PropertiesItem_OnClick(object sender, RoutedEventArgs e) + { + OpenDisplayPropertiesCpl(); + } + } +} \ No newline at end of file diff --git a/RetroBar/Languages/English.xaml b/RetroBar/Languages/English.xaml index c3ad4a15..3fe2ac42 100644 --- a/RetroBar/Languages/English.xaml +++ b/RetroBar/Languages/English.xaml @@ -31,6 +31,7 @@ Show _window previews (thumbnails) _Use software rendering _Middle-click to close taskbar items + Add the Show _desktop button Multiple displays S_how tasks on: @@ -76,6 +77,12 @@ _Exit RetroBar _Customize Notifications... + Surface/Restore Desktop + Show desktop + _Desktop + _Show desktop + _Peek at desktop + _Restore _Move _Size diff --git "a/RetroBar/Languages/espa\303\261ol.xaml" "b/RetroBar/Languages/espa\303\261ol.xaml" index b3e3ef3f..eb3dbbcd 100644 --- "a/RetroBar/Languages/espa\303\261ol.xaml" +++ "b/RetroBar/Languages/espa\303\261ol.xaml" @@ -31,6 +31,7 @@ Mostrar _vistas previas de las ventanas (miniaturas) Usar procesamiento por soft_ware _Cerrar elementos de la barra de tareas con el botón central + Agregar el botón Mostrar _escritorio Varias pantallas Mostrar _tareas en: @@ -76,6 +77,12 @@ _Salir de RetroBar Personali_zar notificaciones... + Emerger o restaurar escritorio + Mostrar escritorio + _Escritorio + _Mostrar escritorio + _Vistazo al escritorio + _Restaurar _Mover _Tamaño diff --git a/RetroBar/Properties/Settings.Designer.cs b/RetroBar/Properties/Settings.Designer.cs index c1f63bfb..68c81262 100644 --- a/RetroBar/Properties/Settings.Designer.cs +++ b/RetroBar/Properties/Settings.Designer.cs @@ -168,6 +168,30 @@ public bool MiddleMouseToClose } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool ShowDesktopButton { + get { + return ((bool)(this["ShowDesktopButton"])); + } + set { + this["ShowDesktopButton"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool PeekAtDesktop { + get { + return ((bool)(this["PeekAtDesktop"])); + } + set { + this["PeekAtDesktop"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("7820ae76-23e3-4229-82c1-e41cb67d5b9c|7820ae75-23e3-4229-82c1-e41cb67d5b9c|7820ae7" + diff --git a/RetroBar/Properties/Settings.settings b/RetroBar/Properties/Settings.settings index 21493d0c..42b16af4 100644 --- a/RetroBar/Properties/Settings.settings +++ b/RetroBar/Properties/Settings.settings @@ -35,10 +35,15 @@ False - + + False + + + False + + False - 7820ae76-23e3-4229-82c1-e41cb67d5b9c|7820ae75-23e3-4229-82c1-e41cb67d5b9c|7820ae74-23e3-4229-82c1-e41cb67d5b9c|7820ae73-23e3-4229-82c1-e41cb67d5b9c diff --git a/RetroBar/PropertiesWindow.xaml b/RetroBar/PropertiesWindow.xaml index a6708660..102f4968 100644 --- a/RetroBar/PropertiesWindow.xaml +++ b/RetroBar/PropertiesWindow.xaml @@ -263,6 +263,10 @@ IsEnabled="{Binding Source={x:Static Settings:Settings.Instance}, Path=CollapseNotifyIcons, UpdateSourceTrigger=PropertyChanged}" Click="CustomizeNotifications_OnClick" /> + + diff --git a/RetroBar/Resources/desktop95.ico b/RetroBar/Resources/desktop95.ico new file mode 100644 index 0000000000000000000000000000000000000000..655cdf8cda1f4d6369e70d69b4aa3c89ce059ed4 GIT binary patch literal 1078 zcmb7Cv2NQi6gQPma~9>gGnxb;^Ibj(m~`3)BVgif_O z)qqvM-lJq$DvSU*>G*hjkB^jnK!6J@7BeV*UI1?yXR}sc2f%a!Tyt$fej)?B;s{vQ zo`+?U8Ef0XkyFy5EK4TDzYx(G$w!xT_z$;3WWdr5a0}$z)PuUs-(C5tB7<=SJA8>w zng^J*^KG4O$Yr;RtUq?Cx{zYMEWQ&AY*5JR(iD4z@eT7#jLWsaIK5FWQoGfj9V4%K zV8&COp3J_cziq6Hc+-`sA zLU?SL9xC1?OgCCYgxe|}NN%h~5}zyd#kzs{SmP1Qj}XQqITDvtO4D&-0cB9O#0K!J z8I`+^^noG2c6?-fl*7j-Y35I|nfxYyNNw(9H#O2+&84Azn%Ba-u#V-qsLyBQf;{@X z-%r-Ep1lce{dFlLpJgaZ*UH2 lXQ$(D-A7-n4hcFk*p4NmQugHEmb)p?ya5jH$T^t<{{TCi6&(No literal 0 HcmV?d00001 diff --git a/RetroBar/Resources/desktopMe2K.ico b/RetroBar/Resources/desktopMe2K.ico new file mode 100644 index 0000000000000000000000000000000000000000..9786e945917bc310c7679bd4557b894f98b755b5 GIT binary patch literal 10134 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 literal 0 HcmV?d00001 diff --git a/RetroBar/Resources/desktopxp.ico b/RetroBar/Resources/desktopxp.ico new file mode 100644 index 0000000000000000000000000000000000000000..ea92e416d6d2a88ca516eaa5d7352c485a5204d1 GIT binary patch literal 25214 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 + @@ -53,6 +54,7 @@ + Never diff --git a/RetroBar/Taskbar.xaml b/RetroBar/Taskbar.xaml index c84b533e..d71c7491 100644 --- a/RetroBar/Taskbar.xaml +++ b/RetroBar/Taskbar.xaml @@ -56,6 +56,16 @@ RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=Window}" /> + + + + + diff --git a/RetroBar/Taskbar.xaml.cs b/RetroBar/Taskbar.xaml.cs index 702533f5..b0a269ca 100644 --- a/RetroBar/Taskbar.xaml.cs +++ b/RetroBar/Taskbar.xaml.cs @@ -50,6 +50,11 @@ public Taskbar(WindowManager windowManager, ShellManager shellManager, StartMenu QuickLaunchToolbar.Visibility = Visibility.Visible; } + if (Settings.Instance.ShowDesktopButton) + { + ShowDesktopButtonTray.Visibility = Visibility.Visible; + } + // Hide the start button on secondary display(s) if (!Screen.Primary) { @@ -162,6 +167,17 @@ private void Settings_PropertyChanged(object sender, PropertyChangedEventArgs e) return; } } + else if (e.PropertyName == "ShowDesktopButton") + { + if (Settings.Instance.ShowDesktopButton) + { + ShowDesktopButtonTray.Visibility = Visibility.Visible; + } + else + { + ShowDesktopButtonTray.Visibility = Visibility.Collapsed; + } + } } private void Taskbar_OnLocationChanged(object sender, EventArgs e) diff --git a/RetroBar/Themes/System.xaml b/RetroBar/Themes/System.xaml index 4c54f8ff..d801185a 100644 --- a/RetroBar/Themes/System.xaml +++ b/RetroBar/Themes/System.xaml @@ -27,6 +27,9 @@ + + + + + + + + + + \ No newline at end of file diff --git a/RetroBar/Themes/Windows 2000.xaml b/RetroBar/Themes/Windows 2000.xaml index f17f5e05..38022605 100644 --- a/RetroBar/Themes/Windows 2000.xaml +++ b/RetroBar/Themes/Windows 2000.xaml @@ -33,4 +33,40 @@ Tahoma + + + \ No newline at end of file diff --git a/RetroBar/Themes/Windows 95-98.xaml b/RetroBar/Themes/Windows 95-98.xaml index a1e8601a..b24d1306 100644 --- a/RetroBar/Themes/Windows 95-98.xaml +++ b/RetroBar/Themes/Windows 95-98.xaml @@ -19,6 +19,11 @@ + + From 8e37e4cd2f092fbc73312a58c7880084f58a687a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaro=20Mart=C3=ADnez?= Date: Sun, 3 Jul 2022 23:44:22 -0500 Subject: [PATCH 3/7] Add "Show desktop" button styles --- RetroBar/Themes/System.xaml | 8 +- RetroBar/Themes/Windows 2000.xaml | 2 + RetroBar/Themes/Windows Longhorn Aero.xaml | 158 +++++++++++++++++++++ RetroBar/Themes/Windows XP Blue.xaml | 156 ++++++++++++++++++++ 4 files changed, 323 insertions(+), 1 deletion(-) diff --git a/RetroBar/Themes/System.xaml b/RetroBar/Themes/System.xaml index 2fca236a..e5304399 100644 --- a/RetroBar/Themes/System.xaml +++ b/RetroBar/Themes/System.xaml @@ -315,6 +315,12 @@ + + + + + + + + + + + + + - - + + + + \ No newline at end of file diff --git a/RetroBar/Themes/Windows 2000.xaml b/RetroBar/Themes/Windows 2000.xaml index d226b5ba..bda5fb3c 100644 --- a/RetroBar/Themes/Windows 2000.xaml +++ b/RetroBar/Themes/Windows 2000.xaml @@ -34,41 +34,8 @@ Tahoma - - + + \ No newline at end of file diff --git a/RetroBar/Themes/Windows 95-98.xaml b/RetroBar/Themes/Windows 95-98.xaml index b24d1306..93bd42d6 100644 --- a/RetroBar/Themes/Windows 95-98.xaml +++ b/RetroBar/Themes/Windows 95-98.xaml @@ -20,9 +20,11 @@ - \ No newline at end of file diff --git a/RetroBar/Themes/Windows Longhorn Aero.xaml b/RetroBar/Themes/Windows Longhorn Aero.xaml index 31d2d236..d3ecf22c 100644 --- a/RetroBar/Themes/Windows Longhorn Aero.xaml +++ b/RetroBar/Themes/Windows Longhorn Aero.xaml @@ -378,8 +378,10 @@ - + + Microsoft Sans Serif - - \ No newline at end of file diff --git a/RetroBar/Themes/Windows XP Blue.xaml b/RetroBar/Themes/Windows XP Blue.xaml index 06186b3e..b37a8558 100644 --- a/RetroBar/Themes/Windows XP Blue.xaml +++ b/RetroBar/Themes/Windows XP Blue.xaml @@ -360,8 +360,10 @@ UriSource="../Resources/startxpblue.png" /> - + +