1. 02 Aug, 2021 1 commit
    • Fabian Vogt's avatar
      Make sure to actually commit GSettings changes · 57cc9bd8
      Fabian Vogt authored
      g_settings_set_* is async, so make sure the change is actually performed before
      returning and eventually exiting. This mostly affected the gtk_theme update
      binary, because that isn't long running unlike the kded module.
      
      (cherry picked from commit 6b2c2110)
      57cc9bd8
  2. 09 Jun, 2021 1 commit
  3. 30 Mar, 2021 1 commit
  4. 29 Sep, 2020 1 commit
  5. 25 Sep, 2020 1 commit
  6. 18 Jun, 2020 1 commit
  7. 17 Jun, 2020 1 commit
  8. 05 May, 2020 1 commit
  9. 30 Apr, 2020 1 commit
  10. 31 Mar, 2020 1 commit
  11. 16 Mar, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      [GTK Config] Construct font style by hand instead of relying on Qt function · a581035b
      Mikhail Zolotukhin authored
      Summary:
      It has been reported, that on localized systems
      the font style was written in local language.
      Therefore config line was incorrectly read by
      GTK and therefore applications displayed bad
      font. To avoid that this commit is introduced.
      
      BUG: 333146
      FIXED-IN: 5.18.4
      
      Test Plan:
      
      Reviewers: #plasma, ervin, bport, meven, davidedmundson, ngraham
      
      Reviewed By: ervin, ngraham
      
      Subscribers: chauvin, davidre, davidedmundson, cfeck, ngraham, IlyaBizyaev, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D27380
      a581035b
  12. 15 Mar, 2020 1 commit
  13. 10 Mar, 2020 2 commits
  14. 27 Feb, 2020 1 commit
  15. 25 Feb, 2020 1 commit
  16. 18 Feb, 2020 1 commit
  17. 06 Feb, 2020 1 commit
  18. 04 Feb, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      Upgrade theme to Breeze GTK on startup · d892dc2b
      Mikhail Zolotukhin authored
      Also apply it, if the config is empty. This is a port of kconf_update
      script from `breeze-gtk` repo, but this time it use gtkconfig kded
      module methods to manipulate config (to avoid code duplication and to
      write config to all possible configuration storages).
      
      Also kded module updates config for theme on every start, if it is
      empty.
      
      Summary:
      BUG: 416635
      FIXED-IN: 5.18.0
      
      Test Plan:
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26891
      d892dc2b
  19. 28 Jan, 2020 1 commit
  20. 26 Jan, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      Correctly process font, that has multiple words in family name · 8bf4efd7
      Mikhail Zolotukhin authored
      Summary:
      Separate family from other font characteristics with comma. It
      partially solves the issue, because font dialog in Fonts KCM
      allows you to choose the font with family name, constructed
      with the font style.
      
      BUG: 380980
      FIXED-IN: 5.18.0
      
      Test Plan:
      # Restart `kded5`
      # Change font in Fonts KCM to one, which name consist of two or more words separated with spaces
      # GTK applications should now correctly use that font
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26928
      8bf4efd7
  21. 23 Jan, 2020 1 commit
  22. 21 Jan, 2020 1 commit
  23. 20 Jan, 2020 1 commit
  24. 16 Jan, 2020 1 commit
  25. 15 Jan, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      Remove GTK KCM · c21f1e7d
      Mikhail Zolotukhin authored
      Summary:
      After D26583 GTK KCM is no longer needed, the functionality
      is now in Application Style KCM. Also some outdated files (such as readme and changelog) were removed.
      
      Test Plan:
      # Delete `$DEV_DIR/usr/lib/plugins/kcm_kdegtkconfig.so` from possible previous builds+installs
      # Build, run system settings with prefix
      # Check, that the only loaded GTK KCM is the old one
      
      Reviewers: mart
      
      Reviewed By: mart
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D26593
      c21f1e7d
  26. 11 Jan, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      Rewrite GTK KCM · 1ebf620d
      Mikhail Zolotukhin authored
      Summary:
      After several changes, GTK Applications settings are now in
      sync with KDE equivalent ones, so that GTK KCM now controls only the
      theme of the GTK applications. But GTK KCM was written with the thought
      that it controls entire GTK apps appearance in mind. Its code structure
      is now redundant and needs to be either rewritten or purged in favour of
      new one, that will be present in Application Style KCM code base.
      
      The last approach is preferable, because of the goal of removing GTK KCM
      to simplify System Settings structure. However, there are some points to
      be noted:
      
      # The consensus of where exactly to put the GTK applications settings
         in App Style KCM is not yet reached.
      # A couple of changes to the kded settings sync daemon are needed, to
         provide functionality, that is left in GTK KCM (Themes
         Installation/Deletion, Preview etc) without depending on GTK libs
      # There are some bugs in KCM, that are present in the moment, that
         could only be fixed with architecture changes (for example: not
         working previews, when the xsettingsd daemon is running; broken icons
         in the previews; gtk themes do not applying for flatpak apps)
      
      Given the points above I decided to rewrite GTK KCM, so that complex
      design task (1) would be solved after changes (2) are made. And also
      in the process some bugs (3) will be fixed.
      
      Now, GTK KCM is not responsible for managing GTK configs, the one who
      does is the kded module, that is asked through DBus, when it is needed
      to do so.
      The stuff, that is managed by kded module:
      
      # Setting selected GTK2 and GTK3 themes for applications
      # Getting current GTK2 and GTK3 themes for applications
      # Previewing GTK2 and GTK3 applications for selected themes
      
      Technically 2 and 3 could be done in KCM directly, because they do not
      depend on GTK libs, but I thought, that it would be logically related to
      the stuff, that is done via kded module. If you think, that that
      approach is not right, feel free to criticise.
      
      The stuff, that is done in KCM directly:
      
      # Getting the list of installed GTK themes
      # Installing and removing the GTK theme
      
      Also there are some visual changes:
      
      # Theme deletion is now done via button near GTK theme combo, instead
         of separate dialog
      # Theme installation from file is now done via button at the bottom,
         as in the other similar KCMs
      # Preview button now has a title with an ellipsis to indicate, that
         it launches GTK app in a pop up window
      
      BUG: 405405
      
      Test Plan:
      {F7847441}
      # Relaunch kded5
      # Open GTK KCM
      # Check if gtk themes changing works
      # Check if the previews are working
      # Check if the local themes deletion works
      # Check if theme installation from archive works
      # Check if GHNS theme installation works
      
      Reviewers: apol, #vdg, ngraham, cblack
      
      Reviewed By: #vdg, ngraham, cblack
      
      Subscribers: cblack, baberts, ngraham, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D26261
      1ebf620d
  27. 05 Jan, 2020 1 commit
  28. 03 Jan, 2020 1 commit
  29. 02 Jan, 2020 1 commit
    • Mikhail Zolotukhin's avatar
      Respect GTK2_RC_FILES environmental variable · 5734413d
      Mikhail Zolotukhin authored
      Summary:
      If the above variable is set and it does not contain multiple paths,
      write GTK2 config into the designated config file, instead of the
      default one.
      
      BUG: 415770
      FIXED-IN: 5.18.0
      
      Test Plan:
      Check if the custom file provided by env variable is modified, when changing any settings, that are synchronized by kded module (icon theme, cursor theme etc)
      Simple test:
      
      # `mv ~/.gtkrc-2.0 ~/.gtkrc-2.0.bak`
      # `export GTK2_RC_FILES=~/.gtkrc-2.0.bak`
      # Restart kded5 with the above env variable
      # Change e.g. icon theme and see, that `.gtkrc-2.0.bak` is modified, but `.gtkrc-2.0`
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D26375
      5734413d
  30. 30 Dec, 2019 1 commit
  31. 25 Dec, 2019 1 commit
  32. 19 Dec, 2019 2 commits
  33. 18 Dec, 2019 3 commits
    • Mikhail Zolotukhin's avatar
      Synchronize decorations buttons order in GTK headerbars · 2b12ceb1
      Mikhail Zolotukhin authored
      Summary:
      Window decorations button order was applied only for window headers that was controlled by KWin, but not for GTK applications with CSD.  Now it is no longer true - button order in CSD applications are in sync with the one used by KWin.
      
      Only Close, Maximize, Minimize and Icon buttons are synchronized, because GTK supports only them.
      
      Depends on D25695
      
      Test Plan:
      # Open two windows alongside each other: window decorations button order settings and any gtk3 app with CSD (for example, Lutris)
      # Restart kded5
      # Apply any WD button order, apply settings
      # The app should change its buttons order in headerbar (if xsettingsd is not installed, on X11 only after restart)
      {F7794441}
      
      Reviewers: #vdg, cblack, #plasma, apol
      
      Reviewed By: apol
      
      Subscribers: apol, GB_2, broulik, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D25670
      2b12ceb1
    • Mikhail Zolotukhin's avatar
      Sync dark theme preference for GTK3 applications · 99c72b4b
      Mikhail Zolotukhin authored
      Summary:
      Previously preference of dark GTK3 theme was set by checkbox in GTK KCM.  Now, the checkbox is removed and preference is set according to color scheme, the user set in Colors KCMm, using the same heuristic, used for filter combobox in that KCM.
      
      This makes sense, because, suppose the user set Adwaita GTK3 theme, and their color scheme is something dark. Therefore their overall theme is supposedly dark, so Adwaita needs to be dark too.
      
      Note, however, that this preference is somewhat buggy. It does not work in flatpak apps, it can't be autoreloaded with xsettingsd, and also it is applied after some time has passed (this is hypothetical). You can check these statements, using the present checkbox in GTK KCM.
      
      Depends on D25872
      
      Test Plan:
      {F7816371}
      # Apply Adwaita GTK3 Theme
      # Reload kded5
      # Apply dark color scheme
      # Wait some time
      # (Re)open GTK3 app
      # App should use Dark color scheme
      # Apply light color scheme
      # Wait some time
      # Reopen GTK3 app
      # App should use Light color scheme
      
      Reviewers: apol, cblack, broulik, #vdg
      
      Reviewed By: apol, cblack
      
      Subscribers: ngraham, GB_2, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D25945
      99c72b4b
    • Mikhail Zolotukhin's avatar
      Refactor GTK KCM code · 13c4eee2
      Mikhail Zolotukhin authored
      Summary:
      This diff introduces purely cosmetic changes.
      
      1. KCM now compiled with no signals/slot keywords to avoid clash with
         gtk
      2. Remove linking of XCursors library, because it is no longer needed
      3. Replace some for-cycles with range-based ones
      4. Wrap some string literals with QStringLiteral
      5. Rearrange include headers
      5. Some other changes to better match code style
      
      Test Plan: Check, if there is no regressions
      
      Reviewers: apol
      
      Reviewed By: apol
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D25872
      13c4eee2
  34. 10 Dec, 2019 3 commits
    • Mikhail Zolotukhin's avatar
      Remove traces of old GTK configs · 338ce246
      Mikhail Zolotukhin authored and Nate Graham's avatar Nate Graham committed
      Summary:
      Since slider behavior is controlled by kded daemon, gtk kcm has no control over it now.
      
      It appears, that some traces of the warps-slider config were not removed. Now it is removed along with some other ones redundant lines.
      
      Test Plan: Check that GTK KCM no longer crash, if entered from System Settings.
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D25863
      338ce246
    • Mikhail Zolotukhin's avatar
      Remove scrollbar behavior option in GTK KCM · abffd8d7
      Mikhail Zolotukhin authored and Nate Graham's avatar Nate Graham committed
      Summary:
      Since this setting now in sync with Plasma and Qt apps one, there is no need in it to be in separate KCM.
      
      Depends on D25703
      
      Test Plan:
      Check if nothing breaks
      
      {F7797241}
      
      Reviewers: #vdg, ngraham
      
      Reviewed By: #vdg, ngraham
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D25711
      abffd8d7
    • Mikhail Zolotukhin's avatar
      Sync scrollbar behavior with GTK applications · 68787ff9
      Mikhail Zolotukhin authored and Nate Graham's avatar Nate Graham committed
      Summary:
      Previously GTK applications respected their own setting on what should happen when an user clicks below or above scrollbar slider. Now it is in sync with Plasma and Qt applications settings.
      
      Problems:
      # I'm failed to found DConf GTK setting, that is responsible for scrollbar behavior. Maybe someone could help.
      # Setting apply on the go do not work with GTK2 apps, therefore they need to be reloaded to respect the new setting.
      
      Test Plan:
      # Update `plasma-desktop` and `frameworkintegration`
      # Launch workspace behavior KCM and change scrollbar setting `Clicking on scrollbar track`
      # GTK3 apps should now respect the setting
      
      Reviewers: cblack, #vdg, ngraham, apol
      
      Reviewed By: #vdg, ngraham
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T10611
      
      Differential Revision: https://phabricator.kde.org/D25703
      68787ff9