Git Product home page Git Product logo

wtftw's Introduction

wtftw

Window Tiling For The Win. A tiling window manager written in Rust

Screenshot

Status

Build Status Gitter Issue Stats Issue Stats

Build

Notice: Wtftw is compiled against Rust1.2.0+, so make sure to have a recent enough rustc.

To build it, just run

cargo build

On OSX, you might get a linker error when linking against X11 or Xinerama. For example:

ld: library not found for -lXinerama

You need to install XQuartz to get the X11 libraries, and make sure that they are found. Then just run

LIBRARY_PATH=/opt/X11/lib cargo build

Testing

If you want to have your own custom config, create one in ~/.wtftw/src/config.rs. You can find an example config in config/config.rs in this repository.

For testing, install either Xnest or Xephyr on your system and run

Xephyr -screen 800x600 :1 &
DISPLAY=:1 ./target/release/wtftw &
DISPLAY=:1 thunar & (or whatever application you want to run)

or respectively

Xnest -geometry 800x600+0+0 :1 &
DISPLAY=:1 ./target/release/wtftw &
DISPLAY=:1 thunar &

Installation

Compile it normally with cargo build --release, and then either use it with your .xinitrc or your favorite display manager. If you want to configure it, take a look at the example config in config/.

After the first start, the config needs to be placed in ~/.wtftw/src/config.rs. Voila.

Commands

In a default setting, the commands are hardcoded, but can be changed in your own config.

Switch workspace

ALT+num

Open terminal

ALT+SHIFT+Enter

Additional layouts and other extensions

To keep wtftw as small and lean as possible, all layouts (except the standard one) have been moved to wtftw-contrib

FAQ

Does it work with dual monitors?

Yes, yes it does. Just use xrandr and you're set. Wtftw will automatically detect the changed setup. It works with as many monitors as your xrandr and xinerama can handle.

What are the alternatives to xmobar?

Dzen

What font and programs are you using on the screenshot?

The font is Envy Code R, and the programs are xmobar, vim, htop, screenfetch, weechat and ncmpcpp.

Why should I use wtftw than dwm or even awesome?

That is more of a personal choice. Wtftw is akin to xmonad. You can do almost anything you want with the config file. Extend it, change it at runtime, your only boundary is the rust language itself. Plus, using it would help a Rust project to detect bugs and improve it.

Tutorial

I will be making a tutorial series on how to write a window manager. A bit busy with my thesis at the moment, but the first part is here

wtftw's People

Contributors

anthiste avatar blakewilliams avatar coyotebush avatar gitter-badger avatar kintaro avatar nathanross avatar nxnfufunezn avatar pfpacket avatar reem avatar skade avatar steveklabnik avatar victor-savu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.