<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/zellij-utils/src/input/unit/fixtures, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/zellij-utils/src/input/unit/fixtures?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/zellij-utils/src/input/unit/fixtures?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2022-10-05T05:44:00Z</updated>
<entry>
<title>feat(config): switch to kdl (#1759)</title>
<updated>2022-10-05T05:44:00Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2022-10-05T05:44:00Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=79bf6ab868cbdab1f9a3827c9b70198f54548b44'/>
<id>urn:sha1:79bf6ab868cbdab1f9a3827c9b70198f54548b44</id>
<content type='text'>
* 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</content>
</entry>
<entry>
<title>feat: support `themes` directory (#1577)</title>
<updated>2022-07-24T12:30:58Z</updated>
<author>
<name>Jae-Heon Ji</name>
<email>32578710+jaeheonji@users.noreply.github.com</email>
</author>
<published>2022-07-24T12:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=09481aac1986b7486e92d9dcd2baeb96a5d71e6e'/>
<id>urn:sha1:09481aac1986b7486e92d9dcd2baeb96a5d71e6e</id>
<content type='text'>
* feat: add serde struct for theme file

* feat: update client to load the theme palette

* feat: merge themes in the setup phase

* chore: delete debug message in test

* feat: add theme_dir options

* fix: boxing large enum variant</content>
</entry>
<entry>
<title>feat: add initial session name to layout template (#789)</title>
<updated>2021-11-08T18:43:51Z</updated>
<author>
<name>Jae-Heon Ji</name>
<email>32578710+jaeheonji@users.noreply.github.com</email>
</author>
<published>2021-11-08T18:43:51Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=4838f0b52cdd0f8369b8842f6496efb949402250'/>
<id>urn:sha1:4838f0b52cdd0f8369b8842f6496efb949402250</id>
<content type='text'>
* feat: add session configuration to layout template

WIP: prototyping for issue #611

* test(layout): add session name

* feat(layout): add cond flow to check session name

* feat(layout): update session

* feat: add function to attach a session

* fix(layout): update feedback

* attach option only works when layout template exists.

* feat(layout): add conditional for session-layout

* update default attach value</content>
</entry>
<entry>
<title>feat(plugin): add manifest to allow for plugin configuration (#660)</title>
<updated>2021-09-22T17:13:21Z</updated>
<author>
<name>spacemaison</name>
<email>tuchsen@protonmail.com</email>
</author>
<published>2021-09-22T17:13:21Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=c9372212f68fed52d45590b2dac271ab6270d943'/>
<id>urn:sha1:c9372212f68fed52d45590b2dac271ab6270d943</id>
<content type='text'>
* feat(plugins-manifest): Add a plugins manifest to allow for more configuration of plugins

* refactor(plugins-manifest): Better storage of plugin metadata in wasm_vm

* fix(plugins-manifest): Inherit permissions from run configuration

* refactor(plugins-manifest): Rename things for more clarity

- The Plugins/Plugin structs had "Config" appended to them to clarify
  that they're metadata about plugins, and not the plugins themselves.

- The PluginType::OncePerPane variant was renamed to be just
  PluginType::Pane, and the documentation clarified to explain what it
  is.

- The "service" nomenclature was completely removed in favor of
  "headless".

* refactor(plugins-manifest): Move security warning into start plugin

* refactor(plugins-manifest): Remove hack in favor of standard method

* refactor(plugins-manifest): Change display of plugin location

The only time that a plugin location is displayed in Zellij is the
border of the pane. Having `zellij:strider` display instead of just
`strider` was a little annoying, so we're stripping out the scheme
information from a locations display.

* refactor(plugins-manifest): Add a little more documentation

* fix(plugins-manifest): Formatting

Co-authored-by: Jesse Tuchsen &lt;not@disclosing&gt;</content>
</entry>
<entry>
<title>feat(plugin): add exec_cmd helper for executing command in host</title>
<updated>2021-09-09T10:45:03Z</updated>
<author>
<name>Tw</name>
<email>wei.tan@intel.com</email>
</author>
<published>2021-09-09T10:45:03Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=19b3f8366f7a46ac9360bd17b670c240d0aabe87'/>
<id>urn:sha1:19b3f8366f7a46ac9360bd17b670c240d0aabe87</id>
<content type='text'>
Signed-off-by: Tw &lt;wei.tan@intel.com&gt;
Signed-off-by: Tw &lt;tw19881113@gmail.com&gt;</content>
</entry>
<entry>
<title>Split tab-layout into `template` &amp; `tabs` section</title>
<updated>2021-08-26T13:06:59Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2021-08-26T13:06:59Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=cd0b0119a022926e659d941f3013b618164e6881'/>
<id>urn:sha1:cd0b0119a022926e659d941f3013b618164e6881</id>
<content type='text'>
* 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 # &lt;== 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
```
</content>
</entry>
<entry>
<title>Add `template` section in `layout` file</title>
<updated>2021-08-21T21:27:23Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2021-08-21T21:27:23Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=88b4063879845cf53397f60201473ce386280cfe'/>
<id>urn:sha1:88b4063879845cf53397f60201473ce386280cfe</id>
<content type='text'>
It works as follows:
```
---
template:
  direction: Horizontal
  parts:
    - direction: Vertical
      split_size:
        Fixed: 1
      run:
        plugin: tab-bar
    - direction: Vertical
      body: true
    - direction: Vertical
      split_size:
        Fixed: 2
      run:
        plugin: status-bar
tabs:
  - direction: Vertical
```

The tabs are created in the body section of the template.
</content>
</entry>
<entry>
<title>Change layout panics to errors</title>
<updated>2021-08-02T10:07:30Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2021-08-02T10:03:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=2e1775678577e8587ca0830a15810212c4b209f7'/>
<id>urn:sha1:2e1775678577e8587ca0830a15810212c4b209f7</id>
<content type='text'>
* Adjust and add tests for the change
</content>
</entry>
<entry>
<title>Add `tabs` to `layouts`</title>
<updated>2021-07-23T15:13:35Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2021-07-09T21:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=5ede25dc37ceb192032524ac9200bb1ca95e5863'/>
<id>urn:sha1:5ede25dc37ceb192032524ac9200bb1ca95e5863</id>
<content type='text'>
fixes #603, fixes #349

* The layout has now a unique `tabs` section,
  that can be used, like the `parts` section,
  everything that is not inside the tabs section
  is assumed to be present on every single tab
  that is opened.

  This is a BREAKING CHANGE for people that use
  custom `layouts` already, since the `tabs` section
  is not optional - for clarity and intentionality reasons.

  The functionality to specify multiple tabs is already there,
  but is still gated behind a panic, until #621 is fixed.
  So for now one tab can be specified to load on startup.

* The `NewTab` action can optionally be bound to open
  a layout that is assumed to be in the new `tabs` section

  This is a BREAKING CHANGE for people that have the
  `NewTab` action already bound in the config file:

```
- action: [NewTab, ]
  key: [F: 5,]
```
must now be specified as:
```
- action: [NewTab: ,]
  key: [F: 5,]
```
  Optionally a layout that should be opened on the new tab can be
  specified:
```
- action: [NewTab: {
  direction: Vertical,
  parts: [ {direction: Horizontal, split_size: {Percent: 50}}, {direction: Horizontal, run: {command: {cmd: "htop"}}},],
  key: [F: 6,]
```
or:
```
- action: [NewTab: {direction: Vertical, run: {command: {cmd: "htop"} }},]
  key: [F: 7,]
```
or
```
- action: [NewTab: {
  direction: Vertical,
  parts: [ {direction: Vertical, split_size: {Percent: 25},run: {plugin: "strider" }}, {direction: Horizontal}],}, MoveFocus: Left,]
  key: [F: 8,]

```
</content>
</entry>
</feed>
