Commit Graph

46 Commits

Author SHA1 Message Date
Aram Drevekenin
79bf6ab868
feat(config): switch to kdl (#1759)
* chore(config): default kdl keybindings config

* tests

* work

* refactor(config): move stuff around

* work

* tab merge layout

* work

* work

* layouts working

* work

* layout tests

* work

* work

* feat(parsing): kdl layouts without config

* refactor(kdl): move stuff around

* work

* tests(layout): add cases and fix bugs

* work

* fix(kdl): various bugs

* chore(layouts): move all layouts to kdl

* feat(kdl): shared keybidns

* fix(layout): do not count fixed panes toward percentile

* fix(keybinds): missing keybinds and actions

* fix(config): adjust default tips

* refactor(config): move stuff around

* fix(tests): make e2e tests pass

* fix(kdl): add verbose parsing errors

* fix(kdl): focused tab

* fix(layout): corret default_tab_template behavior

* style(code): fix compile warnings

* feat(cli): send actions through the cli

* fix(cli): exit only when action is done

* fix(cli): open embedded pane from floating pane

* fix(cli): send actions to other sessions

* feat(cli): command alias

* feat(converter): convert old config

* feat(converter): convert old layout and theme files

* feat(kdl): pretty errors

* feat(client): convert old YAML files on startup

* fix: various bugs and styling issues

* fix: e2e tests

* fix(screen): propagate errors after merge

* style(clippy): lower clippy level

* fix(tests): own session_name variable

* style(fmt): rustfmt

* fix(cli): various action fixes

* style(fmt): rustfmt

* fix(themes): loading of theme files

* style(fmt): rustfmt

* fix(tests): theme fixtures

* fix(layouts): better errors on unknown nodes

* fix(kdl): clarify valid node terminator error

* fix(e2e): adjust close tab test

* fix(e2e): adjust close tab test again

* style(code): cleanup some comments
2022-10-05 07:44:00 +02:00
TornaxO7
76ed4266cf
Adding solarized-light (#1608) 2022-07-29 18:05:21 +02:00
Aram Drevekenin
7a72aa4ef9 chore(release): v0.31.0 2022-07-28 16:51:55 +02:00
a-kenji
253a140804
fix(themes): gruvbox-dark (#1499) 2022-06-14 22:34:05 +02:00
a-kenji
88757d16a9
fix(themes): unify filename and themename usage (#1492) 2022-06-13 10:51:44 +02:00
a-kenji
8e51eec877
remove: obsolete nonfunctional configurations (#1474)
The nonfunctional configurations are not needed anymore,
the `tmux-overview` configuration is also not needed anymore,
since there is now a prefix mode that emulates some tmux behaviour,
which is already a good example in the default configuration.
2022-06-09 23:10:36 +02:00
Aram Drevekenin
3c692248d8 chore(release): v0.30.0 2022-06-07 15:31:52 +02:00
Mathieu Santostefano
fd79b22d59
chore(assets): update Dracula Theme (#1435)
* Update Dracula Theme

Dracula theme already exists in https://github.com/dracula/zellij

* Add link to dracula theme repo
2022-05-24 17:02:34 +02:00
Aram Drevekenin
be2659ed2e chore(release): v0.29.0 2022-05-02 13:29:00 +02:00
Aram Drevekenin
9ce4ef49a6 chore(release): v0.28.0 2022-04-13 17:15:26 +02:00
smonv
2aef1d5957
feat(theme): add nord theme to example (#1304) 2022-04-08 09:07:56 +02:00
Kunal Mohan
9f716487ca
Improve theme usage + add default ones (#1274)
* Remove gray from theme config and improve colors for dark themes

* improve theme usage

* Add new themes and minor fixes

* improve tokyo-night theme according to new changes

* Fix formatting

* change default black colour

* docs(CHANGELOG): #1274 improve themes
2022-04-02 03:19:42 +05:30
Aram Drevekenin
a4676741f1 chore(release): v0.27.0 2022-03-31 14:41:42 +02:00
Aram Drevekenin
93642b08bf chore(release): v0.26.0 2022-03-11 15:45:35 +01:00
Aram Drevekenin
59a9ba08e4 chore(release): v0.25.0 2022-02-22 12:35:25 +01:00
Henri
692a30f32f
Create tokyonightDark.yaml (#1015)
* Create tokyonightDark.yaml

added tokyonight dark-storm-ish that I hacked from my config and wanted to share.

* Update and rename example/tokyonightDark.yaml to example/themes/tokyonightDark-theme.yaml

create a theme folder inside the example config. Didn't want to add the 256 color because I don't think that I can recreate it with any degree of accuracy.

* found the correct colors and added the original creator repo of the theme

* feat: add example of various theme

Co-authored-by: jaeheonji <atx6419@gmail.com>
2022-01-28 01:12:58 +09:00
Aram Drevekenin
f6ee6ec6e5 chore(release): v0.24.0 2022-01-05 10:37:31 +01:00
matu3ba
3e0ac752cc
docs(config): add ALT-centered example with usage instructions (#989)
justification:
- 1. ca. 200 LOC vs ca. 350 LOC
- 2. 1 common prefix instead of 2
- 3. 2 ways instead of 4 to get back to normal mode (Esc+Enter)
- 4. mode switching only from and to normal mode
- 5. remove 4 modes without loss of functionality(except adjusting titles)
- 6. second key for mappings to switch to mode memorable
2022-01-04 17:35:44 +01:00
Aram Drevekenin
92f902ef7e chore(release): v0.22.0 2021-12-13 15:52:53 +01:00
Jae-Heon Ji
2096cafe1d
chore: update example layout (#926) 2021-12-09 18:38:18 +01:00
Aram Drevekenin
eec8dbf7ec chore(release): v0.21.0 2021-11-29 09:35:48 +01:00
Aram Drevekenin
ff83733f58 chore(release): v0.20.0 2021-11-08 15:17:26 +01:00
Aram Drevekenin
aa53a03726 chore(release): v0.19.0 2021-10-20 12:28:23 +02:00
Aram Drevekenin
848207ca24 fix(e2e): new fullscreen snapshot 2021-09-29 15:13:19 +02:00
a-kenji
c39f021810
Update default config (#737) 2021-09-21 18:04:04 +02:00
sudo_synul
20b874d760
fix(example) Update NewTab action in example/default.yaml to new syntax (#693) 2021-09-06 21:25:15 +02:00
a-kenji
cd0b0119a0 Split tab-layout into template & tabs section
* adjust example layouts and move them from `./example` to
  `./example/layouts`

* simplify the deserialization of the layout

* layouts are now constructed as follows:

```
---
template:
  direction: Horizontal
  parts:
    - direction: Vertical
      borderless: true
      split_size:
        Fixed: 1
      run:
        plugin: tab-bar
    - direction: Vertical
      body: true # <== The body section specifies the position of the
      # inserted tab
    - direction: Vertical
      borderless: true
      split_size:
        Fixed: 2
      run:
        plugin: status-bar
tabs:
  - direction: Vertical
  - direction: Vertical
```
2021-08-26 15:06:59 +02:00
a-kenji
2e17756785 Change layout panics to errors
* Adjust and add tests for the change
2021-08-02 12:07:30 +02:00
a-kenji
9a5b6690af Add example tab layouts 2021-08-01 20:27:43 +02:00
a-kenji
261e691f9f Add commands to layout
Add the ability to run commands on loading a layout:
```
  - direction: Horizontal
    split_size:
      Percent: 50
    run:
      command: {cmd: htop}
```
or respectively:
```
  - direction: Horizontal
    split_size:
      Percent: 50
    run:
      command: {cmd: htop, args: ["-C"]}
```

In order to specify the difference of commands and
plugins now the plugins need to be under the `run` section:
```
  - direction: Vertical
    split_size:
      Fixed: 2
    run:
      plugin: status-bar
```
This also means that this is a breaking change for people
that already have a custom layout.

Example layouts:
```
---
direction: Vertical
parts:
  - direction: Horizontal
    split_size:
      Percent: 50
    parts:
      - direction: Vertical
        split_size:
          Percent: 50
      - direction: Vertical
        split_size:
          Percent: 50
        run:
          command: {cmd: htop}
  - direction: Horizontal
    split_size:
      Percent: 50
    run:
      command: {cmd: htop}
```
and:
```
---
direction: Horizontal
parts:
  - direction: Vertical
    split_size:
      Fixed: 1
    run:
      plugin: tab-bar
  - direction: Vertical
    parts:
    - direction: Vertical
      parts:
      - direction: Vertical
        split_size:
          Percent: 50
        run:
          command: {cmd: htop}
      - direction: Vertical
        split_size:
          Percent: 50
        run:
          command: {cmd: htop, args: ["-C"]}
  - direction: Vertical
    split_size:
      Fixed: 5
  - direction: Vertical
    split_size:
      Fixed: 2
    run:
      plugin: status-bar
```

closes #551, closes #284
2021-07-09 16:43:44 +02:00
a-kenji
85a4e476f2 fixup! Merge branch 'main' of https://github.com/zellij-org/zellij into simple-font-ui 2021-05-10 20:54:39 +02:00
a-kenji
ef69644f1b fixup! Add Option for Simplified Layout
* merge structop and serde structs
2021-05-10 17:42:59 +02:00
a-kenji
088bcf3dd8 Add Option for Simplified Layout
* the simplified layout omits the Nerdfonts characters that are not
  found in every Fontset

* add an optional config option to opt into the simplified ui
  `simplified_ui: bool`

* add a config flag that allows opting into the simplified ui
  `zellij options --simplified-ui`

* move the `clean` flag to the `setup` subcommand
2021-05-10 16:03:06 +02:00
Dante Pippi
9c09cf1658 New behavior for h and l
New behavior for h and l, will change tabs if there are no available
panes in the direction.

cargo clippy

Ensuring atomicity for the MoveFocusOrTab

- Blocking the input thread for the action MoveFocusOrTab
- Using "unreachable" macro in match arm to make it clear that the
directions Up and Down should not be used with the action MoveFocusOrTab

Adding tests
2021-05-09 17:05:14 -03:00
fenix
fd4997a686 Minor Visibility problem fixed: 2021-04-28 05:27:10 -07:00
fenix
2ba7fc312c Added Screen-overview.yaml & Screen.nonfunctional.txt
Added Screen Equivalents for the Tmux.yaml files in the same format.
2021-04-27 20:01:17 -07:00
fenix
cee034127a Requested Changes to 362:
Renamed tmux.yaml to tmux.nonimplemented so that it's not mistaken, and removed an accidental edit in the default.yaml.
2021-04-25 11:52:31 -07:00
fenix
1f24417e80 Corrections to Pull Request 362:
Corrections according to the discussion of the pull request, namely separating this idea out into a new yaml entirely called tmux-overview., and creating a tmux.yaml with just the new tmux bindings.
2021-04-25 08:41:19 -07:00
fenix
ddf010ae40 Created Tmux.yaml
Created a 1:1 Tmux.yaml for Zellij, using the Lock mode, as Tmux doesn't have a lock mode.
2021-04-24 13:08:36 -07:00
Hongjie Zhai
1ed408db86 update default config 2021-04-21 14:51:52 +09:00
a-kenji
e5fc158503 Add Unbind for Keybindings (#241)
* will unbind all default keybindings for now

* add test for toplevel unbind

* add example/default.yaml

* add example/README.md
2021-04-17 15:05:34 +02:00
a-kenji
1f14683c8f Add Unbind Setting for Keybinds
Adds the `unbind: true` and `unbind: false` flag under
keybinds.

Unbinds all default Keybinds.

Some enums are here already for more flexible unbinds.
2021-04-17 00:15:12 +02:00
a-kenji
9c0762fc53 Update default config file 2021-03-13 12:25:28 +01:00
a-kenji
cac143db76 Modify example config file 2021-03-13 10:37:38 +01:00
a-kenji
1da743b1c7 Add more options to example config file 2021-03-13 10:20:56 +01:00
a-kenji
a86d8c2161 Add example config file. 2021-03-12 22:05:41 +01:00