Mercurial > vim
comparison src/gui_motif.c @ 31942:f5675b905d89 v9.0.1303
patch 9.0.1303: Motif: scrollbar width/height wrong when maximized
Commit: https://github.com/vim/vim/commit/094b8473edcc7531c942ac726dd575d95f5b622c
Author: qsmodo <75080827+qsmodo@users.noreply.github.com>
Date: Sat Feb 11 19:12:57 2023 +0000
patch 9.0.1303: Motif: scrollbar width/height wrong when maximized
Problem: Motif: scrollbar width/height wrong when maximized.
Solution: Set the width/height when creating the scrollbar. (closes https://github.com/vim/vim/issues/11946)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 11 Feb 2023 20:15:03 +0100 |
parents | 50555279168b |
children | d299b4b3099f |
comparison
equal
deleted
inserted
replaced
31941:75ae4ddf0999 | 31942:f5675b905d89 |
---|---|
1693 else | 1693 else |
1694 XtVaSetValues(sb->id, | 1694 XtVaSetValues(sb->id, |
1695 XmNtopOffset, y, | 1695 XmNtopOffset, y, |
1696 XmNleftOffset, x, | 1696 XmNleftOffset, x, |
1697 XmNrightOffset, gui.which_scrollbars[SBAR_RIGHT] | 1697 XmNrightOffset, gui.which_scrollbars[SBAR_RIGHT] |
1698 ? gui.scrollbar_width : 0, | 1698 ? gui.scrollbar_width : 0, |
1699 XmNheight, h, | 1699 XmNheight, h, |
1700 NULL); | 1700 NULL); |
1701 XtManageChild(sb->id); | 1701 XtManageChild(sb->id); |
1702 } | 1702 } |
1703 | 1703 |
1786 gui_mch_create_scrollbar( | 1786 gui_mch_create_scrollbar( |
1787 scrollbar_T *sb, | 1787 scrollbar_T *sb, |
1788 int orient) // SBAR_VERT or SBAR_HORIZ | 1788 int orient) // SBAR_VERT or SBAR_HORIZ |
1789 { | 1789 { |
1790 Arg args[16]; | 1790 Arg args[16]; |
1791 int n; | 1791 int n = 0; |
1792 | 1792 |
1793 n = 0; | |
1794 XtSetArg(args[n], XmNminimum, 0); n++; | 1793 XtSetArg(args[n], XmNminimum, 0); n++; |
1795 XtSetArg(args[n], XmNorientation, | 1794 XtSetArg(args[n], XmNorientation, |
1796 (orient == SBAR_VERT) ? XmVERTICAL : XmHORIZONTAL); n++; | 1795 (orient == SBAR_VERT) ? XmVERTICAL : XmHORIZONTAL); n++; |
1797 | 1796 |
1798 switch (sb->type) | 1797 switch (sb->type) |
1799 { | 1798 { |
1800 case SBAR_LEFT: | 1799 case SBAR_LEFT: |
1801 XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++; | 1800 XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++; |
1802 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_OPPOSITE_FORM); n++; | 1801 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_OPPOSITE_FORM); n++; |
1803 XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++; | 1802 XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++; |
1803 XtSetArg(args[n], XmNwidth, gui.scrollbar_width); n++; | |
1804 break; | 1804 break; |
1805 | 1805 |
1806 case SBAR_RIGHT: | 1806 case SBAR_RIGHT: |
1807 XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++; | 1807 XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++; |
1808 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_OPPOSITE_FORM); n++; | 1808 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_OPPOSITE_FORM); n++; |
1809 XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++; | 1809 XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++; |
1810 XtSetArg(args[n], XmNwidth, gui.scrollbar_width); n++; | |
1810 break; | 1811 break; |
1811 | 1812 |
1812 case SBAR_BOTTOM: | 1813 case SBAR_BOTTOM: |
1813 XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++; | 1814 XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++; |
1814 XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++; | 1815 XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++; |
1815 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); n++; | 1816 XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); n++; |
1817 XtSetArg(args[n], XmNheight, gui.scrollbar_height); n++; | |
1816 break; | 1818 break; |
1817 } | 1819 } |
1818 | 1820 |
1819 sb->id = XtCreateWidget("scrollBar", | 1821 sb->id = XtCreateWidget("scrollBar", |
1820 xmScrollBarWidgetClass, textAreaForm, args, n); | 1822 xmScrollBarWidgetClass, textAreaForm, args, n); |