Commit graph

3018 commits

Author SHA1 Message Date
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
Aram Drevekenin
a853a96d89
docs(changelog): floating pane coordinate fix 2025-02-03 09:04:41 +01:00
Aram Drevekenin
af2be7a7a4
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
2025-02-03 09:04:03 +01:00
Aram Drevekenin
3a053de2d0
docs(changelog): plugin editor and shell info 2025-02-02 16:30:56 +01:00
Aram Drevekenin
3267d36589
feat(plugins): send info about $EDITOR and $SHELL (#3971)
* feat(plugins): send info about $EDITOR and $SHELL

* fix(e2e): snapshot update
2025-02-02 16:19:15 +01:00
Aram Drevekenin
1dd685062d
docs(changelog): plugin apis to open panes near plugin 2025-02-01 14:05:16 +01:00
Aram Drevekenin
92e6f0ad19
feat(plugins): Allow opening panes near plugin (#3966)
* added command + terminal variants

* added editor variant

* style(fmt): rustfmt
2025-02-01 14:04:26 +01:00
Aram Drevekenin
ade1145559
docs(changelog): plugins pasted text event 2025-01-31 16:50:45 +01:00
Aram Drevekenin
af120de6db
feat(plugins): add PastedText Event (#3962)
* working with text paste

* handle utf8 conversion error

* feat(plugins): add PastedText Event
2025-01-31 16:49:24 +01:00
Aram Drevekenin
ed12efd454
fix(tiled-panes): opening panes from the cli (#3963) 2025-01-31 13:10:32 +01:00
Aram Drevekenin
c0160cf709
docs(changelog): floating pane coordinate chagne API 2025-01-30 17:05:54 +01:00
Aram Drevekenin
c4cb9d3d81
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
2025-01-30 17:04:36 +01:00
Aram Drevekenin
382a0757e2
docs(changelog): stacked resize 2025-01-28 21:25:11 +01:00
Aram Drevekenin
407120b872
feat(ui): stacked resize (#3957)
* work

* tests and initial notes for refactoring

* refactor(stacked-panes): break out pane

* vertical functionality working with a single stack

* refactor: break out pane from stack

* fix: properly support multiple stacks in tab

* combining multiple stacks vertically

* vertical resizing working for all cases

* base functionality and tests

* some UX tweaking

* final functionality for directionless stacked increase

* some cleanups

* moar cleanups

* refactor: stacked resize

* fix: issue where resizing stacked geoms to 0 would cause them to overflow afterwards

* fix: handle uneven stacking

* functionality with tombstones

* new open new pane functionality

* match decrease increment behavior to increase one and fix some issues

* set fullscreen if maxed out

* allow splitting stacks

* fix tests mostly by parameterizing stacked_resize

* add tests

* some cleanups

* style(fmt): rustfmt

* add to config

* disable ci cache

* is_stacked => stacked

* docs(config): remove duplication
2025-01-28 21:24:07 +01:00