identifikace ikony v linuxovem binary souboru

Lubos Lunak l.lunak na sh.cvut.cz
Neděle Říjen 7 15:14:09 CEST 2001


BENET wrote:

> Hmm, v kazdem pripade diky za to, ze to je blbost - ale jak vy rikate
> blbost, tak treba v QT knihovne je docela dost casto (no, ne zase porad)
> pouzivana, ze se jednoduse ikonky cpou rovnou do binary kodu - pak
> nevznika problem, ze si nekdo neco vymazne, a pak se mu program zbori
> treba kvuli tomu, ze nenajde ikonu (no, dost blbej priklad, ale...)
> Nicmene, tvrdite, ze skutecne neexistuje nejaka smysluplna moznost, jak tu
> ikonu dostat ven? Nejak by to jit snad melo - kdyz se pusti X window, tak
> ty se na tu ikonu "nejak" dostanou.. A ze by jedina moznost byla najit to
> ve zdrojakach nejakyho spravce oken? Dost silena predstava, prochazet se v
> nekolika MB kodu kvuli tomu, najit treba 1 radku, kterou ani nevim, jak by
> mela vypadat...

 Mozna by pomohlo rict vic detailu, nez jen 'chci dostat ikonu z binarky'. 
Treba jakou a proc vlastne. Ono se to totiz nejspis bude dat delat nejak 
jinak a jednoduseji.
 Ty ikony primo v binarkach, jak uz to tu bylo napsane, jsou jen obycejne 
pole, takze dostat je ven z binarky znamena vedet nazev te promenne, navic 
pokud je static, at asi to nepujde vubec.

> 
> PS: win hint? Pokud napisu aplikaci jako parametr "aplikace -i", posle mi
> ikonu? A kde? V STDOUT ve formatu, jakym je napsana v kodu? Prosim
> kazdeho, koho neco napadne - fakt se mi nechce procitat kod k nejakymu
> spravci oken...

 Timhle zpusobem se da ikona dostat jen z beziciho programu. Jeho okna maji 
property WM_ICON_NAME, coz je stejne jen nazev te ikony, resp. aplikace 
podporujici NETWM maji i _NET_WM_ICON, kde uz primo je i ikona v nejakem 
formatu.

> 
[snip]

 Jestli jde o to, dokazat najit ikonu k jakemukoliv programu, jako je to 
treba v KDE v K-Menu, tak je asi nejjednodussi zkratka tu prislusnou ikonu 
najit na disku a nepokouset se o nejake to voodoo magic popsane vyse.


 Lubos Lunak
-- 
 l.lunak na email.cz ; l.lunak na kde.org
 http://dforce.sh.cvut.cz/~seli



Další informace o konferenci Linux