A terminal workspace with batteries included
Go to file
2020-10-29 15:42:00 +01:00
.github/workflows Create rust.yml 2020-10-27 22:20:38 +02:00
src some more ignores 2020-10-28 09:37:19 +02:00
.gitignore line wrap kinda working 2020-07-13 15:04:45 +02:00
Cargo.lock feat(ipc): send external ipc messages to active session through cli 2020-10-21 09:24:31 +02:00
Cargo.toml feat(ipc): send external ipc messages to active session through cli 2020-10-21 09:24:31 +02:00
CODE_OF_CONDUCT.md docs(coc): initial 2020-10-27 11:11:10 +01:00
demo.gif chore(assets): add demo gif 2020-10-27 11:40:00 +01:00
mosaic-logo-hexagon.png docs(readme): add logo 2020-10-26 16:24:36 +01:00
README.md docs(readme): add chat 2020-10-29 15:42:00 +01:00
roadmap.md docs(roadmap): initial 2020-10-27 10:56:05 +01:00


logo
Mosaic

demo

Discord Chat

What is this?

Mosaic is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer (similar to tmux and screen), but this is merely its infrastructure layer.

For more details, read about upcoming features in our roadmap.

Right now Mosaic is in its early development stages and is not yet ready for everyday usage. If you're interested, watch this space or better yet - get involved!

How to use it?

  • Clone the project
  • In the project folder, run: cargo run

(note that right now Mosaic only supports linux and maybe mac)

Some temporary controls (these will be changed to something more convenient when the project matures a little):

  • ctrl-n - split focused pane vertically
  • ctrl-b - split focused pane horizontally
  • ctrl-j - resize focused pane down
  • ctrl-k - resize focused pane up
  • ctrl-h - resize focused pane left
  • ctrl-l - resize focused pane right
  • ctrl-p - move focus to next pane
  • ctrl-[ - scroll up in focused pane
  • ctrl-] - scroll down in focused pane
  • ctrl-x - close focused pane
  • ctrl-q - quit Mosaic

What is the current status of the project?

Mosaic is in the last stages of being VT compatible. As much as modern terminals are. Most things should work inside a terminal pane, but some edge cases don't.

Right now, Mosaic:

  • Successfully renders shells (all experiments have been done with fish-cli).
  • Can split the terminal into multiple horizontal/vertical panes
  • Can resize panes, as well as close them
  • Can scroll up and down inside a pane
  • Can render a vim pane
  • Can render most so called "raw mode" applications that draw a textual user interface and refresh themselves.

Please, don't do anything important with it. It's currently being stabilized and still panics quite a bit. :)

How do I get involved?

At the moment, the project is in early development and prototyping. A lot of the work needed to be done is product work (making decisions about what Mosaic will be and do) as well as development work. So note that most tasks would probably involve a little of both. We're a small team of enthusiasts, and we eagerly welcome people who would like to join in at this early stage.

Because of the above, it's not trivial for us to have issues tagged "Help Wanted" or "Good First Issue", as all work would likely need some prior discussion. That said, we would absolutely love to have these discussions and to bring more people on. Even if you are unsure of your abilities or have never contributed to open source before. To get started, join our chat and let us know you're interested in contributing: https://discord.gg/CrUAFH3

We respectfully ask that you do your best to stand by any commitments you make.

And most importantly, please read our code of conduct.

License

MIT