Skip to content
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.

Support for unstable text_input and input_method Wayland protocols #6

Open
Shugyousha opened this issue Jun 8, 2020 · 2 comments
Open
Labels
A: enhancement New feature or request C: protocols

Comments

@Shugyousha
Copy link
Contributor

Shugyousha commented Jun 8, 2020

These unstable protocols allow input methods (IMEs) to function without relying on some non-standardized method of communication (dbus etc).

Support for them has been added to Sway ( swaywm/sway#4740 ) and in my opinion the functionality provided by those protocols is fundamental enough that they should be supported in dwl as well.

If you agree, I can start working on porting support for those two protocols from Sway to dwl (probably will take a while but I will try...).

@djpohly
Copy link
Owner

djpohly commented Jun 8, 2020

Sounds like something that should exist. If it would add a lot of code, I might prefer to have it as a dwm-style contributed patch rather than part of the default codebase, but either way I say go ahead.

@Shugyousha
Copy link
Contributor Author

I have started working on it and it looks to be around 360 lines of code (including comments). It will still be a while until I am done (I only have time on weekends to work on this).

These protocols are still evolving as well so I expect that we will have to update the code once the new protocol versions are released. Releasing support for the current versions and then update the code once the new protocol versions are out is the right way to handle this in my opinion.

@djpohly djpohly added A: enhancement New feature or request C: protocols labels Jul 26, 2020
sevz17 referenced this issue in sevz17/dwl Oct 6, 2021
Fix unmanaged x11 windows + layersurfaces
link2xt added a commit to link2xt/dwl that referenced this issue Nov 19, 2023
…NULL

Passing NULL to wlr_keyboard_set_keymap results in a segfault.
Example:

  Thread 1 "dwl" received signal SIGSEGV, Segmentation fault.
  0x00007ffff7e49b64 in xkb_keymap_ref () from /usr/lib/libxkbcommon.so.0
  (gdb) bt
  #0  0x00007ffff7e49b64 in xkb_keymap_ref () at /usr/lib/libxkbcommon.so.0
  djpohly#1  0x00007ffff7f06389 in wlr_keyboard_set_keymap () at /usr/lib/libwlroots.so.11
  djpohly#2  0x000055555555bc54 in createkeyboard ()
  djpohly#3  0x000055555555c283 in inputdevice ()
  djpohly#4  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  djpohly#5  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  djpohly#6  0x00007ffff7edb52c in  () at /usr/lib/libwlroots.so.11
  djpohly#7  0x00007ffff7ee44b6 in  () at /usr/lib/libwlroots.so.11
  djpohly#8  0x000055555555fe66 in main ()
sevz17 pushed a commit that referenced this issue Nov 19, 2023
…NULL

Passing NULL to wlr_keyboard_set_keymap results in a segfault.
Example:

  Thread 1 "dwl" received signal SIGSEGV, Segmentation fault.
  0x00007ffff7e49b64 in xkb_keymap_ref () from /usr/lib/libxkbcommon.so.0
  (gdb) bt
  #0  0x00007ffff7e49b64 in xkb_keymap_ref () at /usr/lib/libxkbcommon.so.0
  #1  0x00007ffff7f06389 in wlr_keyboard_set_keymap () at /usr/lib/libwlroots.so.11
  #2  0x000055555555bc54 in createkeyboard ()
  #3  0x000055555555c283 in inputdevice ()
  #4  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  #5  0x00007ffff7e8101e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
  #6  0x00007ffff7edb52c in  () at /usr/lib/libwlroots.so.11
  #7  0x00007ffff7ee44b6 in  () at /usr/lib/libwlroots.so.11
  #8  0x000055555555fe66 in main ()
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A: enhancement New feature or request C: protocols
Projects
None yet
Development

No branches or pull requests

2 participants