* bug#74435: Scrollbar width is not respected on Windows @ 2024-11-19 12:01 Johann Höchtl 2024-11-21 10:48 ` Eli Zaretskii 0 siblings, 1 reply; 9+ messages in thread From: Johann Höchtl @ 2024-11-19 12:01 UTC (permalink / raw) To: 74435 [-- Attachment #1: Type: text/plain, Size: 489 bytes --] On Emacs Windows It seems like the observation of https://lists.libreplanet.org/archive/html/help-gnu-emacs/2023-11/msg00109.html has never been reported as a bug. This issue is real. When I spilt a Windows with C-x 3 and save the desktop and re-open the desktop, the scrollbar separating the two windows is broader than it used to be before saving. When I manually open the .emacs.desktop file and delete the setq scroll-bar-width and reload the desktop, the width is back to normal. [-- Attachment #2: Type: text/html, Size: 760 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-19 12:01 bug#74435: Scrollbar width is not respected on Windows Johann Höchtl @ 2024-11-21 10:48 ` Eli Zaretskii 2024-11-21 14:57 ` Cecilio Pardo 0 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2024-11-21 10:48 UTC (permalink / raw) To: Johann Höchtl, Cecilio Pardo; +Cc: 74435 > From: Johann Höchtl <johann.hoechtl@gmail.com> > Date: Tue, 19 Nov 2024 13:01:44 +0100 > > On Emacs Windows > > It seems like the observation of > https://lists.libreplanet.org/archive/html/help-gnu-emacs/2023-11/msg00109.html > has never been reported as a bug. Because, as I responded there, I couldn't reproduce the problem. > This issue is real. When I spilt a Windows with C-x 3 and save the desktop and re-open the desktop, the > scrollbar separating the two windows is broader than it used to be before saving. I still cannot reproduce this. maybe this has something to do with the display settings? Like HiDPI, perhaps? > When I manually open the .emacs.desktop file and delete the setq scroll-bar-width and reload the > desktop, the width is back to normal. What is the value of scroll-bar-width recorded in the desktop file, and what does the below yield if you type it after "C-x 3" before saving desktop? M-: (frame-parameter nil 'scroll-bar-width) RET Adding Cecilio, in case he has an idea why this could happen, or can suggest a way to debug this. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-21 10:48 ` Eli Zaretskii @ 2024-11-21 14:57 ` Cecilio Pardo 2024-11-21 15:49 ` Eli Zaretskii 0 siblings, 1 reply; 9+ messages in thread From: Cecilio Pardo @ 2024-11-21 14:57 UTC (permalink / raw) To: Eli Zaretskii, Johann Höchtl; +Cc: 74435 On 21/11/2024 11:48, Eli Zaretskii wrote: >> From: Johann Höchtl <johann.hoechtl@gmail.com> >> Date: Tue, 19 Nov 2024 13:01:44 +0100 >> >> On Emacs Windows >> >> It seems like the observation of >> https://lists.libreplanet.org/archive/html/help-gnu-emacs/2023-11/msg00109.html >> has never been reported as a bug. > > Because, as I responded there, I couldn't reproduce the problem. > >> This issue is real. When I spilt a Windows with C-x 3 and save the desktop and re-open the desktop, the >> scrollbar separating the two windows is broader than it used to be before saving. > > I still cannot reproduce this. maybe this has something to do with > the display settings? Like HiDPI, perhaps? I can reproduce this on Windows 11. I'm looking into it. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-21 14:57 ` Cecilio Pardo @ 2024-11-21 15:49 ` Eli Zaretskii 2024-11-21 22:21 ` Cecilio Pardo 0 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2024-11-21 15:49 UTC (permalink / raw) To: Cecilio Pardo; +Cc: johann.hoechtl, 74435 > Date: Thu, 21 Nov 2024 15:57:14 +0100 > Cc: 74435@debbugs.gnu.org > From: Cecilio Pardo <cpardo@imayhem.com> > > On 21/11/2024 11:48, Eli Zaretskii wrote: > >> From: Johann Höchtl <johann.hoechtl@gmail.com> > >> Date: Tue, 19 Nov 2024 13:01:44 +0100 > >> > >> On Emacs Windows > >> > >> It seems like the observation of > >> https://lists.libreplanet.org/archive/html/help-gnu-emacs/2023-11/msg00109.html > >> has never been reported as a bug. > > > > Because, as I responded there, I couldn't reproduce the problem. > > > >> This issue is real. When I spilt a Windows with C-x 3 and save the desktop and re-open the desktop, the > >> scrollbar separating the two windows is broader than it used to be before saving. > > > > I still cannot reproduce this. maybe this has something to do with > > the display settings? Like HiDPI, perhaps? > > I can reproduce this on Windows 11. I'm looking into it. Thanks, that's good news. It would be interesting to know why I couldn't reproduce that here (also Windows 11). ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-21 15:49 ` Eli Zaretskii @ 2024-11-21 22:21 ` Cecilio Pardo 2024-11-22 6:53 ` Eli Zaretskii 0 siblings, 1 reply; 9+ messages in thread From: Cecilio Pardo @ 2024-11-21 22:21 UTC (permalink / raw) To: Eli Zaretskii; +Cc: johann.hoechtl, 74435 I have tracked (I think) this problem to the function frame.c:gui_set_scroll_bar_width If the new value for the scrollbars width is equal to the current one, then it resets width to the default size. The 'if' tests for arg != FRAME_CONFIG_SCROLL_BAR_WIDTH(f). That is, if arg is equal to current width, the 'else' path is taken, which resets to default. I suppose this should test for arg != "DEFAULT_WIDTH", but I don't know where to find that. Maybe you could not reproduce it because your scrollbars are on the default size? ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-21 22:21 ` Cecilio Pardo @ 2024-11-22 6:53 ` Eli Zaretskii 2024-11-22 7:45 ` Cecilio Pardo 0 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2024-11-22 6:53 UTC (permalink / raw) To: Cecilio Pardo; +Cc: johann.hoechtl, 74435 > Date: Thu, 21 Nov 2024 23:21:05 +0100 > Cc: johann.hoechtl@gmail.com, 74435@debbugs.gnu.org > From: Cecilio Pardo <cpardo@imayhem.com> > > I have tracked (I think) this problem to the function > frame.c:gui_set_scroll_bar_width > > If the new value for the scrollbars width is equal to the current one, > then it resets width to the default size. > > The 'if' tests for arg != FRAME_CONFIG_SCROLL_BAR_WIDTH(f). > That is, if arg is equal to current width, the 'else' path is taken, > which resets to default. > > I suppose this should test for arg != "DEFAULT_WIDTH", but I don't know > where to find that. Thanks. I'd like to look into this, but it would help if I could reproduce the issue. > Maybe you could not reproduce it because your scrollbars are on the > default size? Maybe. The OP didn't seem to say it was necessary to specify non-default scroll-bar width. So what is the minimum recipe for reproducing the issue? ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-22 6:53 ` Eli Zaretskii @ 2024-11-22 7:45 ` Cecilio Pardo 2024-11-22 10:13 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 9+ messages in thread From: Cecilio Pardo @ 2024-11-22 7:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: johann.hoechtl, 74435 On 22/11/2024 7:53, Eli Zaretskii wrote: >> Date: Thu, 21 Nov 2024 23:21:05 +0100 >> Cc: johann.hoechtl@gmail.com, 74435@debbugs.gnu.org >> From: Cecilio Pardo <cpardo@imayhem.com> >> >> I have tracked (I think) this problem to the function >> frame.c:gui_set_scroll_bar_width >> >> If the new value for the scrollbars width is equal to the current one, >> then it resets width to the default size. >> >> The 'if' tests for arg != FRAME_CONFIG_SCROLL_BAR_WIDTH(f). >> That is, if arg is equal to current width, the 'else' path is taken, >> which resets to default. >> >> I suppose this should test for arg != "DEFAULT_WIDTH", but I don't know >> where to find that. > > Thanks. I'd like to look into this, but it would help if I could > reproduce the issue. > >> Maybe you could not reproduce it because your scrollbars are on the >> default size? > > Maybe. The OP didn't seem to say it was necessary to specify > non-default scroll-bar width. > > So what is the minimum recipe for reproducing the issue? emacs -q and eval this twice: (set-frame-parameter nil 'scroll-bar-width 50) The bar will change to 50 on first evaluation, and got back to default on second. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-22 7:45 ` Cecilio Pardo @ 2024-11-22 10:13 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-11-22 12:39 ` Cecilio Pardo 0 siblings, 1 reply; 9+ messages in thread From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-22 10:13 UTC (permalink / raw) To: Cecilio Pardo, Eli Zaretskii; +Cc: johann.hoechtl, 74435 [-- Attachment #1: Type: text/plain, Size: 232 bytes --] > emacs -q > > and eval this twice: > > (set-frame-parameter nil 'scroll-bar-width 50) > > > The bar will change to 50 on first evaluation, and got back to default on second. My bad. Can you try the attached patch? martin [-- Attachment #2: frame.c.diff --] [-- Type: text/x-patch, Size: 2002 bytes --] diff --git a/src/frame.c b/src/frame.c index 7f4bf274ad9..f6053fca3ef 100644 --- a/src/frame.c +++ b/src/frame.c @@ -5102,15 +5102,19 @@ gui_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval) { int unit = FRAME_COLUMN_WIDTH (f); - if (RANGED_FIXNUMP (1, arg, INT_MAX) - && XFIXNAT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) + if (RANGED_FIXNUMP (1, arg, INT_MAX)) { - FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFIXNAT (arg); - FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFIXNAT (arg) + unit - 1) / unit; - if (FRAME_NATIVE_WINDOW (f)) - adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_width); + if (XFIXNAT (arg) == FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) + return; + else + { + FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFIXNAT (arg); + FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFIXNAT (arg) + unit - 1) / unit; + if (FRAME_NATIVE_WINDOW (f)) + adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_width); - SET_FRAME_GARBAGED (f); + SET_FRAME_GARBAGED (f); + } } else { @@ -5133,15 +5137,19 @@ gui_set_scroll_bar_height (struct frame *f, Lisp_Object arg, Lisp_Object oldval) #if USE_HORIZONTAL_SCROLL_BARS int unit = FRAME_LINE_HEIGHT (f); - if (RANGED_FIXNUMP (1, arg, INT_MAX) - && XFIXNAT (arg) != FRAME_CONFIG_SCROLL_BAR_HEIGHT (f)) + if (RANGED_FIXNUMP (1, arg, INT_MAX)) { - FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = XFIXNAT (arg); - FRAME_CONFIG_SCROLL_BAR_LINES (f) = (XFIXNAT (arg) + unit - 1) / unit; - if (FRAME_NATIVE_WINDOW (f)) - adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_height); + if (XFIXNAT (arg) == FRAME_CONFIG_SCROLL_BAR_HEIGHT (f)) + return; + else + { + FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = XFIXNAT (arg); + FRAME_CONFIG_SCROLL_BAR_LINES (f) = (XFIXNAT (arg) + unit - 1) / unit; + if (FRAME_NATIVE_WINDOW (f)) + adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_height); - SET_FRAME_GARBAGED (f); + SET_FRAME_GARBAGED (f); + } } else { ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#74435: Scrollbar width is not respected on Windows 2024-11-22 10:13 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-22 12:39 ` Cecilio Pardo 0 siblings, 0 replies; 9+ messages in thread From: Cecilio Pardo @ 2024-11-22 12:39 UTC (permalink / raw) To: 74435 On 22/11/2024 11:13, martin rudalics wrote: > > emacs -q > > > > and eval this twice: > > > > (set-frame-parameter nil 'scroll-bar-width 50) > > > > > > The bar will change to 50 on first evaluation, and got back to > default on second. > > My bad. Can you try the attached patch? > > martin Works for me, thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-11-22 12:39 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-11-19 12:01 bug#74435: Scrollbar width is not respected on Windows Johann Höchtl 2024-11-21 10:48 ` Eli Zaretskii 2024-11-21 14:57 ` Cecilio Pardo 2024-11-21 15:49 ` Eli Zaretskii 2024-11-21 22:21 ` Cecilio Pardo 2024-11-22 6:53 ` Eli Zaretskii 2024-11-22 7:45 ` Cecilio Pardo 2024-11-22 10:13 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-11-22 12:39 ` Cecilio Pardo
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git 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).