1. 17 Mar, 2020 1 commit
    • Aleix Pol Gonzalez's avatar
      Fix compiler warnings · cca0e15b
      Aleix Pol Gonzalez authored
      Summary: No need to keep them around for no reason.
      
      Test Plan: Tested the plugins I thought could be affected. Have been using it for a couple of days without problems
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D28062
      cca0e15b
  2. 19 Sep, 2019 1 commit
    • Vlad Zahorodnii's avatar
      Use nullptr everywhere · 62a7db70
      Vlad Zahorodnii authored
      Summary:
      Because KWin is a very old project, we use three kinds of null pointer
      literals: 0, NULL, and nullptr. Since C++11, it's recommended to use
      nullptr keyword.
      
      This change converts all usages of 0 and NULL literal to nullptr. Even
      though it breaks git history, we need to do it in order to have consistent
      code as well to ease code reviews (it's very tempting for some people to
      add unrelated changes to their patches, e.g. converting NULL to nullptr).
      
      Test Plan: Compiles.
      
      Reviewers: #kwin, davidedmundson, romangg
      
      Reviewed By: #kwin, davidedmundson, romangg
      
      Subscribers: romangg, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D23618
      62a7db70
  3. 14 Sep, 2019 1 commit
  4. 25 Jan, 2019 1 commit
    • Vlad Zahorodnii's avatar
      [effects] Port to new connect syntax · 253ff428
      Vlad Zahorodnii authored
      Summary:
      The new connect syntax has several advantages over the old syntax:
      
      (a) Connecting with the new syntax is faster;
      (b) It is compile time checked.
      
      There are still a few places where the old connect syntax is used, e.g.
      connecting to QML buttons in the Desktop Grid effect.
      
      Test Plan:
      Have been testing this patch for ~2 weeks, haven't noticed any
      regressions.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, broulik, graesslin, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D18368
      253ff428
  5. 12 Sep, 2017 1 commit
    • Martin Flöser's avatar
      [effects] Support xcbConnectionChanged for support properties · 90e77a93
      Martin Flöser authored
      Summary:
      Several effects announce a support property atom on the root window. This
      change forwards the KWin::Application's signal that the xcbConnection
      changed to the EffectsHandler so that the effects can respond to it.
      
      All effects which announce a support property connect to this new signal
      and re-announce the property. In case the xcb connection died (future
      XWayland crashing case) it is set to XCB_ATOM_NONE by that. In case the
      xcb connection got created (future delayed XWayland startup) the atom is
      set to the proper value.
      
      In addition all usages of the support properties are guarded, so that no
      nonesense actions are performed if the support property is XCB_ATOM_NONE.
      
      Test Plan: Only compile tested as we don't have XFree KWin yet
      
      Reviewers: #kwin, #plasma
      
      Subscribers: plasma-devel, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D7761
      90e77a93
  6. 14 Sep, 2016 1 commit
    • Martin Flöser's avatar
      [effects] Repaint expandedGeometry in HighlightWindowsEffect · d910217b
      Martin Flöser authored
      Summary:
      The highlight windows effect tried to trigger repaints with the shadow
      included by having an hardcoded pixel offset. This of course breaks if
      the shadow is larger than the hardcoded value.
      
      The reason presented on why it was done like that is no longer true and
      in the effects the actual visible area including decorations and shadows
      is available through the expandedGeometry.
      
      BUG: 368495
      
      Reviewers: #kwin, #plasma
      
      Subscribers: plasma-devel, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D2748
      d910217b
  7. 13 Sep, 2016 1 commit
    • Martin Flöser's avatar
      Support highlighting windows through EffectsHandlerImpl · 2545162f
      Martin Flöser authored
      Summary:
      So far TabBox used highlight windows by passing window ids around through
      an X property. This doesn't work on Wayland where we don't have window
      ids for our TabBox and the Wayland windows.
      
      This change introduces a new Effect::Feature for HighlightWindows which
      the HighlightWindowsEffect provides. The EffectsHandlerImpl has a new
      method to highlightWindows which it delegates to that effect if it is
      loaded by invoking a new performFeature method.
      
      The TabBoxHandler now passes the highlighting to the effects system
      instead of updating the x11 property. Thus this works on Wayland and
      at the same time improves the X11 side by no longer having to go through
      the property protocol.
      
      Test Plan: Verified that Alt+Tab highlights the windows on Wayland correctly.
      
      Reviewers: #kwin, #plasma_on_wayland
      
      Subscribers: plasma-devel, kwin
      
      Tags: #plasma_on_wayland, #kwin
      
      Differential Revision: https://phabricator.kde.org/D2630
      2545162f
  8. 24 Jan, 2015 1 commit
  9. 27 Feb, 2014 1 commit
  10. 24 Jan, 2014 1 commit
    • Martin Flöser's avatar
      Turn built-in effects into a library kwin links against · 76efe517
      Martin Flöser authored
      As all effects have always been compiled into the same .so file it's
      questionable whether resolving the effects through a library is useful
      at all. By linking against the built-in effects we gain the following
      advantages:
      * don't have to load/unload the KLibrary
      * don't have to resolve the create, supported and enabled functions
      * no version check required
      * no dependency resolving (effects don't use it)
      * remove the KWIN_EFFECT macros from the effects
      
      All the effects are now registered in an effects_builtins file which
      maps the name to a factory method and supported or enabled by default
      methods.
      
      During loading the effects we first check whether there is a built-in
      effect by the given name and make a shortcut to create it through that.
      If that's not possible the normal plugin loading is used.
      
      Completely unscientific testing [1] showed an improvement of almost 10
      msec during loading all the effects I use.
      
      [1] QElapsedTimer around the loading code, start kwin five times, take
      average.
      
      REVIEW: 115073
      76efe517
  11. 29 Nov, 2013 1 commit
  12. 25 Sep, 2013 1 commit
    • Martin Flöser's avatar
      Fix reading of window properties from effects · be3a0cf4
      Martin Flöser authored
      That's what you get for changing code you cannot properly test. The
      calculation was completely messed up. Now reads the correct byte size
      for the byte array. In addition the usages in the effects are improved
      to cast the data into the proper uint32_t values instead of the more
      generic long. After all if the format is 32, the length is 32 and not
      a long.
      be3a0cf4
  13. 08 Sep, 2013 1 commit
    • Thomas Lübking's avatar
      highlight effect: windowAdded false positive exits · 2a5861fa
      Thomas Lübking authored
      When a window is added while the effect is running
      it shall either be highlighted or hidden, but not exit
      the effect what happened, because the property notification
      is invoked to test whether the window has a highlight
      property (questionable since the effect is running, but
      valid - could be different X11 client) and that routine
      exits the effect if no property is found (assuming it was
      withdrawn)
      
      REVIEW: 112494
      2a5861fa
  14. 02 Sep, 2013 1 commit
  15. 07 Jan, 2013 1 commit
    • Martin Flöser's avatar
      Common way to announce support for specific effects through X11 · 565b4ed6
      Martin Flöser authored
      Instead of each effect, which needs to announce support, having custom
      code to create a property and set it on the root window, there is now a
      common API in EffectsHandler to take care of this.
      
      The methods takes care of creating the atom if it has not already done
      and set the property on the root window. Furthermore it allows multiple
      effects to announce the same property without getting in conflict with
      each other.
      
      As a further convenience the property is automatically removed when the
      effect is unloaded, so less things an effect author has to care about.
      
      REVIEW: 107815
      565b4ed6
  16. 19 Jul, 2012 1 commit
    • Martin Flöser's avatar
      Getter/setters for opacity, saturation and brightness in WindowPaintData · c7262e8b
      Martin Flöser authored
      The public member variables for opacity, saturation and brightness
      are removed in favor for getter and setters. The variables are
      moved into a private class. Those are now qreal instead of double.
      
      To make usage inside the effects easier a multiply method is added
      which multiplies the current value with passed in factor and returns
      the new value in a functional programming style.
      
      This commit is the top-most of a patch series to refactor
      ScreenPaintData and WindowPaintData. Other related commits are:
      * 0811772
      * ebdc7ec
      * 2c8dd8d
      * 7699726
      * 68e0201
      * 611cb09
      
      REVIEW: 105141
      BUG: 303314
      FIXED-IN: 4.10
      c7262e8b
  17. 12 Mar, 2012 1 commit
  18. 11 Feb, 2012 3 commits
    • Thomas Lübking's avatar
      fix tabbing · 85635dd4
      Thomas Lübking authored
      BUG: 290959
      BUG: 265160
      BUG: 229292
      BUG: 238279
      BUG: 290758
      BUG: 222831
      BUG: 278275
      BUG: 245747
      BUG: 230000
      
      BUG: 253697
      BUG: 230570
      BUG: 265977
      BUG: 225337
      BUG: 225339
      
      REVIEW: 103855
      85635dd4
    • Thomas Lübking's avatar
      Revert "fix tabbing" · bf88ec09
      Thomas Lübking authored
      pushed out of branch, not master - leading to absent revision, found hash collision??
      
      This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
      bf88ec09
    • Thomas Lübking's avatar
      fix tabbing · d245035a
      Thomas Lübking authored
      BUG: 290959
      BUG: 265160
      BUG: 229292
      BUG: 238279
      BUG: 290758
      BUG: 222831
      BUG: 278275
      BUG: 245747
      BUG: 230000
      
      BUG: 253697
      BUG: 230570
      BUG: 265977
      BUG: 225337
      BUG: 225339
      
      REVIEW: 103855
      d245035a
  19. 18 Dec, 2011 1 commit
    • Thomas Lübking's avatar
      Highlight window: support minimized windows · ba529f20
      Thomas Lübking authored
      also
      - replace QHash::operator[]
      - replace double by float (-> ARM, and we don't need that precision)
      - weaken some value checks ("== 1.0f")
      - fix last paint of hiding windows (w->addRepaintFull() trap)
      
      REVIEW: 103404
      ba529f20
  20. 29 Aug, 2011 1 commit
    • Martin Flöser's avatar
      Only call active effects in the effect chain · fe4329a2
      Martin Flöser authored
      Each effect is able to declare itself as currently being active,
      that is transforming windows or painting or screen or doing anything
      during the current rendered frame.
      
      This change eliminates the hottest path inside KWin identified by
      callgrind.
      
      REVIEW: 102449
      fe4329a2
  21. 12 Mar, 2011 1 commit
  22. 27 Feb, 2011 2 commits
  23. 25 Feb, 2011 1 commit
    • Martin Flöser's avatar
      EffectsHandler emits windowAdded signal · ab6f2ba1
      Martin Flöser authored
      All previously existing windowAdded methods are renamed to slotWindowAdded.
      EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
      emitted a little bit earlier than the previous direct method call. This might
      change behavior.
      Another signal is added to Workspace to signal that an unmanaged is added.
      ab6f2ba1
  24. 14 Feb, 2011 2 commits
  25. 06 Feb, 2011 1 commit
  26. 05 Feb, 2011 1 commit
  27. 31 Jan, 2011 1 commit
  28. 17 Oct, 2010 1 commit
  29. 01 Feb, 2010 1 commit
  30. 23 Dec, 2009 1 commit
  31. 20 Dec, 2009 3 commits
  32. 13 Sep, 2009 1 commit
    • Martin Flöser's avatar
      Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights: · 76f17e6d
      Martin Flöser authored
       * Models and Delegates for Clients and Desktops
       * Horizontal, vertical and tabular layout
       * Layout of one item can be configured by an XML definition
       * A desktop item can include a client list
       * An optional second list view showing only the selected item
       * A new KCM "kwintabbox"
       * An alternative TabBox with independent settings and keybindings
       * Optional Highlight Windows effect integration
       * List scrolls instead of removing items
       * Scroll wheel support
       * Cursor key support
       * Middle click on item closes window
      BUG: 195745
      BUG: 197187
      BUG: 201103
      FEATURE: 118184
      FEATURE: 156723
      FEATURE: 177441
      FEATURE: 182897
      FEATURE: 193882
      GUI:
      
      svn path=/trunk/KDE/kdebase/workspace/; revision=1022861
      76f17e6d
  33. 11 May, 2009 1 commit
  34. 05 May, 2009 1 commit