[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r104502: Handle scroll bar width larg
From: |
Jan D. |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r104502: Handle scroll bar width larger than 16 for GTK3. |
Date: |
Sun, 05 Jun 2011 21:04:51 +0200 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 104502
fixes bug(s): http://debbugs.gnu.org/8505
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sun 2011-06-05 21:04:51 +0200
message:
Handle scroll bar width larger than 16 for GTK3.
* gtkutil.c (xg_get_default_scrollbar_width): New function.
* gtkutil.h: Declare xg_get_default_scrollbar_width.
* xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
min width by calling x_set_scroll_bar_default_width.
modified:
src/ChangeLog
src/gtkutil.c
src/gtkutil.h
src/xfns.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-06-05 00:14:08 +0000
+++ b/src/ChangeLog 2011-06-05 19:04:51 +0000
@@ -1,3 +1,12 @@
+2011-06-05 Jan Djärv <address@hidden>
+
+ * gtkutil.c (xg_get_default_scrollbar_width): New function.
+
+ * gtkutil.h: Declare xg_get_default_scrollbar_width.
+
+ * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
+ min width by calling x_set_scroll_bar_default_width (Bug#8505).
+
2011-06-05 Juanma Barranquero <address@hidden>
* xdisp.c (single_display_spec_intangible_p): Remove declaration.
=== modified file 'src/gtkutil.c'
--- a/src/gtkutil.c 2011-04-29 17:56:27 +0000
+++ b/src/gtkutil.c 2011-06-05 19:04:51 +0000
@@ -3326,6 +3326,21 @@
return 0;
}
+int
+xg_get_default_scrollbar_width (FRAME_PTR f)
+{
+ GtkWidget *wscroll = gtk_vscrollbar_new (gtk_adjustment_new (XG_SB_MIN,
+ XG_SB_MIN,
+ XG_SB_MAX,
+ 0.1, 0.1, 0.1));
+ int w = 0, b = 0;
+ gtk_widget_style_get (wscroll, "slider-width", &w, "trough-border", &b,
NULL);
+ gtk_widget_destroy (wscroll);
+ w += 2*b;
+ if (w < 16) w = 16;
+ return w;
+}
+
/* Return the scrollbar id for X Window WID on display DPY.
Return -1 if WID not in id_to_widget. */
=== modified file 'src/gtkutil.h'
--- a/src/gtkutil.h 2011-01-26 08:36:39 +0000
+++ b/src/gtkutil.h 2011-06-05 19:04:51 +0000
@@ -135,6 +135,7 @@
int position,
int whole);
extern int xg_event_is_for_scrollbar (FRAME_PTR f, XEvent *event);
+extern int xg_get_default_scrollbar_width (FRAME_PTR f);
extern void update_frame_tool_bar (FRAME_PTR f);
extern void free_frame_tool_bar (FRAME_PTR f);
=== modified file 'src/xfns.c'
--- a/src/xfns.c 2011-04-19 06:34:43 +0000
+++ b/src/xfns.c 2011-06-05 19:04:51 +0000
@@ -1695,10 +1695,13 @@
x_set_scroll_bar_default_width (struct frame *f)
{
int wid = FRAME_COLUMN_WIDTH (f);
-
+ int minw = 16;
#ifdef USE_TOOLKIT_SCROLL_BARS
+#ifdef USE_GTK
+ minw = xg_get_default_scrollbar_width (f);
+#endif
/* A minimum width of 14 doesn't look good for toolkit scroll bars. */
- int width = 16 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
+ int width = minw + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
FRAME_CONFIG_SCROLL_BAR_COLS (f) = (width + wid - 1) / wid;
FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = width;
#else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r104502: Handle scroll bar width larger than 16 for GTK3.,
Jan D. <=