All Projects β†’ Chimrod β†’ I3_workspaces

Chimrod / I3_workspaces

Workspace manager for i3-wm

Programming Languages

ocaml
1615 projects

Labels

Projects that are alternatives of or similar to I3 workspaces

I3 Style
🎨 Make your i3 config a little more stylish.
Stars: ✭ 583 (+1000%)
Mutual labels:  i3, i3wm
Nmcli Rofi
A simple manager for network connections using rofi and nmcli
Stars: ✭ 39 (-26.42%)
Mutual labels:  i3, i3wm
dotfiles
πŸ’» 🍚 πŸ”³ πŸ”² My riced-up Kali dotfiles – off-white | dark leet | chrome lambo
Stars: ✭ 55 (+3.77%)
Mutual labels:  i3, i3wm
I3ipc Python
🐍 An improved Python library to control i3wm and sway.
Stars: ✭ 634 (+1096.23%)
Mutual labels:  i3, i3wm
Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+1758.49%)
Mutual labels:  i3, i3wm
rofi-todo
πŸ““ Minimal todo client for the rofi launcher
Stars: ✭ 20 (-62.26%)
Mutual labels:  i3, i3wm
I3
A fork of the i3 window manager with gaps and some other features
Stars: ✭ 5,512 (+10300%)
Mutual labels:  i3, i3wm
Dotfiles
🌸 Configuration for i3, kitty, picom, ZSH, gtk, qutebrowser, qbittorrent and more... (All tools for an arch linux new installation)
Stars: ✭ 15 (-71.7%)
Mutual labels:  i3, i3wm
Direwolf Arch Rice
🐺🍚 A guide to replicating my riced Arch Linux set-up.
Stars: ✭ 501 (+845.28%)
Mutual labels:  i3, i3wm
I3 And Kde Plasma
How to install the i3 window manager on KDE
Stars: ✭ 279 (+426.42%)
Mutual labels:  i3, i3wm
i3-create-config
Script to create an i3 config from multiple files.
Stars: ✭ 27 (-49.06%)
Mutual labels:  i3, i3wm
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+1267.92%)
Mutual labels:  i3, i3wm
dotfiles
A collection of dotfiles for i3, polybar and more.
Stars: ✭ 25 (-52.83%)
Mutual labels:  i3, i3wm
I3blocks Airpods
i3blocks script for managing airpods and airpods pro.
Stars: ✭ 36 (-32.08%)
Mutual labels:  i3, i3wm
ansible-debian
Buildfiles: Ansible automated leight-weight and sensible Debian provisioning
Stars: ✭ 83 (+56.6%)
Mutual labels:  i3, i3wm
i3-workspace-handler
Create i3 workspaces on the fly and call them by name
Stars: ✭ 23 (-56.6%)
Mutual labels:  i3, i3wm
todofi.sh
Handle your todo-txt tasks directly from Rofi
Stars: ✭ 46 (-13.21%)
Mutual labels:  i3, i3wm
dotfiles
collection (and a backup) of my config files
Stars: ✭ 49 (-7.55%)
Mutual labels:  i3, i3wm
dotfiles
My dotfiles
Stars: ✭ 16 (-69.81%)
Mutual labels:  i3, i3wm
Matrixlock
Replace i3's lock screen by the Matrix.
Stars: ✭ 42 (-20.75%)
Mutual labels:  i3, i3wm

A workspace manager for I3 wm

Goals

i3_workspaces allow you to configure your workspace easily. I use it for setting a wallpaper to each workspace, or launch application on some workspaces.

Problem with assign

The assign keyword in the i3 configuration allow you to set a dedicated workspace for an application. This solution as flaws, like moving ALL the windows on this workspace, even if the parent has been moved to another one workspace.

We are answering the problem in a different way : instead of creating the window, then moving it to a workspace, you run the application when the workspace is created. You can then forget all the placement rules, and you can move the application anywhere, without being annoyed by pop-up window created on another workspace.

Configuration

Create a configuration in ${XDG_CONFIG_HOME}/i3_workspaces/config with :

[global]
image=~/wallpaper/default.jpg
on_focus=feh --bg-scale ${image}

[1]
image=~/wallpaper/1.jpg

[2]
image=~/wallpaper/2.jpg
on_init_swallow_class=URxvt

[mail]
on_init=thunderbird

[web]
image=~/wallpaper/web.jpg
on_init=firefox
on_init_swallow_class=Firefox

[music]
on_init=gmpc
  • the on_focus command will be launched on workspace change.
  • the on_init will be launched on workspace creation.

Keys defined in global section will apply on any workspace, and can be overriden in a dedicated workspace section.

The key on_init_swallow_class tells i3 that the window with the given class shall be placed on the workspace. It create a container in the workspace, and i3 will not destroy it if you leave the workspace right after creating it : this prevent on_init event to be run a second time when the window is created.

Layout

You can also let the application manage for you the window placement. i3_workspaces provide a binary layout which automaticaly divide each container following a binary space partionning :

Layout example

[global]
layout=binary

Compilation

The application is coded in OCaml, a functionnal language, and uses i3ipc to communicate with the i3.

Require opam

Download the project and compile it with opam pin add https://github.com/Chimrod/i3_workspaces.git

Install with sudo make install

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].