sunnuntai 13. heinäkuuta 2008

WM

Tällä ohjelmalla, tai pikemminkin ohjelmistolla, ei ole selvää nimeä. Ohjelmistoon kuuluu yksi suoritettava ohjelma, wm.exe, ja yksi kirjasto, wmmouse.dll. Ohjelmiston tarkoitus on helpottaa ikkunoiden siirtämistä ja niiden koon muuttamista. Unixeissa monet X-ikkunointiohjelmat sallivat ikkunan siirtämisen siten, että kohdistinta ei tarvitse sijoittaa ikkunan otsikkopalkin päälle. Kun jotain muunninnäppäintä, yleensä Alttia, pidetään painettuna samaan aikaan kuin hiiren ykköspainiketta, hiiren kohdistimen alla päällimmäisenä oleva ikkuna seuraa hiiren kohdistinta. Ikkunan kokoa voi WM:n avulla muuttaa pitämällä hiiren kakkospainiketta ja Alttia painettuna ja liikuttamalla hiiren osoitinta.

WM:n yksi hienoimpia ominaisuuksia on lähdekoodin vapaus. Lähdekoodi on saatavissa Codeprojectista hakusanoilla "X-window manager". Tavoitteni on lisätä WM:ään ominaisuus, joka muuttaa hiiren rullaustapahtumien käsittelyä siten, että hiiren osoittimen alla oleva ikkuna vastaanottaa rullaustapahtumat. Lisäksi koukkujen pitäisi nielaista hiiren kolmospainikkeen painallukset huolellisemmin, sillä esimerkiksi Matlabin ohjeselaimen ikkunat avaavat kontekstivalikon, kun hiiren oikea näppäin vapautetaan, vaikka Alt olisi ollut painettuna.

Koodin parantelu tosin vaatisi, että pitäisi opetella C++:aa. Pitäisi myös osata ja ymmärtää koukkuja. Tämän jälkeen olisi ehkä mahdollista ymmärtää, miten ohjelma toimii. Lisäksi olisi hyvä saada ohjelma kääntymään wxDev-C++:lla, koska se on vapaasti saatavissa. Codeprojectista saatava koodi toimii vain Visual Studiolla käännettynä. Ohjelma toimi myös Visual Studio Express Editionilla käännettynä, mutta jostain syystä vain debug-versiona, jolloin se vaati Expressin mukana toimitettavia kirjastoja, mikä vaikeuttaa ohjelman binäärin siirtämistä.

Ei kommentteja: