1. 14 Sep, 2019 1 commit
  2. 15 Nov, 2018 1 commit
    • David Edmundson's avatar
      Add VirtualDesktops to PlasmaWindowModel · 98b0ad34
      David Edmundson authored
      VirtualDesktops with the new plurality was added PlasmaWindowManagement,
      but PlasmaWindowModel was left unchanged.
      In behavioural changes, setting a window to be on all running desktops
      should not mark it as being set on all desktops, they are 2 distinct
      pieces of information.
      Test Plan: Relevant unit test
      Reviewers: #kwin, mart
      Reviewed By: #kwin, mart
      Subscribers: kde-frameworks-devel
      Tags: #frameworks
      Differential Revision: https://phabricator.kde.org/D16883
  3. 01 Nov, 2018 1 commit
    • Marco Martin's avatar
      Add KWayland virtual desktop protocol · d0db5da5
      Marco Martin authored
      Implement the virtual desktop protocol discussed in
      T4457 xml protocol, client and server part.
      The PlasmaVirtualDesktopManagement interface manages the desktops
      instantiation and layout, each desktop is a PlasmaVirtualDesktop
      instance which contains unique id, name and position.
      PlasmaWindow has new events: plasmaVirtualDesktopEntered
      and plasmaVirtualDesktopLeft when a window enters or leaves a desktop,
      and desktops as the list of desktops is in. A window can be on
      any subset of desktops, if the list is empty, it's considered on all desktops.
      Test Plan: Autotest
      Reviewers: #kwin, #plasma, graesslin, hein, davidedmundson
      Reviewed By: #kwin, #plasma, davidedmundson
      Subscribers: davidedmundson, zzag, bshah, romangg, kde-frameworks-devel
      Tags: #frameworks
      Maniphest Tasks: T4457
      Differential Revision: https://phabricator.kde.org/D12820
  4. 22 May, 2018 1 commit
    • Scott Harvey's avatar
      Add "SkipSwitcher" to API · 10b00a21
      Scott Harvey authored
      Adding "SkipSwitcher" to API, as a result of discussion in
      BUG 375921
      Depends on / related to D11924 and D11926.
      Reviewers: hein, graesslin
      Reviewed By: graesslin
      Subscribers: kde-frameworks-devel, lbeltrame, rikmills, davidedmundson, #plasma, graesslin
      Tags: #frameworks
      Differential Revision: https://phabricator.kde.org/D11925
  5. 18 Aug, 2017 1 commit
  6. 24 May, 2017 1 commit
    • Marco Martin's avatar
      add requestToggleKeepAbove/below · e8e88174
      Marco Martin authored
      Summary: client requests to toggle those states, to be used by libtaskmanager
      Test Plan: setting keep above from the taskbar works
      Reviewers: #plasma, hein, graesslin, #plasma_on_wayland
      Reviewed By: #plasma, hein
      Subscribers: graesslin, hein, plasma-devel, #frameworks
      Tags: #frameworks, #plasma
      Differential Revision: https://phabricator.kde.org/D5757
  7. 16 May, 2017 2 commits
    • David Edmundson's avatar
      Keep QIcon::fromTheme in main thread · 92bf5a98
      David Edmundson authored
      QIcon::fromTheme is not thread safe, we can't have it done in the future
      We can solve this by returning null in the watcher, and doing fromTheme
      in the main thread
      when the watcher finishes if we don't have an icon.
      Test Plan: Current unit tests still pass
      Reviewers: #plasma, graesslin
      Reviewed By: #plasma, graesslin
      Subscribers: graesslin, plasma-devel, #frameworks
      Tags: #frameworks, #plasma
      Differential Revision: https://phabricator.kde.org/D5889
    • David Edmundson's avatar
      Remove pid changedSignal in Client::PlasmaWindow · c4caf02a
      David Edmundson authored
      Summary: Verified it it send before the initial_state and adjust tests and docs accordingly
      Test Plan: All unit tests pass
      Reviewers: #plasma, graesslin
      Reviewed By: #plasma, graesslin
      Subscribers: graesslin, plasma-devel, #frameworks
      Tags: #plasma_on_wayland, #frameworks
      Differential Revision: https://phabricator.kde.org/D5887
  8. 13 May, 2017 1 commit
    • Sebastian Kügler's avatar
      add pid to plasma window management protocol · 0b4d8a7f
      Sebastian Kügler authored
      This patch adds a pid event to the plasma window management protocol. It
      allows the compositor to tell allow a mapping between windows and processes.
      Bumps the version number of the interface to 8 to indicate this.
      Test Plan: autotest added, passed
      Reviewers: #plasma, hein, graesslin
      Reviewed By: #plasma, hein, graesslin
      Subscribers: apol, davidedmundson, plasma-devel, #frameworks
      Tags: #frameworks, #plasma_on_wayland
      Differential Revision: https://phabricator.kde.org/D5747
  9. 07 Nov, 2016 1 commit
    • Tobias C. Berner's avatar
      Include <errno.h> to fix build on FreeBSD · 70ba7718
      Tobias C. Berner authored
      /wrkdirs/usr/ports/x11/kf5-kwayland/work/kwayland-5.28.0/src/client/plasmawindowmanagement.cpp:489:25: error: use of undeclared identifier 'errno'
              if (n == -1 && (errno == EAGAIN) && ++retryCount < 1000) {
      /wrkdirs/usr/ports/x11/kf5-kwayland/work/kwayland-5.28.0/src/client/plasmawindowmanagement.cpp:489:34: error: use of undeclared identifier 'EAGAIN'
              if (n == -1 && (errno == EAGAIN) && ++retryCount < 1000) {
      Reviewers: graesslin, bshah
      Reviewed By: bshah
      Subscribers: plasma-devel
      Tags: #plasma_on_wayland
      Differential Revision: https://phabricator.kde.org/D3289
  10. 17 Oct, 2016 1 commit
    • Martin Flöser's avatar
      Support passing generic QIcon through PlasmaWindow interface · bd2b9665
      Martin Flöser authored
      Especially for Xwayland windows the compositor might not have a themed
      icon name. Resulting in a task manager not having dedicated icons for
      Xwayland windows.
      This change deprecates the way how a compositor is supposed to set the
      window icon. Instead of passing the themed icon name, it is now supposed to
      pass the QIcon. In case it's a themed icon the existing way to pass to
      the client is used.
      Otherwise a new event is used to inform the client that there is an icon
      - no data is transmitted at this point. The client can then create a
      file descriptor and pass it to the compositor. The compositor serializes
      the icon into the file descriptor and the client can read from it. This
      all happens transparently on client side there is no api change at all.
      The writing and reading of the icon is done in a thread. Due to that
      Qt5::Concurrent is now a required dependency instead of an optional
      Reviewers: #plasma_on_wayland, hein
      Subscribers: plasma-devel
      Tags: #plasma_on_wayland
      Differential Revision: https://phabricator.kde.org/D3049
  11. 15 Jul, 2016 1 commit
  12. 29 Jun, 2016 1 commit
    • Martin Flöser's avatar
      Add a parent_window event to Plasma Window interface · 1837b8d4
      Martin Flöser authored
      This change adds a parent_window event to Plasma Window. From server
      side it's possible to specify that a window is a transient for another
      window - that is it has a parent window.
      On client side this is exposed respectively with a new change signal.
      Reviewers: #plasma_on_wayland, hein
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D1779
  13. 06 Jun, 2016 2 commits
    • Martin Flöser's avatar
      [client] Don't check resource version for PlasmaWindow · b3884109
      Martin Flöser authored
      The checks for version are new in Wayland 1.10. We don't have that as
      a dependency yet on build.kde.org and I don't want to needless raise
      the requirement anyway.
      The version check was only needed to support the theoretical use case
      of a server having an older version. As the only user of PlasmaWindow
      right now are also KWayland based it's nothing we need to check for.
      So the check is just removed.
    • Martin Flöser's avatar
      Introduce an initial state event into Plasma Window protocol · c4a4c998
      Martin Flöser authored
      The event is sent to the client once all initial state is transmitted.
      This means the client is able to see the PlasmaWindow completely created
      and not in the intermediate state with further updates being pushed after
      being created.
      The client side API is adjusted to emit the windowCreated signal after
      the initial state event is received. In addition if the window is already
      unmapped, the signal will never be emitted which means the not valid
      windows are not exposed to the client at all.
      The tests are adjusted to reflect the new reality, which in most cases
      just means removing the comment that this needs to be improved.
      There is one kind of unrelated change included: when an empty icon is
      set, the client side now creates a QIcon() instead of going through
      QIcon::fromTheme. This wrong behavior was exposed now by the auto tests.
      Reviewers: #plasma, hein
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D1773
  14. 17 May, 2016 1 commit
    • Martin Flöser's avatar
      [client] Ensure PlasmaWindowManagement updates active window if it goes away · f5d75fe3
      Martin Flöser authored
      So far when the active PlasmaWindow got unmapped or destroyed, the
      PlasmaWindowManagement didn't update the activeWindow. This means it
      could expose a deleted object through it's API which could result in
      a crash.
      This change addresses the problem by updating the active window when
      a window gets unmapped or destroyed.
      Test Plan: Tests added which exposed the problem
      Reviewers: #plasma, hein
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D1621
  15. 02 May, 2016 1 commit
  16. 19 Apr, 2016 3 commits
    • Eike Hein's avatar
      Add a virtual_desktop_changable state to the window protocol. · 021f67f3
      Eike Hein authored
      Analogous to NET::ActionChangeDesktop.
      KWindowInfo::actionSupported(NET::ActionChangeDesktop) is hardcoded
      to return true in kwin, but that's not how it should be; as this will
      be fixed later the Wayland protocol needs this state bit as well for
      Test Plan: PlasmaWindowModel test is extended.
      Reviewers: graesslin
      Subscribers: plasma-devel
      Projects: #plasma
      Differential Revision: https://phabricator.kde.org/D1448
    • Eike Hein's avatar
      Add states and request methods for move and resize. · 26709a7a
      Eike Hein authored
      Adds states and request methods to determine whether a window can be put into
      move or resize modes, and request move and resize modes, respectively.
      request* naming pre-discussed with Martin. I chose to add *Mode to be more
      explicit as well as avoid namespace conflicts with possible other Move/Resize
      methods in the future.
      Since these are not toggleable states, there is no requestToggle* methods.
      Protocol version is not bumped (also pre-discussed with Martin) since we have
      pending changes already bumping to 3.
      Depends on D1417.
      Test Plan: PlasmaWindowModel test extended.
      Reviewers: graesslin
      Subscribers: plasma-devel
      Projects: #plasma
      Differential Revision: https://phabricator.kde.org/D1432
    • Eike Hein's avatar
      Switch to naming suggested by native speakers. · 455cfcad
      Eike Hein authored
  17. 15 Apr, 2016 1 commit
  18. 04 Nov, 2015 1 commit
    • Marco Martin's avatar
      task geometries to wayland for minimize effect · 3d41b6fc
      Marco Martin authored
      this exposes the geometry of taskbar entries in
      plasma-windowmanagement, in order to make the
      minimize effects possible.
      unlike on X11, it takes relative positions and
      it has one geometry per panel, making possible
      to have multiple taskbars working.
  19. 28 Oct, 2015 1 commit
  20. 30 Sep, 2015 1 commit
    • Marco Martin's avatar
      introduce SkipTaskbar · 140c1860
      Marco Martin authored
      support the skipTaskbar property in the window model
      that property is set client side by
  21. 08 Jul, 2015 1 commit
  22. 29 Jun, 2015 1 commit
    • Martin Flöser's avatar
      Better handle the creation of PlasmaWindow in PlasmaWindowManagementInterface · 83050743
      Martin Flöser authored
      Sending a new PlasmaWindow as an event is quite problematic. The main
      problem here is that it sends an id of 0 and this doesn't make sense
      when the interface gets bound and all existing windows are send to the
      This changes the interaction to have the client create the resource for
      the PlasmaWindow instead of the server creating it. The server generates
      "window ids" and sends those to the client. The client now binds a
      PlasmaWindow with the "window id" in the normal way.
      In case the server doesn't know the id any more, it directly sends an
      unmapped and destroyes the newly created resource again. It is not a
      protocol error as that can happen (common example: file open dialog of
      Qt 5 applications on Xwayland).
  23. 25 Jun, 2015 1 commit
  24. 24 Jun, 2015 2 commits
  25. 20 Jun, 2015 1 commit
  26. 19 Jun, 2015 1 commit
  27. 18 Jun, 2015 3 commits
  28. 17 Jun, 2015 1 commit
  29. 16 Jun, 2015 1 commit
  30. 12 Jun, 2015 1 commit