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
Jonathan Marler
456ec8535b
win32 gui: fix some issues with cell sizing/alignment
2025-01-06 07:40:58 +01:00
Jonathan Marler
f2a9cb0d6a
win32 gui: performance fix, don't call DrawText for space characters
2025-01-05 22:11:58 +01:00
7cbd63accd
feat(win32 gui): add direct copy to windows clipboard support
...
closes #100
2025-01-05 21:54:43 +01:00
Jonathan Marler
ff04602d1c
win32: fix backspace
2025-01-05 20:32:37 +01:00
Jonathan Marler
d3159bf334
win32: fix keyboard issues
...
closes #114
closes #113
closes #108
Co-authored-by: CJ van den Berg <cj@vdbonline.com>
2025-01-05 20:05:15 +01:00
2ad6f2d0f7
feat(win32 gui): update thespian for CREATE_NO_WINDOW child process fix
2025-01-05 16:47:09 +01:00
f0586325bb
feat(win32 gui): produce both tui and gui executables for windows targets
2025-01-05 15:41:09 +01:00
0fa1e63af9
feat(win32 gui): rename gui executable to flow-gui
...
closes #105
2025-01-05 15:41:09 +01:00
9d9372bfe0
fix(win32 gui): send initial resize event on window creation
...
closes #115
2025-01-05 15:17:25 +01:00
8b43cc3697
Merge branch 'win32Gui'
2025-01-05 14:41:28 +01:00
16c9189493
fix: remove some obsolete functions and avoid panic on copy
2025-01-05 09:52:37 +01:00
6257c9d721
feat(win32 gui): add indexed color support
2025-01-04 22:42:15 +01:00
5ac80f0b6f
feat(win32 gui): add clipboard paste support
2025-01-04 21:48:47 +01:00
Jonathan Marler
5bc3cd6a6d
win32 gui: implement set_terminal_title
2025-01-04 13:13:13 -07:00
Jonathan Marler
38f7cbcaab
win32 gui: key translation fixes
2025-01-04 12:01:41 -07:00
Jonathan Marler
67ca29f2c8
win32 gui: handle DPI changes
2025-01-04 11:02:42 -07:00
9be68a2206
fix(win32): translate win32 virtual key codes
2025-01-04 18:01:04 +01:00
3d0bc59b0c
fix(win32): cell size calculation and don't recalculate as often
2025-01-04 17:37:52 +01:00
68d2c4d053
feat(win32): add mouse wheel support
2025-01-04 17:20:52 +01:00