Commit graph

3031 commits

Author SHA1 Message Date
Aram Drevekenin
865eb68ad1 HOTFIX: fix tutorial link in about plugin 2025-03-12 14:52:44 +01:00
har7an
502af243e0
Fix compiler warnings (#4053)
* chore(cargo): Update dependencies

for xtask subcommand to remove warnings about unknown compiler
attributes.

* deps(xtask): Remove `lazy_static`

as dependency, since the code we need can now be expressed using rusts
`std` builtin types.

* fix(xtask): Hide deprecated args

so the compiler doesn't complain about dead code any more.

* fix(xtask): Remove needless borrow.

* fix: Remove dead code

across the codebase, as discovered by the rust compiler.

* fix(server): Log previously ignored errors.

* fix(xtask): Remove needless `format!` calls.

* fix(xtask): Remove superfluous return statement.

* fix(client): Remove unused enum variant

from `ClientInstruction` and all code attached to it.

* fix(server): Restore functions needed in tests.

* chore: Apply rustfmt.

* fix(server): Add missing code.

* fix: Remove leftover warnings.

* CHANGELOG: Add MR #4026.

* fix(xtask): Pin `xshell` to version 0.2.2

because release 0.2.3 changed the way stdin is handled, breaking
interactive command invocations (such as we use).
2025-03-10 16:50:20 +00:00
Aram Drevekenin
92e209a307
docs(contributing): update PR statement wording 2025-03-10 17:32:53 +01:00
Aram Drevekenin
d280d0053c
docs(changelog): update 2 recent PRs 2025-03-10 17:23:48 +01:00
Aram Drevekenin
ff595fccb6
fix(selection): add proper multi-click dragging options (#4052)
* properly extend/reduce word-bound selection on drag

* properly extend/reduce line bound selection on drag

* fix scrolling

* style(fmt): rustfmt

---------

Co-authored-by: aram <aram@green.green>
2025-03-10 17:21:25 +01:00
Brooks Rady
4fd0bac675
fix(stacked): stacked panes can't resize status-bar (#4051)
* fix(typo): fix a typo in error message

* fix(typo): fix typo in Tip #6

* fix(logging): silence filesystem error

This `Option` chain already ends with `.unwrap_or_else(Default::default)`
so it's clearly expected that prior operations in the chain may fail. I
didn't have the default `layout_dir` on my computer, and it would fill my
logfile with unhelpful spam — on every pane creation, resize, etc.

* fix(stacked): stacked panes can't resize status-bar

* fix(e2e): race in multiple users test

---------

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2025-03-10 17:21:10 +01:00
Aram Drevekenin
9f0056335d
docs(changelog): add 3 recent PRs 2025-03-06 10:17:22 +01:00
Aram Drevekenin
7f417e552f
fix(ui): add split right/down shortcut hints to the status-bar (#4046) 2025-03-06 10:15:20 +01:00
Aram Drevekenin
1a8c3d7c94
fix(grid): out of bounds removal when app does not update its scroll region on resize (#4045) 2025-03-06 09:42:25 +01:00
Aram Drevekenin
2fe960a16d
fix(plugins): prevent paging plugins from cache at runtime (#4044) 2025-03-06 09:19:27 +01:00
Aram Drevekenin
3e694d2e49
fix(serialization): stacked panes fixes (#4041)
* fix(serialization): properly handle multiple stacked panes in the same logical node

* fix(layouts): properly handle stacked panes in new layouts

* fix(layouts): properly serialize stacked panes into layouts

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-05 18:42:31 +01:00
Aram Drevekenin
489534f29d
fix(panes): multiplayer stack issues (#4038)
* fix(panes): interactions between multiplayer and stacked panes

* remove extraneous focus

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-03 17:11:35 +01:00
Aram Drevekenin
f096dc7b88
fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y (#4037)
* fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y

* docs(changelog): update pr
2025-03-03 13:45:38 +01:00
har7an
736d43b138
fix(toolchain): Unbreak client startup
This reverts commit 9f900a7325.
2025-03-03 09:26:58 +00:00
Aram Drevekenin
b7cc3f3a62
fix(panes): various fixes for rendering stacked panes without pane frames (#4035)
* initial work

* fix rendering issues with stacked panes without pane frames

* make mouse clicking work

* test: rendering stacked panes without frames

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-02 13:18:12 +01:00
har7an
9f900a7325
Fix compiler warnings (#4026)
* chore(cargo): Update dependencies

for xtask subcommand to remove warnings about unknown compiler
attributes.

* deps(xtask): Remove `lazy_static`

as dependency, since the code we need can now be expressed using rusts
`std` builtin types.

* fix(xtask): Hide deprecated args

so the compiler doesn't complain about dead code any more.

* fix(xtask): Remove needless borrow.

* fix: Remove dead code

across the codebase, as discovered by the rust compiler.

* fix(server): Log previously ignored errors.

* fix(xtask): Remove needless `format!` calls.

* fix(xtask): Remove superfluous return statement.

* fix(client): Remove unused enum variant

from `ClientInstruction` and all code attached to it.

* fix(server): Restore functions needed in tests.

* chore: Apply rustfmt.

* fix(server): Add missing code.

* fix: Remove leftover warnings.

* CHANGELOG: Add MR #4026.
2025-02-28 14:09:35 +00:00
Aram Drevekenin
50b451add2
docs(changelog): verbose about error 2025-02-24 16:09:33 +01:00
Aram Drevekenin
66534fd6c0
fix(about): more verbose config readonly error (#4020)
* fix(about): more verbose config readonly error

* fix(about): render help properly
2025-02-24 16:08:32 +01:00
Aram Drevekenin
d1d8ab6fe3
docs(changelog): sixel fix 2025-02-24 14:58:32 +01:00
Flat
03e26603c8
fix(grid): Clear sixels when clearing terminal (#3982)
* fix(grid): Clear sixels when clearing terminal

No code paths existed to clear sixel images when handling csi dispatch for
clear.

* fix(grid): Also clear sixels on lines above
2025-02-24 14:57:47 +01:00
Aram Drevekenin
332c3e514c
docs(changelog): deps update 2025-02-24 11:40:25 +01:00
Aram Drevekenin
20011a83f7
chore(deps): update some dependencies (#4019)
* chore(deps): update some dependencies

* adjust logging to catch potential ipc issues

* style(fmt): remove outdated comment
2025-02-24 11:39:44 +01:00
Aram Drevekenin
bdfcfb0abd
fix(stacked-panes): better handling of adding new panes to a stack (#4016)
* fix(stacked-panes): better handling of adding new panes to a stack

* style(fmt): rustfmt

* docs(changelog): document
2025-02-22 12:45:30 +01:00
Aram Drevekenin
04be2646ed
feat(plugins): add tab history to the SessionUpdate Event (#4014)
* feat(plugins): add tab-history to the SessionInfo

* update snapshots

* style(fmt): rustfmt

* update changelog
2025-02-21 19:34:38 +01:00
Aram Drevekenin
834693f0c2
docs(changelog): pin plugin pane fix 2025-02-21 13:06:36 +01:00
Aram Drevekenin
648d6ff47a
fix(pinned-panes): allow pinning floating plugin panes with the mouse (#4013) 2025-02-21 13:05:54 +01:00
Aram Drevekenin
eb78beb359
docs(changelog): recent fixes 2025-02-21 12:18:00 +01:00
Aram Drevekenin
f16804b8c3
fix(floating-panes): reset swap floating layouts when closing last floating pane (#4012) 2025-02-21 12:16:47 +01:00
Aram Drevekenin
2c8ef3b5b8
fix(tiled-panes): recover from full stack (#4011) 2025-02-21 12:16:39 +01:00
Aram Drevekenin
6f8e9cc612
docs(changelog): chrono upgrade 2025-02-20 18:31:12 +01:00
Aram Drevekenin
5e2ff0cbfb
fix(logging): segfault in chrono crate (#4010) 2025-02-20 18:30:30 +01:00
Aram Drevekenin
e9dc33d88d
docs(changelog): clipboard message fixes 2025-02-20 17:15:29 +01:00
Aram Drevekenin
f0680fdeb9
fix(clipboard): clipboard message (#4009)
* fix clipboard message

* fix clipboard message gitter

* style(fmt): rustfmt
2025-02-20 17:14:43 +01:00
Aram Drevekenin
9edad32ee1
docs(changelog): filepicker improvements 2025-02-20 10:04:16 +01:00
Aram Drevekenin
d1a4509345
fix(ux): some filepicker improvements (#4007)
* allow closing plugin pane after replacing it

* start of strider improvements

* improve strider's ux

* fix selected text ui component

* style(fmt): rustfmt

* style(fmt): rustfmt
2025-02-20 10:03:34 +01:00
Aram Drevekenin
6c39e2ff0f
docs(changelog): resize shortcuts 2025-02-18 11:13:03 +01:00
Aram Drevekenin
544982dad4
feat(ui): resize shortcuts (#4003)
* feat(ui): show resize and focus shortcuts when relevant

* update serialization and snapshots

* update e2e tests

* style(fmt): rustfmt
2025-02-18 11:11:58 +01:00
Aram Drevekenin
5b6a0e6dc3
docs(changelog): convert old themes 2025-02-17 17:31:17 +01:00
Aram Drevekenin
d1ada03356
chore(repo): convert themes to new spec (#4002) 2025-02-17 17:30:21 +01:00
Aram Drevekenin
1593e5c213
docs(changelog): mouse double click selection 2025-02-16 17:56:34 +01:00
Aram Drevekenin
b04cddc352
feat(mouse): double-click to mark word boundaries, triple-click to mark paragraph (#3996)
* double-triple click on word/line boundaries

* adjust snapshots

* style(fmt): rustfmt
2025-02-16 17:55:23 +01:00
Aram Drevekenin
6184c17511
docs(changelog): tips on startup 2025-02-13 17:13:29 +01:00
Aram Drevekenin
7aaa7aea8f
feat(ux): tips on startup (#3988)
* add some tips

* refactoring and max tip index

* add config to disable release notes and startup tips

* allow dismissing startup tips from plugin

* random tip at startup

* custom launch about

* fix tests

* style(fmt): rustfmt
2025-02-13 17:12:47 +01:00
Aram Drevekenin
e11daf248f
docs(changelog): about plugin 2025-02-10 16:06:27 +01:00
Aram Drevekenin
3e493f34c9
feat(ui): about plugin and release notes (#3979)
* basic about screen

* work

* finish implementing about plugin except theme spec

* show about plugin only on first version run

* some cleanups and do the right thing with open/xdg-open

* refactor: make ui framework

* refactor: remove old stuff

* refactor: about plugin

* style(fmt): rustfmt

* chore(repo): about plugin asset

* fix tests

* style(fmt): rustfmt!!
2025-02-10 16:05:48 +01:00
Aram Drevekenin
fc847b725c
docs(changelog): new theme definition spec 2025-02-07 12:00:34 +01:00
Mark Grey
26b99eac63
feat(config): new theme definition spec (#3242)
* Implement initial structs from spec

* kdl configuration unmarshalling

* typo text styling

* remove is_selected toggle

* incorporate new status bar ui into theming

* improve test coverage of config behavior

* tab bar correction

* correct also compact bar

* remove spacing between table columns

* refactor table styling

* use text_unselected.emphasis_1 for keygroup sep

* fix tab bar more text

* repair field flattening for theme

* remove extra styling KDL node

* update tests

* updated selected text conversion

* padding for header bar

* minor corrections for existing themes

* background handling

* compact bar corrections

* properly handle opaque method to activate background

* update newer plugins to use styling struct

* correct omission of selected state

* fix: bold typeface for text elements

* fix: fg -> white for list_unselected conversion

* fix: emphasis and opacity handling for nested_list

* correct stylings in the session-manager

* fix emphases translation for table component

* correct emphasis for run instructions

* correct frame_highlight translation for old themes

* provide missing implementation of frame_highlight

* fencepost emphasis color names

* Set a pseudo-None for frame_unselected in old theme conversion

* correct alternating bg for simplified-ui

* update snapshots

* fix inner text padding and errorneous snapshots

* suppress warning about deprecated usage of palette

* remove unused import

* feat(plugins): API to change floating pane coordinates (#3958)

* basic functionality through the cli

* added to plugin api

* add display area and viewport size to TabInfo

* fix tests and add new one

* some cleanups

* refactor: extract pane_id parsing logic

* style(fmt): rustfmt

* docs(changelog): floating pane coordinate chagne API

* fix(tiled-panes): opening panes from the cli (#3963)

* feat(plugins): add `PastedText` Event (#3962)

* working with text paste

* handle utf8 conversion error

* feat(plugins): add PastedText Event

* docs(changelog): plugins pasted text event

* black for table opaque background

* properly apply opacity to table

* correct padding for explicit width ribbons

* feat(plugins): Allow opening panes near plugin (#3966)

* added command + terminal variants

* added editor variant

* style(fmt): rustfmt

* docs(changelog): plugin apis to open panes near plugin

* feat(plugins): send info about $EDITOR and $SHELL (#3971)

* feat(plugins): send info about $EDITOR and $SHELL

* fix(e2e): snapshot update

* docs(changelog): plugin editor and shell info

* fix(floating-panes): when changing coordinates, if a pane is not floating - make it floating (#3972)

* fix(panes): when changing floating pane coordinates, if the pane is not floating, float it

* style(fmt): rustfmt

* docs(changelog): floating pane coordinate fix

* fix(break-pane): strip logical position when inserting pane to new tab (#3973)

* docs(changelog): logical position fix

* Optional frame_unselected theme

* fixture with correct width to account for arrow padding

* update snapshot and rustfmt

---------

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2025-02-07 11:59:54 +01:00
Aram Drevekenin
834f1e68f2
docs(issue-template): clarify requirements 2025-02-07 10:23:19 +01:00
Aram Drevekenin
247cde6857
docs(changelog): logical position fix 2025-02-03 11:05:16 +01:00
Aram Drevekenin
0b9e61cdba
fix(break-pane): strip logical position when inserting pane to new tab (#3973) 2025-02-03 11:04:22 +01:00