lxqt / lxqt-config

Tools to configure LXQt and the underlying operating system
https://lxqt.github.io
GNU Lesser General Public License v2.1
81 stars 62 forks source link

Appearance Config: Distinguish user themes and open theme folders #852

Closed tsujan closed 2 years ago

tsujan commented 2 years ago

Inspired by my discussion with @stefonarch at the end of this page (the PR was reversed later): https://github.com/lxqt/liblxqt/pull/308

  1. Themes are always sorted alphabetically.
  2. User themes are distinguished by "(User Theme)" after their names.
  3. Double clicking a theme opens its folder.
  4. Also, each theme has a context menu for opening its folder.

A screenshot:

themes

stefonarch commented 2 years ago

That looks fine! BTW I was never happy with "Override user-defined wallpaper". What about changing it to "Use wallpaper provided by theme" ?

tsujan commented 2 years ago

Good idea. Would you make a PR for it?

stefonarch commented 2 years ago

https://github.com/lxqt/lxqt-config/pull/853

ghost commented 2 years ago

I'm looking forward to this in 1.1.1 or 1.2.0.

One other bit of polish on this panel that I see, for lack of a better spot to mention it, is to have consistent preview images. I can create an Issue and compile those images, and get it into 1.1.1 or 1.2.0, granted Git doesn't give me any issues.

stefonarch commented 2 years ago

Nice idea! I was thinking (related to making themes translatable) having also a description, but at the end it's not so important as users see quite immediately how the theme is.

And there is a not so small part of users that never touch themes ;) - I know some of theme.

tsujan commented 2 years ago

I was thinking (related to making themes translatable) having also a description, but at the end it's not so important

I think we should do it before 1.2.0. Having a desktop entry for each theme has also this advantage that the theme name can be changed without changing its folder name, the latter being backward incompatible.

EDIT: I meant LXQt 1.2.0; corrected now.

ghost commented 2 years ago

The .desktop files I feel are an okay idea, my only confusion there is that .desktop is typically used for launching applications, whereas raw data is typically stored in an INI.

I assumed the preview images were PNGs but I do not see them in the repository.

EDIT: The .desktop files could launch the XDG file manager for the folder, I also saw some discussion of index.theme which I will look into.

tsujan commented 2 years ago

my only confusion there is that .desktop is typically used for launching applications

My mistake; sorry! It can be index.theme.

stefonarch commented 2 years ago

I assumed the preview images were PNGs but I do not see them in the repository.

https://github.com/lxqt/lxqt-themes/blob/master/themes/Arch-Colors/preview.png

So theme.yaml and theme_*.yaml in the first, while index.theme would be

Name=Ambiance
Comment=some description
Name[ar]= التطبيقات
Comment[ar]=قائمة لكل تطبيقاتك
Name[bg]=Стартово 
Comment[bg]=меню с всички ваши приложения
...

Not sure if it's easier for compiling use the same format as in panel.

[Desktop Entry]
Type=Service
ServiceTypes=LXQt-themes
Icon=...

Name=Ambiance
Comment=...
tsujan commented 2 years ago

while index.theme would be

Yes, that's good. The description could be shown as the tooltip if existing.