1. 26 Jul, 2022 1 commit
  2. 25 Jul, 2022 5 commits
  3. 24 Jul, 2022 17 commits
  4. 23 Jul, 2022 4 commits
    • Xaver Hugl's avatar
      workspace: fix resize snapping · 6d1c97c4
      Xaver Hugl authored
      With the existing behavior there was a 1px gap between windows
      6d1c97c4
    • Vlad Zahorodnii's avatar
      Make backends part of libkwin · 045da603
      Vlad Zahorodnii authored
      Platform backends are provided as plugins. This is great for
      extensibility, but the disadvantages of this design outweigh the
      benefits.
      
      The number of backends will be limited, it's safe to say that we will
      have to maintain three backends for many years to come - kms/drm,
      virtual, and wayland. The plugin system adds unnecessary complexity.
      
      Startup logic is affected too. At the moment, platform backends provide
      the session object, which is awkward as it starts adding dependencies
      between backends. It will be nicer if the session is created depending
      on the loaded session type.
      
      In some cases, wayland code needs to talk to the backend directly, e.g.
      for drm leasing, etc. With the plugin architecture it's hard to do that.
      Not impossible though, we can approach it as in Qt 6, but it's still
      harder than linking the code directly.
      
      Of course, the main disadvantage of shipping backends in a lib is that
      you will need to patch kwin if you need a custom platform, however such
      cases will be rare.
      
      Despite that disadvantage, I still think that it's a step in the right
      direction where the goal is to have multi-purpose backends and other
      reusable components of kwin.
      
      The legacy X11 standalone platform is linked directly to kwin_x11
      executable, while the remaining backends are linked to libkwin.
      045da603
    • Vlad Zahorodnii's avatar
      backends/virtual: Provide own logging.h file · 0fbd5fa3
      Vlad Zahorodnii authored
      target_sources() doesn't work as expected with generated source files.
      0fbd5fa3
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · acd5bf9a
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      acd5bf9a
  5. 22 Jul, 2022 7 commits
    • ivan tkachenko's avatar
      effects/colorpicker: Fix picking colors · df6331b6
      ivan tkachenko authored and Nate Graham's avatar Nate Graham committed
      
      
      Due to the wrong buffer format, the function failed with
      GL_INVALID_OPERATION error, which was silently ignored by the effect.
      It resulted in the constant phantom color being returned over and over
      again.
      
      Co-Authored-By: David Edmundson's avatarDavid Edmundson <kde@davidedmundson.co.uk>
      BUG: 454974
      FIXED-IN: 5.24.7, 5.25.4, 5.26
      df6331b6
    • Nate Graham's avatar
      useraction: port away from DEF macros · 282e79c1
      Nate Graham authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      Currently, defining shortcuts in useractions.cpp is done using one of
      six macros, some of which allow the name that ends up as the key in
      the config file to be autogenerated from an untranslated form of the
      user-facing text.
      
      Whenever a shortcut using one of these macros is renamed, the key in the
      config file changes too, so users lose any custom shortcuts they had
      assigned.
      
      To avoid this, developers need to know that they have to switch to the
      relevant macro that allows the name and description to be defined
      separately, remember to do so, and manually set a name that matches the
      old user-facing text. This can be forgotten, is not obvious to new
      developers, and is a subtle source of user-facing bugs.
      
      In addition the macros are largely unnecessary, as they are wrappers 
      around a custom function. We can just call the custom function 
      ourselves.
      
      This commit ports away from the macros and calls the initShortcut()
      instead, which resolves both issues.
      
      cc @davidre
      282e79c1
    • Volker Krause's avatar
      9e8b3704
    • Vlad Zahorodnii's avatar
      plugins/colord-integration: Expose outputs managed by Workspace · 1fccb3da
      Vlad Zahorodnii authored
      Workspace knows better about managed outputs, and it removes one more
      dependency on Platform::enabledOutputs() and the corresponding signals.
      1fccb3da
    • Vlad Zahorodnii's avatar
      backends/drm: Pass DrmGpu to page flip handler through user data · 82c1cf3d
      Vlad Zahorodnii authored
      The page flip handler can be simpler if it gets the gpu through user
      data. It also removes a usage of the Application singleton.
      82c1cf3d
    • Vlad Zahorodnii's avatar
      Load plugins after Workspace is created · e179d9ce
      Vlad Zahorodnii authored
      The original intention behind creating plugins before the workspace was
      to handle the case where kwin_wayland may need to wait until outputs are
      available. However, since things have changed a lot in that regard,
      plugins can be loaded after the workspace now.
      
      The main benefit behind this is that plugins can be simpler, they won't
      need to track when the workspace is created.
      
      On X11, plugins are already loaded after the workspace is instantiated.
      e179d9ce
    • Vlad Zahorodnii's avatar
      Remove unused main.h includes · 211d0c00
      Vlad Zahorodnii authored
      211d0c00
  6. 21 Jul, 2022 6 commits