Commit graph

210 commits

Author SHA1 Message Date
Aram Drevekenin
489ade6eb8 hotfix(logging): atomically create tmp folders 2020-11-25 17:08:43 +01:00
Aram Drevekenin
f88abe6ad8
fix(compatibility): various htop issues (#66)
* fix(compatibility): various htop issues

* style(format): make rustfmt happy

* fix(logging): do not delete log dir on startup

* fix(tests): update htop with command toggle

* chore(ci): reduce test concurrency to 1
2020-11-23 18:01:16 +01:00
Roee Shapira
fd1f1ce697
fix(layout): total layout percent 100 validation (#57)
* Fix for issue #52

* Added missing fixtures.

* Added missing validation.

* Moved layout creation and validation to the Layout struct.

* Ran cargo fmt.

* Added creation of tmp folder if needed.

* Code review edit.

* Code review edit.

* Fancied code up.

* PR request change.

* PR code review.

* Merge from upstream/main.

* Merge from upstream/main.
2020-11-21 19:39:57 +01:00
Henil
6a9ecc42a8
refactor(structure): Change structure of /tmp directory (#62)
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-11-21 17:32:46 +01:00
Kyle Sutherland-Cash
11e72b3d6b
feat(ux): add a command mode (#42)
* Move the input loop into a separate module

* Proof of concept implementation of command mode

* Update readme to reflect command mode

* Have Esc exit command mode

* Update tests to use command mode and make it transient by default

* Some merge fixes

* fix(tests): add missing COMMAND_TOGGLE and fix false positive test

* style(format): make rustfmt happy

* Update readme to describe command mode

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-11-21 15:55:49 +01:00
Aram Drevekenin
429e415ecc
fix(atomicity): block commands before executing others (#59) 2020-11-19 18:24:34 +01:00
Denis Maximov
cf43736656
refactor(data-structures): #51 change winsize to positionandsize (#56) 2020-11-19 15:30:05 +01:00
Roee Shapira
5ddf95a16c
fix(compatibility): some fixes for htop (#53)
* Moved all log to file functions to one module.

* Moved logging to file function to utils module.

* Housekeeping.

* Housekeeping.

* Started investigation into htop CSIs.

* Used better function for scrolling.

* Minor cleanup.

* Cleanup and start of scroll region rotation.

* Implemented scroll region rotation.

* Improved performace.

* New SCI found.

* Typo.

* Typo.

* Removed logging function.

* Added scroll rotation functions.

* Typo.

* Moved all logging function to one module.

* Attempt at making htop work.

* Reverted unneeded changes.

* Improved log file name creation.

* Ran rust fmt.

* PR review edits.

* PR review edits.

* Used mark_for_rerender function.

* Removed _ prefix from logging functions.
2020-11-19 11:15:59 +01:00
Aram Drevekenin
47954166a2
feat(ux): initial layout engine (#50)
* prototype

* refactor(layout): move stuff around

* style(format): make rustfmt happy
2020-11-15 19:55:56 +01:00
Denis Maximov
a2914066bf
feat: add rustfmt, update action workflow to check for formatting (#45) 2020-11-14 18:59:37 +01:00
Aram Drevekenin
b66dffe5cf HOTFIX: do not get os input unless we're starting the app 2020-11-14 13:55:13 +01:00
Aram Drevekenin
8e6dfded7a
fix(ux): properly echo characters and do not mess up exit (#44) 2020-11-14 13:27:42 +01:00
Denis Maximov
20617c0263
feat(development): add --debug flag (#41)
* wip: #39 create a -d --debug flag

* fix: switch join with concat
2020-11-13 16:44:24 +01:00
Aram Drevekenin
5a88b1a6ee
fix(ui): exit app when last pane is closed (#40) 2020-11-11 11:56:48 +01:00
Aram Drevekenin
ee0167f3af
fix(compatibility): do not interpret esc as scroll-up (#29) 2020-11-08 21:22:46 +01:00
Aram Drevekenin
393bca0d39
fix(compatibility): better stdin reading to fix various issues (#28) 2020-11-07 19:20:13 +01:00
Aram Drevekenin
13af16b336
fix(scroll): support show/hide cursor and fix vim scrolling behaviour (#27) 2020-11-06 18:12:03 +01:00
Aram Drevekenin
bdcd3b74ff
feat(screen): allow to toggle pane fullscreen with ctrl-f (#24) 2020-11-05 10:26:33 +01:00
Aram Drevekenin
a4cd34177f hotfix(controls): do not capture the ENTER key 2020-11-03 22:43:35 +01:00
Aram Drevekenin
5592a83d4a
feat(screen): allow specifying max panes on screen (#20) 2020-11-03 15:50:18 +01:00
Aram Drevekenin
9f6bbc55b5
feat(screen): split largest terminal (#19)
* feat(screen): split largest terminal

* docs(readme): split largest terminal command
2020-11-02 16:34:20 +01:00
Aram Drevekenin
ba2fd9f782 refactor(structure): separate all the things 2020-11-01 11:42:18 +01:00
Aram Drevekenin
5ea67501ba feat(screen): close pane 2020-10-23 15:36:41 +02:00
Aram Drevekenin
3ea03edfdd feat(ipc): send external ipc messages to active session through cli 2020-10-21 09:24:31 +02:00
Aram Drevekenin
bd5824ce3f feat(ipc): listen to external ipc messages including a basic api 2020-10-20 19:17:57 +02:00
Aram Drevekenin
e50e9770fd feat(performance): better tty read buffering and less allocations when rendering 2020-10-19 11:55:22 +02:00
Aram Drevekenin
6a68f4c710 feat(scrolling): basic 1-line scroll-up and scroll-down inside a pane 2020-10-15 17:58:07 +02:00
Aram Drevekenin
c652a09ae7 fix(boundaries): render properly 2020-10-13 18:14:53 +02:00
Aram Drevekenin
909b9eec0e fix(compatibility): bandwhich + various fixes for fish 2020-09-29 11:43:22 +02:00
Aram Drevekenin
18413fcaa4 refactor(structure): move stuff out of main 2020-09-16 11:04:16 +02:00
Aram Drevekenin
8721f1f789 tests(resize): resize right 2020-09-15 10:49:35 +02:00
Aram Drevekenin
e4737d55cf tests(infra): use streamlined fake inputs 2020-09-13 18:19:55 +02:00
Aram Drevekenin
327e63c103 feat(resize): resize up+down along grid lines 2020-09-10 17:13:44 +02:00
Aram Drevekenin
eaaac9524f fix(infra): do not block while reading from terminal, handle more than <cores> terminals 2020-09-09 19:27:27 +02:00
Aram Drevekenin
78cea539e6 feat(resize): resize along grid lines vertically 2020-09-09 19:07:46 +02:00
Aram Drevekenin
996c5531f7 fix(layout): horizontal resizes 2020-09-07 12:23:35 +02:00
Aram Drevekenin
f42c13da8e test(layout): horizontal split 2020-09-04 17:17:37 +02:00
Aram Drevekenin
29a12b5b2d horizontal split prototype 2020-09-04 16:46:28 +02:00
Aram Drevekenin
9e204e0dcc tests! 2020-09-03 16:47:44 +02:00
Aram Drevekenin
68a8422457 goodbye message through os_input 2020-08-27 11:35:29 +02:00
Aram Drevekenin
313ec137f9 add stdin/stdout to os_input 2020-08-27 11:24:45 +02:00
Aram Drevekenin
aacc1c85dc quit properly 2020-08-27 10:54:07 +02:00
Aram Drevekenin
9c63dab376 buggy recursive vertical splitting 2020-08-26 18:01:22 +02:00
Aram Drevekenin
1a3e74be47 render buffer 2020-08-25 15:59:19 +02:00
Aram Drevekenin
91f172588c fix: shell/sleep stuff 2020-08-22 13:59:15 +02:00
Aram Drevekenin
28593b7348 os_input_output 2020-08-21 21:47:09 +02:00
Aram Drevekenin
b74dca4fa1 channels 2020-08-20 16:06:38 +02:00
Aram Drevekenin
fceedc9d44 cleanup 2020-08-03 10:11:36 +02:00
Aram Drevekenin
ea53765d16 better reflow performance 2020-07-31 17:04:06 +02:00
Aram Drevekenin
77733ff547 performance improvements strike back 2020-07-28 12:00:02 +02:00