workgroups2

by pashinin

pashinin / workgroups2

Workgroups2 - Emacs session manager

221 Stars 33 Forks Last release: Not found GNU General Public License v3.0 382 Commits 2 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

[[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.