1. 28 Apr, 2021 1 commit
  2. 26 Mar, 2021 1 commit
  3. 11 Mar, 2021 1 commit
  4. 10 Mar, 2021 1 commit
  5. 06 Mar, 2021 2 commits
  6. 02 Mar, 2021 2 commits
  7. 19 Feb, 2021 1 commit
  8. 18 Feb, 2021 1 commit
    • Bhushan Shah's avatar
      inputmethod: toggle the inputmethod if we get second show request · 892b8cf6
      Bhushan Shah authored
      This is in a way working around bad protocol, input-method-unstable-v1
      and also input-method-unstable-v2 does not have a way for input-method
      to mark itself as "deactivated". This can happen when e.g. user closes
      the virtual keyboard using swiping down or "close keyboard" button in
      When this happens, the state between compositor, text_input and
      input_method gets out of sync, compositor does not know that input
      method got deactivated and hence it will continue sending various events
      to it. The quick way around it is to change focus, which makes
      compositor send deactivate request to input-method, that puts compositor
      and input-method in sync again.
      This patch aims to solve this by tracking the last state of input
      method, If we know that input method is active and text input sends us
      the show event, we toggle the input-method.
      I will re-iterate that this is in no way proper solution, ideally
      input-method-unstable-v3 or input-method-unstable-v2 even (since it is
      not upstream anyway) gains the new request which essentially allows
      input-method to sync enabled/disabled state with compositor.
  9. 10 Feb, 2021 1 commit
    • Vlad Zahorodnii's avatar
      Move source code to src/ directory · 93e0265e
      Vlad Zahorodnii authored
      Once in a while, we receive complaints from other fellow KDE developers
      about the file organization of kwin. This change addresses some of those
      complaints by moving all of source code in a separate directory, src/,
      thus making the project structure more traditional. Things such as tests
      are kept in their own toplevel directories.
      This change may wreak havoc on merge requests that add new files to kwin,
      but if a patch modifies an already existing file, git should be smart
      enough to figure out that the file has been relocated.
      We may potentially split the src/ directory further to make navigating
      the source code easier, but hopefully this is good enough already.
  10. 14 Dec, 2020 1 commit
  11. 19 Nov, 2020 1 commit
  12. 23 Oct, 2020 1 commit
  13. 08 Oct, 2020 1 commit
    • Bhushan Shah's avatar
      inputmethod: remove the workarounds · a13f5d4b
      Bhushan Shah authored
      - Do not set emit the enabledChanged of the text-input-v2 when it
        requests us to show input panel, it is already enabled when you get
        this request
      - If we get the request to show input panel, reset the inputContext,
        there's two reason we can get this event: 1) when keyboard focus is
        activated or 2) when keyboard focus is changed to text field in same
        surface. In both cases, information in input method context is not
        valid anymore and should be reset.
      - Also instead of ignoring the update_state events from client, adopt
        input method accordingly.
  14. 29 Sep, 2020 2 commits
    • Bhushan Shah's avatar
      virtualkeyboard: rename class to InputMethod · 222b558b
      Bhushan Shah authored
      VirtualKeyboard class does not implement the relevant VirtualKeyboard
      protocol but rather implements the InputMethod protcol and can in theory
      be used by other input method like e.g. ibus.
      Make class name consistent with what it does to avoid confusion in
      For now only rename of main class is done and dbus service is kept as-is
      to provide retro-compatibility, when input method protocol is
      implemented fully, we can think of what to do wrt the dbus interface
      later when we fully implement zwp_input_method_unstable_v1 protocol.
    • Bhushan Shah's avatar
      virtualkeyboard: add text-input-v3 support · 6d433bdf
      Bhushan Shah authored and Bhushan Shah's avatar Bhushan Shah committed
  15. 23 Sep, 2020 4 commits
  16. 22 Sep, 2020 1 commit
  17. 21 Sep, 2020 1 commit
    • Bhushan Shah's avatar
      virtualkeyboard: slightly restructure the code · 426e7f91
      Bhushan Shah authored and Bhushan Shah's avatar Bhushan Shah committed
      Instead of putting code in lambda put them in actual slots, this is
      right now not useful but when e.g. TextInputV3 is implemented, this way
      we can re-use them.
      This also simplifies the code little bit and makes it easier to use with
      gdb if needed.
  18. 04 Sep, 2020 2 commits
  19. 03 Sep, 2020 4 commits
  20. 01 Sep, 2020 1 commit
    • Marco Martin's avatar
      Fix size restore upon keyboard close in XdgSurfaceClient · 97f4712f
      Marco Martin authored
      in XdgSurfaceClient setFrameGeometry is async,
      so we can't rely on it having the final value immediately.
      make setVirtualKeyboardGeometry a virtual.
      in the implementation on setVirtualKeyboardGeometry
      use requestedFrameGeometry() instead of frameGeometry()
  21. 18 Aug, 2020 3 commits
  22. 07 Aug, 2020 2 commits
    • Vlad Zahorodnii's avatar
      Prettify license headers · 4ce853e8
      Vlad Zahorodnii authored
    • Vlad Zahorodnii's avatar
      Switch to SPDX license markers · 1fb9f6f1
      Vlad Zahorodnii authored
      The main advantage of SPDX license identifiers over the traditional
      license headers is that it's more difficult to overlook inappropriate
      licenses for kwin, for example GPL 3. We also don't have to copy a
      lot of boilerplate text.
      In order to create this change, I ran licensedigger -r -c from the
      toplevel source directory.
  23. 30 Apr, 2020 1 commit
  24. 04 Mar, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Use AbstractClient instead of XdgShellClient wherever possible · be759b7d
      Vlad Zahorodnii authored
      Currently, we have only one shell client type - XdgShellClient. We use
      it when we are dealing with Wayland clients. But it isn't really a good
      idea because we may need to support shell surfaces other than xdg-shell
      ones, for example input panel surfaces.
      In order to make kwin more extensible, this change replaces all usages
      of the XdgShellClient class with the AbstractClient class.
      Test Plan: Existing tests pass.
      Reviewers: #kwin, davidedmundson
      Reviewed By: #kwin, davidedmundson
      Subscribers: davidedmundson, kwin
      Tags: #kwin
      Differential Revision: https://phabricator.kde.org/D27778
  25. 22 Feb, 2020 3 commits