WxRuby3: Ruby를 위한 크로스 플랫폼 네이티브 GUI 라이브러리

C++ 기반의 성숙한 wxWidgets 3.2 툴킷을 활용하여 Windows, macOS, Linux에서 각 운영체제의 네이티브 위젯과 동작을 그대로 제공한다.

🔗 원문 보기

WxRuby3: Ruby를 위한 크로스 플랫폼 네이티브 GUI 라이브러리

C++ 기반의 성숙한 wxWidgets 3.2 툴킷을 활용하여 Windows, macOS, Linux에서 각 운영체제의 네이티브 위젯과 동작을 그대로 제공한다.

Ruby-News | 루비 AI 뉴스
🌖 我已正式告別 Emacs
➤ 從編輯器平臺轉向原生 C++ 開發的十年長徵
https://nullprogram.com/blog/2026/04/26/
在使用了二十年之後,作者決定徹底告別 Emacs。這次遷移並非一蹴而就,而是一個長達十年的漸進過程。為了擺脫這款「軟體平臺」,作者運用新掌握的技術棧,開發了兩款基於 C++ 與 wxWidgets 的原生應用程式 `stackcalc` 與 `Elfeed2`,分別替代了原有的 Emacs 計算器與 RSS 訂閱器。他不僅分享了遷移的心路歷程,更公開徵求這兩款老牌 Emacs 套件的新維護者,展現了對開源社羣的責任感。
+ 看到作者放棄 Emacs 還是挺感慨的,畢竟那是許多程式設計師的信仰。不過既然能用新工具提升開發效率,技術迭代也是必然的。
+ 我很關心 Elfeed 的後續,那確實是 Emacs 生態裡最好的 RSS 閱讀器。希望有人能接手,不想看到它被封存。
#軟體開發 #編輯器遷移 #C++ #wxWidgets
I have officially retired from Emacs

FlameRobin 0.9.16 released focuses on: modernizing CI/build tooling (Linux + macOS), fixing compiler/linker issues (notably around newer wxWidgets/Clang), improving packaging (Flatpak), and delivering a substantial set of Firebird metadata/DDL extraction and SQL editor correctness improvements—especially for newer Firebird versions. https://github.com/mariuz/flamerobin/releases/tag/0.9.16

#FirebirdSQL #Firebird5 #SQL #WxWidgets

Release FlameRobin 0.9.16 · mariuz/flamerobin

FlameRobin 0.9.16 — Release notes FlameRobin 0.9.16 focuses on: modernizing CI/build tooling (Linux + macOS), fixing compiler/linker issues (notably around newer wxWidgets/Clang), improving packag...

GitHub
Robert Roebling, the original author of #wxWidgets GTK port (back at the time when using GTK was great and exciting, because we compared it to Motif...) has just gone and done something amazing again and created wxDart, implementation of wx API using #dart and/or #flutter, see the announcement https://wxwidgets.org/news/2026/04/wxdart-0.9.2-released/ for details.
wxDart 0.9.2 released - wxWidgets

Unless I'm incorrect on this, and I could very well be, I think that the wxDC API really just uses wxGraphicsContext under the hood in #wxWidgets on Linux w/ GTK 3 under Wayland. Not sure if it's the same for GTK under X11, but I know it's that way for macOS. This is for wxWidgets 3.2.10.

The only different where it'll actually matter likely is on #Windows I assume, where wxDC uses GDI and wxGraphicsContext can use either GDI+ (default) or Direct2D.

Because making a single release at a time is too easy, today we're making 2 (two) new releases of #wxWidgets, an open-source #CplusPlus library for creating portable GUI applications, available at once:

https://wxwidgets.org/news/2026/03/wxwidgets-3.2.10-and-3.3.2-released/

3.2.10 is a small maintenance release, but 3.3.2 has too many improvements to list them here. If you want to start using wxWidgets in your applications, please use 3.3.2.

wxWidgets 3.2.10 and 3.3.2 Released - wxWidgets

Here's an interesting #wxWidgets quirk: under #GTK 3 under #Wayland in #KDE, if a wxPopupWindow does _not_ have a parent, it will have a frame around it. Otherwise, it won't have one.

I don't think this is a bug or anything, I think it might just be behavior under Wayland. And yes, expect a draft PR with working undockable toolbars under Wayland for #Tenacity.

Curious

The left version is running in an opensuse distrobox, handles emojis properly, runs in X and doesn't respect the system theme.

The right version is running in a ubuntu distrobox, mangles the emoji, runs in wayland and respects dark mode.

Maybe they are using different frontends? #wxWidgets seems to support GTK3 and QT.

Can I find out somehow? I know the ubuntu package uses GTK, but the OpenSuse one won't tell me.

They look very similar.

Repo is https://github.com/ui-comparison/wxWidgets

#cpp

I found a new thing to test in my ui-comparison project that I hadn't thought of until now: Grapheme clusters.

I implemented the tests for #wxWidgets today and noticed that I can move the text cursor in-between the codepoints of a multi-codepoint emoji.

E.g. If I enter "👮🏽‍♀️", I can use the cursor keys and space to pull it apart into "👮 🏽 ‍ ♀️"

That seems to be a limitation of the Win32 edit. Sure enough, if I try it on my win32 implementation, the same happens.

QT and SwiftUI seem to work though.