unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Akira Kyle <akira@akirakyle.com>
To: Trey Peacock <gpg@treypeacock.com>
Cc: Po Lu <luangruo@yahoo.com>,
	Morgan Smith <morgan.j.smith@outlook.com>,
	emacs-devel@gnu.org
Subject: Re: PGTK-related misconceptions
Date: Mon, 25 Jul 2022 15:18:31 -0600	[thread overview]
Message-ID: <87czdszy2r.fsf@akirakyle.com> (raw)
In-Reply-To: <877d7lrbta.fsf@treypeacock.com>


On Tue, Apr 19, 2022 at 03:28 AM, Trey Peacock 
<gpg@treypeacock.com> wrote:

> Neither of the WMs I mentioned use GNOME Shell, but they do both 
> use
> wlroots. Looking into this, it seems that any wlroots based 
> Wayland
> compositor will use GDK_MOD4_MASK as Super. However, mutter 
> (GNOME's WM)
> uses GDK_SUPER_MASK. Rebuilding emacs with the below patch seems 
> to have
> fixed the issue. I'm not sure if there could be further 
> implications for
> pgtk_emacs_to_gtk_modifiers.
>
>
> diff --git a/src/pgtkterm.c b/src/pgtkterm.c
> index 2b04699fb3..d8ca89bbc0 100644
> --- a/src/pgtkterm.c
> +++ b/src/pgtkterm.c
> @@ -5152,7 +5152,7 @@ pgtk_gtk_to_emacs_modifiers (struct 
> pgtk_display_info *dpyinfo, int state)
>      mod |= mod_ctrl;
>    if (state & GDK_META_MASK || state & GDK_MOD1_MASK)
>      mod |= mod_meta;
> -  if (state & GDK_SUPER_MASK)
> +  if (state & GDK_SUPER_MASK || state & GDK_MOD4_MASK)
>      mod |= mod_super;
>    if (state & GDK_HYPER_MASK)
>      mod |= mod_hyper;
> @@ -5285,7 +5285,7 @@ key_press_event (GtkWidget *widget, 
> GdkEvent *event, gpointer *user_data)
>        /* While super is pressed, the input method will always 
>        always
>      resend the key events ignoring super.  As a workaround, 
>      don't
>      filter key events with super or hyper pressed.  */
> -      if (!(event->key.state & (GDK_SUPER_MASK | 
> GDK_HYPER_MASK)))
> +      if (!(event->key.state & (GDK_SUPER_MASK | GDK_HYPER_MASK 
> | GDK_MOD4_MASK)))
>     {
>       if (pgtk_im_filter_keypress (f, &event->key))
>         return TRUE;


Thank you for this patch! I recently updated and ran into this 
issue. From the discussion in this thread, I really don't 
understand why this change was made. Is this fixing some issue for 
some other non-wlroots based compositor?

If it isn't, but was just made "to comply with the GDK docs" this 
would seem to be just be making life more difficult for those of 
use on wlroots based compositors. Emacs has many other places 
where it tries to work around quirks and other issues with GTK for 
the benefit of the user, so why would this be any different?



  parent reply	other threads:[~2022-07-25 21:18 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18 21:50 PGTK-related misconceptions Trey
2022-04-19  0:59 ` Po Lu
2022-04-19  3:28   ` Trey Peacock
2022-04-19  4:27     ` Po Lu
2022-04-19 23:02       ` Trey Peacock
2022-04-20  0:48         ` Po Lu
2022-04-20  2:33           ` Trey Peacock
2022-04-20  4:05             ` Po Lu
2022-07-25 21:18     ` Akira Kyle [this message]
2022-07-26  2:08       ` Po Lu
2022-07-26 12:10         ` Lars Ingebrigtsen
2022-07-26 12:35           ` Po Lu
2022-07-29 14:26             ` Stefan Monnier
2022-07-30  0:58               ` Po Lu
2022-07-26 21:36         ` Akira Kyle
2022-07-27  2:48           ` Po Lu
2022-07-27  8:34             ` Trey Peacock
2022-07-27  9:10               ` Po Lu
2022-07-27 13:45                 ` Trey Peacock
2022-07-27 13:52                   ` Po Lu
2022-07-28  1:39             ` Akira Kyle
2022-07-28  2:50               ` Po Lu
  -- strict thread matches above, loose matches on Subject: below --
2022-04-20  7:52 Trey Peacock
2022-04-20  8:25 ` Po Lu
2022-04-20 13:13   ` Brian Cully
     [not found] <DM5PR03MB3163BBCF9626AD3B88900011C5EE9@DM5PR03MB3163.namprd03.prod.outlook.com>
2022-04-15  2:29 ` Po Lu
2022-04-15  7:11   ` Byung-Hee HWANG
2022-04-15 16:24   ` Eric Abrahamsen
2022-04-18  5:18   ` Sean Whitton
2022-04-18  5:31     ` Po Lu
2022-04-18  5:43       ` Sean Whitton
2022-04-18  5:57         ` Po Lu
2022-04-18 18:27           ` Sean Whitton
2022-04-18 19:49           ` Jim Porter
2022-04-19  1:02             ` Po Lu
2022-04-19  2:46               ` Sean Whitton
2022-04-19  2:18             ` Tim Cross
2022-04-19  5:56               ` Eli Zaretskii
2022-04-19  8:13                 ` Tim Cross
2022-04-19 10:32                   ` Eli Zaretskii
2022-04-19  9:10   ` Dirk-Jan C. Binnema
2022-04-19 10:42     ` Po Lu
2022-04-19 11:53     ` Phil Sainty
2022-04-19 13:58       ` Sean Whitton
2022-04-20  3:29         ` Phil Sainty
2022-04-20  4:48           ` Stefan Monnier
2022-04-19 16:51       ` Yuri Khan
2022-04-22  5:44         ` Pankaj Jangid

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czdszy2r.fsf@akirakyle.com \
    --to=akira@akirakyle.com \
    --cc=emacs-devel@gnu.org \
    --cc=gpg@treypeacock.com \
    --cc=luangruo@yahoo.com \
    --cc=morgan.j.smith@outlook.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).