Need help with workgroups2?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

pashinin
233 Stars 32 Forks GNU General Public License v3.0 384 Commits 37 Opened issues

Description

Workgroups2 - Emacs session manager

Services available

!
?

Need anything else?

Contributors list

# 42,925
C
text-se...
SQL
postgre...
349 commits
# 45,947
Emacs
ivy
emacs-l...
React
16 commits
N/A
4 commits
# 392,004
Emacs
emacs-p...
Ada
Shell
3 commits
# 341,526
Shell
CSS
HTML
Express
2 commits
# 27,876
emacs-l...
elisp
zsh-com...
lean
1 commit
# 428,827
Shell
C
Haskell
1 commit

[[https://travis-ci.org/pashinin/workgroups2][https://travis-ci.org/pashinin/workgroups2.svg?branch=master]] [[http://melpa.org/#/workgroups2][file:http://melpa.org/packages/workgroups2-badge.svg]] [[http://stable.melpa.org/#/workgroups2][file:http://stable.melpa.org/packages/workgroups2-badge.svg]] * Workgroups for Emacs Workgroups is a session manager for Emacs.

  • It saves all your opened buffers, their location and sizes on disk to restore later
  • You can create several workspaces

You can also restore such buffers as: org-agenda, shell, magit-status, help.

Fork it, [[https://github.com/pashinin/workgroups2/wiki/How-to-restore-a-specific-type-of-buffer][add more special buffers support]]. Or even better - fix bugs.

** Install Just install "workgroups2" from Melpa and activate it with

+begin_src elisp

(require 'workgroups2)

+end_src

** Usage *** Quick Start Use =M-x wg-create-workgroup= to save current windows layout.

Use =M-x wg-open-workgroup= to open saved windows layout. *** Enable minor mode =workgroups-mode= (OPTIONAL) Put below line at the bottom of =.emacs=,

+begin_src elisp

(workgroups-mode 1)

+end_src

Most commands are bound to both = = and = C-=.

By default prefix is: "C-c z" (To change it - see settings below)

+begin_example

c - create workgroup A - rename workgroup k - kill workgroup v - switch to workgroup C-s - save session C-f - load session

+end_example

If you want to set up this minor mode further:

+begin_src elisp

(require 'workgroups2) ;; Your settings here

;;(setq wg-session-load-on-start t) ; default: (not (daemonp))

;; Change prefix key (before activating WG) (setq wg-prefix-key (kbd "C-c z"))

;; Set your own keyboard shortcuts to reload/save/switch WGs: ;; "s" == "Super" or "Win"-key, "S" == Shift, "C" == Control (global-set-key (kbd "") 'wg-reload-session) (global-set-key (kbd "C-S-") 'wg-save-session) (global-set-key (kbd "s-z") 'wg-switch-to-workgroup) (global-set-key (kbd "s-/") 'wg-switch-to-previous-workgroup)

(workgroups-mode 1) ; put this one at the bottom of .emacs

+end_src

** Tips (OPTIONAL) You can use =M-x customize-group workgroups= to see all variables and faces to change.

+begin_src elisp

;; Change workgroups session file (setq wg-session-file "~/.emacs.d/.emacs_workgroups")

;; What to do on Emacs exit / workgroups-mode exit? (setq wg-emacs-exit-save-behavior 'save) ; Options: 'save 'ask nil (setq wg-workgroups-mode-exit-save-behavior 'save) ; Options: 'save 'ask nil

;; Mode Line changes ;; Display workgroups in Mode Line? (setq wg-mode-line-display-on t) ; Default: (not (featurep 'powerline)) (setq wg-flag-modified t) ; Display modified flags as well (setq wg-mode-line-decor-left-brace "[" wg-mode-line-decor-right-brace "]" ; how to surround it wg-mode-line-decor-divider ":")

+end_src

Hooks' names can tell when they are executed

+begin_src elisp

workgroups-mode-hook ; when

workgroups-mode' is turned on
workgroups-mode-exit-hook               ;
workgroups-mode' is turned off wg-before-switch-to-workgroup-hook wg-after-switch-to-workgroup-hook

+end_src

** Help

For you:

  1. = ?= or =(wg-help)= - help buffer listing all the commands and their bindings.
  2. =M-x customize-group RET workgroups RET= - all customization options

For me:

  1. Reporting a bug - give me full =(backtrace)= of what happened and how you did it.
  2. Requesting a major-mode support - write how you install, configure and run yours.
  3. Make pull-requests
  4. Ask questions (if you don't know how to hack it). Personally I found the code very complex at first

License

workgroups2 is free software: you can redistribute it and/or modify it under the terms of the [[https://raw.githubusercontent.com/redguardtoo/workgroups2/master/LICENSE][GNU General Public License]] as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

workgroups2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [[https://raw.githubusercontent.com/redguardtoo/workgroups2/master/LICENSE][GNU General Public License]] for more details.

This extension is based on experimental branch of the [[http://github.com/tlh/workgroups.el][original repo]].

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.