diff --git a/ShareX.HelpersLib/Properties/Resources.Designer.cs b/ShareX.HelpersLib/Properties/Resources.Designer.cs index 132f891c5..7ddd7f23d 100644 --- a/ShareX.HelpersLib/Properties/Resources.Designer.cs +++ b/ShareX.HelpersLib/Properties/Resources.Designer.cs @@ -1279,6 +1279,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Make active window borderless. + /// + internal static string HotkeyType_ActiveWindowBorderless { + get { + return ResourceManager.GetString("HotkeyType_ActiveWindowBorderless", resourceCulture); + } + } + /// /// Looks up a localized string similar to Auto capture. /// diff --git a/ShareX.HelpersLib/Properties/Resources.resx b/ShareX.HelpersLib/Properties/Resources.resx index 741aa7792..bbbf0e313 100644 --- a/ShareX.HelpersLib/Properties/Resources.resx +++ b/ShareX.HelpersLib/Properties/Resources.resx @@ -1299,4 +1299,7 @@ Would you like to download and install it? File size + + Make active window borderless + \ No newline at end of file diff --git a/ShareX/Enums.cs b/ShareX/Enums.cs index 2b86052f0..c62e80a7b 100644 --- a/ShareX/Enums.cs +++ b/ShareX/Enums.cs @@ -302,6 +302,8 @@ public enum HotkeyType // Localized [Category(EnumExtensions.HotkeyType_Category_Tools)] BorderlessWindow, [Category(EnumExtensions.HotkeyType_Category_Tools)] + ActiveWindowBorderless, + [Category(EnumExtensions.HotkeyType_Category_Tools)] InspectWindow, [Category(EnumExtensions.HotkeyType_Category_Tools)] MonitorTest, diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs index b936a5525..41b277f81 100644 --- a/ShareX/TaskHelpers.cs +++ b/ShareX/TaskHelpers.cs @@ -270,7 +270,10 @@ public static async Task ExecuteJob(TaskSettings taskSettings, HotkeyType job, C OpenClipboardViewer(); break; case HotkeyType.BorderlessWindow: - OpenBorderlessWindow(); + OpenBorderlessWindow(safeTaskSettings); + break; + case HotkeyType.ActiveWindowBorderless: + MakeActiveWindowBorderless(safeTaskSettings); break; case HotkeyType.InspectWindow: OpenInspectWindow(); @@ -938,6 +941,14 @@ public static void OpenBorderlessWindow(TaskSettings taskSettings = null) borderlessWindowForm.Show(); } + public static void MakeActiveWindowBorderless(TaskSettings taskSettings = null) + { + if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings(); + + IntPtr handle = NativeMethods.GetForegroundWindow(); + BorderlessWindowManager.ToggleBorderlessWindow(handle, taskSettings.ToolsSettings.BorderlessWindowSettings.ExcludeTaskbarArea); + } + public static void OpenInspectWindow() { InspectWindowForm inspectWindowForm = new InspectWindowForm(); @@ -1731,6 +1742,7 @@ public static void OpenCustomUploaderSettingsWindow() case HotkeyType.IndexFolder: return Resources.folder_tree; case HotkeyType.ClipboardViewer: return Resources.clipboard_block; case HotkeyType.BorderlessWindow: return Resources.application_resize_full; + case HotkeyType.ActiveWindowBorderless: return Resources.application_resize_full; case HotkeyType.InspectWindow: return Resources.application_search_result; case HotkeyType.MonitorTest: return Resources.monitor; case HotkeyType.DNSChanger: return Resources.network_ip;