/b3

i3 for Windows

Primary LanguageCMIT LicenseMIT

b3

GitHub Join the chat at https://gitter.im/b3wm/community GitHub All Releases

b(aeck's implementation of i) 3 (wm for Windows)

Using b3

Using binary releases

  1. Head over to the Release page and download the latest binary zip file.
  2. Decompress it somwhere
  3. Execute b3.exe

Using source code releases

  1. Head over to the Release page and download the latest source zip file.
  2. Decompress it somwhere
  3. See Compiling
  4. Execute b3.exe

FAQ

What features of i3 are currently supported?

See here.

How does b3 integrate into Windows?

  • Your default Windows expierence stays the same. b3 lives within the Microsoft default Explorer shell and just adds functionalities you know and love of i3.
  • Stuff like Alt + Tab is still avialable
  • Switching between windows in the plain Windows way will be automatically recognized by b3 (e.g. switch to workspace of that window).
  • The Windows 10 desktop are still available but useless when b3 is running.
  • It is possible to rebind almost any key combination. Win + h, j, k, l is supported (for l see here)

What are the project's goals?

  1. Be as i3 like as possible while integrating into default Windows as easily as possible.
  2. Being stable is more important than having more features

I need a default configuration

Since version 0.4 a default config file is included in the release zip. There is also an example configuration available at tests/full.config (please place it as config in the same directory as b3.exe to use it).

Are there known limitations?

Yes, please see here.

Compiling

Dependencies

On Windows using Msys2

You will need a functioning MinGW environment. This sections describes the compilation using Msys2.

First install the dependencies:

pacman -S make cmake automake autoconf mingw-w64-x86_64-gcc libtool bison flex mingw64/mingw-w64-x86_64-pcre

Then compile and install Collections-C:

wget https://github.com/srdja/Collections-C/archive/master.zip
unzip master.zip
cd Collections-C-master/
sed -i s/add_subdirectory\(test\)//g CMakeLists.txt # Testing is not needed
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Then compile and install w32bindkeys. Please have a look at its README.

Then compile b3:

./autogen.sh
make

Afterwards you may install b3 - depending on your MinGW environment - by performing:

make install

If you are unsatisfied with b3 you may uninstall it again:

make uninstall

On Fedora Linux (64 bit)

First install MinGW:

sudo dnf install -y mingw64-gcc mingw64-gcc-c++ cmake automake autoconf autoconf-archive libtool bison flex mingw64-pcre

Then compile and install Collections-C:

wget https://github.com/srdja/Collections-C/archive/master.zip
unzip master.zip
cd Collections-C-master/
sed -i s/add_subdirectory\(test\)//g CMakeLists.txt # Testing is not needed
mkdir build
cd build
mingw64-cmake ..
sudo make install
sudo cp /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/collectionc.pc /usr/lib64/pkgconfig

Then compile and install w32bindkeys. Please have a look at its README.

Then compile b3:

export PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig/
./configure --host=x86_64-w64-mingw32
make

Version scheme

The version scheme of w32bindkeys is as follows: x.y.z

  • x is the stage:
    • < 0 is an unstable release
    • > 0 is a stable release
  • y incidates changes to the API or the configuration file functionalities.
  • z indicates additions without breaking any compatibility.

Author

Richard Bäck richard.baeck@mailbox.org

License

MIT License