| Summary: | Changing mouse cursor theme should not require restarting Trinity | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Darrell <darrella> |
| Component: | tdebase | Assignee: | Francois Andriot <albator78> |
| Status: | PATCHAVAIL --- | ||
| Severity: | minor | CC: | albator78, bugwatch, darrella |
| Priority: | P5 | ||
| Version: | R14.0.x [Trinity] | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Bug Depends on: | |||
| Bug Blocks: | 2968 | ||
| Attachments: |
tdebase 14.0.0 : applies new cursor theme immediatly
tdebase 14.0.0 : applies new cursor theme immediatly (2) |
||
|
Description
Darrell
2013-04-07 13:12:07 CDT
Created attachment 1368 [details]
tdebase 14.0.0 : applies new cursor theme immediatly
This is a first attempt at fixing this issue.
I backported the code from KDE 4.10 into TDE.
It seems to work at first look, BUT there is still a problem: some applications still use the previous cursor theme, not the new one.
For example. if you run kcontrol, change mouse cursor, close kcontrol, reopen control, you still see the old cursor theme, in kcontrol only.
On the positive side, the cursor setting code from KDE4 look more efficient that what we have in "kapplymousetheme.cpp" in TDE. For example, I had troubles having the TDE's cursor in Thunderbird, but it worked in KDE4. Now it works in TDE too :-)
I think the "applyTheme" function code should replace the current code used in "kapplymousetheme.cpp" and "main.cpp" under "kcontrol/input" (BTW the current code is duplicated ...).
Finally, KDE4 provides a mechanism to notify all applications that they must reload the settings, but TDE does not. It implies backporting some kdelibs4 stuff. So I removed this code.
I think this is why TDE is forced to logoff/login again the user, in order to run the "kcmapplymousetheme" command at startup (in "starttde" script) BEFORE starting ksmserver and kded, because at a later time, these 2 Processes can not change mouse cursor.
I will look into the KDE4 notification mechanism soon.
Created attachment 1369 [details]
tdebase 14.0.0 : applies new cursor theme immediatly (2)
Already a fix, because the dcop notification did not work in previous patch. Now it works and the newly-started applications have correct cursor (e.g. my example with badly working kcontrol is fixed)
Problem remains with "always running applications" like kicker, which still uses old cursor theme.
Maybe a workaround would be to restart kicker but I don't know if other applications have same problem...
With respect to restarting kicker, would the code in the "Configure Panel" option be usable? "Right-click" on the panel and select the "Configure Panel" option from the popup menu. When changes are made, kicker very much acts as though the process is being restarted because the entire panel momentarily disappears. Yes, but I think kicker is the easy part of the problem :) We have to restart twin too, as well as the "main" TDE processes (ksmserver, kded ...) which cannot be killed at all. Okay, I was just trying to help by encouraging ideas. You code gurus know better than me what is needed. :-) Francois, has there been any progress changes in this report? |