-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New platform: xcb (simplified X11) #303
base: master
Are you sure you want to change the base?
Conversation
Adds ability to directly pass parameters to the platform plugins. Example: cog --platform FOO --platform-options "bar=1,baz" https://example.com cog -P FOO -O "bar=1,baz" https://example.com The option syntax is platform-plugin dependant. Current platform plugins (drm,x11,fdo,headless) do not support any options.
Similar to the X11 platform plugin, but should work on bare-bone X11 server, without any special extensions or hardware requirements (e.g. GL/DRI/XKB). Works over SSH X11Forwarding tunnel and inside VNC servers. Downside: much higher CPU load than other platforms. Compilation requires the libxcb-keysyms and libxcb-image libraries Debian/Ubuntu: apt-get install libxcb-keysyms1-dev libxcb-image0-dev Usage: cog -P xcb https://example.com cog -P xcb -O "[options]" https://example.com [Options] is comma separated string with one or more of: fullscreen - start in fullscreen mode (not multi-monitor aware, default: not full screen). x=N,y=N - open window in position X,Y on screen width=N - set window width height=N - set window height (default for x,y,width,height: window manager decides) fps=N - screen update frequency (default: 10). higher values result in higher CPU load. scroll-delta=N - amount of pixels to scrool with mouse-wheel (default: 20). rev-scroll-direction - reverse mouse-whell scroll direction. ignore-keys - do not send keys to WebKit. ignore-mouse-movement - do not send mouse movement events to WebKit. ignore-mouse-buttons - do not send mouse button clicks and scroll wheel to WebKit. Example: cog -P xcb -O "fullscreen,fps=20,scroll-delta=100" https://example.com
@agordon: Thanks for the PR, much appreciated! This new XCB platform plug-in has quite some overlap with the existing X11 one. I think it would make sense to merge both, for example:
Having only one platform plug-in for X11 would make the code easier to maintain and everybody using X11 would be running the same code, so bugs will be caught and fixed earlier. How does that sound? Would you be willing to help merge both, with some guidance from our side? 🔧 |
Yes, happy to work with you to consolidate it |
Massage the parts from #303 which deal with input using xcb-keysyms to be included in the x11 platform plug-in. This provides a fallback that can be used when XKB initialization fails, typically in cases where the X server does not support XKB or has the support disabled. XKB is a X11 protocol extension after all, and it is wrong to assume that it will be always available.
There is some nice code in this PR, so I have picked e.g. the |
Massage the parts from #303 which deal with input using xcb-keysyms to be included in the x11 platform plug-in. This provides a fallback that can be used when XKB initialization fails, typically in cases where the X server does not support XKB or has the support disabled. XKB is a X11 protocol extension after all, and it is wrong to assume that it will be always available. While at it, allow running without keyboard support, producing a warning in this case.
Massage the parts from #303 which deal with input using xcb-keysyms to be included in the x11 platform plug-in. This provides a fallback that can be used when XKB initialization fails, typically in cases where the X server does not support XKB or has the support disabled. XKB is a X11 protocol extension after all, and it is wrong to assume that it will be always available. While at it, allow running without keyboard support, producing a warning in this case.
Massage the parts from Igalia#303 which deal with input using xcb-keysyms to be included in the x11 platform plug-in. This provides a fallback that can be used when XKB initialization fails, typically in cases where the X server does not support XKB or has the support disabled. XKB is a X11 protocol extension after all, and it is wrong to assume that it will be always available. While at it, allow running without keyboard support, producing a warning in this case.
Hello Igalia devs,
Thanks for all your hard-work on WPE/COG - it's fantastic.
I'd like to offer a new platform plugin (temporary name: xcb).
It is conceptually similar to the current X11 platform, but works on minimal X11 servers without any extensions (e.g. GL/XKB).
It also supports some command-line options to enable easy startup in various kiosk modes.
Comments very welcomed.