help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Displaying the window number in the mode line?


From: Joakim Hove
Subject: Re: Displaying the window number in the mode line?
Date: Thu, 22 May 2003 13:46:58 +0200
User-agent: Gnus/5.090017 (Oort Gnus v0.17) Emacs/21.2 (gnu/linux)

myrkraverk@users.sourceforge.net writes:

> Hi,
>
> I've made a crude hack to jump to a window with specific number, the
> functions are available at
>
>   http://www.emacswiki.org/cgi-bin/wiki.pl?SwitchingWindows
>
> and have been revised a little by better elisp hackers than me :)

Looks interesting!

> This has resulted in my desire to display the window[1] number in the
> mode line.  So far I've the following function to evalute the number
> of the selected window:
>
> (defun my-window-number ()
>   (number-to-string
>    (1- (length (memq (selected-window) (nreverse
>                                       (window-list)))))))
>
> Then I create this list with items I want to show in the modeline:
>
> (setq window-number-string
>       (list "W"
>       '(:eval (my-window-number)) " "))
>

I can not really help you - but some comments:

1. The *global*-mode-string is just that - i.e. it is gloablly shared
   among all windows (and even frames) - hence any code which simply
   sets global-mode-string to some value will result in the same value
   displayed in all windows. So (as far as I can see)
   global-mode-string is not the variable to use - others can maybe
   suggeste another variable to use for this?

> And add it to the global-mode-string:
>
> (add-to-list 'global-mode-string '("" window-number-string))

2. global-mode-string is a string - not a list. The following
   implements (my understanding of) what you want to achieve, but with
   the caveat mentioned above:

     (setq global-mode-string (format "Window: %s" (my-window-number)))
   
   The natural solution (if you can solve problem 1) above, would be
   to wrap this in a function, and then add this function as a hook
   called when splitting windows (I don't know if there is any such
   hook).

Good Luck


Joakim

-- 
Joakim Hove  / hove@bccs.no  /  (55 5) 84076


reply via email to

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