Update
authorJoerg Jaspert <joerg@debian.org>
Fri, 22 Jun 2018 07:02:03 +0000 (09:02 +0200)
committerJoerg Jaspert <joerg@debian.org>
Fri, 22 Jun 2018 07:02:03 +0000 (09:02 +0200)
.emacs.d/config/emacs.org

index e39e351..01974f9 100644 (file)
@@ -32,7 +32,7 @@ normal runtime.
                     ("elpa" . "http://elpa.gnu.org/packages/")
                    ))
     (add-to-list 'package-archives source t))
-  (package-initialize)
+  ;(package-initialize)
 
 
  ;; set use-package-verbose to t for interpreted .emacs,
@@ -2600,7 +2600,7 @@ Eww - Emacs browser (needs emacs 24.4 or higher)
    :bind ("C-M-+" . er/expand-region)
    :commands er/expand-region)
  #+END_SRC
-** NEXT eyebrowse
+** eyebrowse                                                     :CANCELLED:
 :LOGBOOK:
 - State "NEXT"       from "CANCELLED"  [2017-09-16 Sat 23:06]
 - State "CANCELLED"  from              [2017-08-26 Sat 15:06]
@@ -2611,7 +2611,7 @@ Eww - Emacs browser (needs emacs 24.4 or higher)
  managers like i3wm with their workspaces do. It displays their current
  state in the modeline by default. The behaviour is modeled after
  ranger, a file manager written in Python.
- #+BEGIN_SRC emacs-lisp
+ #+BEGIN_SRC emacs-lisp :tangle no
  (use-package eyebrowse
    :ensure t
    :config
@@ -2693,6 +2693,45 @@ CLOSED: [2017-08-26 Sat 15:07]
    :ensure t
    )
  #+END_SRC
+** CANCELLED framegroups                                         :CANCELLED:
+CLOSED: [2018-04-12 Do 23:37]
+:LOGBOOK:
+- State "CANCELLED"  from              [2018-04-12 Do 23:37] \\
+  tut nicht
+:END:
+[2018-04-11 Wed 17:09]
+Workspace management using frames
+#+BEGIN_SRC emacs-lisp :tangle yes
+(use-package framegroups
+  :load-path "elisp/local"
+  :config
+  (progn
+    (fg-desktop-setup)
+    ;; default layouts for framegroups
+    (defun my-framegroup-setup (name &rest _)
+      "Set up default framegroup layouts."
+      (interactive)
+      (pcase name
+        ;; emacs configuration
+        ("emacs"
+         (find-file "~/.emacs.d/config/emacs.org")
+         (split-window-right)
+         (find-file "~/.emacs.d/init.el"))
+        ;; programming projects
+        ("mail"
+         (gnus))
+        ;; dotfiles
+        ("zsh"
+         (find-file "~/.zsh"))
+        ("debian"
+         (find-file "~/devel/debian/"))
+        ))
+
+    (add-hook 'fg-create-hook #'my-framegroup-setup)
+
+    )
+)
+#+END_SRC
 ** CANCELLED git commit mode                                     :CANCELLED:
 CLOSED: [2017-08-26 Sat 15:07]
 :LOGBOOK:
@@ -4034,40 +4073,49 @@ CLOSED: [2017-08-26 Sat 14:44]
 
  But then there are some where it would just be deadly - like org-mode,
  gnus, so we have a list of modes where we don't want to see it.
- #+BEGIN_SRC emacs-lisp
- (use-package linum
-   :diminish linum-mode
-   :config
-   (progn
-     (validate-setq linum-format "%3d ")
-     (setq linum-mode-inhibit-modes-list '(org-mode
-                                           eshell-mode
-                                           shell-mode
-                                           gnus-group-mode
-                                           gnus-summary-mode
-                                           gnus-article-mode))
-
-     (defadvice linum-on (around linum-on-inhibit-for-modes)
-       "Stop the load of linum-mode for some major modes."
-       (unless (member major-mode linum-mode-inhibit-modes-list)
-         ad-do-it))
-
-     (ad-activate 'linum-on)
-
-     (use-package linum-relative
-       :ensure linum-relative
-       :init
-       (progn
-         (validate-setq linum-format 'dynamic)
-         )))
-   :init
-   (global-linum-mode 1))
+#+BEGIN_SRC emacs-lisp
+(if (version<= "26.0.50" emacs-version )
+    (progn
+      (global-display-line-numbers-mode 1)
+      (add-hook 'gnus-group-mode-hook (lambda (&optional dummy) (display-line-numbers-mode -1)))
+      (add-hook 'gnus-summary-mode-hook (lambda (&optional dummy) (display-line-numbers-mode -1)))
+      (add-hook 'gnus-article-mode-hook (lambda (&optional dummy) (display-line-numbers-mode -1))))
+  (progn
+    ; Old emacs versions
+    (use-package linum
+      :diminish linum-mode
+      :config
+      (progn
+        (validate-setq linum-format "%3d ")
+        (setq linum-mode-inhibit-modes-list '(org-mode
+                                              eshell-mode
+                                              shell-mode
+                                              gnus-group-mode
+                                              gnus-summary-mode
+                                              gnus-article-mode))
+
+        (defadvice linum-on (around linum-on-inhibit-for-modes)
+          "Stop the load of linum-mode for some major modes."
+          (unless (member major-mode linum-mode-inhibit-modes-list)
+            ad-do-it))
+
+        (ad-activate 'linum-on)
+
+        (use-package linum-relative
+          :ensure linum-relative
+          :init
+          (progn
+            (validate-setq linum-format 'dynamic)
+            )))
+      :init
+      (global-linum-mode 1))
 
- (use-package hlinum
-   :ensure t
-   :config
-   (progn
-     (hlinum-activate)))
+    (use-package hlinum
+      :ensure t
+      :config
+      (progn
+        (hlinum-activate)))
+    ))
  #+END_SRC
 
 ** lisp editing stuff
@@ -5508,6 +5556,43 @@ CLOSED: [2017-08-26 Sat 15:18]
                  (eldoc-mode))))
    )
  #+END_SRC
+** perspective
+[2018-06-12 Di 22:51] 
+
+provides tagged workspaces in Emacs, similar to workspaces in windows
+managers such as Awesome and XMonad (and somewhat similar to multiple
+desktops in Gnome or Spaces in OS X).
+
+perspective.el provides multiple workspaces (or "perspectives") for
+each Emacs frame. This makes it easy to work on many separate projects
+without getting lost in all the buffers.
+
+Each perspective is composed of a window configuration and a set of
+buffers. Switching to a perspective activates its window
+configuration, and when in a perspective only its buffers are
+available by default.
+
+Commands are all prefixed by C-x x. Here are the main commands:
+
+Key -- Command
+s -- persp-switch: Query a perspective to switch or create
+k -- persp-remove-buffer: Query a buffer to remove from current perspective
+c -- persp-kill : Query a perspective to kill
+r -- persp-rename: Rename current perspective
+a -- persp-add-buffer: Query an open buffer to add to current perspective
+A -- persp-set-buffer: Add buffer to current perspective and remove it from all others
+i -- persp-import: Import a given perspective from another frame.
+n, <right> -- persp-next : Switch to next perspective
+p, <left> -- persp-prev: Switch to previous perspective
+#+BEGIN_SRC emacs-lisp :tangle yes
+(use-package perspective
+  :ensure t
+  :config
+  (progn
+    (setq persp-mode-prefix-key (kbd "C-c w"))
+    (persp-mode)
+))
+#+END_SRC
 ** proced
  [2016-11-01 Tue 17:57]
  #+BEGIN_SRC emacs-lisp