Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 12 additions & 26 deletions file-search/Main.qml
Original file line number Diff line number Diff line change
Expand Up @@ -14,54 +14,40 @@ Item {

IpcHandler {
target: "plugin:file-search"

// Toggle launcher in file search mode
function toggle() {
if (!pluginApi) return;

pluginApi.withCurrentScreen(screen => {
var launcherPanel = PanelService.getPanel("launcherPanel", screen);
if (!launcherPanel) {
Logger.e("FileSearch", "Could not get launcher panel");
return;
}

var searchText = launcherPanel.searchText || "";
var searchText = PanelService.getLauncherSearchText(screen) || "";
var isInFileMode = searchText.startsWith(">file");
if (!launcherPanel.isPanelOpen) {

if (!PanelService.isLauncherOpen(screen)) {
// Launcher closed - open with file search
Logger.i("FileSearch", "Opening launcher in file search mode");
launcherPanel.open();
launcherPanel.setSearchText(">file ");
PanelService.openLauncherWithSearch(screen, ">file ");
} else if (isInFileMode) {
// Already in file mode - close launcher
Logger.i("FileSearch", "Closing launcher (toggle off)");
launcherPanel.close();
PanelService.closeLauncher(screen);
} else {
// Launcher open but different mode - switch to file search
Logger.i("FileSearch", "Switching to file search mode");
launcherPanel.setSearchText(">file ");
PanelService.setLauncherSearchText(screen, ">file ");
}
});
}

// Open launcher with file search and specific query
function search(query: string) {
if (!pluginApi) return;

pluginApi.withCurrentScreen(screen => {
var launcherPanel = PanelService.getPanel("launcherPanel", screen);
if (!launcherPanel) {
Logger.e("FileSearch", "Could not get launcher panel");
return;
}

var searchQuery = query || "";
Logger.i("FileSearch", "Opening launcher with search query:", searchQuery);

launcherPanel.open();
launcherPanel.setSearchText(">file " + searchQuery);

PanelService.openLauncherWithSearch(screen, ">file " + searchQuery);
});
}
}
Expand Down
4 changes: 2 additions & 2 deletions file-search/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Type `>file` in the Noctalia launcher to activate file search.
**Toggle file search:**

```bash
noctalia-shell ipc call plugin:file-search toggle
qs -c noctalia-shell ipc call plugin:file-search toggle
```

**Search with pre-filled query:**

```bash
noctalia-shell ipc call plugin:file-search search "eko"
qs -c noctalia-shell ipc call plugin:file-search search "eko"
```