Page 1 of 1

Zmena barvy ikonky - polovicate reseni

Posted: 17 Apr 2007, 20:21
by Stixy
Pokud vyberu jinou barvu ikonky nez original, tak hlavni aplikace ma spravnou, ale pokud napr. kopiruji, tak se objevuje jiz jen originalni oranzova.
http://img155.imagevenue.com/img.php?im ... _581lo.jpg

Posted: 17 Apr 2007, 20:53
by Jan Rysavy
Máte pravdu. Mrknu na to, děkujeme za informaci!

Posted: 18 Apr 2007, 06:24
by iX
:D !
Pokud je možno měnit ikonku, tak už rovnou za všechny, i ty staré :!: Některým se líbí původní ikona, mě třeba ta se zeleným salamandrem. Stále JDE přeci o Salamandra, ne? Jistě to nebude programátorsky náročné... 8) 8)

Posted: 18 Apr 2007, 15:11
by esoforte
ikonky se dají měnit v resources. :idea: :wink:

Posted: 19 Apr 2007, 07:59
by iX
:D
A jak? :?: :idea: 8) 8)

Posted: 19 Apr 2007, 08:22
by ino
iX wrote:A jak?
prohledejte forum, nekde tu je navod step-by-step ;-)

Re: Zmena barvy ikonky - polovicate reseni

Posted: 20 Apr 2007, 00:58
by jis
Stixy wrote:Pokud vyberu jinou barvu ikonky nez original, tak hlavni aplikace ma spravnou, ale pokud napr. kopiruji, tak se objevuje jiz jen originalni oranzova.
V Process Exploreru se také zobrazuje pouze originální oranžová ikona:
  • Image

Posted: 20 Apr 2007, 14:20
by zarevak
Jen pro jistotu nahlásím, že pokud se ikonky Salamandera ve Win XP naskládají na sebe do jednoho tlačítka, tak je taky výsledná ikonka celého Salamandera žlutá, přestože používám jinou.

Posted: 20 Apr 2007, 15:07
by Jan Rysavy
zarevak wrote:Jen pro jistotu nahlásím, že pokud se ikonky Salamandera ve Win XP naskládají na sebe do jednoho tlačítka, tak je taky výsledná ikonka celého Salamandera žlutá, přestože používám jinou.
Obávám se, že s tímhle nepohneme. Celkem pochybuji, že by si OS nechal mluvit do této ikonky. V případě progress oken to lze obejít tím, že jim přiřadím ikonku (stejně se pro ně od Windows XP zobrazuje), ale jak ovlivnit tu sdruženou ikonu, to nemám ponětí.

Mám dojem, že OS (stejně jako Process Explorer) si v tomto případě zkrátka vytáhne default ikonku pro EXE. To co jsme udělali (možnost nastavit barvu ikonky) je nestandardní věc, takže budeme pravděpodobně narážet.

Posted: 20 Apr 2007, 15:29
by zarevak
Jak to dělá Process Explorer netuším. Windows Explorer by však měl brát informace z registry nebo z první ikonky a FileDescription řetězce ve VERSIONINFO resource.
Informace o registry: http://windowsxp.mvps.org/taskbargroupicon.htm

DODATEK: Podle jednoho webu si WinXP cachují řetežce z resource do HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache

Posted: 21 Apr 2007, 00:43
by jis
Jan Rysavy wrote:To co jsme udělali (možnost nastavit barvu ikonky) je nestandardní věc, takže budeme pravděpodobně narážet.
To je pravda. Ten kdo potřebuje nastavovat dynamicky pomocí parametru icon_index odlišné ikony pro různé instance Salamandera se s tím asi bude muset smířit. Ale pro někoho, kdo chce všude, kde je to možné, změnit standardní oranžovou ikonu na jinou barvu, by bylo řešením provést tuto změnu během instalačního procesu patchováním exe. Pak by byla všude zobrazena ikona stejné zvolené barvy. Neuvažovali jste i o této možnosti?

Posted: 21 Apr 2007, 01:15
by zarevak
jis wrote:...by bylo řešením provést tuto změnu během instalačního procesu patchováním exe.
Salamander je od verze 2.5 RC3 digitálně podepsán, čímž máte zajištěno, že spouštíte stejnou verzi souboru jakou Altap vydal. Patchováním by se tento digitální podpis stal neplatným - toto se týká i změny resource uživateli.
Šíleným řešením by bylo v instalaci distribuovat všechny verze EXE souborů, čímž by instalace narostla minimálně na dvojnásobek (možná by se dalo částečně obejít pomocí binárního diffu, který by obsahoval i digitální podpisy všech verzí)

Podle mých testů nastavení v registry podle výše zmíněné stránky funguje v pohodě (WinXP SP2). Ikona se načítá při spuštění programu, takže při změně hodnoty je třeba restartovat Salamandera.

DODATEK: Process Explorer načítá ikonu EXE souboru (jako Explorer při pohledu na složku s instalací Salamandera) - tedy tu první.

Posted: 24 Apr 2007, 21:43
by Jan Rysavy
Zde (ne)řeší stejný problém:
http://bugs.sun.com/bugdatabase/view_bu ... id=4805690

Pro nemodální okna operací (od Windows XP) jsem problém vyřešil přiřazením ikonky oknu, čímž přebíráme nad barvou ikonky kontrolu.

V případě seskupování budeme problém zatím ignorovat, protože nevidíme čisté řešení (barvu ikonky je možné měnit za chodu, navíc může skupina obsahovat Salamandery s různou barvou ikonky).

Posted: 25 Apr 2007, 00:39
by zarevak
Jan Rysavy wrote:V případě seskupování budeme problém zatím ignorovat, protože nevidíme čisté řešení (barvu ikonky je možné měnit za chodu, navíc může skupina obsahovat Salamandery s různou barvou ikonky).
OK :(
Nalezené řešení má ještě jeden nedostatek: Používá registry mimo svoji domácí větev - uživatel, který se pak chce ručně zbavit Salamandera by musel vědět i o této větvi. Navíc při budoucím přechodu na souborovou konfiguraci by se uživatelé divili nad zápisem do registry - Salamander by tak byl portable, ale zanechával by za sebou stopy...