wio

a wayland wm stylised after plan9 rio - forked from git.sr.ht/~srcmpwn/wio
git clone git://src.gearsix.net/wiowio.zip
Log | Files | Refs | Atom | Submodules | README | LICENSE

README.md (raw) (3795B)


   1 # wio
   2 
   3 Wio is a Wayland compositor for Linux & FreeBSD which has a similar look & feel
   4 to plan9's rio.
   5 
   6 This software is incomplete. Notably missing is a Rio-esque FUSE filesystem and
   7 Rio's built-in command line (we depend on an external, tty-style terminal
   8 emulator).
   9 
  10 ## Installation
  11 
  12 To build and install wio:
  13 
  14     git clone https://github.com/swaywm/wlroots.git subprojects/wlroots
  15     meson build
  16     cd build
  17     ninja install
  18 
  19 ## Basic principles
  20 
  21 Wio uses [wlroots](https://github.com/swaywm/wlroots) to run a simple Wayland
  22 compositor. Right clicking (and holding) outside of a window will bring up the
  23 menu. Drag the mouse to the command you'd like to execute and release the mouse.
  24 
  25 - **New**: Opens a new window. Click and hold the mouse, then drag, to define
  26     the placement for the new window.
  27 - **Resize**: Resizes a window. Click the window to resize, then click and drag
  28     somewhere else to define the new placement.
  29 - **Move**: Moves a window. Click and drag a window to move it.
  30 - **Delete**: Deletes a window. Click the window you want to close.
  31 - **Hide**: Hides a window. Open the menu again to show the window.
  32 
  33 Each window runs [cage](https://github.com/Hjdskes/cage) by default, and
  34 instructs cage to run a terminal emulator
  35 ([alacritty](https://github.com/jwilm/alacritty) by default). This effectively
  36 gives each window its own private Wayland compositor. If you want to run a
  37 graphical application, simply run the command from the terminal and cage will
  38 display it full-screen within its own window.
  39 
  40 To access Wio's own Wayland compositor directly (for example, to take
  41 screenshots with [grim](https://wayland.emersion.fr/grim)), set
  42 `WAYLAND_DISPLAY=wayland-0` or similar. Note, however, that the only shell for
  43 application windows which is supported directly by Wio is xdg-shell.
  44 
  45 ## Usage
  46 
  47 Some minor customization options are available by passing command line arguments
  48 to Wio:
  49 
  50     wio [-c <cage>] [-t <terminal>] [-o <output config>...]
  51 
  52 - **-c &lt;cage&gt;**: specifies the `cage` command to run new windows in
  53 - **-t &lt;term&gt;**: specifies the terminal command to run new windows in
  54 
  55 For the authentic rio experience, try the alacritty config in `contrib/`.
  56 
  57 ### Output configuration
  58 
  59 Wio supports multihead configurations and HiDPI displays. In order to take
  60 advantage of this, you must pass some output configurations on the command line.
  61 You can specify the following options, in this order:
  62 
  63 - Output name (`weston-info` can list output names & modes)
  64 - X & Y coordinates in the multihead layout
  65 - Width & height of the desired mode
  66 - Scale factor
  67 - Transform
  68 
  69 Each property should be separated by a colon. Use -1 for X & Y to have Wio
  70 automatically place the display, and 0 to have Wio select a mode or scale factor
  71 automatically. You may omit any of these properties, but must include any
  72 property which comes before the ones you're trying to set.
  73 
  74 For example, to specify the X & Y coordinates of output `HDMI-A-1`, try the
  75 following: `-o HDMI-A-1:1920:0`. If you also want to set its mode to 720p, use
  76 `-o HDMI-A-1:1920:0:1280:720`. If you don't care about setting the mode but want
  77 to flip it, use `-o HDMI-A-1:-1:-1:0:0:0:flipped`.
  78 
  79 Available transforms are:
  80 
  81 - `normal`
  82 - `90`
  83 - `180`
  84 - `270`
  85 - `flipped`
  86 - `flipped-90`
  87 - `flipped-180`
  88 - `flipped-270`
  89 
  90 ### Environment
  91 
  92 Wio recognizes the following environment variables for basic keyboard
  93 configuration:
  94 
  95 - `XKB_DEFAULT_RULES`
  96 - `XKB_DEFAULT_MODEL`
  97 - `XKB_DEFAULT_LAYOUT`
  98 - `XKB_DEFAULT_VARIANT`
  99 - `XKB_DEFAULT_OPTIONS`
 100 
 101 Read `xkeyboard-config(7)` for details.
 102 
 103 ## Patches, bugs, etc
 104 
 105 Patches, questions, feedback, and general discussions to the mailing list:
 106 [~sircmpwn/wio@lists.sr.ht](https://lists.sr.ht/~sircmpwn/wio).
 107 
 108 Tickets on the [bug tracker](https://todo.sr.ht/~sircmpwn/wio).