Commit graph

1208 commits

Author SHA1 Message Date
5300e3346d feat(win32 gui): add adjust_fontsize command to zoom in/out 2025-01-09 20:08:12 +01:00
Jonathan Marler
fd86653db1 win32 gui: more fixes/edge cases 2025-01-09 17:17:50 +01:00
Jonathan Marler
87a355b854 win32 gui: shrink window to be a multiple of size width
Let the win32 voodoo flow...
2025-01-09 17:17:50 +01:00
Jonathan Marler
59bb2c0b45 fix bug in assumption that all include files are json files 2025-01-09 07:10:50 +01:00
Jonathan Marler
4cc7eeed59 config: improve errors
Config errors now include filename and line number. I also reworded the
errors themselves since the error message now includes the filename/line
number, it's clear it's a config file error.
2025-01-08 23:16:58 +01:00
63d5cb7208
fix(config): add gui_config to file_types 2025-01-08 22:25:04 +01:00
caeb3fc338
feat(config): migrate to a simpler config file format 2025-01-08 22:14:29 +01:00
4f5eb15392
fix(config): improve error handling in config file reader
closes #133
2025-01-08 21:19:08 +01:00
5b2198b313
feat(win32 gui): read initial window placement from config and tweak defaults 2025-01-08 16:12:42 +01:00
9e4e81eb0d
feat(win32 gui): read fontface and size from gui_config 2025-01-08 15:57:38 +01:00
1acc9b107e
refactor(config): BREAKING rename config option config_files to include_files 2025-01-08 14:36:47 +01:00
eaa7ad87b7
feat(win32 gui): add gui_config.json config file 2025-01-08 14:36:43 +01:00
6d7a316abb
fix(win32 gui): remove warning about set_terminal_cursor_color implementation
It won't be implemented until we support terminal cursor rendering.
2025-01-08 12:22:12 +01:00
4f068365c6
fix(wind32 gui): remove renderer.deinit not implemented warning
Looks implemented enough to me.
2025-01-08 12:19:31 +01:00
e8c6c9d921
fix(win32 gui): remove unused function copy_to_system_clipboard 2025-01-08 12:16:15 +01:00
bccacaf1c8
fix(win32 gui): remove log message in set_terminal_working_directory 2025-01-08 12:14:29 +01:00
5c6c9acaa9
fix(win32 gui): round down CellSize to avoid gaps between cells 2025-01-08 12:12:57 +01:00
e1f0a4d074
feat: add sample binding of shell_execute_log 2025-01-07 23:08:24 +01:00
cfc99b61dc
feat: add commands to execute shell tasks from keybindings
This is the first part of #67.
2025-01-07 22:45:29 +01:00
Jonathan Marler
337b6ce626 win32 gui: rework startup/hwnd sync 2025-01-07 22:02:16 +01:00
Jonathan Marler
ff7bdeef6b win32 gui: render unicode replacement_char on invalid chars 2025-01-07 19:02:33 +01:00
cf3fdeb135
refactor: cleanup/simplify emacs bindings 2025-01-07 16:27:31 +01:00
9ace78e3a9
feat: separate binding key seqences with space instead of '>' 2025-01-07 16:13:02 +01:00
b73975328b
fix: normalized vaxis windows console input 2025-01-07 16:04:07 +01:00
0c7f19b5dd feat: support matching of shifted keybindings
This allows us to bind things like alt+F and ctrl+?. Binding
with and explicit shift modifier is still allowed, such as alt+shift+f.
2025-01-07 14:53:34 +01:00
689b2ca410 feat(win32 gui): send both shifted and un-shifted input keycodes/codepoints
Also, send input text only for non-modified events.
2025-01-07 14:53:34 +01:00
Jonathan Marler
d90d82a4b7 win32 gui: remove bespoke/incorrect key translation
I played around with the API a bit and I tried out the other approach
where instead of trying to implement our own keyboard translation, instead
I just clear the "control key" before calling ToUnicode.  This fixes any
weird translation the OS was doing.

With this change, we no longer need to skip calling ToUnicode if the
control or alt keys are down, so keys will always work the same way whether
or not these modifiers are down.
2025-01-07 14:53:34 +01:00
4c73948068
feat(win32 gui): send terminal background updates to gui 2025-01-07 10:31:17 +01:00
388943e33c
feat(emacs): add repeat keybinding to emacs overlay/palette mode for quick switching 2025-01-06 22:09:57 +01:00
caffb70d9f
fix: syntax error in flow keybindings 2025-01-06 21:37:38 +01:00
5b168f2c33
feat: add find and find_in_files bindings to flow select mode 2025-01-06 21:00:37 +01:00
139b283755
fix(winows): update thespian to fix a race in the subprocess module 2025-01-06 20:49:17 +01:00
Jonathan Marler
d64d5f4c7e emacs add selection mode/keybind 2025-01-06 20:48:34 +01:00
Jonathan Marler
064522959b more emacs bindings 2025-01-06 20:28:24 +01:00
Jonathan Marler
c7d6bd6805 win32 gui: unbreak window icon
woops, accidently broke the window icon by moving the code that loads
it after calling RegisterClass, here's the fix
2025-01-06 20:27:56 +01:00
95d07ab1a5
feat: add select mode to flow input namespace 2025-01-06 20:25:57 +01:00
dedbb25515
feat: add inheritance between input modes in an input namespace 2025-01-06 20:25:09 +01:00
cd2aba6a74
fix(win32 gui): don't panic on bad unicode result and reduce info logging 2025-01-06 17:03:02 +01:00
93d6ee2626
fix(win32 gui): set window title after gui window is created 2025-01-06 16:49:57 +01:00
206e23a603
fix: crash on rendering zero width chars 2025-01-06 16:15:59 +01:00
e4fef98fcd
fix(win32 gui): add mapping for left_super 2025-01-06 16:00:17 +01:00
29a99eefee
fix(win32 gui): remove missed renders warning 2025-01-06 15:55:33 +01:00
aa95e78a80 refactor(nested config files): simplify and avoid duplicate code
Also, fix a small use after free bug.
2025-01-06 12:12:14 +01:00
Jonathan Marler
194fe70d6e feat(nested config files)
Adds a config_files option to config.json that allows the user
to specify one or more config files to load in addition to the
main config file.

For me this allows me to keep my flow configuration in a shared dotfiles
repository managed by git.
2025-01-06 12:12:14 +01:00
a6b29e4fe9
feat(win32 gui): issue quit command on window close and exit cleanly 2025-01-06 10:56:36 +01:00
Jonathan Marler
21a7106fe3 win32 gui: mouse drag
initial implementation for left mouse drag
2025-01-06 08:35:16 +01:00
Jonathan Marler
22ddaef78f emacs: add some more emacs keybinds 2025-01-06 07:43:15 +01:00
Jonathan Marler
592e812bf4 win32 gui: implement window placement and higher DPI icons 2025-01-06 07:42:18 +01:00
Jonathan Marler
2af5cc9774 win32 gui: don't center text 2025-01-06 07:40:58 +01:00
Jonathan Marler
67613c5bc4 win32 gui: decide on aligning cells to pixel boundary 2025-01-06 07:40:58 +01:00