From 4cfe5ef1586db043a2f63ffb63b085dd808fb7ff Mon Sep 17 00:00:00 2001 From: Vasilij Schneidermann Date: Wed, 22 Jun 2016 00:02:40 +0200 Subject: [PATCH] Enable switching window configs with mouse-1 Closes #51 --- eyebrowse.el | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/eyebrowse.el b/eyebrowse.el index c18599f..72a77c6 100644 --- a/eyebrowse.el +++ b/eyebrowse.el @@ -1,4 +1,4 @@ -;;; eyebrowse.el --- Easy window config switching +;;; eyebrowse.el --- Easy window config switching -*- lexical-binding: t; -*- ;; Copyright (C) 2014-2016 Vasilij Schneidermann @@ -517,11 +517,21 @@ is detected, extra key bindings will be set up with left-delimiter (mapconcat (lambda (window-config) - (let ((slot (car window-config)) - (caption (eyebrowse-format-slot window-config))) - (if (= slot current-slot) - (propertize caption 'face 'eyebrowse-mode-line-active) - (propertize caption 'face 'eyebrowse-mode-line-inactive)))) + (let* ((slot (car window-config)) + (face (if (= slot current-slot) + 'eyebrowse-mode-line-active + 'eyebrowse-mode-line-inactive)) + (keymap + (let ((map (make-sparse-keymap))) + (define-key map (kbd "") + (lambda (e) + (interactive "e") + (eyebrowse-switch-to-window-config slot))) + map)) + (caption (eyebrowse-format-slot window-config))) + (propertize caption 'face face 'slot slot + 'mouse-face 'mode-line-highlight + 'local-map keymap))) window-configs separator) right-delimiter) "")))