all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
@ 2013-05-25 15:33 Peter Feigl
  2013-05-26  8:02 ` Jan Djärv
  2019-09-26 11:31 ` Stefan Kangas
  0 siblings, 2 replies; 9+ messages in thread
From: Peter Feigl @ 2013-05-25 15:33 UTC (permalink / raw)
  To: 14471

Start "emacs -Q" that was compiled with --with-x-toolkit=gtk3 from bzr.
You should see a resizing triangle button in the lower right-hand
corner, as in http://www.nexoid.at/tmp/emacs-triangle.jpg

This resizing button is useless on all tiling window managers. If you
remove the check for GTK 3 from gtkutil.c (~ line 1159), things work
fine again (and I believe this check is erroneous anyway, why only
disable it on GTK != 3?). After recompiling, the resulting emacs -Q
looks like this: http://www.nexoid.at/tmp/emacs-no-triangle.jpg

It would be great if this could be fixed in emacs bzr.

The machine I'm sending this bug report from is *not* the same machine I
tested this on.

Thanks!

Peter


In GNU Emacs 24.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-04-13 on nexoid
Configured using:
 `configure '--prefix=/usr' '--sysconfdir=/etc' '--localstatedir=/var'
 '--libexecdir=/usr/lib' '--mandir=/usr/share/man' '--without-sound'
 '--with-xft' '--with-x-toolkit=gtk' 'CFLAGS=-march=i686 -mtune=generic
 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4
 -D_FORTIFY_SOURCE=2'
 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: rcirc

Minor modes in effect:
  csv-field-index-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  rcirc-track-minor-mode: t
  global-auto-revert-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  use-hard-newlines: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Features:
(shadow emacsbug vcard dabbrev jka-compr tramp-cache etags org-colview
cal-iso bookmark cal-move parse-time tabify image-file org-capture
org-mks calculator newcomment cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew cal-julian org-indent org-w3m org-wl org-vm
org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html
org-info org-id org-gnus org-docview org-bibtex bibtex mailalias
smtpmail sendmail qp mail-extr multi-isearch gnutls url-queue shr-color
color shr mule-util hl-line disp-table network-stream starttls paredit
gedcom-ext gedcom wc-mode image-dired dired server package
tabulated-list quail help-mode view wgrep grep multiple-cursors
mc-separate-operations rectangular-region-mode mc-mark-more
mc-cycle-cursors mc-edit-lines multiple-cursors-core rect expand-region
cc-mode-expansions org-mode-expansions ruby-mode-expansions
nxml-mode-expansions html-mode-expansions expand-region-custom
expand-region-core rng-nxml rng-valid rng-loc rng-uri rng-parse
nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode
nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok skeleton
flymake zencoding-mode iy-go-to-char ob-R color-theme-solarized
color-theme slime-autoloads org-latex org-export-latex org-beamer
org-exp ob-exp org-exp-blocks find-func footnote holidays hol-loaddefs
tfs org-ical org-notmuch notmuch notmuch-message notmuch-maildir-fcc
notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua
notmuch-address notmuch-wash coolj notmuch-query json goto-addr
icalendar notmuch-lib tex dbus ebib csv-mode sort compile csharp-mode
cc-langs mediawiki url-cache url-http tls url-auth url-gw amazon mm-url
xml org-bbdb bbdb-anniv diary-lib diary-loaddefs cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine ledger esh-arg
esh-util time edict edict-japanese edict-english edict-morphology
edict-edit dui-registry dui tempo url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
url-vars xml-parse doxymacs w3m-load org-agenda org ob-emacs-lisp
ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys
ob ob-eval org-pcomplete org-list org-faces org-compat org-entities
org-macs noutline outline cal-menu calendar cal-loaddefs org-install
scheme epa-file epa epg tramp tramp-compat auth-source eieio
tramp-loaddefs ess-toolbar ess-mouse mouseme ess-menu ess-swv ess-noweb
noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a
executable shell pcomplete ess-arc-d ess-vst-d ess-xls-d ess-lsp-l
ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp5-d
ess-sp3-d ess-r-d ess-r-args assoc ess-s-l ess-inf ess-utils ess-mode
noweb-mode ess ess-custom ess-compat ess-site bbdb-sms ido bbdb-com crm
bbdb timezone warnings slime-fancy slime-fontifying-fu slime-package-fu
slime-references slime-scratch slime-presentations slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-parse slime-repl slime byte-opt bytecomp byte-compile cconv
macroexp derived hideshow pp hyperspec thingatpt browse-url ruby-mode
psvn log-edit pcvs-util add-log diff-mode easy-mmode rcirc help-at-pt
autorevert cus-start cus-load gnus-art mm-uu mml2015 epg-config
password-cache mm-view mml-smime smime cl comint regexp-opt ansi-color
ring dig mailcap gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader
gnus-util wid-edit edmacro kmacro gnus-alias advice help-fns
advice-preload message idna format-spec rfc822 mml easymenu mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
tex-site auto-loads time-date paren iswitchb tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2013-05-25 15:33 bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled Peter Feigl
@ 2013-05-26  8:02 ` Jan Djärv
  2019-09-26 11:31 ` Stefan Kangas
  1 sibling, 0 replies; 9+ messages in thread
From: Jan Djärv @ 2013-05-26  8:02 UTC (permalink / raw)
  To: Peter Feigl; +Cc: 14471

Hello.

25 maj 2013 kl. 17:33 skrev Peter Feigl <peter.feigl@gmx.at>:

> Start "emacs -Q" that was compiled with --with-x-toolkit=gtk3 from bzr.
> You should see a resizing triangle button in the lower right-hand
> corner, as in http://www.nexoid.at/tmp/emacs-triangle.jpg
> 
> This resizing button is useless on all tiling window managers. If you
> remove the check for GTK 3 from gtkutil.c (~ line 1159), things work
> fine again (and I believe this check is erroneous anyway, why only
> disable it on GTK != 3?). After recompiling, the resulting emacs -Q
> looks like this: http://www.nexoid.at/tmp/emacs-no-triangle.jpg
> 

The reason for disabling for Gtk+ 2 is clearly explained in the comment.

> It would be great if this could be fixed in emacs bzr.

You can try to disable it with css, that seems to work for some people:

In ~/.config/gtk-3.0/gtk.css insert the following:

* {
    -GtkWindow-resize-grip-default: false;
}

> 
> The machine I'm sending this bug report from is *not* the same machine I
> tested this on.
> 

Why?

	Jan D.







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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2013-05-25 15:33 bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled Peter Feigl
  2013-05-26  8:02 ` Jan Djärv
@ 2019-09-26 11:31 ` Stefan Kangas
  2019-09-27  8:17   ` martin rudalics
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Kangas @ 2019-09-26 11:31 UTC (permalink / raw)
  To: Peter Feigl; +Cc: 14471

tags 14471 + moreinfo
quit

Peter Feigl <peter.feigl@gmx.at> writes:

> Start "emacs -Q" that was compiled with --with-x-toolkit=gtk3 from bzr.
> You should see a resizing triangle button in the lower right-hand
> corner, as in http://www.nexoid.at/tmp/emacs-triangle.jpg
>
> This resizing button is useless on all tiling window managers. If you
> remove the check for GTK 3 from gtkutil.c (~ line 1159), things work
> fine again (and I believe this check is erroneous anyway, why only
> disable it on GTK != 3?). After recompiling, the resulting emacs -Q
> looks like this: http://www.nexoid.at/tmp/emacs-no-triangle.jpg

I'm not seeing this resize grip on either of these:

GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.4) of
2019-02-03, modified by Debian

GNU Emacs 27.0.50 (build 14, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
of 2019-09-21

Are you still seeing this on a recent version of Emacs, for example the
latest version 26.3?  If I don't hear back from you in a couple of
weeks, I'll assume this is no longer an issue and close the bug.

Best regards,
Stefan Kangas





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-26 11:31 ` Stefan Kangas
@ 2019-09-27  8:17   ` martin rudalics
  2019-09-27 10:10     ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: martin rudalics @ 2019-09-27  8:17 UTC (permalink / raw)
  To: Stefan Kangas, Peter Feigl; +Cc: 14471

 >> Start "emacs -Q" that was compiled with --with-x-toolkit=gtk3 from bzr.
 >> You should see a resizing triangle button in the lower right-hand
 >> corner, as in http://www.nexoid.at/tmp/emacs-triangle.jpg
 >>
 >> This resizing button is useless on all tiling window managers. If you
 >> remove the check for GTK 3 from gtkutil.c (~ line 1159), things work
 >> fine again (and I believe this check is erroneous anyway, why only
 >> disable it on GTK != 3?). After recompiling, the resulting emacs -Q
 >> looks like this: http://www.nexoid.at/tmp/emacs-no-triangle.jpg
 >
 > I'm not seeing this resize grip on either of these:
 >
 > GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.4) of
 > 2019-02-03, modified by Debian
 >
 > GNU Emacs 27.0.50 (build 14, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
 > of 2019-09-21
 >
 > Are you still seeing this on a recent version of Emacs, for example the
 > latest version 26.3?  If I don't hear back from you in a couple of
 > weeks, I'll assume this is no longer an issue and close the bug.

Ultimately, the decision whether to show a grip or not must be left to
the window manager.  A tiling window manager should suppress it for
all windows it shows.  The check mentioned by the OP is only needed
for handling an apparent bug in a GTK 2 library

   /* gtk_window_set_has_resize_grip is a Gtk+ 3.0 function but Ubuntu
      has backported it to Gtk+ 2.0 and they add the resize grip for
      Gtk+ 2.0 applications also.  But it has a bug that makes Emacs loop
      forever, so disable the grip.  */
#if (! defined HAVE_GTK3 \
      && defined HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
   gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
#endif

and should not be generalized because we would penalize users who do
want to see the grip on non-tiling WMs.  But if worse comes to worst
we could provide an option to always suppress the grip.

martin





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-27  8:17   ` martin rudalics
@ 2019-09-27 10:10     ` Stefan Kangas
  2019-09-28  7:48       ` martin rudalics
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Kangas @ 2019-09-27 10:10 UTC (permalink / raw)
  To: martin rudalics; +Cc: Peter Feigl, 14471

martin rudalics <rudalics@gmx.at> writes:

> Ultimately, the decision whether to show a grip or not must be left to
> the window manager.  A tiling window manager should suppress it for
> all windows it shows.  The check mentioned by the OP is only needed
> for handling an apparent bug in a GTK 2 library
>
>    /* gtk_window_set_has_resize_grip is a Gtk+ 3.0 function but Ubuntu
>       has backported it to Gtk+ 2.0 and they add the resize grip for
>       Gtk+ 2.0 applications also.  But it has a bug that makes Emacs loop
>       forever, so disable the grip.  */
> #if (! defined HAVE_GTK3 \
>       && defined HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
>    gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
> #endif
>
> and should not be generalized because we would penalize users who do
> want to see the grip on non-tiling WMs.  But if worse comes to worst
> we could provide an option to always suppress the grip.

Does that mean that this is an issue with the window manager and not with Emacs?

Best regards,
Stefan Kangas





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-27 10:10     ` Stefan Kangas
@ 2019-09-28  7:48       ` martin rudalics
  2019-09-28  9:51         ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: martin rudalics @ 2019-09-28  7:48 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Peter Feigl, 14471

 > Does that mean that this is an issue with the window manager and not with Emacs?

I'm not sure whether we should call it an issue.  There's a number of
issues involved though:

- If I'm not mistaken, GTK allows to regulate the appearance of the
   grip on all windows with the help of ressource settings.  So the
   order seems to be (1) those settings, (2) the application's wish,
   (3) the window manager's wish, (4) GTK's default value.  Peter
   should probably use (1) to fix this issue on his system.

- Ideally, a resize grip is shown iff (i) the associated window can be
   resized and (ii) switching between states where (i) changes is
   sufficiently infrequent (to avoid too much noise during redrawing).
   Since (i) can be hard, showing a grip even when the window cannot be
   resized does not necessarily qualify as a bug.

- Using a tiling window manager does not inherently preclude resizing
   windows in two directions simultaneously.  I'm not aware of one that
   offers such a feature but it would be fairly easy to provide one for
   Emacs' windows (I mean windows, not frames).

Finally, note that GTK has deprecated resize grips since version 3.14.

martin





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-28  7:48       ` martin rudalics
@ 2019-09-28  9:51         ` Stefan Kangas
  2019-09-29  7:04           ` martin rudalics
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Kangas @ 2019-09-28  9:51 UTC (permalink / raw)
  To: martin rudalics; +Cc: Peter Feigl, 14471

martin rudalics <rudalics@gmx.at> writes:

>  > Does that mean that this is an issue with the window manager and not with Emacs?
>
> I'm not sure whether we should call it an issue.  There's a number of
> issues involved though:

Thanks for the explanation.  I guess that means we should close this as notabug.

> Finally, note that GTK has deprecated resize grips since version 3.14.

If I'm reading this correctly, they removed them in 3.14 (released on
2014-09-22):

https://mail.gnome.org/archives/gnome-announce-list/2014-September/msg00042.html
https://gitlab.gnome.org/GNOME/gtk/raw/master/NEWS?id=3.14.0
https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-set-has-resize-grip

That would explain why I'm not seeing them on GTK 3.24.5 (the version
now shipped with Debian stable).

Best regards,
Stefan Kangas





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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-28  9:51         ` Stefan Kangas
@ 2019-09-29  7:04           ` martin rudalics
  2019-09-29 18:13             ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: martin rudalics @ 2019-09-29  7:04 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Peter Feigl, 14471

> Thanks for the explanation.  I guess that means we should close this as notabug.

I think so, yes.

martin






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

* bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled
  2019-09-29  7:04           ` martin rudalics
@ 2019-09-29 18:13             ` Stefan Kangas
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Kangas @ 2019-09-29 18:13 UTC (permalink / raw)
  To: martin rudalics; +Cc: Peter Feigl, 14471

tags 14471 + notabug
close 14471
quit

martin rudalics <rudalics@gmx.at> write:
> > Thanks for the explanation.  I guess that means we should close this as notabug.
>
> I think so, yes.

OK; done.

Best regards,
Stefan Kangas





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

end of thread, other threads:[~2019-09-29 18:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-25 15:33 bug#14471: 24.1.50; GTK3 shows resize handle which cannot be disabled Peter Feigl
2013-05-26  8:02 ` Jan Djärv
2019-09-26 11:31 ` Stefan Kangas
2019-09-27  8:17   ` martin rudalics
2019-09-27 10:10     ` Stefan Kangas
2019-09-28  7:48       ` martin rudalics
2019-09-28  9:51         ` Stefan Kangas
2019-09-29  7:04           ` martin rudalics
2019-09-29 18:13             ` Stefan Kangas

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.