Commit Graph

118 Commits

Author SHA1 Message Date
bcaa2d3006 Increase default window size slightly, and increase size of Settings dialog 2025-04-19 13:37:23 +02:00
7a2740ef19 * Change so that keybindings are stored as lists, so that a key can be bound to ultiple commands (and commands can return false, to let another command execute).
* Implement ability to reorder user key bindings in settings.
2025-04-19 13:37:23 +02:00
94f5534611 Revamp key bindings
This is a work in progress revamp of the key binding system. It implements a system, built on top of CodeMirror's key binding system, for defining key bindings. 

The system uses a dumb "KeyShortcut" -> "Command" mapping with a set of default keys (which will be different if Heynote's Emacs mode is used) that can be overridden by user key bindings.

The key bindings are *displayed* in the Settings, and it's possible to set user defined key bindings in Heynote's config file, but it's not yet possible to define custom key bindings in the UI.

Previously we Heynote on a bunch of default key bindings from CodeMirror (some of which was not "block aware"). This is no longer the case, and because of this, it's quite likely that there are key bindings that was previously working that is now missing (if so, these can easily be added later).
2025-04-19 13:37:23 +02:00
9be328cbe4 Remove old unused code 2025-04-19 13:37:23 +02:00
ee06b01b60 Fix broken sub directories on Windows
Don't use hard coded path separator 🤦
2025-01-15 14:15:33 +01:00
449b0a569f Use block aware "Select All" command in context menu and app menu 2025-01-09 17:19:59 +01:00
3107cb5368 Add right click context menu and improve application menu
- Add right-click context menu with undo/redo/cut/copy/paste/select all options, as well as Delete block and Move block to another buffer
- Add Delete Block and Move Block to another buffer in the application menu
- Change so that we use our custom "undo" event instead of relying on the default undo event, since there were cases when the default undo didn't trigger the CodeMirror undo reliably
2025-01-09 17:19:59 +01:00
6187d6d468 Add menu item to open "Move block" dialog 2025-01-07 23:17:23 +01:00
9bf3a5dacc * Add window.heynote.mainProcess.on() and off() which can be used in browser land to communicate with the main process. Use these methods to remove intermediate onOpenSettings() and onSettingsChange() methods from window.heynote objects.
* Convert some pesky TypeScript to JavaScript
2025-01-06 16:20:00 +01:00
64740192bf Move constants from electron/constants.ts into src/common/constants.js 2025-01-06 16:20:00 +01:00
45b98a2c87 Fix broken syntax in 4139bc9c9c 2025-01-06 15:17:12 +01:00
4139bc9c9c Remove unused quit function from preload script for cleanup 2025-01-06 15:06:04 +01:00
82494d818b fix(macos): show window on dock click when using menu bar mode
When "Show in menu bar" is enabled and the window is closed, clicking
the app icon in the dock now properly shows the window again instead
of only focusing it.
2025-01-04 12:47:00 +01:00
45c5379256 Make a backup copy of buffer.txt before migrating to new note library 2024-12-12 13:41:55 +01:00
a7471fcb3b Fix icon for nix systems 2024-12-10 01:29:44 +01:00
612df6c851 Add block with link to documentation to inital scratch buffer content 2024-12-09 14:04:07 +01:00
146e33ef3f Set window title to name of current buffer
#build
2024-12-09 12:37:05 +01:00
3e84850147 Add code comment 2024-12-09 12:37:05 +01:00
f6b086b7e6 Use FileLibrary.load() method to make sure tracking of current buffer content works 2024-12-09 12:37:05 +01:00
374e2b4e5d Check all open buffer files for changes when window gets focus
The reason we do this is because fs.watch() is unreliable in some case.

#build
2024-12-09 12:37:05 +01:00
6c95005544 #build 2024-12-09 12:37:05 +01:00
c47d824111 Don't trigger buffer:change event when file is removed 2024-12-09 12:37:05 +01:00
e34a1c8ca3 Remove unused import 2024-12-09 12:37:05 +01:00
a924d33453 Remove debug log 2024-12-09 12:37:05 +01:00
f0e299122f Implement functionality for deleting notes 2024-12-09 12:37:05 +01:00
7be0a304d0 WIP: Multiple notes support
Add support for migrating old buffer file to new library.

Add support for changing location for the notes library.

Replace theme toggle in status bar with a dropdown in Appearance settings.

Improve New Note and Update Note dialogs.

Implement UI for confirming note delete (the actualal deltion is still to be implemented).
2024-12-09 12:37:05 +01:00
7e1f01471a Implement support for editing notes' metadata, and ability to move notes into other directories.
Create separate pinia store for the editor cache functionality.
2024-12-09 12:37:05 +01:00
5b61a0a234 WIP: Implement ability to create new notes.
Support cache of multiple Editor instances.

Change so that current note name is included in the event data dispatched by emitCursorChange.
2024-12-09 12:37:05 +01:00
5e34656c1d WIP: Create new node dialog
Implement folder selector UI element.
Retrieve actual folder structure from Notes library.
2024-12-09 12:37:05 +01:00
d01c19fd72 WIP: Implement support for multiple notes
Refactor Vue <-> Editor <-> CodeMirror code.
Introduce Pinia store to keep global state, in order to get rid of a lot of event juggling between Editor class/child components and the root App component.
2024-12-09 12:37:05 +01:00
c14c700791 Add a way to display error dialogs 2024-12-09 12:37:05 +01:00
372ce351b4 Improve handling of global hotkey in Linux. 2024-07-24 16:42:34 +02:00
d82b3920d7 Add setting for configuring the default block language and language auto detection 2024-07-14 12:19:29 +02:00
4890cd6a6b Add menu item to Help menu that opens documentation page 2024-07-08 14:14:21 +02:00
2f22951e9f Add "Always on top" setting which makes Heynote stay on top of other programs 2024-02-09 16:07:27 +01:00
a5088a48af Open the Heynote window when menu bar icon is left-clicked on Mac 2024-01-26 01:42:29 +01:00
91f80ff84a Check that stored screen position and size are still valid (not larger than screen or outside screen), and if not, reset them. 2024-01-25 14:31:02 +01:00
5e169a1927 added x and y co-ordinates to windowConfig 2024-01-25 14:31:02 +01:00
295e55552b Add version number to settings dialog.
For the web app we also display the git hash.
2024-01-12 15:09:13 +01:00
37b62d416e Move window.heynote.isWebApp to window.heynote.platform.isWebApp 2024-01-12 14:42:37 +01:00
15ee6b9194 Change "Preferences" to "Settings" in the application menu (#100) 2024-01-12 14:29:36 +01:00
66e7082786 Set default font size to 16px in webapp for mobile devices in order to avoid auto zoom in when the keyboard appears on iOS Safari 2024-01-11 21:05:15 +01:00
fea7e3cec2 Fix bug causing crash when starting the app for the first time (without a config file) 2024-01-10 09:55:38 +01:00
a56a267e06 Add support for changing font family and font size 2024-01-09 00:35:33 +01:00
fb62652847 Update initial-content.ts
Fixed typo in initial content

## Why
The area of a circle is pi times the radius squared (A = π r²), not the volume.
2024-01-09 00:27:00 +01:00
e887d7e35f Automatically remove/add window from Taskbar in Windows, when Show in tray is turned on.
Call setForceQuite() before autoUpdater.quitAndInstall() to make sure auto updating works when Tray/Menu Bar setting is turned on.
2024-01-06 21:30:41 +01:00
05aba1ac65 Make close button just hide the window if "Show in menu bar" is active on Mac 2024-01-06 03:11:15 +01:00
bb5975455c Hide Heynote from taskbar on Windows when Tray icon has been turned on. Make close button just hide the window, and require using the Tray menu to quit for real. Fixes 137. 2024-01-06 03:11:15 +01:00
aa420acd1d Resolve ~ to homedir 2024-01-06 02:10:45 +01:00
d055db1831 FIX: fixed trayicon on linux not appearing (#136)
* Fix trayicon on linux not appearing

---------

Co-authored-by: Fernando Pinedo <fernando.pinedo@luizalabs.com>
Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
2024-01-06 02:04:50 +01:00