From 90b7e449b76219ee981fbd5588f65334a9b9aaa0 Mon Sep 17 00:00:00 2001 From: Arthur <79015591+arthur-adriansens@users.noreply.github.com> Date: Sat, 7 Dec 2024 15:46:01 +0000 Subject: [PATCH 1/3] Added "Toggling apps to minimize once it clicked" #944 feature --- src/gui/src/UI/UITaskbarItem.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gui/src/UI/UITaskbarItem.js b/src/gui/src/UI/UITaskbarItem.js index 31007ee9c..d3937dee3 100644 --- a/src/gui/src/UI/UITaskbarItem.js +++ b/src/gui/src/UI/UITaskbarItem.js @@ -73,8 +73,16 @@ function UITaskbarItem(options){ return; if(options.onClick === undefined || options.onClick(el_taskbar_item) === false){ + const clicked_window = $(`.window[data-app="${options.app}"]`) + + // hide window, unless there's more than one in app group + if (clicked_window.hasClass("window-active") && clicked_window.length < 2) { + clicked_window.hideWindow(); + return; + } + // re-show each window in this app group - $(`.window[data-app="${options.app}"]`).showWindow(); + clicked_window.showWindow(); } }) From 6a2f5f0eeec0f91f7c5ab4fba8cc820b6fb2d0b8 Mon Sep 17 00:00:00 2001 From: Arthur <79015591+arthur-adriansens@users.noreply.github.com> Date: Sat, 7 Dec 2024 16:20:22 +0000 Subject: [PATCH 2/3] Added sattisfying taskbar icon animation --- src/gui/src/UI/UITaskbarItem.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gui/src/UI/UITaskbarItem.js b/src/gui/src/UI/UITaskbarItem.js index d3937dee3..28fc78922 100644 --- a/src/gui/src/UI/UITaskbarItem.js +++ b/src/gui/src/UI/UITaskbarItem.js @@ -72,11 +72,23 @@ function UITaskbarItem(options){ if($(el_taskbar_item).hasClass('has-open-contextmenu')) return; + el_taskbar_item.querySelector("img").animate( + [ + { transform: 'translateY(0) scale(1)' }, + { transform: 'translateY(-5px) scale(1.2)' }, + { transform: 'translateY(0) scale(1)' } + ], + { + duration: 300, + easing: 'ease-out', + } + ); + if(options.onClick === undefined || options.onClick(el_taskbar_item) === false){ const clicked_window = $(`.window[data-app="${options.app}"]`) // hide window, unless there's more than one in app group - if (clicked_window.hasClass("window-active") && clicked_window.length < 2) { + if (clicked_window.hasClass("window-active") && clicked_window.length < 2) { clicked_window.hideWindow(); return; } From 383b4841ae3eaf3dea92cf388651f668dd5989de Mon Sep 17 00:00:00 2001 From: jelveh Date: Sat, 7 Dec 2024 10:16:25 -0800 Subject: [PATCH 3/3] fix the issue with windows losing focus right after they're opened --- src/gui/src/UI/UITaskbarItem.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/src/UI/UITaskbarItem.js b/src/gui/src/UI/UITaskbarItem.js index 28fc78922..687c11c35 100644 --- a/src/gui/src/UI/UITaskbarItem.js +++ b/src/gui/src/UI/UITaskbarItem.js @@ -67,7 +67,10 @@ function UITaskbarItem(options){ // fade in the taskbar item $(el_taskbar_item).show(50); - $(el_taskbar_item).on("click", function(){ + $(el_taskbar_item).on("click", function(e){ + e.preventDefault(); + e.stopPropagation(); + // If this item has an open context menu, don't do anything if($(el_taskbar_item).hasClass('has-open-contextmenu')) return;