Aram Drevekenin
942b435a67
fix(tabs): maintain event order for MoveTab ( #3758 )
...
* fix(tabs): maintain event order for MoveTab
* style(fmt): rustfmt
2024-11-11 16:30:03 +01:00
Aram Drevekenin
23d2555543
fix(output-buffer): truncate grid height when not rendering it fully ( #3750 )
...
* fix(output-buffer): truncate grid height when not rendering it fully
* also fix for cases where the changed lines are not contiguous
2024-11-08 20:28:32 +01:00
Aram Drevekenin
452effab8f
fix(plugins): cwd and usability fixes ( #3749 )
...
* fix(plugins): maintain cwd between plugin reloads
* fix(plugin-manager): default to loading plugins in the foreground and allow sending space in configuration
2024-11-08 16:27:15 +01:00
Aram Drevekenin
f958ae9205
chore(repo): bump development version
2024-11-05 09:32:45 +01:00
Aram Drevekenin
c0ac187cab
HOTFIX: patch version
2024-11-04 11:41:21 +01:00
Aram Drevekenin
95ff0853c6
HOTFIX: default plugins generic compilation issue
2024-11-04 10:55:05 +01:00
Aram Drevekenin
72f6b502d1
fix(ux): forward keys to pane in locked mode and base mode rather than hard-coded normal mode ( #3715 )
...
* fix(keybindings): only forward clear keys in locked mode and default mode
* style(fmt): rustfmt
2024-10-31 16:49:48 +01:00
Vasileios Manolopoulos
9a2f90936b
fix: (tabs) move to next tab if moving to next pane from fullscreen pane ( #3498 )
...
Co-authored-by: Vasilis Manolopoulos <vmanolop@gmail.comh>
2024-10-25 15:18:29 +02:00
Aram Drevekenin
2248080de9
style(fmt): various cleanups ( #3698 )
...
* fix(configuration): rounding error in ui
* style(fmt): remove warnings
* style(fmt): rustfmt
2024-10-24 18:23:14 +02:00
Daniel Jankowski
0cd6d5f4e5
feat(plugins): add configurable black background for ui components ( #3681 )
...
* feat(plugins): add transparent background for text and nested_list
* chore: fix formatting issue
* feat: invert flag behaviour
* feat: implement bg_black handling for table cells
* fix: order of selected and bg_black in protocol
* chore: rename from bg_black to opaque
* fix: explicit selected, if opaque and selected for text
* chore: fix formatting issues
* feat: opaque tab-bar
* feat: opaque session-manager bars
* feat: opaque ribbon in plugin manager
* feat: opaque one-line ui
* feat: opaque tab-bar in configuration plugin
2024-10-24 18:21:44 +02:00
Aram Drevekenin
bb781eafed
fix(terminal): recover from partial line drop ( #3695 )
2024-10-24 09:42:15 +02:00
Aram Drevekenin
53215e6228
fix(plugins): make sure to always render on first resize ( #3693 )
...
* fix(plugins): make sure to always render on first resize
* style(fmt): rustfmt
* fix tests
2024-10-24 08:46:16 +02:00
Aram Drevekenin
b71be135c2
fix(plugins): rebind insert ( #3692 )
...
* fix(tab): recover from closing a pane outside the viewport
* remap insert in plugin manager
* fix(plugins): remap insert key
* style(fmt): rustfmt
2024-10-23 17:34:41 +02:00
Aram Drevekenin
d671ab650e
feat(plugins): add API to list clients, their focused panes and running commands/plugins ( #3687 )
...
* fix(list-clients): properly show client info after a tab was closed
* feat(plugins): add API to list clients, their focused panes and running commands/plugins
* style(fmt): rustfmt
2024-10-22 15:27:40 +02:00
bjorn3
1cbdada713
chore(deps): update to Wasmtime 21.0.2 ( #3685 )
...
This fixes a race condition which causes occasional crashes and may
enable a sandbox escape:
<https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-7qmx-3fpx-r45m >
2024-10-21 15:59:04 +02:00
Manuel de Prada Corral
f968736a4e
fix(client): repeat retry screen instruction ( #3570 )
2024-10-16 09:00:41 +02:00
Aram Drevekenin
0c9d72c51e
feat(plugins): rebind keys api ( #3680 )
...
* feat(plugins): add API to explicitly unbind/rebind specific keys in specific modes
* style(fmt): rustfmt
2024-10-15 17:27:44 +02:00
Aram Drevekenin
618e0f7a34
fix(plugins): allow switching to a new session with cwd without specifying a layout ( #3676 )
2024-10-14 16:44:28 +02:00
Aram Drevekenin
cc04ec6ba4
fix(plugins): do not allow attaching to the same session ( #3674 )
2024-10-14 14:48:49 +02:00
Aram Drevekenin
d84cdec730
fix(resurrection): plugin alias resurrection ( #3673 )
...
* fix(resurrection): make sure plugin aliases are serialized properly
* style(fmt): rustfmt
2024-10-14 13:13:52 +02:00
Aram Drevekenin
2bd0f2a535
fix(plugins): various plugin api and other fixes ( #3665 )
...
* fix(plugins): do not allow focusing an unselectable pane
* fix(folders): make sure config and cache folders exist on app start
2024-10-11 18:04:18 +02:00
Aram Drevekenin
63208879da
fix(plugins): handle concurrent http downloads ( #3664 )
2024-10-11 15:26:05 +02:00
Aram Drevekenin
e3aeac63d3
fix(tab): recover from crash when resizing panes ( #3659 )
2024-10-10 15:04:38 +02:00
Aram Drevekenin
825ee60692
fix(ui): set background color for UI components according to theme ( #3658 )
2024-10-10 14:27:09 +02:00
Aram Drevekenin
8a8ffb37be
fix(ux): only damage the relevant swap layout layer when resizing panes ( #3654 )
2024-10-09 12:21:06 +02:00
Aram Drevekenin
8de5947771
fix(ui): various pane name fixes ( #3653 )
2024-10-09 10:44:43 +02:00
Aram Drevekenin
06a98fd971
fix(plugins): handle race when setting plugin selectable ( #3651 )
2024-10-09 08:08:29 +02:00
Aram Drevekenin
203fbf7a49
feat(cli): make --layout idempotent(-ish) ( #3650 )
...
* feat(cli): if inside a session, apply --layout to the session
* fix(screen): some focusing races when switching tab focus
* style(fmt): rustfmt
2024-10-08 16:57:54 +02:00
Aram Drevekenin
ba2772e31c
fix(http): web requests ( #3643 )
2024-10-04 18:09:06 +02:00
Aram Drevekenin
9f1e38f9fa
feat(ui): built-in plugin manager ( #3633 )
...
* add plugin list to session info
* feat(plugins): new_plugin and reload_plugin API commands
* feat(plugins): built-in plugin manager
* style(fmt): rustfmt
* update plugins
2024-09-30 18:04:40 +02:00
Aram Drevekenin
ce8e3995df
feat(config): allow loading background plugins on startup ( #3616 )
...
* remove old partial implementation
* feat(plugins): allow loading background plugins on startup
* add e2e test
* update config
* udpate config merging
* style(fmt): rustfmt
2024-09-20 15:38:20 +02:00
Aram Drevekenin
d78f3586dd
feat(plugins): APIs to break multiple panes into a new tab or an existing tab ( #3610 )
...
* feat(plugins): break multiple panes to a new tab
* fix(layouts): properly ignore run instructions when breaking panes
* feat(plugins): break multiple panes to existing tab
* feat(apis): allow these methods to also specify whether they want focus changed to the tab
* various fixes
* allow specifying name for the new tab when breaking out panes
* style(fmt): rustfmt
2024-09-16 21:02:04 +02:00
Aram Drevekenin
1776d240da
feat(plugins): add plugin APIs to affect other panes ( #3576 )
...
* resize_pane_with_id and close_pane_with_id
* focus_pane_with_id and edit_scrollback_for_pane_with_id
* write_to_pane_id and write_chars_to_pane_id
* lots more commands
* style(fmt): rustfmt
2024-08-29 17:35:21 +02:00
Aram Drevekenin
820ff85231
feat(ux): reload config options at runtime ( #3564 )
...
* change simplified_ui at runtime
* change default_shell at runtime
* change pane_frames (from config) at runtime
* all other options
* some refactoring
* style(fmt): rustfmt
2024-08-23 15:41:48 +02:00
Aram Drevekenin
08b6072a69
feat(plugins): API to temporarily bind keys to send a message to a specific plugin id ( #3561 )
2024-08-21 16:46:01 +02:00
Aram Drevekenin
e96491a3cf
feat(ux): change themes at runtime ( #3559 )
2024-08-20 16:10:27 +02:00
Aram Drevekenin
cfbc0ff490
feat(ux): reload config at runtime ( #3558 )
...
* feat(ux): reload config at runtime
* style(fmt): rustfmt
2024-08-19 19:02:52 +02:00
Aram Drevekenin
056537d3ee
feat(ux): first run setup-wizard ( #3556 )
...
* separate saved/runtime structure, kind of working
* serializing config
* work
* work
* save config through the configuration screen
* work
* startup wizard
* style(code): cleanups
* fix(session): reload config from disk when switching sessions
* style(fmt): rustfmt
* fix(config): propagate cli config options to screen
* style(fmt): rustfmt
2024-08-16 14:00:01 +02:00
Aram Drevekenin
a3ad621dc7
feat(plugins): command pane re-run event ( #3553 )
2024-08-14 16:47:46 +02:00
Aram Drevekenin
d44950a5bd
feat(plugins): rerun_command_pane API ( #3546 )
...
* feat(plugins): rerun_command_pane API
* fix tests
2024-08-07 19:20:41 +02:00
Aram Drevekenin
8080050aac
fix(plugins): various cwd fixes ( #3545 )
...
* fix(plugins): various cwd fixes
* fix tests
2024-08-07 13:46:08 +02:00
Aram Drevekenin
355463383a
feat(plugins): allow opening command panes in the background (hidden) ( #3530 )
...
* start background pane
* open command and edit panes in the background
* some cleanups
* style(fmt): rustfmt
* more cleanups
2024-07-29 11:40:01 +02:00
Aram Drevekenin
ffbdb095ec
feat(plugins): some APIs for controlling and receiving information about other panes ( #3515 )
...
* add context to opening command panes, and events for their start/finish
* show/hide other panes plugin apis
* get tests to pass
* style(fmt): rustfmt
* update plugin test snapshots
2024-07-22 18:30:18 +02:00
Edward Shin
b4f176facd
fix(terminal): only refresh process specifics for given PID in get_cwd() ( #3472 )
...
Update `get_cwd()` to only refresh process specifics for the given PID,
matching the `get_cwds()` implementation.
This significantly reduces the latency of opening a new Pane or Tab.
On a 64-core Threadripper system, this reduces the latency of
`get_cwd()` from 850ms to 1ms. On an 8-core Ryzen system, the
improvement is smaller, but still perceptible.
2024-07-19 16:13:16 +02:00
Aram Drevekenin
579a54ec45
fix(serialization): do not serialize junk sessions ( #3504 )
...
* fix(serialization): do not serialize junk sessions
* style(fmt): rustfmt
2024-07-18 14:29:03 +02:00
Aram Drevekenin
2deffc3289
feat(plugins): add stringified layout to switch_session_with_layout ( #3503 )
2024-07-18 10:45:42 +02:00
Aram Drevekenin
84ff29dd02
feat(ui): configuration screen + configure non-colliding keys at runtime ( #3502 )
...
* rebind => reconfigure
* persist keybinds and mode info to new tabs
* add configuration plugin
* make tests pass
* remove warnings
* style(fmt): rustfmt
2024-07-17 16:08:31 +02:00
Aram Drevekenin
f9ded24b21
fix(terminal): prevent escaping pane through scroll region ( #3491 )
2024-07-12 12:22:44 +02:00
Aram Drevekenin
ffca97f5a9
fix(terminal): properly cache cursor position for synchronized renders ( #3483 )
...
* fix(terminal): properly cache cursor position for synchronized renders
* style(fmt): rustfmt
2024-07-08 14:30:31 +02:00
Aram Drevekenin
a6d6c0e4ff
feat(ui): status bar redesign ( #3475 )
...
* work
* work
* working
* get default mode from server and some ui responsiveness
* work
* finish design and get tests to pass
* get e2e tests to pass
* add classic layout
* add classic layout assets
* fix e2e tests
* style(fmt): rustfmt
* fix plugin system test
* style(fmt): some cleanups
2024-07-05 15:13:51 +02:00