1. 18 Feb, 2021 4 commits
    • Aleix Pol Gonzalez's avatar
      pipewire: Don't crash if we're passed a null spa_data · 8950b781
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      I just had that crash, this is what coredumpctl suggested it was
      happening.
      We don't need to make sure we're in dmabuf mode to remove the buffer.
      Worst case scenario it won't remove anything. Check the spa_data before
      querying in case it's null.
      8950b781
    • Méven Car's avatar
      DrmGpu fix atomicModeSetting try · 11c3ada1
      Méven Car authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      11c3ada1
    • Vlad Zahorodnii's avatar
      x11: Properly detect whether swap events have to disabled · cf2486d6
      Vlad Zahorodnii authored
      qEnvironmentVariableIntValue() will return 0 if the specified variable
      is not set.
      
      This means that swap events will be disabled on AMD GPUs unless the env
      var is set explicitly to 1.
      cf2486d6
    • 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
      keyboard.
      
      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.
      892b8cf6
  2. 17 Feb, 2021 2 commits
  3. 16 Feb, 2021 8 commits
  4. 15 Feb, 2021 3 commits
    • Vlad Zahorodnii's avatar
      xwayland: Improve handling of Xwayland restarts · 22d386cd
      Vlad Zahorodnii authored
      At the moment, the display name might change between Xwayland restarts.
      It is a problem because the session process (plasma) may have an
      outdated value of the DISPLAY environment variable after a restart.
      
      With this change, it is guaranteed that the DISPLAY and the Xauthority
      file stay the same until the server is stopped explicitly.
      22d386cd
    • Xaver Hugl's avatar
      decouple DRM planes from DrmOutput · 995437f5
      Xaver Hugl authored
      995437f5
    • Méven Car's avatar
      QPA Integration: Save enabled screens · 7c2c213f
      Méven Car authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      Since QWindowSystemInterface::handleScreenRemoved would not be called in Integration::handleScreenDisabled, Qt apps would still reference disabled screens resulting in crashes.
      7c2c213f
  5. 13 Feb, 2021 1 commit
    • Ismael Asensio's avatar
      kcm/kwinrules: Update values on text edit · 3b87c6ea
      Ismael Asensio authored
      Previously the text values were updated to the model after
      `onEditingFinished()`, that is after losing focus, to prevent
      erroneus updates.
      
      This was making also the `needsSaving` signal fire only after
      a focus change, which is not consistent with the behavior of
      other KCMs.
      
      Use `onTextEdit()` instead, so the model is updated as the user
      types.
      
      BUG: 431211
      3b87c6ea
  6. 12 Feb, 2021 2 commits
    • Cyril Rossi's avatar
      KCM KWin VirtualDesktop highlight settings · 12e0376f
      Cyril Rossi authored and Nate Graham's avatar Nate Graham committed
      Currently the highlight is only for the items. KCModuleData will come in another MR.
      This is more simple implementation than the one I previously made.
      
      Some default value are hardcoded in the KCM such as Rows count (2) and the number
      of virtual desktop, on revert to default, it keeps only the first one.
      12e0376f
    • Vlad Zahorodnii's avatar
      xwayland: Refuse to create connection sockets if sockets dir doesn't exist · c5e91b94
      Vlad Zahorodnii authored
      Since kwin runs as a normal user, it cannot create the X11 connection
      socket directory because any user process can easily compromise the
      security of the system by unsetting the sticky bit.
      
      In order to guarantee the security of the system, the socket directory
      must be created by root and have the sticky bit on.
      c5e91b94
  7. 11 Feb, 2021 8 commits
  8. 10 Feb, 2021 7 commits
    • Fabian Vogt's avatar
      xwayland: Also write a FamilyWild entry to the Xauthority file · 7c325b74
      Fabian Vogt authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      This is needed to deal with hostname changes during lifetime of a session.
      7c325b74
    • Fabian Vogt's avatar
      xwayland: Rename updateXauthorityFile and add error handling · 06d2a31b
      Fabian Vogt authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      This renames updateXauthorityFile to writeXauthorityEntries as it doesn't
      actually update (i.e. change) anything, it just writes new ones.
      
      Error handling is introduced, to avoid that it continues silently without
      entries, which would cause all connections to fail.
      06d2a31b
    • Fabian Vogt's avatar
      xwayland: Simplify writeXauthorityEntry · d51703e3
      Fabian Vogt authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      Extract writing of what libXau calls "counted strings".
      d51703e3
    • Fabian Vogt's avatar
      xwayland: Simplify m_authorityFile · 357713fa
      Fabian Vogt authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      Use a shorter file name (which is already part of apparmor profiles) and avoid
      using a pointer.
      357713fa
    • 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.
      93e0265e
    • Vlad Zahorodnii's avatar
      Make source code more relocatable · 68c675d0
      Vlad Zahorodnii authored
      Occasionally, I see complaints about the file organization of kwin,
      which is fair enough.
      
      This change makes the source code more relocatable by removing relative
      paths from includes.
      
      CMAKE_CURRENT_SOURCE_DIR was added to the interface include directories
      of kwin library. This means that as long as you link against kwin target,
      the real location of the source code of the library doesn't matter.
      
      With autotests, things are not as convenient as with kwin target. Some
      tests use cpp files from kwin core. If we move all source code in a src/
      directory, they will need to be adjusted, but mostly only in build
      scripts.
      68c675d0
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · fb7f507d
      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"
      fb7f507d
  9. 09 Feb, 2021 5 commits