#desktop-environment #adapter #integration #i3-wm #set #graphical #enwiro

app enwiro-adapter-i3wm

i3wm adapter for enwiro

2 releases

0.1.1 Feb 17, 2024
0.1.0 Jan 27, 2024

#472 in GUI




Enwiro is the successor to i3-env.


Integration with desktop environment

enwiro integrates with your desktop environment using adapters such as enwiro-adapter-i3wm. Adapters implement a set of basic features which enwiro can use in order to connect to your operating system's graphical environment.

Currently available adapters:

  • enwiro-adapter-i3wm supports i3

Configuring desktop environment integration

enwiro adapters have names prefixed with enwiro-adapter- and can be installed using cargo. For example, to install an adapter for i3, you can run

cargo install enwiro-adapter-i3wm.

In your configuration file, set adapter to your desired adapter. For example, to use enwiro-adapter-i3wm, set adapter to i3wm.

adapter = "i3wm"



An enwiro is a local folder or a symbolic link pointing to a folder.

An environment serves as a working directory for your applications, such as your terminal or your code editor.

An environment could be linked to:

  • Any branch of a Git repository checked out on your local computer
  • A folder on a remote computer
  • Any folder on your computer


Recipes are automatically generated blueprints for environments.

While they do not exist as environments on your computer yet, you can interact with them as if they were environments and when you do so, they will be created on the fly for you.

Recipes can have a hierarchical nature. For instance, the recipe for a Git repository might refer to the main working tree of the Git repository, and serve as the "parent recipe" to recipes for creating new worktrees for the same Git repository.


A lens is an activate mode in an environment. Some apps and window managers might use this to provide a different experience, layout or different features for a different part of workflow.

It could be said that lenses are the enwiro's interpretation of modal editing.

Use cases might include:

  • use different layouts for each step of test driven development
  • different layout for rebasing, code review, editing, etc.
  • different layout based on what monitor is being used


~176K SLoC