emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fringe in Show/Hide menu?


From: Pavel Janík
Subject: Fringe in Show/Hide menu?
Date: Mon, 01 Apr 2002 19:19:34 +0200
User-agent: Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2.50 (i386-suse-linux-gnu)

Hi,

I'd like to see the possibility of turning on/off fringes in Show/Hide
submenu of Options menu. Here is my current code:

2002-04-01  Pavel Janík  <address@hidden>

        * menu-bar.el (menu-bar-showhide-menu): Rename menu items.
        (menu-bar-showhide-fringe-menu): New sub-menu.
        (toggle-fringe): New function.
        (menu-bar-showhide-fringe-menu): New menu-items.

There is one problem - I do not see an easy way of saving this to .emacs
via customize. Do you have an idea?

--- menu-bar.el.~1.205.~        Sun Mar 31 11:12:18 2002
+++ menu-bar.el Mon Apr  1 18:13:12 2002
@@ -616,7 +616,7 @@
     (message "Display-time mode disabled.")))
 
 (define-key menu-bar-showhide-menu [showhide-date-time]
-  '(menu-item "Date and time" (lambda ()
+  '(menu-item "Date and Time" (lambda ()
                                (interactive)
                                (showhide-date-time)
                                (customize-mark-as-set 'display-time-mode))
@@ -635,6 +635,49 @@
                              (frame-visible-p 
                               (symbol-value 'speedbar-frame))))))
 
+(defvar menu-bar-showhide-fringe-menu (make-sparse-keymap "Fringe"))
+
+(defun toggle-fringe (&optional arg)
+  "Toggle fringes on/off.
+ARG can be one of 'left-fringe or 'right-fringe.
+When called interactively, both fringes are toggled"
+  (interactive)
+  (if (null arg)
+      (progn
+       (toggle-fringe 'left-fringe)
+       (toggle-fringe 'right-fringe))
+    (modify-frame-parameters
+     (selected-frame)
+     (list (cons arg
+                (if (< 0 (cdr (assq arg
+                                    (frame-parameters))))
+                    0 nil))))))
+
+(define-key menu-bar-showhide-fringe-menu [right]
+  '(menu-item "On the Right" 
+             (lambda ()
+               (interactive)
+               (toggle-fringe 'right-fringe))
+             :help "Turn fringe on the right on/off"
+             :visible window-system
+             :button (:toggle . (< 0 (cdr (assq 'right-fringe
+                                                (frame-parameters)))))))
+
+(define-key menu-bar-showhide-fringe-menu [left]
+  '(menu-item "On the Left" 
+             (lambda ()
+               (interactive)
+               (toggle-fringe 'left-fringe))
+             :help "Turn fringe on the left on/off"
+             :visible window-system
+             :button (:toggle . (< 0 (cdr (assq 'left-fringe
+                                                (frame-parameters)))))))
+
+(define-key menu-bar-showhide-menu [showhide-fringe]
+  (list 'menu-item "Fringe" menu-bar-showhide-fringe-menu
+       :visible 'window-system
+       :help "Select fringe mode"))
+
 (defvar menu-bar-showhide-scroll-bar-menu (make-sparse-keymap "Scroll-bar"))
 
 (define-key menu-bar-showhide-scroll-bar-menu [right]
@@ -668,7 +711,7 @@
                                               (frame-parameters))) nil))))
 
 (define-key menu-bar-showhide-menu [showhide-scroll-bar]
-  (list 'menu-item "Scroll-Bar" menu-bar-showhide-scroll-bar-menu
+  (list 'menu-item "Scroll-bar" menu-bar-showhide-scroll-bar-menu
        :visible 'window-system
        :help "Select scroll-bar mode"))
 

-- 
Pavel Janík

Congratulations. You have been brainwashed by Dan Bernstein.
                  -- Linus Torvalds in linux-kernel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]