mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
ipc: simplified core launcher providers opening and closing
This commit is contained in:
@@ -239,21 +239,14 @@ Item {
|
||||
}
|
||||
function command() {
|
||||
root.screenDetector.withCurrentScreen(screen => {
|
||||
var launcherPanel = PanelService.getPanel("launcherPanel", screen);
|
||||
if (!launcherPanel)
|
||||
return;
|
||||
var searchText = launcherPanel.searchText || "";
|
||||
var isInClipMode = searchText.startsWith(">cmd");
|
||||
if (!launcherPanel.isPanelOpen) {
|
||||
// Closed -> open in clipboard mode
|
||||
launcherPanel.open();
|
||||
launcherPanel.setSearchText(">cmd ");
|
||||
} else if (isInClipMode) {
|
||||
// Already in clipboard mode -> close
|
||||
launcherPanel.close();
|
||||
var searchText = PanelService.getLauncherSearchText(screen);
|
||||
var isInCmdMode = searchText.startsWith(">cmd");
|
||||
if (!PanelService.isLauncherOpen(screen)) {
|
||||
PanelService.openLauncherWithSearch(screen, ">cmd ");
|
||||
} else if (isInCmdMode) {
|
||||
PanelService.closeLauncher(screen);
|
||||
} else {
|
||||
// In another mode -> switch to clipboard mode
|
||||
launcherPanel.setSearchText(">cmd ");
|
||||
PanelService.setLauncherSearchText(screen, ">cmd ");
|
||||
}
|
||||
}, Settings.data.appLauncher.overviewLayer);
|
||||
}
|
||||
@@ -275,41 +268,27 @@ Item {
|
||||
}
|
||||
function windows() {
|
||||
root.screenDetector.withCurrentScreen(screen => {
|
||||
var launcherPanel = PanelService.getPanel("launcherPanel", screen);
|
||||
if (!launcherPanel)
|
||||
return;
|
||||
var searchText = launcherPanel.searchText || "";
|
||||
var searchText = PanelService.getLauncherSearchText(screen);
|
||||
var isInWindowsMode = searchText.startsWith(">win");
|
||||
if (!launcherPanel.isPanelOpen) {
|
||||
// Closed -> open in windows mode
|
||||
launcherPanel.open();
|
||||
launcherPanel.setSearchText(">win ");
|
||||
if (!PanelService.isLauncherOpen(screen)) {
|
||||
PanelService.openLauncherWithSearch(screen, ">win ");
|
||||
} else if (isInWindowsMode) {
|
||||
// Already in windows mode -> close
|
||||
launcherPanel.close();
|
||||
PanelService.closeLauncher(screen);
|
||||
} else {
|
||||
// In another mode -> switch to windows mode
|
||||
launcherPanel.setSearchText(">win ");
|
||||
PanelService.setLauncherSearchText(screen, ">win ");
|
||||
}
|
||||
}, Settings.data.appLauncher.overviewLayer);
|
||||
}
|
||||
function settings() {
|
||||
root.screenDetector.withCurrentScreen(screen => {
|
||||
var launcherPanel = PanelService.getPanel("launcherPanel", screen);
|
||||
if (!launcherPanel)
|
||||
return;
|
||||
var searchText = launcherPanel.searchText || "";
|
||||
var searchText = PanelService.getLauncherSearchText(screen);
|
||||
var isInSettingsMode = searchText.startsWith(">settings");
|
||||
if (!launcherPanel.isPanelOpen) {
|
||||
// Closed -> open in settings mode
|
||||
launcherPanel.open();
|
||||
launcherPanel.setSearchText(">settings ");
|
||||
if (!PanelService.isLauncherOpen(screen)) {
|
||||
PanelService.openLauncherWithSearch(screen, ">settings ");
|
||||
} else if (isInSettingsMode) {
|
||||
// Already in settings mode -> close
|
||||
launcherPanel.close();
|
||||
PanelService.closeLauncher(screen);
|
||||
} else {
|
||||
// In another mode -> switch to settings mode
|
||||
launcherPanel.setSearchText(">settings ");
|
||||
PanelService.setLauncherSearchText(screen, ">settings ");
|
||||
}
|
||||
}, Settings.data.appLauncher.overviewLayer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user