Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDEA-324382 Window frame respect GTK Theme #2565

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

Pronink
Copy link

@Pronink Pronink commented Sep 3, 2023

Under ide.linux.mimic.system.theme registry key, added GTK styled titlebar buttons with selected icons theme.

Images:

image
image
image

Video:
Youtube video

Changes:

  • Refactoring: Styles specific to Windows and Linux have been split into two classes.
  • New icon colorization mode: colorizeReplace. Used to colorize any icon replacing all pixels.
  • Selection of the chosen icon theme.
  • Retrieval of icons from the selected theme. It supports theme inheritance.
  • Drawing the background circle behind icons using the libadwaita design.
  • It also considers visible action preferences and their sorting configuration (for example, first image only contains x).
  • KDE initial support

To do:

  • Use correct color when light theme with dark topbar (only supports full light theme and full dark theme). Here I need some IntelliJ dev help!
  • Update icons if icon theme or settings changes meanwhile the IDE is open.
  • Resize non 16x16 icon svgs.

Possible, future:

  • IDEA-326222 Add ability to configure window decoration to choose the side where to place a control-buttons

The main intention of this initial PR is to ensure that everything continues to work in all systems as always. Next, we will continue development from these codebase with feedback from users who use other themes or desktop environments. For now, it should work when activating the ide.linux.mimic.system.theme variable in IntelliJ's registry while using Linux.

Related issues:

@Pronink
Copy link
Author

Pronink commented Oct 16, 2023

Hello @ybedrov ,

Thank you for taking the time to review my pull request! I would like to know if you have any comments or suggestions regarding the approach I've taken. Is there anything specific I should address or change? I'm here to collaborate and make this pull request the best it can be. Your feedback would be greatly appreciated.

Thanks again!
Ismael García

# Conflicts:
#	platform/core-ui/src/util/IconUtil.kt
@Pronink
Copy link
Author

Pronink commented Nov 12, 2023

I made a video showing this feature:

Youtube video

@captainfulcun
Copy link

Nice job man!! What a good touch from your part. Its still incredible how IntellJ devs haven't solved this yet. 😒

@Carcasus
Copy link

Nice job, works perfectly. Hope someone from JetBrains notices this

@chardinson
Copy link

This change makes IntelliJ IDEA more consistent with my GNOME desktop environment, I hope this will be included in the main line of the project soon.

@ClementGayet
Copy link

Lol when community fix problems of thousand dollars paid engineer...
You do a great work, hopefully this will be merged !

@danielzgtg
Copy link

Hi, what's the status on this feature?

@pporvatov
Copy link
Contributor

Hi, what's the status on this feature?

This feature has been implemented in a little bit different way. Here are short details:
https://youtrack.jetbrains.com/issue/IJPL-43747/2023.2-IDE-Window-frame-does-not-respect-GTK-Theme#focus=Comments-27-9814962.0-0

Note that the ticket IDEA-324382 was renamed into https://youtrack.jetbrains.com/issue/IJPL-43747
One ticket related to the feature : https://youtrack.jetbrains.com/issue/IJPL-49414

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants