You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-5Lines changed: 37 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,41 @@
4
4
5
5
## Idea
6
6
7
-
TODO
7
+
**newm** is a Wayland compositor written with laptops and touchpads in mind. The idea is, instead of placing windows inside the small viewport (that is, the monitor) to arrange them along an arbitrarily large two-dimensional wall (generally without windows overlapping) and focus the compositors job on moving around along this wall efficiently and providing ways to the user to rearrange the wall such that he finds the overall layout intuitive.
8
+
9
+
So, windows are placed on a two-dimensional grid of tiles taking either one by one, one by two, two by one, ... tiles of that grid. The compositor shows a one by one, two by two, ... view of that grid but scales the windows so they are usable on any zoom level (that is, zooming out the compositor actually changes the windows sizes). This makes switching between a couple of fullscreen applications very easy - place them in adjacent one by one tiles and have the compositor show a one by one view. And so on...
10
+
11
+
The basic commands therefore are navigation (left, right, top, bottom) and zoom-in and -out. These commands can be handled very intuitively on the touchpad (one- and two-finger gestures are reserved for interacting with the apps):
12
+
- Use three fingers to move around the wall
13
+
- Use four fingers to zoom out (move them upward) or in (downward)
14
+
15
+
To be able to arange the windows in a useful manner, use
16
+
- Logo (unless configured otherwise) plus one finger on the touchpad to move windows
17
+
- Logo (unless configured otherwise) plus two fingers on the touchpad to change the extent of a window
18
+
19
+
To get a quick overview of all windows, just hit the Mod (that is, unless configured otherwise, the Logo) key.
20
+
21
+
These behaviours can (partly) be configured (see below for setup). By default (check [default_config.py](newm/default_config.py)), for example the following key bindings are in place
22
+
-`Logo-hjkl`: Move around
23
+
-`Logo-HJKL`: Move windows around
24
+
-`Logo-Ctrl-hjkl`: Resize windows
25
+
-`Logo-f`: Toggle a fullscreen view of the focused window (possibly resizing it)
26
+
- ...
27
+
28
+
## Status and limitations
29
+
30
+
This is the first release of newm. Therefore a lot of configurable behaviour, quality of documentation and the like is still missing. However the basic building blocks have been in use on my machine from the beginning (2018) continuously.
31
+
32
+
The most relevant functional limitation at the moment is missing support for multi-monitor setups. Apart from that see [pywm](https://github.com/jbuchermn/pywm) for known issues concerning certain applications.
8
33
9
34
## Installing
10
35
36
+
### Arch Linux
37
+
38
+
For Arch Linux users, a `PKGBUILD` is provided (will be on the AUR). Currently this installation requires the python package `imageio` to be installed via the AUR or vie `pip`.
39
+
40
+
Alternatively, the installation procedure below is powered by pip.
41
+
11
42
### Prerequisites and pywm
12
43
13
44
[pywm](https://github.com/jbuchermn/pywm) is the abstraction layer for and main dependency of newm. If all prerequisites are installed, the command:
0 commit comments