1. 11 Apr, 2022 1 commit
  2. 08 Mar, 2022 2 commits
  3. 14 Feb, 2022 1 commit
  4. 26 Jan, 2022 1 commit
  5. 16 Jan, 2022 1 commit
  6. 11 Jan, 2022 1 commit
    • Vlad Zahorodnii's avatar
      Drop Process helper · 8e8f55b1
      Vlad Zahorodnii authored
      Direct session is long time gone and SIGUSR1 and SIGUSR2 are not used
      anywhere so drop the Process helper.
  7. 02 Jan, 2022 1 commit
  8. 28 Dec, 2021 2 commits
    • Aleix Pol Gonzalez's avatar
      inputmethod: Expose VirtualKeyboard.willShowOnActive on dbus · 13b85d77
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      It can help clients predict how KWin will react. Sometimes, the noise of
      seeing a virtual keyboard pop up is reason enough not to focus an input
    • Xuetian Weng's avatar
      Do not call setActive(true) when request input panel to show · 8a2f64fb
      Xuetian Weng authored
      Observed in kdevelop, that isEnabled() could be false when switching
      between different tabs with Ctrl+Tab. But Qt may still call show()
      if you click on the texteditor widget. This leads to isEnabled == false but
      setActive(true) is called. This causes kdevelop in a usable state because
      keyboard grab will be created and no key event will reach application
      because isEnabled == false. Under normal circumstances, key will reach
      widget first and triggers another text_input_v2 enable to make input
      method work properly.
  9. 27 Dec, 2021 2 commits
  10. 23 Dec, 2021 2 commits
    • Xuetian Weng's avatar
      Change InputMethod::show() and InputMethod::hide() to not change active state. · 4f2c3a00
      Xuetian Weng authored and Xuetian Weng's avatar Xuetian Weng committed
      Qt usually request InputMethod::hide() upon unfocus, but
      InputMethod::show() is actually never called if focus transfer is done
      by keyboard, which leads to a permanent disabled input method state.
      It can be easily reproduced with a window with two text field, e.g.
      QFileDialog, by pressing tab to switch the focused widget.
      The semantics of hide/show should not deactivate the input method.
      Instead, it should simply hide/show the input panel. Also it should not
      be a hard request for input method to permanently hide the window. When
      input method asked to show it again, the input panel window should be
    • Xuetian Weng's avatar
      Do no send empty preedit string to text-input-v3. · 119f0d02
      Xuetian Weng authored and Xuetian Weng's avatar Xuetian Weng committed
      zwp_input_method_v1 has some different semantics comparing to
      text-input-v3. There is no way to indicate that "clear preedit" with
      zwp_input_method_v1. In some client (Namely, Gtk), receiving an empty
      preedit string will also trigger replace selection action. For example,
      focus into address bar in firefox will automatically select the URL in
      the address bar, and a following empty preedit string will clear the
      selection which is not desirable.
      To avoid such behavior, simply send an empty "done()" to clear text
      input v3 preedit if preedit is empty.
  11. 20 Dec, 2021 1 commit
  12. 19 Dec, 2021 2 commits
    • Xuetian Weng's avatar
      Do not send reset to an already active input context. · 0b1565c5
      Xuetian Weng authored
      This may be problematic for certain client, e.g. firefox, and cause
      input always reset after any key press. Also, sending reset on an
      activate also does not match the text input v3 semantics.
    • Xuetian Weng's avatar
      Fix text input v3 related protocol usage. · bd40db7d
      Xuetian Weng authored
      zwp_input_method_v1 does not support generic double buffered event.
      deleteSurroundingText need to be followed with done().
      zwp_input_method_v1 preedit event order is preeditCursor,
      preeditStyling, preeditString. To align it with text-input-v3 semantices,
      send done() after receiving preedit_string() from input method.
  13. 16 Dec, 2021 2 commits
  14. 15 Dec, 2021 1 commit
  15. 24 Nov, 2021 1 commit
  16. 15 Oct, 2021 4 commits
  17. 14 Oct, 2021 1 commit
  18. 07 Oct, 2021 1 commit
  19. 12 Aug, 2021 1 commit
  20. 22 Jul, 2021 2 commits
  21. 21 Jul, 2021 4 commits
  22. 10 Jul, 2021 1 commit
  23. 10 Jun, 2021 2 commits
  24. 08 Jun, 2021 1 commit
  25. 05 Jun, 2021 1 commit
  26. 03 Jun, 2021 1 commit