all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#59624: Usning global-mode-string for small screens
@ 2022-11-27  2:51 Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-27  5:32 ` Gabriel
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-27  2:51 UTC (permalink / raw)
  To: 59624


A convenenient way to update the mode-line is to use "global-mode-string".  This is quite powerful
because I can easily insert and remove the information in "global-mode-string" that one introduces 
in the mode-line.  For instance, one can add an indicator "Indic" in the mode.  Then easily remove 
it by resetting "global-mode-string".

Yet introducing global-mode-string, gets to be printed after the mode-lighters.  This is a problem
far small screens.  

(setq act "Indic")
(push '("" act) global-mode-string)

A more appropriate implementation could allow one to decide where to insert "global-mode-string"
(beginning, before buffer-name, before mode-lighter, end) or some other way suitable to people 
who have to endure small screens.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-27  2:51 bug#59624: Usning global-mode-string for small screens Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-27  5:32 ` Gabriel
  2022-11-27  6:55   ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriel @ 2022-11-27  5:32 UTC (permalink / raw)
  To: 59624

You can customize the variable `mode-line-format' in order to change the
position of `mode-line-misc-info', e.g.:

(setq act "Indic")
(push '("" act) global-mode-string)

(setq-default mode-line-format
              '("%e" mode-line-front-space
                (:propertize ("" mode-line-mule-info mode-line-client
                              mode-line-modified mode-line-remote)
                             display (min-width (5.0)))
                mode-line-frame-identification mode-line-buffer-identification
                mode-line-misc-info ;; <-- HERE
                "   " mode-line-position
                (vc-mode vc-mode)
                "  " mode-line-modes mode-line-end-spaces))

---
Gabriel





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-27  5:32 ` Gabriel
@ 2022-11-27  6:55   ` Eli Zaretskii
  2022-11-27  8:08     ` Gabriel
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-11-27  6:55 UTC (permalink / raw)
  To: Gabriel; +Cc: 59624

> From: Gabriel <gabriel376@hotmail.com>
> Date: Sun, 27 Nov 2022 02:32:35 -0300
> 
> You can customize the variable `mode-line-format' in order to change the
> position of `mode-line-misc-info', e.g.:
> 
> (setq act "Indic")
> (push '("" act) global-mode-string)
> 
> (setq-default mode-line-format
>               '("%e" mode-line-front-space
>                 (:propertize ("" mode-line-mule-info mode-line-client
>                               mode-line-modified mode-line-remote)
>                              display (min-width (5.0)))
>                 mode-line-frame-identification mode-line-buffer-identification
>                 mode-line-misc-info ;; <-- HERE
>                 "   " mode-line-position
>                 (vc-mode vc-mode)
>                 "  " mode-line-modes mode-line-end-spaces))

Is there a bug or some issue here?

IOW, I don't understand what you wanted to say.  Please explain.
(Or did you send this to the wrong address?)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-27  6:55   ` Eli Zaretskii
@ 2022-11-27  8:08     ` Gabriel
  2022-11-27  8:21       ` Eli Zaretskii
       [not found]       ` <trinity-b12dd0f4-5576-4927-8a9e-9060206c5d28-1669568279229@3c-app-mailcom-bs09>
  0 siblings, 2 replies; 8+ messages in thread
From: Gabriel @ 2022-11-27  8:08 UTC (permalink / raw)
  To: 59624

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gabriel <gabriel376@hotmail.com>
>> Date: Sun, 27 Nov 2022 02:32:35 -0300
>> 
>> You can customize the variable `mode-line-format' in order to change the
>> position of `mode-line-misc-info', e.g.:
>> 
>> (setq act "Indic")
>> (push '("" act) global-mode-string)
>> 
>> (setq-default mode-line-format
>>               '("%e" mode-line-front-space
>>                 (:propertize ("" mode-line-mule-info mode-line-client
>>                               mode-line-modified mode-line-remote)
>>                              display (min-width (5.0)))
>>                 mode-line-frame-identification mode-line-buffer-identification
>>                 mode-line-misc-info ;; <-- HERE
>>                 "   " mode-line-position
>>                 (vc-mode vc-mode)
>>                 "  " mode-line-modes mode-line-end-spaces))
>
> Is there a bug or some issue here?
>
> IOW, I don't understand what you wanted to say.  Please explain.
> (Or did you send this to the wrong address?)

I wanted to respond to OP one way to customize the display position of
`global-mode-string' in mode-line, which I think could solve their
issue.

---
Gabriel





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-27  8:08     ` Gabriel
@ 2022-11-27  8:21       ` Eli Zaretskii
       [not found]       ` <trinity-b12dd0f4-5576-4927-8a9e-9060206c5d28-1669568279229@3c-app-mailcom-bs09>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2022-11-27  8:21 UTC (permalink / raw)
  To: Gabriel; +Cc: 59624

> From: Gabriel <gabriel376@hotmail.com>
> Date: Sun, 27 Nov 2022 05:08:03 -0300
> 
> > IOW, I don't understand what you wanted to say.  Please explain.
> > (Or did you send this to the wrong address?)
> 
> I wanted to respond to OP one way to customize the display position of
> `global-mode-string' in mode-line, which I think could solve their
> issue.

Sorry, I was confused because your message didn't quote the one to which you
were responding.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
       [not found]       ` <trinity-b12dd0f4-5576-4927-8a9e-9060206c5d28-1669568279229@3c-app-mailcom-bs09>
@ 2022-11-27 17:04         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-29 12:34           ` Gabriel
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-27 17:04 UTC (permalink / raw)
  To: 59624@debbugs.gnu.org, gabriel376@hotmail.com

I would need some more assistance to get this to work for me.

When should I update mode-line-format ?  

Call it first, followed by (push '("" act) global-mode-string).

Would I have to call (force-mode-line-update) ?

> > Sent: Sunday, November 27, 2022 at 8:08 PM
> > From: "Gabriel" gabriel376@hotmail.com
> > To: 59624@debbugs.gnu.org
> > Subject: bug#59624: Usning global-mode-string for small screens
> > 
> > Eli Zaretskii eliz@gnu.org writes:
> > 
> > > > From: Gabriel gabriel376@hotmail.com
> > > > Date: Sun, 27 Nov 2022 02:32:35 -0300
> > > > 
> > > > You can customize the variable `mode-line-format' in order to change the position of` mode-line-misc-info', e.g.:
> > > > 
> > > > (setq act "Indic")
> > > > (push '("" act) global-mode-string)
> > > > 
> > > > (setq-default mode-line-format
> > > > '("%e" mode-line-front-space
> > > > (:propertize ("" mode-line-mule-info mode-line-client
> > > > mode-line-modified mode-line-remote)
> > > > display (min-width (5.0)))
> > > > mode-line-frame-identification mode-line-buffer-identification
> > > > mode-line-misc-info ;; <-- HERE
> > > > " " mode-line-position
> > > > (vc-mode vc-mode)
> > > > " " mode-line-modes mode-line-end-spaces))
> > > 
> > > Is there a bug or some issue here?
> > > 
> > > IOW, I don't understand what you wanted to say. Please explain.
> > > (Or did you send this to the wrong address?)
> > 
> > I wanted to respond to OP one way to customize the display position of
> > `global-mode-string' in mode-line, which I think could solve their
> > issue.
> > 
> > ---
> > Gabriel





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-27 17:04         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-29 12:34           ` Gabriel
  2022-11-29 18:52             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriel @ 2022-11-29 12:34 UTC (permalink / raw)
  To: 59624

Heime via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:

> I would need some more assistance to get this to work for me.
>
> When should I update mode-line-format ?  
>
> Call it first, followed by (push '("" act) global-mode-string).
>
> Would I have to call (force-mode-line-update) ?
>

Emacs is smart enough to know when to update the mode-line.  What is
the exactly problem you are facing?  Does the following code do not work
for you?

(progn
  ;; create the `act` variable
  (setq act "Indic")

  ;; add `act` to `global-mode-string`, so it's displayed in the mode-line
  (push '("" act) global-mode-string)

  ;; change position of `global-mode-string` in the mode-line
  (setq-default mode-line-format
        '("%e" mode-line-front-space
                  (:propertize ("" mode-line-mule-info mode-line-client
                mode-line-modified mode-line-remote)
                               display (min-width (5.0)))
                  mode-line-frame-identification mode-line-buffer-identification
                  mode-line-misc-info ;; <-- TO HERE
                  "   " mode-line-position
                  (vc-mode vc-mode)
                  "  " mode-line-modes mode-line-end-spaces))

  ;; you can then update `act' as you want

  ;; the mode-line will be automatically
  ;; updated (when Emacs thinks it needs to)

  ;; the code below will update `act' every 3s
  (run-with-timer 3
                  3
                  (lambda ()
                    ;; not really needed, but you can force it
                    ;;(force-mode-line-update)
                    (setq act
                          (format"|act=%s|" (current-time-string))))))

---
Gabriel?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59624: Usning global-mode-string for small screens
  2022-11-29 12:34           ` Gabriel
@ 2022-11-29 18:52             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-29 18:52 UTC (permalink / raw)
  To: Gabriel; +Cc: 59624


------- Original Message -------
On Tuesday, November 29th, 2022 at 12:34 PM, Gabriel <gabriel376@hotmail.com> wrote:


> Heime via "Bug reports for GNU Emacs, the Swiss army knife of text
> editors" bug-gnu-emacs@gnu.org writes:
> 
> > I would need some more assistance to get this to work for me.
> > 
> > When should I update mode-line-format ?
> > 
> > Call it first, followed by (push '("" act) global-mode-string).
> > 
> > Would I have to call (force-mode-line-update) ?
> 
> 
> Emacs is smart enough to know when to update the mode-line. What is
> the exactly problem you are facing? Does the following code do not work
> for you?

Wanted to knew the exoct calling sequence, as you described.

What if a package or made changes the mode-line?  Changing
mode-line-format would not be an option then.  I want to add
a small list to whatever there is.  A suggestion has been to
add a list at the beginning of mode-line-format.

(push '("" act) mode-line-format)

> (progn
> ;; create the `act` variable
> (setq act "Indic")
> 
> ;; add `act` to `global-mode-string`, so it's displayed in the mode-line
> (push '("" act) global-mode-string)
> 
> ;; change position of `global-mode-string` in the mode-line
> (setq-default mode-line-format
> '("%e" mode-line-front-space
> (:propertize ("" mode-line-mule-info mode-line-client
> mode-line-modified mode-line-remote)
> display (min-width (5.0)))
> mode-line-frame-identification mode-line-buffer-identification
> mode-line-misc-info ;; <-- TO HERE
> " " mode-line-position
> (vc-mode vc-mode)
> " " mode-line-modes mode-line-end-spaces))
> 
> ;; you can then update `act' as you want ;; the mode-line will be automatically ;; updated (when Emacs thinks it needs to) ;; the code below will update` act' every 3s
> (run-with-timer 3
> 3
> (lambda ()
> ;; not really needed, but you can force it
> ;;(force-mode-line-update)
> (setq act
> (format"|act=%s|" (current-time-string))))))
> 
> ---
> Gabriel?
>





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-11-29 18:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-27  2:51 bug#59624: Usning global-mode-string for small screens Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-27  5:32 ` Gabriel
2022-11-27  6:55   ` Eli Zaretskii
2022-11-27  8:08     ` Gabriel
2022-11-27  8:21       ` Eli Zaretskii
     [not found]       ` <trinity-b12dd0f4-5576-4927-8a9e-9060206c5d28-1669568279229@3c-app-mailcom-bs09>
2022-11-27 17:04         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-29 12:34           ` Gabriel
2022-11-29 18:52             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.