On Mon, Jul 26, 2010 at 2:12 PM, Marty Jack <martyj19@...> wrote:
> As to cursor themes, I didn't find them to be any difficulty at all. What does not work if you set the Xsetting Gtk/CursorThemeName? You do have to know how to find them and load them for preview with XcursorFileLoadImage and convert them with the same code as used for _NET_WM_ICON but without the 64 bit exception.
This doesn't work if used with gdm. Non-gtk+ programs don't use this, either.
I tested this before, and it doesn't work sometimes.
XCursor lib tried to load the cursor theme you specified.
If it's not specified, it tried to load ~/.icons:/usr/share/icons/default.
So, instead of specifying a theme name for xcursor, some
implementation choose to write to default/index.theme and add
Inherit=<The theme you want to use>.
In this way, the default will inherit the theme you specified. IIRC,
this is what kde does.
Another issue is, changing cursor theme at runtime doesn't work.
If a cursor theme is already specified previously and some cursors are
already loaded, setting another cursor theme won't work. This is the
case of gdm. Gdm loads xcursor theme according to its own settings.
And after it does that, you cannot specify other cursor themes. If you
do this, some cursors won't be applied.
A possible solution to this is to call XFIXES extension to refresh
cursors which are already loaded. KDE does this in source code of its
cursor configuration dialog, but gnome doesn't.
If you write to ~/.Xdefaults to specify a xcursor theme, it doesn't
always work if a display manager is used. The cause is not fully
It looks like adding a key to xsettings daemon solves this easily.
However this is not the case. It won't work as expected sometimes.
IMO, we need to set the cursor theme name to "default" in both
xsettings daemon and ~/.Xdefault, and specify the theme we want to use
in default/index.theme with Inherit key. This should work most of the
time with most combinations of DE/display manager.
> The proper search path is
> $XCURSOR_PATH or ~/.icons:/usr/share/icons:/usr/share/pixmaps
> (from libXcursor sources)
> I would not go down the path of incorporating obconf. Surely it is better to refer people to obconf to edit things belonging to openbox. Surely you would not then try to incorporate CCSM and Emerald Theme Manager, the CCSM side of which is huge and complex, and the configuration editors for whatever other window managers people might run.
As I said previously, this will be made an "optional plugin". That is,
it's not included in lxappearance by default, but if you install this
plugin and the plugin detects that openbox is in use, you can have it
integrated. This should be a reasonable approach.
Being able to set "window border" in "Look and Feels" setting dialog
shold be more intuitive. At least we can choose window border in it,
and an "Advanced" button can be added to the dialog to launch obconf
for full control. If openbox is not in use, we bypass the plugin and
don't load it. For CSCM, it's better to use its own configuration
tool. A button to launch its configuration dialog should be enough.
Openbox is more easy to integrate and this won't add additional
dependency since these deps are already required by obconf.
Similar plugins can be created for icewm or fluxbox if needed.
Is this solution OK for you?
> On 07/25/2010 10:22 PM, PCMan wrote:
>> As many people know, lxappearance coonains some problems.
>> Several days ago I tried to figure out the problems and fix them, but
>> later I think a rewrite is better.
>> The original one lacks some features and the code is quite dirty.
>> So I'm now doing a rewrite/redesign of lxappearance.
>> The new code is here:
>> The goals are:
>> 1. Make it more user-friendly, modern-look, and Gnome HIG compliant.
>> 2. Remove glade generated code and replace them with GtkBuilder
>> 3. Improve modularity and readability of code
>> 4. Add support for cursor themes. I already did some surveys and know
>> how to do this. This is more complicated an issue than just putting a
>> line in ~/.Xdefaults. Many people claim that adding this line make
>> cursors work and question me why not adding this to lxappearance. This
>> approach, however, doesn't work always. Different DEs use different
>> ways to configure cursors and XFIXES extension may be involved, too.
>> So this is not as easy as it look like.
>> 5. Add support for changing GTK color scheme if the theme supports it.
>> (So you can customize the colors gtk+ themes use)
>> 6. Add support for changing icon sizes (the size of toolbar icons,
>> menu icons, ...etc.)
>> 7. May add an optional module to incoperate openbox theme selection.
>> The plan is to take theme selection part of obconf and make it an
>> optional runtime plugin of lxappearance. So if the user uses openbox,
>> he/she can have a page for window border in lxappearance. (This has
>> lower priority, but it's not difficult since source code of obconf is
>> well written). If gdm is used, these approaches don't work IIRC.
>> 8. May support runtime plugins to some degree so we can incoporate
>> theming of window border in the future if applicable. (lower priority.
>> I want to support openbox first as a proof of concept).
>> 9. Improve support for installing/removing themes
>> A design problem here is: Should we put desktop wallpaper settings
>> here? Currently I prefer not to do this.
>> Estimated time required to finish this: within one month, if I have enough time
>> Comments are welcome.
>> The Palm PDK Hot Apps Program offers developers who use the
>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> of $1 Million in cash or HP Products. Visit us here for more details:
>> Lxde-list mailing list
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> Lxde-list mailing list