Giter Club home page Giter Club logo

i3-ws-groups's Introduction

i3-ws-groups

Add workspace groups to the i3 window manager to easily switch between sets of workspaces.
Create or switch to a workspace group and use the set of workspaces in that group

Significantly expands i3 multitasking capability by allowing users to have a set of related workspaces easily accessible for a specific purpose

For instance, I used it in college to have a workspace group for each class, with each class having its own relevant reading material, web pages, editor, etc.

Features

  • Full set of workspaces available per workspace group
  • Set specific workspaces as easily accessible from any workspace, using [order_number]:const:[name]
  • Create or switch workspaces using rofi selector
  • Move windows between groups using i3-ws-groups selector without --instant, then move windows to desired workspace in newly selected group

Installation

  • Patch polybar using i3-ws-groups-polybar.patch (can easily create patches for other status bars)
  • Add i3-ws-groups to PATH
  • Add to i3 configuration (example in example_configs/i3-config)
    • Add initialization
      exec --no-startup-id "i3-ws-groups init"
    • Change workspace switch bindings
      bindsym $mod+1 workspace 1 -> bindsym $mod+1 exec "i3-ws-groups ws-switch 1:1"
      (workspaces must be referenced as [order_number]:[name] for current group workspace or
      [order_number]:const:[name] to be accessible from any workspace group)
    • Change workspace window move bindings
      bindsym $mod+Shift+1 move container to workspace 1:1 -> bindsym $mod+Shift+1 exec "i3-ws-groups ws-move 1:1"
    • Add workspace group selector bindings
      bindsym Mod1+n exec "i3-ws-groups selector --instant"
      bindsym Mod1+Shift+n exec "i3-ws-groups selector" (used to switch windows between groups)
  • Add current workspace name display to polybar (example in example_configs/polybar-config)
    • Add to bar modules modules-right = i3-ws-group date time username powermenu
    • Add module definition
      [module/i3-ws-group]
      type = custom/script
      exec = i3-ws-groups current
      interval = 1
      

Dependencies

  • python3
  • rofi
  • jq

i3-ws-groups's People

Contributors

maxweis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.