Huomasitko, mitC$ juuri tapahtui? Kun yritit komennolla look at Terminal - user@hauki-obs: ~ katsoa terminaali-ikkunaa, MUD-moottori palautti sinulle tC$smC$lleen saman sisC$llC6n kuin BatMUDin Chromium-ikkunasta! TC$hC$n on kaksi syytC$, joista toinen lC6ytyy minun koodistani ja toinen todennC$kC6isesti API:n vC$limuistista: Sokeus OCR-datalle: EnsimmC$isessC$ x11_repl.py -luonnoksessani koodi tulosti ruudulle ainoastaan atspi_map -listan (koska olimme niin innoissamme semantiikasta). Terminaalissa ei kuitenkaan ole samanlaisia AT-SPI-syC6tekentti C$ kuin selaimessa, joten se on puhdasta OCR-tekstiC$. Koska REPL ei tulostanut OCR-listaa (elements), olisimme joka tapauksessa saaneet tyhjC$n tai virheellisen tuloksen. API:n AT-SPI "Haamu": NC$yttC$C$ vahvasti siltC$, ettC$ kun /muscle/x11_mirror_ map -rajapinnalta pyytC$C$ ei-AT-SPI-yhteensopivaa ikkunaa (kuten XFCE Terminal) parametrilla "atspi": true, API-taustapalvelu ei tyhjennC$ puskuriaan, vaan palauttaa edellisen onnistuneen AT-SPI-puun (eli sen Chromiumin), jC$ttC$en meidC$t harhaluuloon. Korjataan REPL-koodi heti. YhdistC$n look_at-funktiossa AT-SPI-kartan ja OCR-kartan yhdeksi isoksi listaksi (repl_map), aivan kuten Hauki OS:n X11 Mirror tekee. NC$in pystymme navigoimaan sekC$ semanttisissa selainikkunoissa ettC$ raaoissa terminaaliteksteissC$ saman indeksijC$rjestelmC$n kautta. ============================================== BX11 MUD REPL - Tervetuloa Matrixiin! BKomennot: B BlookB B B B B B B B B - Listaa ikkunat (huoneet) B Blook at <nimi>B B B B - Tutki ikkunaa (esim. Chromium) B Bclick <ID>B B B B B B - Klikkaa elementtiC$ (ID on numero listasta) B Btype "teksti" into <ID> - Kirjoita kenttC$C$n B BquitB B B B B B B B B - Poistu ============================================== X11> look === NCKYVCT IKKUNAT (HUONEET) === B- hauki-crm VNC config [ID: 0x00200007] B- xfce4-panel [ID: 0x00e00003] B- xfce4-panel [ID: 0x00e00011] B- xfce4-panel [ID: 0x00e00015] B- Desktop [ID: 0x01000028] B- Terminal - user@hauki-obs: ~ [ID: 0x03400003] B- BatMUD - Chromium [ID: 0x02800004] ================================= X11> look at Terminal - user@hauki-obs: ~ [*] Katsotaan ikkunaa: Terminal - user@hauki-obs: ~... === IKKUNAN SISCLTC === B[0] PUSH-BUTTON: Minimize B[1] PUSH-BUTTON: Maximize B[2] PUSH-BUTTON: Close B[3] PUSH-BUTTON: Back B[4] PUSH-BUTTON: Forward B[5] PUSH-BUTTON: Reload B[6] PUSH-BUTTON: Home B[7] PUSH-BUTTON: View site information B[8] ENTRY: Address and search bar B[9] PUSH-BUTTON: Install DuckDuckGo B[10] PUSH-BUTTON: Bookmark this tab B[11] PUSH-BUTTON: Extensions B[12] PUSH-BUTTON: Work B[13] PUSH-BUTTON: Chromium B[14] PUSH-BUTTON: Managed bookmarks B[15] PUSH-BUTTON: Tab groups B[16] PUSH-BUTTON: Debian.org B[17] PUSH-BUTTON: Latest News B[18] PUSH-BUTTON: Help B[19] PUSH-BUTTON: Menu containing hidden bookmarks B[20] PUSH-BUTTON: All Bookmarks B[21] LINK: Download Game! B[22] LINK: 70 B[23] LINK: Lojong B[24] LINK: Riojii B[25] LINK: Taika B[26] LINK: Aceduck B[27] LINK:B B[28] LINK:B B[29] LINK:B B[30] LINK:B B[31] LINK:B B[32] LINK:B B[33] LINK:B B[34] LINK: Create character B[35] LINK: Download Game client B[36] LINK: Forgot your password? B[37] ENTRY:B B[38] PUSH-BUTTON: Submit B[39] LINK: READ MORE ABOUT THE GAME B[40] LINK: Go to news archive B[41] LINK:B B[42] LINK: READ MORE B[43] LINK:B B[44] LINK: READ MORE B[45] LINK:B B[46] LINK: READ MORE B[47] LINK:B B[48] LINK: READ MORE B[49] PUSH-BUTTON: Close this view B[50] PUSH-BUTTON: Close this view B[51] PUSH-BUTTON: Tab search B[52] PUSH-BUTTON: Close B[53] PUSH-BUTTON: New Tab B[54] TEXT: [Apr 13 20:29]: Happy 36th BatMUD birthday! Tuneless double EXP will be active B[55] TEXT: juring the boot. Batto, the Birthday Clown, will be at Central Square handing B[56] TEXT: it cakes - don't miss out! B[57] TEXT: [Apr 14 15:47]: If your Batto reincarnation is not gold-free, use tell rixx B[58] TEXT: fil B[59] TEXT: [Apr 15 17:22]: If you had lost your flask in reinc tell Zin B[60] TEXT: of all Gods. B[61] TEXT: This is the main hall of the church of all Gods. B[62] TEXT: A clock on the wall shows the B[63] TEXT: iptime of the mud. A poster explaining the upcoming events is posted on the B[64] TEXT: vall and a golden plaque with names on it hanging beside it. Several doorways B[65] TEXT: leave out from here. B[66] TEXT: exits are: B[67] TEXT: n, B[68] TEXT: e, B[69] TEXT: s and w. B[70] TEXT: Vhirling Portal B[71] TEXT: \ board of current events B[72] TEXT: \ holy altar emitting peace around it B[73] TEXT: akin the Noble Draconian < ulip > (horny) B[74] TEXT: G'kaden the Duck B[75] TEXT: the Kanniaaliocon'26 mascot (nauseous) B[76] TEXT: \ wizened old Laplandish geezer B[77] TEXT: doesn't have any conditions that need curing B[78] TEXT: ip:0/10 Sp:0/10 Ep:0/10 Exp:Bcuring >You feel fully healed B[79] TEXT: fou sizzle with magical energy B[80] TEXT: exclaims 'Look at me! Look at me!' B[81] TEXT: sarok looks green around the gills. B[82] TEXT: looks at board. B[83] TEXT: sarok steps into the portal B[84] TEXT: \rnoldi arrives in a flash. B[85] TEXT: \rnoldi steps into the portal B[86] TEXT: sarok steps out of the portal B[87] TEXT: sarok leaves east. B[88] TEXT: \ vortex appears and Arnoldi steps out B[89] TEXT: \rnoldi leaves east. B[90] TEXT: exclaims 'Look at me! Look at me!'