comparison lisp/fringe.el @ 83496:f271076dab2d

Fix toolbars on X frames when Emacs is started on a tty. (Reported by Richard Lewis.) * lisp/faces.el (x-create-frame-with-faces): Remove bogus check for first frame. Call `tool-bar-setup'. * lisp/frame.el (window-system-default-frame-alist): Enhance doc string. * lisp/frame.el (frame-notice-user-settings): Don't put 'tool-bar-lines in `default-frame-alist' when initial frame is on a tty. * lisp/frame.el (modify-all-frames-parameters): Simplify using `assq-delete-all'. Remove specified parameters from `window-system-default-frame-alist'. * lisp/fringe.el (set-fringe-mode): Simplify and fix using `modify-all-frames-parameters'. * lisp/menu-bar.el (menu-bar-mode): Ditto. * lisp/scroll-bar.el (set-scroll-bar-mode): Ditto. * lisp/tool-bar.el (tool-bar-mode): Ditto. Remove 'tool-bar-map length check before calling `tool-bar-setup'. * lisp/tool-bar.el (tool-bar-setup): New variable. * lisp/tool-bar.el (tool-bar-setup): Use it to guard against multiple calls. Add optional frame parameter, and select that frame before adding items. * src/frame.c (syms_of_frame): Enhance doc string of `default-frame-alist'. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-536
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 26 Mar 2006 13:57:43 +0000
parents 64b2a2990f41
children b8d9a391daf3
comparison
equal deleted inserted replaced
83495:989dc6aa2eb2 83496:f271076dab2d
102 (defun set-fringe-mode (value) 102 (defun set-fringe-mode (value)
103 "Set `fringe-mode' to VALUE and put the new value into effect. 103 "Set `fringe-mode' to VALUE and put the new value into effect.
104 See `fringe-mode' for possible values and their effect." 104 See `fringe-mode' for possible values and their effect."
105 (setq fringe-mode value) 105 (setq fringe-mode value)
106 106
107 ;; Apply it to default-frame-alist. 107 (modify-all-frames-parameters
108 (let ((parameter (assq 'left-fringe default-frame-alist))) 108 (list (cons 'left-fringe (if (consp fringe-mode)
109 (if (consp parameter) 109 (car fringe-mode)
110 (setcdr parameter (if (consp fringe-mode) 110 fringe-mode))
111 (car fringe-mode) 111 (cons 'right-fringe (if (consp fringe-mode)
112 fringe-mode)) 112 (cdr fringe-mode)
113 (setq default-frame-alist 113 fringe-mode)))))
114 (cons (cons 'left-fringe (if (consp fringe-mode)
115 (car fringe-mode)
116 fringe-mode))
117 default-frame-alist))))
118 (let ((parameter (assq 'right-fringe default-frame-alist)))
119 (if (consp parameter)
120 (setcdr parameter (if (consp fringe-mode)
121 (cdr fringe-mode)
122 fringe-mode))
123 (setq default-frame-alist
124 (cons (cons 'right-fringe (if (consp fringe-mode)
125 (cdr fringe-mode)
126 fringe-mode))
127 default-frame-alist))))
128
129 ;; Apply it to existing frames.
130 (let ((frames (frame-list)))
131 (while frames
132 (modify-frame-parameters
133 (car frames)
134 (list (cons 'left-fringe (if (consp fringe-mode)
135 (car fringe-mode)
136 fringe-mode))
137 (cons 'right-fringe (if (consp fringe-mode)
138 (cdr fringe-mode)
139 fringe-mode))))
140 (setq frames (cdr frames)))))
141 114
142 ;; For initialization of fringe-mode, take account of changes 115 ;; For initialization of fringe-mode, take account of changes
143 ;; made explicitly to default-frame-alist. 116 ;; made explicitly to default-frame-alist.
144 (defun fringe-mode-initialize (symbol value) 117 (defun fringe-mode-initialize (symbol value)
145 (let* ((left-pair (assq 'left-fringe default-frame-alist)) 118 (let* ((left-pair (assq 'left-fringe default-frame-alist))