Hi, Thanks for René and Duncan's reply.
Honestly it's not because *I change the menu so frequently*. It's something what I've presented in the Akademy 2017 about Plasma 5 customization, without changing any existing file. We used our own start menu icon and I set it in the desktop scripts which uses kicker launcher. But when I change the launcher the settings was gone (and back to the KDE default). I know that kicker, kickoff and kickerdash are different plasmoids and the icons are set in their .desktop files. I ask here to see if there's any other way to achieve the goal so that I can study how to customize it in our system. Anyway, IMHO saving plasmoids (not only launchers) settings in a separate file as an override to default setting values should make sense, just like look-n-feel packages. Thanks for the developers for your work, and I wish it can be considered to implement. Franklin René J.V. Bertin 於 2017年08月30日 16:18 寫道: > On Wednesday August 30 2017 05:20:53 Duncan wrote: > > > Echoing this to the plasma-devel list so that at least they're aware of the > use-case (with apologies for top-replying to those who take offense). > > If indeed each launcher is a separate plasmoid and each plasmoid has its own > settings one could expect those to be saved in an application (pardon, > plasmoid) specific rc file. If that is not the case that probably means that > plasmoids don't run as individual processes but as are instead run (as > scripts) by a host application (the plasma shell), and settings are stored in > that host application's settings file. > > I don't think it'd be very difficult to store individual plasmoid settings in > such a way that they don't overwrite each other, given how the config file > APIs are designed. In this particular case though it may well be that the > launcher/kicker settings are stored for/under the plasmoid category instead > of name so that you can change launchers and find most of your settings in > the new one. > > Even so that would evidently also apply to the icon setting, so my guess is > that this is not being stored as a plasmoid property, but as a setting for > how (where, etc) individual plasmoids are displayed. That still doesn't mean > that the icon *has* to be reset (the other properties like launcher location > don't, right?) but it seems a bit less surprising that it would be the case. > > In short, I don't think it'd be a huge change to implement a sticky custom > icon feature, but do think like Duncan that it will probably not be > considered worth the effort (besides, do as the VDG tells you and use Breeze > already ;) ) > > Duncan proposed the approach I also thought of, but that may not be feasible > because of how settings files are used (typically rewritten as soon as you > change something, and rarely if ever monitored for external changes). > Apparently you (Franklin) change your launcher often enough for the icon > issue to become one, so maybe there's yet another workaround. Myself I use > Lancelot on my Plasma4 desktop, but sometimes need the standard kicker to > save an updated session configuration. If that happens I just add the > standard kicker to my secondary panel, and do what I want to do. If I needed > this frequently I'd leave the kicker there. > You could try the same thing: add 1 or 2 additional launchers and set them to > kickoff and/or kickerdash. With luck the plasma shell will remember all > settings you configure for each of those launchers - if it doesn't you could > probably report that as a bug that ought to be considered more seriously than > your original issue. > > R. > > >> Franklin Weng posted on Tue, 29 Aug 2017 20:26:39 +0800 as excerpted: >> >>> In Plasma 5 we can right-click on the start menu and set our own icon. >>> However when I switch my menu from kicker to kickoff or kickerdash, the >>> menu icon changed to the default one and when I switch back to the >>> kicker, my own icon was gone and the default one is used. Would anyone >>> please tell me how to keep my own icon in the kicker mode, or even when >>> switching to different menu mode? >> Good question. >> >> Unfortunately, as implemented it's not possible (except for source >> patching[1]), and I'm not sure the plasma devs would consider it worth >> the very likely rather large effort to make it possible. >> >> The problem is that each of the different types of "application launcher" >> is its own separate "plasmoid", that is, component-widget, complete with >> its own settings. >> >> For most plasmoids, switching from one to another is a process of >> deleting the one, selecting add widget, and in the resulting plasmoid/ >> widget-explorer dialog, dragging the one you want to replace the one you >> just deleted to the appropriate location. Then, depending on the >> plasmoid, you may have to configure the new one to do what you want. >> >> Now it so happens that with the "launcher" plasmoids, they've created a >> shortcut to all that, that lets you replace the one launcher with another >> one without going thru the whole delete/add process manually. But the >> different types of launcher are still entirely different plasmoids, each >> with their own settings and defaults, and replacing one with another >> deletes the configuration for the replaced one and sets the configuration >> of the new one to all defaults. >> >> So as I said, you can patch the sources to change those defaults and then >> you'll get your patch-altered defaults every time you switch, but other >> than that, there's no real way to do it. >> >> Wait... I actually just thought of another way, that I use sometimes >> myself. >> >> You can backup the config file before you make your change. Then make >> your change, configure the new one as you like, and do a second backup, >> keeping copies of both. Then when you need to switch, you can simply >> kill plasmashell so it doesn't overwrite your changes, restore the >> appropriate backup with your desired settings, and restart plasmashell so >> it sees the altered component, along with the settings you had previously >> configured for it. >> >> The file with all the activity/desktop, panel, and plasmoid settings, is >> >> $XDG_CONFIG_HOME/plasma-org.kde.plasma.desktop-appletsrc [2] >> >> This file, like most kde/plasma config files, is organized much like the >> standard INI file from the MS-Windows-3 era. Unfortunately, while >> there's a section hierarchy, the sections are numbered rather than named, >> so you have to read the settings and deduce what container or plasmoid >> each number represents, making hand editing possible but rather more >> difficult than it might be. >> >> Which is why I suggested using the plasma GUI to configure things and >> simply backing up the file when it has a set of settings you want to >> save, so you can switch between multiple configurations by simply killing >> plasmashell, switching the config file, and restarting it. >> >> --- >> [1] Not possible except for source patching: It's always possible to >> modify the sources to set your own default. Plasma is of course >> freedomware with the sources available in ordered to /encourage/ >> patching, and while I don't claim to be a dev, I do run gentoo so already >> build from sources, and if I'm motivated enough I sometimes surprise >> myself at what sort of patches I can hack up! Were I motivated enough, >> I'm sure this one would not be an issue, since at least in theory it's >> simply replacing one image with another, so the biggest issue would be >> actually looking at the code long enough to find the image to replace, >> and that shouldn't be difficult at all, only requiring time, which is why >> I have to be motivated enough to prioritize finding the location /to/ >> patch and creating and testing the patch above whatever else I'd >> otherwise be doing with that time. >> >> [2] $XDG_CONFIG_HOME: If this variable isn't set, the default is >> ~/.config, ~ of course being your user's home dir. So the complete >> default path would be: ~/.config/plasma-org.kde.plasma.desktop-appletsrc >> >>
signature.asc
Description: OpenPGP digital signature