Commit graph

27 commits

Author SHA1 Message Date
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
60ad749473 Merge branch 'main' of https://github.com/zellij-org/zellij into unbind-default-keys 2021-04-17 00:15:52 +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
Aram Drevekenin
65c75ebb95
feat(controls): add quick navigation (#260)
* feat(input): quick navigation

* feat(ui): quick navigation

* style(fmt): rustfmt
2021-04-08 11:36:49 +02:00
a-kenji
84488a35aa Merge branch 'main' of https://github.com/zellij-org/zellij into config-file 2021-03-26 23:33:36 +01:00
Brooks J Rady
b6f945da35 Wrap up the plugin system refactor, running everything through update() 2021-03-25 17:22:10 +00:00
Brooks J Rady
ac55e59047 Initial implementation of the update callback + upstream termion 2021-03-23 19:52:59 +00:00
Brooks J Rady
9bc7a268ce Merge changes from main 2021-03-23 16:42:54 +00:00
a-kenji
91c109a902 Move test to /unit 2021-03-17 22:50:03 +01:00
a-kenji
a86d8c2161 Add example config file. 2021-03-12 22:05:41 +01:00
a-kenji
acc2524105 Merge 'upstream/main' into config-file 2021-03-11 22:43:43 +01:00
a-kenji
b4fca93eb7 Poking 2021-03-11 16:38:22 +01:00
Aram Drevekenin
8d0ff0fe40
feat(input): new shortcuts and ui (#220)
* feat(statusbar): new shortcuts

* feat(input): new shortcuts and ui

* style(fmt): rustfmt
2021-03-11 16:03:28 +01:00
a-kenji
2b2b7325e7 Poking around 2021-03-11 13:58:58 +01:00
Brooks J Rady
1dd4045e23 Clippy compels me to cull code 2021-03-09 22:20:16 +00:00
Brooks J Rady
06bce9a1fd Deduplicate the WASM interface structs 2021-03-09 19:39:42 +00:00
a-kenji
c97c553870 feature(input): add config file
* use a simple platform dependent config location `ProjectDir`

* deserialise from yaml
  iterate more on config format, maybe be more verbose?

* make keybinds a tuple struct
  same size as newtype, but makes impls easier to add

* merge optionally multiple keys for one keybinding
  easier configuration
2021-03-09 19:16:15 +01:00
Jonah Caplan
44b0246e91
feat(tabs): add ability to set tab name (#212)
* send all tabs in vec

* works but no input filtering

* add event types

* add event handler for tab events

* fmt fixups

* update tab name in place, and escape rename works

* rename handle_tab_event handle_tab_rename_keypress

* handle empty new_name when renaming

* fix(tabs): pad active tab name too

* fix(tabs): report proper length

* fix(tabs): always render active tab

* style(fmt): rustfmt

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-03-08 10:06:23 +01:00
a-kenji
c644a1c243 poking 2021-03-05 19:23:06 +01:00
a-kenji
3e0174cc4a poke at creating Macros
- create config struct
- create config errors
- create macro struct

TODO create --config option for the file
2021-03-04 15:00:23 +01:00
Jonah Caplan
ce54127d7d add basic tab bar #166 2021-02-25 01:44:10 -05:00
a-kenji
f3f23972eb fix(input) Write user input only in Normal mode
closes 184

Added the Action::NoOp from
https://github.com/zellij-org/zellij/issues/184
2021-02-22 21:53:50 +01:00
a-kenji
6bb419661e fix(clippy): use of unwrap_or followed by a fn
use of `unwrap_or` followed by a function call
2021-02-20 20:22:34 +01:00
categorille
6e5607ba26
docs: first documentation step (#185)
* added some documentation to the input module

* added a bunch of documentation already, doing this non-linearly

* added more comments

* forgot cargo ftm again oop

* PR change requests applied, some forgotten/imcomplete doc added
2021-02-17 15:55:09 +01:00
categorille
c74e2ef273
feat(input): new keybindings and persistent mode as default (#181)
* added some comments in the input module

* InputHandler now has InputState instead of separate InputMode and permanent bool

* keybinds are now associated with a Vec<Action> instead of a single Action

* removing "persistent" modes alltogether to reimplement the feature, help bar broken

* locked command mode by default, fixes #161, help bar still broken

* status bar fixed, still a few improvements/bugs to go

* better shortcut help bar contents

* fixed last bits and i think we are good

* modified tests according to new controls, not working

* Revert "modified tests according to new controls, not working"

This reverts commit f2d9421ff0169feb83dbd9b246e59b9244cafc16.

* basic.rs tests now pass, not the rest

* close_pane.rs tests pass, but very slowly?

* compatibility.rs tests pass, very slowly as well

* {layout, {move_focus_*}}.rs all working mildly slowly

* {resize_*}.rs should all work but very slowly and funky, see PR comments

* {tabs,toggle_fullscreen}.rs pass. Test performance issue yet to be fixed

* tests now work, with a hack :| ready for merge

* rustfmt + deleted references to InputState and mode persistency
2021-02-12 14:55:22 +01:00
Aram Drevekenin
14783c2b2c
feat(ui): new keybindings and status bar (#160)
* work

* feat(statusbar): new design and keybindings

* fix(ipc): add missing const

* style(fmt): rustfmt

* style(input): remove accidental comment
2021-02-09 17:36:37 +01:00
Kyle Sutherland-Cash
b6fb330da3
refactor(input): hotkeys (#132)
* Initial definitions and thoughts for hotkeys

* Actually document InputKey properly

* Add a to string function for input keys

* Define keybinds and actions; restructure

* Implement hash and start on defining key bindings

* Derive Serialize for input keys

* Store the key strings as tuples for two-way mapping

* Some string to key functions

* Use termion's Key definition and implement action dispatch

* Fix some borrow-checker errors

* Missing keybind and command mode switching

* Fix incorrect handling of spawn terminal command

* fix(plugins): work with new input - tests not passing

* fix(infra): stabilize tests and properly close pty sessions

* style(fmt): rustfmt

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-02-05 11:28:34 +01:00