Commit Graph

959 Commits

Author SHA1 Message Date
Brooks J Rady
98c29832e1 Merge branch 'main' into resize-overhaul 2021-06-01 18:05:32 +01:00
a-kenji
d7f12ea58c docs(changelog): add disable-status-bar layout 2021-06-01 10:41:10 +02:00
a-kenji
c690da915b
Merge pull request #555 from a-kenji/plugin-layouts
Add layout to disable the status-bar
2021-06-01 10:40:25 +02:00
a-kenji
903017fd8e docs(changelog): Don't rename unnamed tabs: 554 2021-06-01 10:24:32 +02:00
a-kenji
26f499bbbb
Merge pull request #554 from AdaShoelace/main
Don't rename 'unnamed' tabs upon deletion of other tabs
2021-06-01 10:23:02 +02:00
AdaShoelace
a2efc6fcac Merge branch 'main' of github.com:zellij-org/zellij 2021-06-01 09:41:33 +02:00
AdaShoelace
b9677589a0 Omit '(unnamed)' from tab name 2021-06-01 09:41:16 +02:00
a-kenji
c787cea9e0 docs(changelog): Fix config options 2021-06-01 09:39:18 +02:00
a-kenji
2301037c54
Merge pull request #556 from a-kenji/options-fix
Fix options in config file
2021-06-01 09:36:26 +02:00
a-kenji
62e7c37688 Fix options in config file
* options depended on specification of the
`simplified_ui` flag, now they are independend of each other
2021-06-01 09:07:41 +02:00
AdaShoelace
16a47cdd06 Initial names outside return struct 2021-05-31 22:06:08 +02:00
a-kenji
1db63ede28 Add layout to disable the status-bar 2021-05-31 21:49:49 +02:00
AdaShoelace
b3e9dda726 Set tab name on creation instead of on render 2021-05-31 17:00:14 +02:00
a-kenji
9cbe410740
Merge pull request #553 from a-kenji/update-manpage
docs(manpage): Update manpage
2021-05-30 21:08:38 +02:00
a-kenji
bd43a8aa63 docs(manpage): Update manpage 2021-05-30 21:07:44 +02:00
a-kenji
a67bd140a5 docs(changelog): Add option to specify a theme 2021-05-30 19:43:22 +02:00
a-kenji
bbbc51de69
Merge pull request #550 from a-kenji/theme-config
Add color theme config
2021-05-30 19:38:47 +02:00
a-kenji
0be151fa28 Merge branch 'main' of https://github.com/zellij-org/zellij into theme-config 2021-05-30 15:17:55 +02:00
a-kenji
ce73b6cca0 Add color theme config
* add option `theme` that allows for setting of a theme,
the default is `default`

* under `themes` the themes can be described as follows:

either:
```
themes:
  default:
    fg: [0,0,0]
    bg: [0,0,0]
    black: [0,0,0]
    red: [0,0,0]
    green: [0,0,0]
    yellow: [0,0,0]
    blue: [0,0,0]
    magenta: [0,0,0]
    cyan: [0,0,0]
    white: [0,0,0]
    orange: [0,0,0]
```
or
```
themes:
  default:
    fg: 0
    bg: 0
    black: 0
    red: 0
    green: 0
    yellow: 0
    blue: 0
    magenta: 0
    cyan: 0
    white: 0
    orange: 0
```

If the key is different from default, it needs to either be specified on
start with `options --theme [THEME]`, or in the configuration file under
theme: [THEME].

closes #390
2021-05-30 15:07:21 +02:00
Brooks J Rady
f2c5ee44f7 Getting back to where we started... (Buggy Resizing) 2021-05-29 23:12:11 +01:00
a-kenji
fe299325eb docs(changelog): Add default_mode to attach 549 2021-05-29 20:55:03 +02:00
a-kenji
80bd53b8f7
Merge pull request #549 from a-kenji/default-mode-attach
Add default_mode to attach
2021-05-29 20:53:32 +02:00
a-kenji
70d9d2cf4f Add default_mode to attach
* Attaching a new session now also respects the
  default_mode setting of the client
2021-05-29 19:08:36 +02:00
a-kenji
154ed3d41c docs(changelog): Add default_mode option 2021-05-29 18:19:34 +02:00
a-kenji
4c079ca25d
Merge pull request #513 from a-kenji/default-mode-368
Default mode 368
2021-05-29 18:18:30 +02:00
Kunal Mohan
ef7424d906 docs(changelog): add #547 and #548 2021-05-29 21:43:04 +05:30
Kunal Mohan
f88086ca67
Merge pull request #548 from zellij-org/status-bar-fix
Session mode should be disabled in locked mode
2021-05-29 21:41:26 +05:30
Kunal Mohan
161d78c353 session mode should be disabled in locked mode 2021-05-29 21:22:18 +05:30
Kunal Mohan
906f715a52
Merge pull request #547 from riggs-/platform_build_fix
Fix build on platforms with TIOCGWINSZ / ioctl() integer type mismatch.
2021-05-29 19:11:54 +05:30
Thomas Zander
f91f446823 Fix cargo fmt diff. 2021-05-29 15:31:04 +02:00
Thomas Zander
09d12f8cbd
Fix build on platforms with TIOCGWINSZ / ioctl() integer type mismatch. 2021-05-29 14:19:40 +02:00
Kunal Mohan
00bbe2b0f8 docs(changelog): Optional session name in attach #542 2021-05-29 00:45:11 +05:30
Kunal Mohan
e5010f0925
Merge pull request #542 from zellij-org/auto-attach
Make session-name option in attach command
2021-05-29 00:43:11 +05:30
Kunal Mohan
0bd05cbcb4 Make session-name option in attach command
If only one session is running, attach to it.
Otherwise list the active sessions (if any)
2021-05-29 00:32:06 +05:30
Kunal Mohan
6017305bb0 docs(changelog): Fix lag #536 2021-05-28 21:16:16 +05:30
Aram Drevekenin
c53731bfa8
docs(changelog): update compatibility fix 2021-05-28 17:31:45 +02:00
Aram Drevekenin
12709e3e48
fix(compatibility): do not crash when padding before wide char (#540)
* fix(compatibility): do not crash when padding before wide char

* style(clippy): make less clear because clippy
2021-05-28 17:30:23 +02:00
Kunal Mohan
774858f240
Merge pull request #536 from kxt/525-pty-backpressure
Add back pressure to pty
2021-05-28 20:49:55 +05:30
Kunal Mohan
ee4e619b80 fix(tests): Add SLEEP to top_and_quit test 2021-05-28 20:37:33 +05:30
Aram Drevekenin
d54c82420e chore(version): bump development version 2021-05-28 14:35:34 +02:00
Aram Drevekenin
697536da26 chore(release): v0.12.1 2021-05-28 14:07:04 +02:00
Aram Drevekenin
1c69d70082 chore(version): change to patch version 2021-05-28 14:05:52 +02:00
Aram Drevekenin
bc99f81960 style(clippy): minor fix 2021-05-28 11:46:00 +02:00
Aram Drevekenin
4ac77874ac hotfix: remove termbg call so stdin won't get stuck 2021-05-28 11:42:00 +02:00
KOVACS Tamas
8ccf3d61a0 fix: use bounded queue between pty and screen
Pty reads a command's output and feeds it to Screen using an unbounded
queue.

However, if the command produces output faster than what `Screen` can
render, `Pty` still pushes it on the queue, causing it to grow
indefinitely, resulting in high memory usage and latency.

This patch fixes this by using a bounded queue between Pty and Screen,
so if Screen can't keep up with Pty, the queue will fill up, exerting
back pressure on Pty, making it read the command's output only as fast
as Screen renders it.

The unbounded queue is kept between Screen and producers other than Pty
to avoid a deadlock such as this scenario:
* pty thread filling up screen queue as soon as screen thread pops
  something from it
* wasm thread is processing a Render instruction, blocking on the screen
  queue
* screen thread is trying to render a plugin pane. It attempts to send a
  Render insturction to the blocked wasm thread running the plugin.

This patch also adds a generous amount of sleeps to the integration
tests as having backpressure changes the timing of how instructions are
processed.

Fixes #525.
2021-05-27 23:42:15 +02:00
kxt
0c0355dbc6
refactors for #525 (#534)
* refactor(fakes): clean up add_terminal_input

* refactor(fakes): append whole buf to output_buffer in FakeStdoutWriter::write

* refactor(fakes): append whole buf to output_buffer in FakeInputOutput::write_to_tty_stdin

* fix(fakes): allow partial reads in read_from_tty_stdout

This patch fixes two bugs in read_from_tty_stdout:
* if there was a partial read (ie. `bytes.read_position` is not 0 but
less than `bytes.content.len()`), subsequent calls to would fill `buf`
starting at index `bytes.read_position` instead of 0, leaving range
0..`bytes.read_position` untouched.
* if `buf` was smaller than `bytes.content.len()`, a panic would occur.

* refactor(channels): use crossbeam instead of mpsc

This patch replaces mpsc with crossbeam channels because crossbeam
supports selecting on multiple channels which will be necessary in a
subsequent patch.

* refactor(threadbus): allow multiple receivers in Bus

This patch changes Bus to use multiple receivers. Method `recv` returns
data from all of them. This will be used in a subsequent patch for
receiving from bounded and unbounded queues at the same time.

* refactor(channels): remove SenderType enum

This enum has only one variant, so the entire enum can be replaced with
the innards of said variant.

* refactor(channels): remove Send+Sync trait implementations

The implementation of these traits is not necessary, as
SenderWithContext is automatically Send and Sync for every T and
ErrorContext that's Send and Sync.
2021-05-27 16:28:28 +02:00
a-kenji
ec5476d3a5 fixup! rustfmt 2021-05-27 16:00:16 +02:00
a-kenji
81b026df24 Merge branch 'main' of https://github.com/zellij-org/zellij into default-mode-368
* If starting in the locked mode after the merge,
the locked mode seems to need 2 actions to go to
the normal mode - after that everything works
as expected.

- This is not intended.
2021-05-27 15:49:50 +02:00
Aram Drevekenin
9bdb40b4c6 chore(version): bump development version 2021-05-27 14:41:33 +02:00
Aram Drevekenin
5b0ac7b3c4 chore(release): v0.12.0 2021-05-27 14:15:24 +02:00