[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GWorkspace - themed application icons
From: |
Richard Frith-Macdonald |
Subject: |
Re: GWorkspace - themed application icons |
Date: |
Wed, 11 Nov 2015 10:58:28 +0000 |
> On 10 Nov 2015, at 18:16, Fred Kiefer <fredkiefer@gmx.de> wrote:
>
> Am 10.11.2015 um 15:21 schrieb Riccardo Mottola:
>> Hi,
>>
>> Richard coded a fine extension to our themeing: given the Bundle
>> Identifier, one can supply alternatives icon, in specific the
>> Application Icon itself can be changed.
>> I tried and it works fine inside an App: the "alternative" icon gets
>> shown both in the Info panel as well as in the Dock Tile for windowmaker.
>>
>> However, GWorkspace doesn't pick up the "themed" icon. I want to change
>> that.
>>
>> I am actually trying to understand where the App icon gets found.
>>
>> in FSNodeRepIcon we have - (NSImage *)iconOfSize:(int)size
>> forNode:(FSNode *)nod
>>
>> and this will call
>>
>> baseIcon = [ws iconForFile: nodepath]
>>
>> ws is
>>
>> ws = [NSWorkspace sharedWorkspace];
>>
>>
>> I wonder if NSWorkspace should become in this case theme aware or if I
>> should change GWorkspace (how?). I think the former is better.
>
> What you need to make theme aware is the NSBundle method
> pathForImageResource:, which is what NSWorkspace uses internally.
I dislike extending GUI theming to gnustep-base methods … adding a dependency
on gui in base.
Particularly theming of a method which is already used inside the theming
engine (a recipe for confusion I think).
How about moving more of the NSImage logic for handling themed images into
GSTheme, and having NSWorkspace be theme-aware by calling a new GSTheme methods
rather than the NSBundle methods?