• This repository has been archived on 26/Oct/2023
  • Stars
    star
    388
  • Rank 110,734 (Top 3 %)
  • Language
    C
  • License
    MIT License
  • Created almost 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

i3 for Windows

b3

GitHub Telegram chat GitHub All Releases Donate with Bitcoin

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. Copy the example.config to bin (See FAQ if you want to personalize the configuration))
  4. 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. Copy the example.config to bin (See FAQ if you want to personalize the configuration))
  5. 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

A default config file is included in the release zip. To get started right away, it is already placed as config in the same directory as b3.exe.

For more information on where the configuration file can be placed please see the included man page.

Are there known limitations?

Yes, please see here.

Documentation

User

  • In the unzipped release you can perform man -l man/b3.1 to see the available command line options and where the configuration file can be placed.
  • Since b3 tries to be a drop in replacement for i3 you can use i3 User's Guide also for b3. But please cross check it with the compatibility list.
  • b3 releases ship a default configuration file. You can check it to see a list of most used commands.

Developer

  • Currently you have to read the source code entirely to get into b3 development. But most methods/functions have a documentation string. In the future some sort of generated documentation and/or class diagram will be added.

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:

git clone https://github.com/ritschmaster/b3.git
cd 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:

git clone https://github.com/ritschmaster/b3.git
cd 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 [email protected]

License

MIT License

Donations

Show me that you really like it by donating something. Thanks for any amount!

My Bitcoin address: 3DF2eTL9KSndqbuQTokWvTbUpDNQ6RuwxU