Add OS Level Shortcut Window for Quick Access to Khoj Desktop (#815)

* rough sketch of desktop shortcuts. many bugs to fix still

* working MVP of desktop shortcut khoj

* UI fixes

* UI improvements for editable shortcut message

* major rendering fix to prevent clipboard text from getting lost

* UI improvements and bug fixes

* UI upgrades: custom top bar, edit sent message and color matching

* removed debug javascript file

* font reverted to Noto Sans

* cleaning up the code and removing diffs

* UX fixes

* cleaning up unused methods from html

* front end for button to send user back to main window to continue conversation

* UX fix for window and continue conversation support added

* migrated common js functions into chatutils.js

* Fix window closing issue in macos by

1. Use a helper function to determine if the window is open by seeing if there's a browser window with shortcut.html loaded
2. Use the  event listener on the window to handle teardown

* removed extra comment and renamed continue convo button

---------

Co-authored-by: sabaimran <narmiabas@gmail.com>
This commit is contained in:
Raghav Tirumale
2024-06-27 10:20:13 -04:00
committed by GitHub
parent 870d9ecdbf
commit 24a0d8b073
5 changed files with 981 additions and 351 deletions

View File

@@ -15,6 +15,20 @@ contextBridge.exposeInMainWorld('electronAPI', {
setTitle: (title) => ipcRenderer.send('set-title', title)
})
contextBridge.exposeInMainWorld('clipboardAPI', {
sendClipboardText: (callback) => {
ipcRenderer.on('clip', (event, message) => {
callback(message);
});
}
});
contextBridge.exposeInMainWorld('routeBackToMainWindowAPI', {
sendSignal: () => {
ipcRenderer.send('continue-conversation-button-clicked'); // Custom event name
}
});
contextBridge.exposeInMainWorld('storeValueAPI', {
handleFileOpen: (key) => ipcRenderer.invoke('handleFileOpen', key)
})