Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lbonn/i3-focus-last


https://github.com/lbonn/i3-focus-last

i3 rust sway tool

Last synced: 8 days ago
JSON representation

Awesome Lists containing this project

README

        

i3-focus-last
=============

[![Crate](https://meritbadge.herokuapp.com/i3-focus-last)](https://crates.io/crates/i3-focus-last)

Another implementation of this classic (and useful) example of i3 ipc use.

Works on reasonable versions of i3 and sway >= 1.2.

Done in [rust](https://www.rust-lang.org):

* for fun!
* it's compiled, so we won't suffer from the overhead of starting a new
interpreter for each client (the python version I used was sluggish at
times, for this reason)

Usage
-----

Add this line to your i3 or Sway configuration:

```
exec_always i3-focus-last server
```

Then, add a binding to execute `i3-focus-last`:

```
bindsym $mod+Tab exec i3-focus-last
```

Menu mode
---------

i3-focus-last can be used with [rofi](https://github.com/davatorium/rofi) to display a window switcher menu in which the entries are sorted by focus order.

To launch it, just run `i3-focus-last menu` when the server is running (or bind it to some key combination).

It can also shows icons corresponding to the window class or app_id. This mapping can be customized by modifying `~/.config/i3-focus-last/icons.json`. For example:

```
{
"Alacritty": "terminal",
"firefox": "firefox",
"Chromium": "chromium"
}
```

The values in the dictionary should be names of icons in `/usr/share/icons/**`.