# Scope and purpose of racket/gui

**URL:** <https://racket.discourse.group/t/scope-and-purpose-of-racket-gui/2965>\
**Category:** Questions & Answers\
**Tags:** question, gui\
**Created:** [June 14, 2024, 8:14pm UTC](https://racket.discourse.group/t/scope-and-purpose-of-racket-gui/2965 "2024-06-14T20:14:47Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)\
**Post date:** [June 15, 2024, 1:46pm UTC](https://racket.discourse.group/t/scope-and-purpose-of-racket-gui/2965/2 "2024-06-15T13:46:31Z")

</div>

From my perspective, I **don't** think "the goal is for r/g to stay simple above all".

> [@ken](#):
>
> Unfortunately, r/g has 3 distinct backends so even if I figure out how to make it work on one platform, I'd be much less useful on a second, and useless on the third.
> 
> There's plenty of GUI features I'd love to have, and I might even be able to contribute for one backend

Being cross-platform definitely is an important goal for `racket/gui`.

That said, there is also room for incremental improvement. For a recent example, a way to react to switches into or out of dark mode was added in [add application-dark-mode-handler · racket/gui@9682a95 · GitHub](https://github.com/racket/gui/commit/9682a952eb5742a0065ec18195bef7f4db7b7e25), initially only on Mac OS. GTK support was added in [Update gtk to react to dark mode changes · racket/gui@223e609 · GitHub](https://github.com/racket/gui/commit/223e6099dac482762c5e00c797eadb453c9527a1) a week later, and, for Windows, [Dark Mode under Windows · Issue #197 · racket/gui · GitHub](https://github.com/racket/gui/issues/197) is still an open issue. If you can implement a feature for one platform, others may be able to fill in support for the rest. Of course, before you put in too much time on a patch, it may be worth checking with others that your approach sounds reasonable and doesn't pose any avoidable issues for other platforms.

> [@ken](#):
>
> What I'm finding is that racket/gui isn't quite as sophisticated as other GUI libraries I've used.
> 
> …
> 
> There's plenty of GUI features I'd love to have

I'm interested in examples of missing features you'd like. I've found `racket/gui` very useful for cross-platform desktop apps, though of course I have pet peeves (e.g. [Scrolling `racket/gui` panels with the mouse](https://racket.discourse.group/t/scrolling-racket-gui-panels-with-the-mouse/957)) and wishlist items.

If you aren't aware of it, [Framework: Racket GUI Application Framework](https://docs.racket-lang.org/framework/) has a lot of additional functionality implemented on top of `racket/gui`. (This manual has a lot of room for improvement!)

---

_[View the full topic](https://racket.discourse.group/t/scope-and-purpose-of-racket-gui/2965)._
