sarah-walker-pcem / arculator

Arculator
http://b-em.bbcmicro.com/arculator
GNU General Public License v2.0
56 stars 23 forks source link

Chromebook Linux Menu Missing #21

Open Pelican104 opened 1 year ago

Pelican104 commented 1 year ago

Firstly this is an amazing bit of work, congratulations to all involved. I've built the Linux version on a Lenovo Chromebook, it seems to work well, but the screen is obviously very small and I cant access the pop up menu to change the display size or load disks. The right click function doesn't seem to work.

Is this a known Linux issue ? If not is there anything I can change in the config file to load a floppy and make the screen bigger?

Thanks

Matt

image

pdjstone commented 1 year ago

Not sure why the right-click menu doesn't work - it works on a normal Linux build so I assume that's a Chromebook quirk.

You can edit the machine config files in the configs/ directory to change the window size and load a disc. Try setting video_scale = 3 to double the size. You can also set disc_name_0 to the path of a floppy image.

Pelican104 commented 1 year ago

I'll give those config settings a go later thanks for that. I think you are probably right about the chromebook quirk. When Arculator has the mouse focus I can get left click, right click and middle click to work just fine, but when I jump out of Arculator it seems like Chrome OS is consuming the right click, it brings up a chrome menu asking about which desktop to run the application on.

Good to know it works on a normal Linux build, I'll experiment with some more settings on the Chromebook.

Thanks for the info

Matt

pdjstone commented 1 year ago

Ah, if it's a focus issue, try pressing Ctrl-End to make Arculator release the mouse, then right click. Not all laptops have a dedicated End key - a quick search suggests on Lenovo Chromebooks you might need to press Ctrl-Search-Right arrow.

Pelican104 commented 1 year ago

Yes that CTRL-SEARCH-RIGHT ARROW releases the mouse but then the right click doesn't make the pop-up menu appear. If I right-click on pinboard area nothing happens, if I right click on the Arculator top menu bar area I get the Chrome menu. I guess the grey bar at the top is actually a Chrome OS bar rather than part of Arculator.

pdjstone commented 1 year ago

Sounds like your best bet would be to modify the event handling code in the arc_main_thread function in wx_sdl2.c to trigger arc_popup_menu based on some other key combination.

Pelican104 commented 1 year ago

Seems I have a few issues going on, specifying the floppy in the config file doesnt work, the screen scaling from there also doesnt work, I cant install podules and basic just returns "mistake" for every command I give it. I think I'll try again from scratch, Thanks for the help.

pdjstone commented 1 year ago

Not sure if you're aware of it but my arculator-wasm project allows you to run Arculator in a browser. You can try out a work in progress version at https://archi.medes.live. If you don't need a fully featured Arculator with podules etc.. it might be a better option for running on a Chromebook.

Pelican104 commented 1 year ago

That is very amazing. Enjoying that.

Pelican104 commented 1 year ago

I have made significant progress with building Arculator on a chromebook in linux. Most stuff now works except screen scaling and the pop up menu. The application is now seeing the right click but gives the following error.

(arculator:302): Gtk-WARNING **: 16:20:48.018: no trigger event for menu popup

(arculator:302): Gtk-CRITICAL **: 16:20:48.019: gtk_menu_popup_at_rect: assertion 'GDK_IS_WINDOW (rect_window)' failed

I wonder if i need a different version of GTK? Currently using.....

libgtk-3-0 is already the newest version (3.24.24-4+deb11u2).

egrath commented 3 months ago

This seems to be a issue with wxWidgets running on Wayland (which is not only used on ChromeOS but also on more recent Linux distributions). Until this gets fixed upstream there is the workaround to force XWayland to be used instead:

env -u WAYLAND_DISPLAY GDK_BACKEND=x11 ./arculator