unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Improving Scroll Bar Tools
@ 2024-05-10 10:40 Heime
  2024-05-10 12:46 ` Po Lu
  2024-05-15  8:50 ` Jean Louis
  0 siblings, 2 replies; 28+ messages in thread
From: Heime @ 2024-05-10 10:40 UTC (permalink / raw)
  To: Heime via Users list for the GNU Emacs text editor


Emacs has the possibility to applying vertical scrollbars per-window.

(set-window-scroll-bars (selected-window) nil 'right)

It appears that the inclusion of horizontal scrollbar functionality came later
in the deselopment process.   As it stands, the options for per-buffer and per-window scrollbars seem to affect only vertical scrollbars, with no corresponding options for horizontal scrollbars.

The word "scroll-bars" (in set-window-scroll-bars) effectively goes with the 
assumption that scroll-bars only refer to vertical scrollbars. 

It would be an improvement should the vertical and horizontal scroll bar tools
could be implemented in a more thoughtful way.  So that scroll bars refer to
both vertical and horizontal types.  And that the functionality at per-buffer 
and per-window level is made consistent.




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

* Re: Improving Scroll Bar Tools
  2024-05-10 10:40 Improving Scroll Bar Tools Heime
@ 2024-05-10 12:46 ` Po Lu
  2024-05-10 13:28   ` Heime
  2024-05-15  8:50 ` Jean Louis
  1 sibling, 1 reply; 28+ messages in thread
From: Po Lu @ 2024-05-10 12:46 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

Heime <heimeborgia@protonmail.com> writes:

> The word "scroll-bars" (in set-window-scroll-bars) effectively goes
> with the assumption that scroll-bars only refer to vertical
> scrollbars.

Really?  Why, then, is "scroll bar" rendered in the plural?



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

* Re: Improving Scroll Bar Tools
  2024-05-10 12:46 ` Po Lu
@ 2024-05-10 13:28   ` Heime
  2024-05-10 13:42     ` Po Lu
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-10 13:28 UTC (permalink / raw)
  To: Po Lu; +Cc: Heime via Users list for the GNU Emacs text editor

On Saturday, May 11th, 2024 at 12:46 AM, Po Lu <luangruo@yahoo.com> wrote:

> Heime heimeborgia@protonmail.com writes:
> 
> > The word "scroll-bars" (in set-window-scroll-bars) effectively goes
> > with the assumption that scroll-bars only refer to vertical
> > scrollbars.
> 
> 
> Really? Why, then, is "scroll bar" rendered in the plural?

Could you show me how I can enable-disable vertical-horizontal scroll-bars
per window basis ?  Have not managed to figure out what needs to switched on 
or off exactly.




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

* Re: Improving Scroll Bar Tools
  2024-05-10 13:28   ` Heime
@ 2024-05-10 13:42     ` Po Lu
  2024-05-10 14:09       ` Heime
  2024-05-10 22:59       ` Heime
  0 siblings, 2 replies; 28+ messages in thread
From: Po Lu @ 2024-05-10 13:42 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

Heime <heimeborgia@protonmail.com> writes:

> Could you show me how I can enable-disable vertical-horizontal
> scroll-bars per window basis ?  Have not managed to figure out what
> needs to switched on or off exactly.

Did you read the doc string of the function that you didn't quite
hesitate to criticize?



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

* Re: Improving Scroll Bar Tools
  2024-05-10 13:42     ` Po Lu
@ 2024-05-10 14:09       ` Heime
  2024-05-10 22:59       ` Heime
  1 sibling, 0 replies; 28+ messages in thread
From: Heime @ 2024-05-10 14:09 UTC (permalink / raw)
  To: Po Lu; +Cc: Heime via Users list for the GNU Emacs text editor

On Saturday, May 11th, 2024 at 1:42 AM, Po Lu <luangruo@yahoo.com> wrote:

> Heime heimeborgia@protonmail.com writes:
> 
> > Could you show me how I can enable-disable vertical-horizontal
> > scroll-bars per window basis ? Have not managed to figure out what
> > needs to switched on or off exactly.
> 
> 
> Did you read the doc string of the function that you didn't quite
> hesitate to criticize?

You are quite right.  After some tests I can switch either on or off.

Is there any relation with scroll-bar-mode ?  There are many scroll bar
functions, although a few of them are for returning configuration values.




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

* Re: Improving Scroll Bar Tools
  2024-05-10 13:42     ` Po Lu
  2024-05-10 14:09       ` Heime
@ 2024-05-10 22:59       ` Heime
  2024-05-11  0:12         ` Heime
  1 sibling, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-10 22:59 UTC (permalink / raw)
  To: Po Lu; +Cc: Heime via Users list for the GNU Emacs text editor

Sent with Proton Mail secure email.

On Saturday, May 11th, 2024 at 1:42 AM, Po Lu <luangruo@yahoo.com> wrote:

> Heime heimeborgia@protonmail.com writes:
> 
> > Could you show me how I can enable-disable vertical-horizontal
> > scroll-bars per window basis ? Have not managed to figure out what
> > needs to switched on or off exactly.
> 
> 
> Did you read the doc string of the function that you didn't quite
> hesitate to criticize?

scroll-bar-mode does focus only upon vertical scrolling.  If I want 
horizontal scrolling I use set-window-scroll-bars.

How would be best to set both vertical and horizontal scroll bars
per frame.  Would one use just set-window-scroll-bars, or use
scroll-bar-mode with set-window-scroll-bars as well ?



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

* Re: Improving Scroll Bar Tools
  2024-05-10 22:59       ` Heime
@ 2024-05-11  0:12         ` Heime
  2024-05-11  6:54           ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-11  0:12 UTC (permalink / raw)
  To: Heime; +Cc: Po Lu, Heime via Users list for the GNU Emacs text editor

On Saturday, May 11th, 2024 at 10:59 AM, Heime <heimeborgia@protonmail.com> wrote:

> Sent with Proton Mail secure email.
> 
> On Saturday, May 11th, 2024 at 1:42 AM, Po Lu luangruo@yahoo.com wrote:
> 
> > Heime heimeborgia@protonmail.com writes:
> > 
> > > Could you show me how I can enable-disable vertical-horizontal
> > > scroll-bars per window basis ? Have not managed to figure out what
> > > needs to switched on or off exactly.
> > 
> > Did you read the doc string of the function that you didn't quite
> > hesitate to criticize?
> 
> 
> scroll-bar-mode does focus only upon vertical scrolling. If I want
> horizontal scrolling I use set-window-scroll-bars.
> 
> How would be best to set both vertical and horizontal scroll bars
> per frame. Would one use just set-window-scroll-bars, or use
> scroll-bar-mode with set-window-scroll-bars as well ?

I have seen that applying vertical and horizontal scroll bars with

(set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)

will not let the following to take complete effect an all windows in frame

(scroll-bar-mode 1)
(horizontal-scroll-bar-mode 0)





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

* Re: Improving Scroll Bar Tools
  2024-05-11  0:12         ` Heime
@ 2024-05-11  6:54           ` Eli Zaretskii
  2024-05-11  7:28             ` Heime
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-11  6:54 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 11 May 2024 00:12:11 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: Po Lu <luangruo@yahoo.com>,
>  Heime via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
> 
> I have seen that applying vertical and horizontal scroll bars with
> 
> (set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)
> 
> will not let the following to take complete effect an all windows in frame
> 
> (scroll-bar-mode 1)
> (horizontal-scroll-bar-mode 0)

The ELisp manual clearly says that set-window-scroll-bars overrides
the frame-specific settings of scroll bars.



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

* Re: Improving Scroll Bar Tools
  2024-05-11  6:54           ` Eli Zaretskii
@ 2024-05-11  7:28             ` Heime
  2024-05-11  7:37               ` Heime
  2024-05-11  8:31               ` Eli Zaretskii
  0 siblings, 2 replies; 28+ messages in thread
From: Heime @ 2024-05-11  7:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs






Sent with Proton Mail secure email.

On Saturday, May 11th, 2024 at 6:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sat, 11 May 2024 00:12:11 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: Po Lu luangruo@yahoo.com,
> > Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org
> > 
> > I have seen that applying vertical and horizontal scroll bars with
> > 
> > (set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)
> > 
> > will not let the following to take complete effect an all windows in frame
> > 
> > (scroll-bar-mode 1)
> > (horizontal-scroll-bar-mode 0)
> 
> 
> The ELisp manual clearly says that set-window-scroll-bars overrides
> the frame-specific settings of scroll bars.

This is a problem because if one forgets changing some window  with
set-window-scroll-bars, and the modes do not work, it is a problem.

If one wants to remove horizontal scroll in all windows in frame,
the command should be expected to do so, nothwithstanding any 
previous changes with a different command (e.g. set-window-scroll-bars).



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

* Re: Improving Scroll Bar Tools
  2024-05-11  7:28             ` Heime
@ 2024-05-11  7:37               ` Heime
  2024-05-11  8:36                 ` Eli Zaretskii
  2024-05-11  8:31               ` Eli Zaretskii
  1 sibling, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-11  7:37 UTC (permalink / raw)
  To: Heime; +Cc: Eli Zaretskii, help-gnu-emacs






Sent with Proton Mail secure email.

On Saturday, May 11th, 2024 at 7:28 PM, Heime <heimeborgia@protonmail.com> wrote:

> 
> 
> 
> 
> 
> Sent with Proton Mail secure email.
> 
> 
> On Saturday, May 11th, 2024 at 6:54 PM, Eli Zaretskii eliz@gnu.org wrote:
> 
> > > Date: Sat, 11 May 2024 00:12:11 +0000
> > > From: Heime heimeborgia@protonmail.com
> > > Cc: Po Lu luangruo@yahoo.com,
> > > Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org
> > > 
> > > I have seen that applying vertical and horizontal scroll bars with
> > > 
> > > (set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)
> > > 
> > > will not let the following to take complete effect an all windows in frame
> > > 
> > > (scroll-bar-mode 1)
> > > (horizontal-scroll-bar-mode 0)
> > 
> > The ELisp manual clearly says that set-window-scroll-bars overrides
> > the frame-specific settings of scroll bars.
> 
> 
> This is a problem because if one forgets changing some window with
> set-window-scroll-bars, and the modes do not work, it is a problem.
> 
> If one wants to remove horizontal scroll in all windows in frame,
> the command should be expected to do so, nothwithstanding any
> previous changes with a different command (e.g. set-window-scroll-bars).

One cannot expect users to remember whether a specific window in a frame
has been changed with set-window-scroll-bars.  And if one wants a global 
change, one has to go on each window individually to change their setting.

Simply allowing the modes to take effect is more understandable, convenient 
and easy to use.



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

* Re: Improving Scroll Bar Tools
  2024-05-11  7:28             ` Heime
  2024-05-11  7:37               ` Heime
@ 2024-05-11  8:31               ` Eli Zaretskii
  2024-05-11 15:38                 ` Heime
  1 sibling, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-11  8:31 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 11 May 2024 07:28:33 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> Sent with Proton Mail secure email.
> 
> On Saturday, May 11th, 2024 at 6:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > > Date: Sat, 11 May 2024 00:12:11 +0000
> > > From: Heime heimeborgia@protonmail.com
> > > Cc: Po Lu luangruo@yahoo.com,
> > > Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org
> > > 
> > > I have seen that applying vertical and horizontal scroll bars with
> > > 
> > > (set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)
> > > 
> > > will not let the following to take complete effect an all windows in frame
> > > 
> > > (scroll-bar-mode 1)
> > > (horizontal-scroll-bar-mode 0)
> > 
> > 
> > The ELisp manual clearly says that set-window-scroll-bars overrides
> > the frame-specific settings of scroll bars.
> 
> This is a problem because if one forgets changing some window  with
> set-window-scroll-bars, and the modes do not work, it is a problem.
> 
> If one wants to remove horizontal scroll in all windows in frame,
> the command should be expected to do so, nothwithstanding any 
> previous changes with a different command (e.g. set-window-scroll-bars).

You are mixing two different levels of functions.  scroll-bar-mode and
horizontal-scroll-bar-mode are user commands, whereas
set-window-scroll-bars is a Lisp function.  If there is a
contradiction between them, it is a problem for the user-level
functionality which mixes them, and it is up to that user-level
functionality (presumably, some code you have written) to fix the
problem, whatever it is.

Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
they each one have a hook, which could be used to turn off
window-specific scroll bars.  However, I don't recommend that because
that would prevent users from having window-specific scroll bars that
do not heed to frame-global settings.  IOW, you will be coding a
feature that works against documented Emacs behavior.



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

* Re: Improving Scroll Bar Tools
  2024-05-11  7:37               ` Heime
@ 2024-05-11  8:36                 ` Eli Zaretskii
  0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-11  8:36 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 11 May 2024 07:37:35 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, help-gnu-emacs@gnu.org
> 
> > If one wants to remove horizontal scroll in all windows in frame,
> > the command should be expected to do so, nothwithstanding any
> > previous changes with a different command (e.g. set-window-scroll-bars).
> 
> One cannot expect users to remember whether a specific window in a frame
> has been changed with set-window-scroll-bars.  And if one wants a global 
> change, one has to go on each window individually to change their setting.

Users aren't supposed to invoke set-window-scroll-bars, as it is not a
user command.

> Simply allowing the modes to take effect is more understandable, convenient 
> and easy to use. 

And wrong, for the reasons I explained in the previous message.



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

* Re: Improving Scroll Bar Tools
  2024-05-11  8:31               ` Eli Zaretskii
@ 2024-05-11 15:38                 ` Heime
  2024-05-11 16:29                   ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-11 15:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs






Sent with Proton Mail secure email.

On Saturday, May 11th, 2024 at 8:31 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sat, 11 May 2024 07:28:33 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: help-gnu-emacs@gnu.org
> > 
> > Sent with Proton Mail secure email.
> > 
> > On Saturday, May 11th, 2024 at 6:54 PM, Eli Zaretskii eliz@gnu.org wrote:
> > 
> > > > Date: Sat, 11 May 2024 00:12:11 +0000
> > > > From: Heime heimeborgia@protonmail.com
> > > > Cc: Po Lu luangruo@yahoo.com,
> > > > Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org
> > > > 
> > > > I have seen that applying vertical and horizontal scroll bars with
> > > > 
> > > > (set-window-scroll-bars (selected-window) nil 'right nil 'bottom nil)
> > > > 
> > > > will not let the following to take complete effect an all windows in frame
> > > > 
> > > > (scroll-bar-mode 1)
> > > > (horizontal-scroll-bar-mode 0)
> > > 
> > > The ELisp manual clearly says that set-window-scroll-bars overrides
> > > the frame-specific settings of scroll bars.
> > 
> > This is a problem because if one forgets changing some window with
> > set-window-scroll-bars, and the modes do not work, it is a problem.
> > 
> > If one wants to remove horizontal scroll in all windows in frame,
> > the command should be expected to do so, nothwithstanding any
> > previous changes with a different command (e.g. set-window-scroll-bars).
> 
> 
> You are mixing two different levels of functions. scroll-bar-mode and
> horizontal-scroll-bar-mode are user commands, whereas
> set-window-scroll-bars is a Lisp function. If there is a
> contradiction between them, it is a problem for the user-level
> functionality which mixes them, and it is up to that user-level
> functionality (presumably, some code you have written) to fix the
> problem, whatever it is.

How do users change the scroll bars of specific windows ?
 
> Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
> they each one have a hook, which could be used to turn off
> window-specific scroll bars. However, I don't recommend that because
> that would prevent users from having window-specific scroll bars that
> do not heed to frame-global settings. IOW, you will be coding a
> feature that works against documented Emacs behavior.

Ok, you want the minor modes not to affect window-specific scroll bars that
users customised.



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

* Re: Improving Scroll Bar Tools
  2024-05-11 15:38                 ` Heime
@ 2024-05-11 16:29                   ` Eli Zaretskii
  2024-05-11 23:00                     ` Heime
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-11 16:29 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 11 May 2024 15:38:54 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> > You are mixing two different levels of functions. scroll-bar-mode and
> > horizontal-scroll-bar-mode are user commands, whereas
> > set-window-scroll-bars is a Lisp function. If there is a
> > contradiction between them, it is a problem for the user-level
> > functionality which mixes them, and it is up to that user-level
> > functionality (presumably, some code you have written) to fix the
> > problem, whatever it is.
> 
> How do users change the scroll bars of specific windows ?

There's no Emacs feature currently to do that (but maybe there are
third-party packages out there offering such capabilities).

> > Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
> > they each one have a hook, which could be used to turn off
> > window-specific scroll bars. However, I don't recommend that because
> > that would prevent users from having window-specific scroll bars that
> > do not heed to frame-global settings. IOW, you will be coding a
> > feature that works against documented Emacs behavior.
> 
> Ok, you want the minor modes not to affect window-specific scroll bars that
> users customised. 

That is the current arrangement, yes.  Window-specific scroll bars
take precedence over the frame-global settings.



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

* Re: Improving Scroll Bar Tools
  2024-05-11 16:29                   ` Eli Zaretskii
@ 2024-05-11 23:00                     ` Heime
  2024-05-12  6:08                       ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-11 23:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs


Sent with Proton Mail secure email.

On Sunday, May 12th, 2024 at 4:29 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sat, 11 May 2024 15:38:54 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: help-gnu-emacs@gnu.org
> > 
> > > You are mixing two different levels of functions. scroll-bar-mode and
> > > horizontal-scroll-bar-mode are user commands, whereas
> > > set-window-scroll-bars is a Lisp function. If there is a
> > > contradiction between them, it is a problem for the user-level
> > > functionality which mixes them, and it is up to that user-level
> > > functionality (presumably, some code you have written) to fix the
> > > problem, whatever it is.
> > 
> > How do users change the scroll bars of specific windows ?
> 
> 
> There's no Emacs feature currently to do that (but maybe there are
> third-party packages out there offering such capabilities).
> 
> > > Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
> > > they each one have a hook, which could be used to turn off
> > > window-specific scroll bars. However, I don't recommend that because
> > > that would prevent users from having window-specific scroll bars that
> > > do not heed to frame-global settings. IOW, you will be coding a
> > > feature that works against documented Emacs behavior.
> > 
> > Ok, you want the minor modes not to affect window-specific scroll bars that
> > users customised.
> 
> 
> That is the current arrangement, yes. Window-specific scroll bars
> take precedence over the frame-global settings.

Briefly, window-specific scroll bars are to be customised via a package, rather
that directly by the user.  

Should packages change window-specific scroll bars using set-window-scroll-bars ?
And once changed, should only the package handle them rather than users using
the minor modes ?  

Should there be many windows with specific scroll bar customisations, we cannot 
usually rely on users to remember whether it happened through the global minor 
mode or the package - would you agree ?





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

* Re: Improving Scroll Bar Tools
  2024-05-11 23:00                     ` Heime
@ 2024-05-12  6:08                       ` Eli Zaretskii
  2024-05-12 13:51                         ` Heime
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-12  6:08 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 11 May 2024 23:00:13 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> > There's no Emacs feature currently to do that (but maybe there are
> > third-party packages out there offering such capabilities).
> > 
> > > > Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
> > > > they each one have a hook, which could be used to turn off
> > > > window-specific scroll bars. However, I don't recommend that because
> > > > that would prevent users from having window-specific scroll bars that
> > > > do not heed to frame-global settings. IOW, you will be coding a
> > > > feature that works against documented Emacs behavior.
> > > 
> > > Ok, you want the minor modes not to affect window-specific scroll bars that
> > > users customised.
> > 
> > 
> > That is the current arrangement, yes. Window-specific scroll bars
> > take precedence over the frame-global settings.
> 
> Briefly, window-specific scroll bars are to be customised via a package, rather
> that directly by the user.  

No, that's not what I meant.  What I meant was that Emacs currently
doesn't have built-in commands to customize window-specific scroll
bars.  An add-on package could offer such commands, and then users who
install that package will have such commands at their disposal.

> Should packages change window-specific scroll bars using set-window-scroll-bars ?

Yes.

> And once changed, should only the package handle them rather than users using
> the minor modes ?  

The package should resolve the issues with window-specific and
frame-global settings of scroll bars in a way that makes sense to
users.

> Should there be many windows with specific scroll bar customisations, we cannot 
> usually rely on users to remember whether it happened through the global minor 
> mode or the package - would you agree ?

No, I don't agree.  The commands and features implemented by such a
package should be able to take care of that without relying on the
user's memory.  The infrastructure exists already, for example in the
form of scroll-bar-mode-hook and its ilk.



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

* Re: Improving Scroll Bar Tools
  2024-05-12  6:08                       ` Eli Zaretskii
@ 2024-05-12 13:51                         ` Heime
  2024-05-12 15:01                           ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-12 13:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs

On Sunday, May 12th, 2024 at 6:08 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sat, 11 May 2024 23:00:13 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: help-gnu-emacs@gnu.org
> > 
> > > There's no Emacs feature currently to do that (but maybe there are
> > > third-party packages out there offering such capabilities).
> > > 
> > > > > Since scroll-bar-mode and horizontal-scroll-bar-mode are minor modes,
> > > > > they each one have a hook, which could be used to turn off
> > > > > window-specific scroll bars. However, I don't recommend that because
> > > > > that would prevent users from having window-specific scroll bars that
> > > > > do not heed to frame-global settings. IOW, you will be coding a
> > > > > feature that works against documented Emacs behavior.
> > > > 
> > > > Ok, you want the minor modes not to affect window-specific scroll bars that
> > > > users customised.
> > > 
> > > That is the current arrangement, yes. Window-specific scroll bars
> > > take precedence over the frame-global settings.
> > 
> > Briefly, window-specific scroll bars are to be customised via a package, rather
> > that directly by the user.
> 
> 
> No, that's not what I meant. What I meant was that Emacs currently
> doesn't have built-in commands to customize window-specific scroll
> bars. An add-on package could offer such commands, and then users who
> install that package will have such commands at their disposal.
> 
> > Should packages change window-specific scroll bars using set-window-scroll-bars ?
> 
> 
> Yes.
> 
> > And once changed, should only the package handle them rather than users using
> > the minor modes ?
> 
> 
> The package should resolve the issues with window-specific and
> frame-global settings of scroll bars in a way that makes sense to
> users.
> 
> > Should there be many windows with specific scroll bar customisations, we cannot
> > usually rely on users to remember whether it happened through the global minor
> > mode or the package - would you agree ?
> 
> No, I don't agree. The commands and features implemented by such a
> package should be able to take care of that without relying on the
> user's memory. The infrastructure exists already, for example in the
> form of scroll-bar-mode-hook and its ilk.

My point was identical - the package should take care of things without 
relying upon the user's memory.  I tried using my memory and it was awful.

How can a package know whether a window-specific setting was introduced by
set-window-scroll-bars ?

Would you be kind enough to show the specific use of scroll-bar-mode-hook and 
its ilk for the purpose you have in mind, so I can develop it ?



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

* Re: Improving Scroll Bar Tools
  2024-05-12 13:51                         ` Heime
@ 2024-05-12 15:01                           ` Eli Zaretskii
  2024-05-12 16:10                             ` Heime
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-12 15:01 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sun, 12 May 2024 13:51:47 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> On Sunday, May 12th, 2024 at 6:08 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > No, I don't agree. The commands and features implemented by such a
> > package should be able to take care of that without relying on the
> > user's memory. The infrastructure exists already, for example in the
> > form of scroll-bar-mode-hook and its ilk.
> 
> My point was identical - the package should take care of things without 
> relying upon the user's memory.  I tried using my memory and it was awful.
> 
> How can a package know whether a window-specific setting was introduced by
> set-window-scroll-bars ?

By looking at the value returned by window-scroll-bars.

> Would you be kind enough to show the specific use of scroll-bar-mode-hook and 
> its ilk for the purpose you have in mind, so I can develop it ?  

Sorry, I don't have time (and I don't really know what you'd like to
do when frame's scroll-bars are changed).  I can describe the idea: in
the hook function use set-window-scroll-bars to change the
window-specific scroll bars according to what you want.



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

* Re: Improving Scroll Bar Tools
  2024-05-12 15:01                           ` Eli Zaretskii
@ 2024-05-12 16:10                             ` Heime
  2024-05-12 17:11                               ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-12 16:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs

On Monday, May 13th, 2024 at 3:01 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 12 May 2024 13:51:47 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: help-gnu-emacs@gnu.org
> > 
> > On Sunday, May 12th, 2024 at 6:08 PM, Eli Zaretskii eliz@gnu.org wrote:
> > 
> > > No, I don't agree. The commands and features implemented by such a
> > > package should be able to take care of that without relying on the
> > > user's memory. The infrastructure exists already, for example in the
> > > form of scroll-bar-mode-hook and its ilk.
> > 
> > My point was identical - the package should take care of things without
> > relying upon the user's memory. I tried using my memory and it was awful.
> > 
> > How can a package know whether a window-specific setting was introduced by
> > set-window-scroll-bars ?
> 
> 
> By looking at the value returned by window-scroll-bars.
> 
> > Would you be kind enough to show the specific use of scroll-bar-mode-hook and
> > its ilk for the purpose you have in mind, so I can develop it ?
> 
> 
> Sorry, I don't have time (and I don't really know what you'd like to
> do when frame's scroll-bars are changed). I can describe the idea: in
> the hook function use set-window-scroll-bars to change the
> window-specific scroll bars according to what you want.

Eli, when set-window-scroll-bars have been applied to a window I want to know
some settings were applied.  That what you'd like to know.  For the reason
that I would know that those windows would be unaffected by user changes
to the minor mode settings.

Are you suggesting that I hook functions that handle set-window-scroll-bars 
commands with the scroll minor modes ?

Once a window settings have been changed by set-window-scroll-bars, how can
one release the change and make them once again affected by the minor modes.
In a previous comment, you described that the aforementioned situation might
not be a good idea because their use is not designed for such sort of thing.
What would be the standard procedure then, to kill or close the window ?
 




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

* Re: Improving Scroll Bar Tools
  2024-05-12 16:10                             ` Heime
@ 2024-05-12 17:11                               ` Eli Zaretskii
  2024-05-12 17:28                                 ` Heime
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-12 17:11 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sun, 12 May 2024 16:10:46 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> On Monday, May 13th, 2024 at 3:01 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > > How can a package know whether a window-specific setting was introduced by
> > > set-window-scroll-bars ?
> > 
> > By looking at the value returned by window-scroll-bars.
> > 
> > > Would you be kind enough to show the specific use of scroll-bar-mode-hook and
> > > its ilk for the purpose you have in mind, so I can develop it ?
> > 
> > 
> > Sorry, I don't have time (and I don't really know what you'd like to
> > do when frame's scroll-bars are changed). I can describe the idea: in
> > the hook function use set-window-scroll-bars to change the
> > window-specific scroll bars according to what you want.
> 
> Eli, when set-window-scroll-bars have been applied to a window I want to know
> some settings were applied.  That what you'd like to know.

But I just told you how to do that, above: use window-scroll-bars.
Its doc string explains how to know whether a window-specific scroll
bars were set for the window by set-window-scroll-bars.

> Once a window settings have been changed by set-window-scroll-bars, how can
> one release the change and make them once again affected by the minor modes.

Use set-window-scroll-bars.  Its doc string tells you how to call it
so that the window will again use frame-global settings of scroll bars.

> In a previous comment, you described that the aforementioned situation might
> not be a good idea because their use is not designed for such sort of thing.
> What would be the standard procedure then, to kill or close the window ?

No, I said that window-specific settings take precedence over
frame-globals ones, and that coding a feature that would work
otherwise is not recommended.



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

* Re: Improving Scroll Bar Tools
  2024-05-12 17:11                               ` Eli Zaretskii
@ 2024-05-12 17:28                                 ` Heime
  2024-05-12 17:49                                   ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-12 17:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: help-gnu-emacs






Sent with Proton Mail secure email.

On Monday, May 13th, 2024 at 5:11 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 12 May 2024 16:10:46 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: help-gnu-emacs@gnu.org
> > 
> > On Monday, May 13th, 2024 at 3:01 AM, Eli Zaretskii eliz@gnu.org wrote:
> > 
> > > > How can a package know whether a window-specific setting was introduced by
> > > > set-window-scroll-bars ?
> > > 
> > > By looking at the value returned by window-scroll-bars.
> > > 
> > > > Would you be kind enough to show the specific use of scroll-bar-mode-hook and
> > > > its ilk for the purpose you have in mind, so I can develop it ?
> > > 
> > > Sorry, I don't have time (and I don't really know what you'd like to
> > > do when frame's scroll-bars are changed). I can describe the idea: in
> > > the hook function use set-window-scroll-bars to change the
> > > window-specific scroll bars according to what you want.
> > 
> > Eli, when set-window-scroll-bars have been applied to a window I want to know
> > some settings were applied. That what you'd like to know.
> 
> 
> But I just told you how to do that, above: use window-scroll-bars.
> Its doc string explains how to know whether a window-specific scroll
> bars were set for the window by set-window-scroll-bars.

I had missed that line.  I would use window-scroll-bars to test the 
scroll type - nil meaning that frame-globals would function.
 
> > Once a window settings have been changed by set-window-scroll-bars, how can
> > one release the change and make them once again affected by the minor modes.
> 
> 
> Use set-window-scroll-bars. Its doc string tells you how to call it
> so that the window will again use frame-global settings of scroll bars.
> 
> > In a previous comment, you described that the aforementioned situation might
> > not be a good idea because their use is not designed for such sort of thing.
> > What would be the standard procedure then, to kill or close the window ?
> 
> 
> No, I said that window-specific settings take precedence over
> frame-globals ones, and that coding a feature that would work
> otherwise is not recommended.

Users would then be required to change the window scroll bar type
to nil for them to have frame-global scroll bars to work.

Under what group would scroll bar features categorise under ?  Would
a new package for window specific scroll bars ideally define a minor 
mode or not ?




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

* Re: Improving Scroll Bar Tools
  2024-05-12 17:28                                 ` Heime
@ 2024-05-12 17:49                                   ` Eli Zaretskii
  0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2024-05-12 17:49 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sun, 12 May 2024 17:28:17 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: help-gnu-emacs@gnu.org
> 
> Under what group would scroll bar features categorise under ?  Would
> a new package for window specific scroll bars ideally define a minor 
> mode or not ?

This is a single setting, so a minor mode is an overkill, IMO.  A
single command should do, I think.



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

* Re: Improving Scroll Bar Tools
  2024-05-10 10:40 Improving Scroll Bar Tools Heime
  2024-05-10 12:46 ` Po Lu
@ 2024-05-15  8:50 ` Jean Louis
  2024-05-15 20:16   ` Emanuel Berg
  2024-05-15 21:27   ` Heime
  1 sibling, 2 replies; 28+ messages in thread
From: Jean Louis @ 2024-05-15  8:50 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2024-05-10 13:42]:
> The word "scroll-bars" (in set-window-scroll-bars) effectively goes with the 
> assumption that scroll-bars only refer to vertical scrollbars. 

Not to me, I do not feel that way. Scroll bars may be vertical and horizontal, it is traditionally so in computing.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding.

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Improving Scroll Bar Tools
  2024-05-15  8:50 ` Jean Louis
@ 2024-05-15 20:16   ` Emanuel Berg
  2024-05-18 13:37     ` Heime
  2024-05-15 21:27   ` Heime
  1 sibling, 1 reply; 28+ messages in thread
From: Emanuel Berg @ 2024-05-15 20:16 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

>> The word "scroll-bars" (in set-window-scroll-bars)
>> effectively goes with the assumption that scroll-bars only
>> refer to vertical scrollbars.
>
> Not to me, I do not feel that way. Scroll bars may be
> vertical and horizontal, it is traditionally so
> in computing.

Maybe programming would be more three dimensional if we had
a Z scroll bar as well?

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Improving Scroll Bar Tools
  2024-05-15  8:50 ` Jean Louis
  2024-05-15 20:16   ` Emanuel Berg
@ 2024-05-15 21:27   ` Heime
  2024-05-16  8:43     ` Jean Louis
  1 sibling, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-15 21:27 UTC (permalink / raw)
  To: Jean Louis; +Cc: Heime via Users list for the GNU Emacs text editor






Sent with Proton Mail secure email.

On Wednesday, May 15th, 2024 at 8:50 PM, Jean Louis <bugs@gnu.support> wrote:

> * Heime heimeborgia@protonmail.com [2024-05-10 13:42]:
> 
> > The word "scroll-bars" (in set-window-scroll-bars) effectively goes with the
> > assumption that scroll-bars only refer to vertical scrollbars.
> 
> 
> Not to me, I do not feel that way. Scroll bars may be vertical and horizontal, it is traditionally so in computing.

It was because of scroll-bar-mode because it is only vertical.
 
> --
> Jean
> 
> Take action in Free Software Foundation campaigns:
> https://www.fsf.org/campaigns
> 
> ✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding.
> 
> In support of Richard M. Stallman
> https://stallmansupport.org/



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

* Re: Improving Scroll Bar Tools
  2024-05-15 21:27   ` Heime
@ 2024-05-16  8:43     ` Jean Louis
  0 siblings, 0 replies; 28+ messages in thread
From: Jean Louis @ 2024-05-16  8:43 UTC (permalink / raw)
  To: Heime; +Cc: help-gnu-emacs

* Heime <heimeborgia@protonmail.com> [2024-05-16 00:27]:
> It was because of scroll-bar-mode because it is only vertical.

Menu -> Options -> Scroll Bar -> Horizontal

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding.

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Improving Scroll Bar Tools
  2024-05-15 20:16   ` Emanuel Berg
@ 2024-05-18 13:37     ` Heime
  2024-05-23 10:30       ` Emanuel Berg
  0 siblings, 1 reply; 28+ messages in thread
From: Heime @ 2024-05-18 13:37 UTC (permalink / raw)
  To: Emanuel Berg; +Cc: help-gnu-emacs


On Sunday, May 19th, 2024 at 12:45 AM, Emanuel Berg <incal@dataswamp.org> wrote:

> Jean Louis wrote:
> 
> > > The word "scroll-bars" (in set-window-scroll-bars)
> > > effectively goes with the assumption that scroll-bars only
> > > refer to vertical scrollbars.
> > 
> > Not to me, I do not feel that way. Scroll bars may be
> > vertical and horizontal, it is traditionally so
> > in computing.
> 
> 
> Maybe programming would be more three dimensional if we had
> a Z scroll bar as well?

I prefer having one between dimensions.
 
> --
> underground experts united
> https://dataswamp.org/~incal



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

* Re: Improving Scroll Bar Tools
  2024-05-18 13:37     ` Heime
@ 2024-05-23 10:30       ` Emanuel Berg
  0 siblings, 0 replies; 28+ messages in thread
From: Emanuel Berg @ 2024-05-23 10:30 UTC (permalink / raw)
  To: help-gnu-emacs

Heime wrote:

>>>> The word "scroll-bars" (in set-window-scroll-bars)
>>>> effectively goes with the assumption that scroll-bars
>>>> only refer to vertical scrollbars.
>>> 
>>> Not to me, I do not feel that way. Scroll bars may be
>>> vertical and horizontal, it is traditionally so
>>> in computing.
>> 
>> Maybe programming would be more three dimensional if we had
>> a Z scroll bar as well?
>
> I prefer having one between dimensions.

A CLI is one-dimensional,
a text editor has two dimensions,
CAD, GIS and FPS (and FPV drones, and IMAX) are 3D alright,
but _another_ dimension? Only if lightning strikes.

-- 
underground experts united
https://dataswamp.org/~incal




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

end of thread, other threads:[~2024-05-23 10:30 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-10 10:40 Improving Scroll Bar Tools Heime
2024-05-10 12:46 ` Po Lu
2024-05-10 13:28   ` Heime
2024-05-10 13:42     ` Po Lu
2024-05-10 14:09       ` Heime
2024-05-10 22:59       ` Heime
2024-05-11  0:12         ` Heime
2024-05-11  6:54           ` Eli Zaretskii
2024-05-11  7:28             ` Heime
2024-05-11  7:37               ` Heime
2024-05-11  8:36                 ` Eli Zaretskii
2024-05-11  8:31               ` Eli Zaretskii
2024-05-11 15:38                 ` Heime
2024-05-11 16:29                   ` Eli Zaretskii
2024-05-11 23:00                     ` Heime
2024-05-12  6:08                       ` Eli Zaretskii
2024-05-12 13:51                         ` Heime
2024-05-12 15:01                           ` Eli Zaretskii
2024-05-12 16:10                             ` Heime
2024-05-12 17:11                               ` Eli Zaretskii
2024-05-12 17:28                                 ` Heime
2024-05-12 17:49                                   ` Eli Zaretskii
2024-05-15  8:50 ` Jean Louis
2024-05-15 20:16   ` Emanuel Berg
2024-05-18 13:37     ` Heime
2024-05-23 10:30       ` Emanuel Berg
2024-05-15 21:27   ` Heime
2024-05-16  8:43     ` Jean Louis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).