Commit Graph

39 Commits

Author SHA1 Message Date
Jonatan Heyman
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
Jonatan Heyman
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
Fernando Pinedo
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
Jonatan Heyman
957b22c70e Refactor the way we handle copy/cut/paste in Emacs mode
Previously we listened for the key bindings for copy, cut and paste in the Electron main process, and triggered the event using copy(), paste() and cut() methods on win.webContent. Now this is fully handled within the renderer process using the window.navigator.clipboard API.

This will make it simpler to implement fully customizable key bindings.
2024-01-06 01:51:07 +01:00
Jonatan Heyman
b9fd161551
Add functionality for selecting a custom path for the buffer file. (#130)
Automatically reload the buffer file (if one exists) when buffer path is changed.
Move code buffer related code from main/index.ts into buffer.js
2024-01-05 00:41:46 +01:00
Florian Labarre
d0d8f872a6
Add key bindings for inserting new blocks at the end/top of the buffer, as well as before the current block (#85)
* Add functionality to insert new block after the last block

- Update key bindings in `initial-content.ts` to include `Alt + Enter` for adding a new block after the last block.
- Implement `getLastNoteBlock` function in `block.js` to retrieve the last block in the note.
- Add `addNewBlockAfterLast` command in `commands.js` to handle the insertion of a new block after the last one.
- Integrate `addNewBlockAfterLast` command into the keymap in `keymap.js`.

* Add block insertion before/after current, before first and after last. Also, tests.

- Added `getFirstNoteBlock` in `block.js` for accessing the first text block.
- Implemented new functions in `commands.js` like `addNewBlockBeforeCurrent` and `addNewBlockBeforeFirst`.
- Updated `keymap.js` with new key bindings to facilitate block creation.
- Introduced `block-creation.spec.js` for testing the new block manipulation features.

* Fix visual bug when inserting new block at the top

* Update help text and Readme

* Fix wrong cursor position after inserting new blocks at the top of the buffer, when the previous first block's delimiter is long (e.g. Markdown)

* Make RegEx more generic

* Fix import

* Auto-generate the README.md and initial-content documentation

- Add a documentation generator
- Add an option to force the initial content to be erased with an env variable

* Add more specific tests

* Fix Mod key on Mac in test

---------

Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
2024-01-04 16:11:26 +01:00
Tanuj Pancholi
0ba5820cf4
Added Show in Dock Toggle and System Tray Feature (#90)
* Issue #62 Added Show in Dock, System Tray Toggle

* show dock toggle for mac only

* Add Open Heynote and Quit Heynote to Tray context menu

* Add Template Image as menu bar icon on MacOS

https://www.electronjs.org/docs/latest/api/native-image#template-image

* Use isMac, isWindows and isLinux for platform checks

* Add new tray/favicon

* Use favicon.ico as windows tray icon

* Show window on Tray double-click

* Open window when Tray is single clicked on non Mac platforms

* Fix indentation

* Remove unused import

---------

Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
2024-01-01 20:02:30 +01:00
Jonatan Heyman
4274e6237b
Watch buffer file for changes, and automatically reload it if changed (#76)
* Implement Buffer class in main process that watches for changes to the file, and notifies the editor in the renderer process so that it can update the buffer.

* Add Editor.setReadOnly() method

* Add dummy onChangeCallback function

* Remove debug logging
2024-01-01 19:04:40 +01:00
Joshua Blum
f532c7939b
Add bufferPath to config, support bufferPath symlink (#27)
* Add bufferPath to config, support bufferPath symlink

* defaultPath before checking realpath

* Move code for retrieving buffer path into its own file

* Do the realpathSync() call for the whole final file path, to allow the buffer file to be a symlink

---------

Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
2023-12-23 11:17:13 +01:00
Jonatan Heyman
388f2e1cc0 Fix hotkey hiding on Windows 2023-12-11 00:31:40 +01:00
Jonatan Heyman
f8678a91ec Hide Heynote when global hotkey is pressed if the window is already focused 2023-12-10 23:44:58 +01:00
Jonatan Heyman
9e50446417 Restore window if minimized when global hotkey is pressed 2023-12-10 23:32:17 +01:00
Jonatan Heyman
198ce3066b Add global hotkey functionality 2023-12-10 22:59:42 +01:00
Jonatan Heyman
6e9195c835 Fix auto updating beta versions by setting autoUpdater.allowPrerelease instead of autoUpdater.channel 2023-12-07 00:42:53 +01:00
Jonatan Heyman
0c55dcecb0 Add release channels (Stable and Beta) 2023-12-06 13:31:47 +01:00
Jonatan Heyman
4b73d8d35c Fix typo 2023-12-06 11:56:10 +01:00
Jonatan Heyman
459fcd7c4c Add About dialog
The about dialog contains version info as well as the timestamp for the currency exchange rates.
2023-07-08 16:47:25 +02:00
Jonatan Heyman
a4e9ce6893 Add currency conversion support to Math blocks 2023-03-20 11:09:56 +01:00
Jonatan Heyman
a106159a9a Save selected theme in config 2023-03-09 09:46:21 +01:00
Jonatan Heyman
c3e0539601 Underline https:// and http:// links, and make C+Click open them 2023-03-08 13:07:58 +01:00
Jonatan Heyman
93bf1e9036 Improve auto update
Add titles to status bar buttons
Bump version to 1.0.7
2023-03-07 01:45:23 +01:00
Jonatan Heyman
7ce91016d6 Add auto update support 2023-03-06 01:30:37 +01:00
Jonatan Heyman
f2462b203d Update changed config key 2023-01-29 12:49:54 +01:00
Jonatan Heyman
5f98323586 Add setting for turning on/off line number gutters and fold gutters 2023-01-27 17:18:31 +01:00
Jonatan Heyman
924fd4b226 Replace block separators with "\n\n" when copying text.
Add Settings dialog.
Started implementing Emacs-like keymap.
2023-01-20 15:33:26 +01:00
Jonatan Heyman
ddc184fb24 Restore fullscreen mode if the program was in fullscreen when quitting
Read specific keys from CONFIG.windowConfig instead of using Object.assign for whatever is in the config file.
2023-01-19 11:45:40 +01:00
Jonatan Heyman
00c2f21b93 Add some comments 2023-01-19 02:47:57 +01:00
Jonatan Heyman
8980e532f2 Remove debug log 2023-01-19 02:46:38 +01:00
Jonatan Heyman
60d8e9589c Remember window size and position between sessions 2023-01-19 02:38:19 +01:00
Jonatan Heyman
14152fbede Implement persistent buffer 2023-01-19 00:20:50 +01:00
Jonatan Heyman
4a56b7d331 Remove loader animation. Fix correct background color according to theme while loading. Set correct color on BrowserWindow to prevent white flash. 2023-01-18 21:36:31 +01:00
Jonatan Heyman
97995da5e1 Revert "Change icon on Windows"
This reverts commit b561c0184e.
2023-01-16 16:07:39 +01:00
Jonatan Heyman
b561c0184e Change icon on Windows
#windows-build
2023-01-16 15:53:57 +01:00
Jonatan Heyman
996d4338ce Use different initial content for development/release
#build
2023-01-15 20:24:31 +01:00
Jonatan Heyman
f837d547d4 Set autoHideMenuBar:true to hide the menu bar on windows 2023-01-15 20:00:10 +01:00
Jonatan Heyman
35260cf066 Manually create app menu (without the Close window menu item) 2023-01-15 12:45:06 +01:00
Jonatan Heyman
2f842612fb Read dark/light mode from system, automatically listen for changes, and add button for toggling the mode to the status bar 2023-01-15 11:59:17 +01:00
Jonatan Heyman
fbac07d338 Set tab size to 4 2023-01-15 10:53:09 +01:00
Jonatan Heyman
9fb543fed3 Move contents of heynote-electron subdirectory into git repo root 2023-01-13 13:21:34 +01:00