Navigate i3wm named containers
Project description
Fluidspaces
Create i3 workspaces with custom names on the fly
Type a few letters to jump to a target workspace using fuzzy matching
Quick toggle between the two most recently used workspaces
Bring/send containers to workspaces while doing any of the above
Prerequisite Software
i3
Necessary for fluidspaces to be useful.
pacman -S i3 # to install on Arch
Refer to the i3 repository docs to install on Ubuntu.
rofi
Used to get user input via pop-up menu.
sudo pacman -S rofi # to install on Arch sudo apt install rofi # to install on Ubuntu
Installing Fluidspaces
From PyPi:
pip install fluidspaces
From source:
git clone https://github.com/mosbasik/fluidspaces.git cd fluidspaces pip install .
Argument Reference
- -h, --help
show this help message and exit
- -b, --bring-to
bring focused container with you to workspace
- -s, --send-to
send focused container away to workspace
- -t, --toggle
skip menu prompt & choose workspace 2 (useful for “Alt-Tab” behavior)
- -V, --version
show program’s version number and exit
Example i3 configuration
bindsym $mod+c exec fluidspaces bindsym $mod+Shift+c exec fluidspaces --send-to bindsym $mod+Ctrl+Shift+c exec fluidspaces --bring-to bindsym $mod+Tab exec fluidspaces --toggle bindsym $mod+Shift+Tab exec fluidspaces --toggle --send-to
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.2.4
Changed
Simpler README and CHANGELOG formats to get them to render nicely on PyPi and Github
0.2.3
Added
An actually useful README file
Changed
README and CHANGELOG files now use reStructuredText format instead of Markdown
Package’s long description now includes the contents of CHANGELOG at the end
All argument descriptions now start with small letters to match argparse’s built-in descriptions for --help and --version
0.2.2
Fixed
Crash on startup if not run from an intact git repository (i.e. if run using a sdist build, a github archive, a pypi archive, or literally anything but a dev evironment)
0.2.1
Fixed
Navigating to / bringing a container to a new workspace promotes that workspace (the new workspace used to stay at the back where it was created - with a numberless name - until it was navigated to again)
0.2.0
Added
-V/--version flag prints program version and exits
Changed
Now using setuptools_scm to get the package version from git tags instead of keeping a VERSION file
0.1.0
Added
This CHANGELOG file, to keep track of changes in this project over time.
Project URL now included in setup.py information.
MIT license (from Choose a License) now included in LICENSE and in setup.py information.
-t/--toggle instead of prompting the user for which workspace to use as the target for going/sending/bringing actions, use the first workspace whose title contains 2: as the target. Can be used to implement quick toggling between the top two workspaces.
0.0.1
Added
fluidspaces script navigates to the workspace chosen by the user from a list of the current i3 workspaces.
-s/--send-to send the currently focused i3 container to the chosen workspace.
-b/--bring-to navigate to the chosen workspace and bring the currently focused i3 container to it at the same time.
Every execution of fluidspaces (i.e., with/without flags, user selects workspace / user exits early, etc.) re-numbers all existing i3 workspaces such that the top one is 1, the next is 2, and so on with no gaps. Existing workspace ordering is maintained.
Navigating to a workspace with any form of fluidspaces “promotes” the chosen workspace to position 1 and renumbers the rest of the workspaces to remove the just-created gap.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.