Skip to content

Commit 767cf71

Browse files
Add motivation into readme (#9)
1 parent 32f484f commit 767cf71

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

README.md

+51
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,54 @@
11
[![Tests](https://github.com/abstractlyZach/magic-tiler/workflows/Tests/badge.svg)](https://github.com/abstractlyZach/magic-tiler/actions?workflow=Tests)
22
[![Codecov](https://codecov.io/gh/abstractlyZach/magic-tiler/branch/main/graph/badge.svg)](https://codecov.io/gh/abstractlyZach/magic-tiler)
33
[![PyPI](https://img.shields.io/pypi/v/magic-tiler.svg)](https://pypi.org/project/magic-tiler/)
4+
5+
# Magic Tiler
6+
Magic Tiler will instantly create your own IDE. No need for tmux! Write your own
7+
configurations easily or look to others' for inspiration: `link to configs`
8+
9+
## Motivation
10+
Ever since I started using an ultrawide monitor in favor of 2 separate monitors, I realized
11+
that it was really annoying to open up a ton of windows and resize them when it was always
12+
just a few repeatable configurations.
13+
14+
### python mode
15+
* editor for source code
16+
* editor for tests
17+
* browser for documentation/tickets
18+
* terminal for arbitrary commands like linting and running tests
19+
20+
### web dev mode
21+
* editor for source code
22+
* editor for tests
23+
* small terminal running linter
24+
* small terminal using a filewatcher to run tests
25+
* small terminal to automatically run typescript compiler
26+
* medium terminal to run arbitrary commands
27+
28+
### documentation mode
29+
* editor for document
30+
* browser/pager for source material
31+
* window that uses a filewatcher to autocompile the documentation
32+
33+
There were also a lot of consistent configurations that I wanted to use that just wouldn't
34+
work out of the box. I like splitting my monitor up with 25-50-25 or 20-60-20 ratios and
35+
that requires a lot of manual resizing. I could also set up elaborate rules in Sway and
36+
then make sure each window fits into those rules, but I don't even know how that would work
37+
since Sway can resize floating windows or existing windows, but an IDE that creates itself
38+
in an instant wouldn't have any existing windows. And rules affect windows at window creation
39+
so it's like a chicken-and-egg problem
40+
41+
42+
Sure, I could just use `tmux`, but that came with some issues:
43+
* tmux only handles terminals. it doesn't manage browsers, pdf viewers, or anything else
44+
* tmux has its own keybindings. Even if I used `tmux` next to a browser, I'd be using different commands to jump between tmux and the windows. I can't do that! My brain is smol and it can't handle that complexity.
45+
46+
## Goals
47+
* use only i3/sway to manage windows
48+
* create a DIY IDE with a single command
49+
* allow different IDEs to be defined through a readable file (like TOML)
50+
* run arbitrary commands (not just shells and TUIs!)
51+
52+
53+
## Alternatives
54+
* [tmux](https://github.com/tmux/tmux)

0 commit comments

Comments
 (0)