Thursday, December 01, 2022

RubyConf 2022 Talk Slides + Glimmer DSL for LibUI Competition




The RubyConf 2022 talk video has been published too in a separate blog post.

In my RubyConf 2022 talk, "Building Native GUI Apps in Ruby", I announced a Glimmer DSL for LibUI Competition for RubyConf 2022 attendees only (including Home Edition):

  • Build a code editor in Glimmer DSL for LibUI (RubyConf 2022 attendees only, including Home Edition)
  • Deadline is January 15, 2023 at 11:59:59PM PT (submit solution as a private GitHub repository shared with the GitHub user: AndyObtiva)
  • Submitted projects are ranked by the following criteria:
    • Most feature complete
    • Highest in quality
    • Shortest implementation time
  • 3 winners are chosen and awarded:
    • All get an honorable mention on the Glimmer DSL for LibUI GitHub Page
    • Top 2 get Lexop swag: T-Shirt / Baseball Cap / Socks / Keychain / Stickers
    • Top winner gets 3 hours of free training in Ruby desktop development with Glimmer, individual or group (useful for work teams)
  • At minimum, the implemented code editor must support the following features (incomplete solutions can still be submitted, and in case all solutions end up incomplete, the more complete solutions will win out over others):
    • Syntax highlighting for Ruby (can use `area` control & be inspired by `code_area`)
    • Editor tabs (open each file in a separate tab)
    • Open files from File menu (use the `open_file` API call for now given that there is no `tree` control in LibUI yet, which is an upcoming feature)
    • Show Line Numbers
    • Find/Replace
    • Indent/Outdent (by 2 spaces)
    • Cut/Copy/Paste
    • Undo/Redo
    • Support navigation keyboard shortcuts (CTRL+E, PGDN, END, etc…)
    • Split Screen (2 at minimum)
    • Auto-Save on content change



You may ask questions about the competition in a comment or on the Glimmer Gitter chat in case you need clarifications. But, you may not ask for help in implementing the solution.

In other news, during RubyConf 2022, I released Glimmer DSL for LibUI version 0.6.0.pre.0, which finally leverages a newer version of the C libui library (libui-ng) that supports the new `open_folder` keyword for displaying a native directory selection dialog.

Happy Glimmering!

No comments: