Weston (the Wayland example/reference compositor) added a custom Lua based shell that you can configure/extend with Lua. I wonder how much work it would take to build a mruby Weston shell? I would prefer a Ruby DSL over Lua.

https://www.collabora.com/news-and-blog/news-and-events/weston-15-here-lua-shells-vulkan-rendering-smoother-display-stack.html

#wayland #weston #mruby #freeprojectidea

Weston 15.0 is here: Lua shells, Vulkan rendering, and a smoother display stack

Weston 15.0 has arrived, bringing a brand new Lua-based shell for fully customizable window management, an experimental Vulkan renderer, and a host of improvements.

Collabora | Open Source Consulting
lua-shell · 15.0 · freedesktop-sdk / mirrors / freedesktop / wayland / weston · GitLab

gitlab.freedesktop.org: wayland/weston.git

GitLab

If you've never tried Weston, it supports using different desktop "shells", such as the kiosk shell which just runs a single window in fullscreen mode. These shells can also be configured via `.ini` config files.

https://wayland.pages.freedesktop.org/weston/toc/kiosk-shell.html

Weston kiosk-shell — weston 15.0.90 documentation

Using Lua as the configuration syntax or plugin system for a Window Manager isn't a new idea. AwesomeWM , a X11 Window Manager, uses Lua as it's configuration syntax. Now imagine being able to customize your fancy wayland tiling WM or add additional functionality with simple Ruby scripts running under mruby.

https://awesomewm.org/doc/api/sample%20files/rc.lua.html

#mruby #freeprojectidea

Script rc.lua - awesome API documentation

Another free project idea: write a generic waybar module that embeds mruby so you could write waybar modules entirely in Ruby.

https://github.com/Alexays/Waybar#readme

#mruby #waybar #wayland #freeprojectidea

GitHub - Alexays/Waybar: Highly customizable Wayland bar for Sway and Wlroots based compositors. :tada:

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada: - GitHub - Alexays/Waybar: Highly customizable Wayland bar for Sway and Wlroots based compositors. :tada:

GitHub

Currently, waybar "modules" (their term for widgets that are displayed in the bar) are written in C++ and are initiaized with optional JSON data from `~/.config/waybar/config.jsonc`.

https://github.com/Alexays/Waybar/tree/master/src/modules

Waybar/src/modules at master · Alexays/Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada: - Alexays/Waybar

GitHub

There's even a "custom" waybar module that supports various triggers/actions defined via JSON. A similar module could be written using mruby that calls DSL methods defined in a Ruby config file.

https://github.com/Alexays/Waybar/blob/master/src/modules/custom.cpp
https://man.archlinux.org/man/waybar-custom.5.en

#freeprojectidea #mruby #waybar

Waybar/src/modules/custom.cpp at master · Alexays/Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada: - Alexays/Waybar

GitHub