Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Dark Mode under Windows

Abierto
#197 11 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado

Línea de trabajo

Comienza rastreando el código de la GUI de Windows alrededor del punto de entrada mencionado white-on-black-panel-scheme? y comprobando cómo se gestionan los controles dibujados por el sistema operativo. Compara su comportamiento con el valor del registro AppsUseLightTheme en la ruta documentada de Windows; se considera terminado cuando los controles de Windows se renderizan correctamente mientras DrRacket usa el modo oscuro.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The OS-drawn controls aren't working properly when DrRacket is in dark mode.

This issue was created by culling the specific comments from https://github.com/racket/drracket/issues/235.

@jcolivo wrote

Hello Racket Team,
I appreciate all the hard work on trying to improve the dark mode in DrRacket. Thank you.

Just hoping that you won't forget us Windows users. ;-)
My issues are as pointed out in this thread: https://groups.google.com/forum/#!topic/racket-dev/xYjE9JCe9u0

If there is anything I can do to help (I'm not a programmer, but can certainly help with testing), please let me know.

Have a wonderful weekend!

@alex-hhh wrote

The registry key AppsUseLightTheme in
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize,
will be 1 or missing if applications use the "light" theme and will be 0 if
the applications should use a dark theme.

I verified that AppsUseLightTheme changes to 0 if I select "dark" mode in
my preferences on my Windows 10 machine. The key is missing if "Dark" mode
was never selected on a machine.

white-on-black-panel-scheme? could just look for this key on Windows?

Source:
https://stackoverflow.com/questions/51334674/how-to-detect-windows-10-light-dark-mode-in-win32-application

@mflatt wrote:

More ideas for dark mode on Windows based on various undocumented flags and functions: mflatt/gui@fd38e76

Last time I looked at this, I concluded that system Win32 control classes like buttons or checkboxes (I forget which, but I think it was buttons) don't support dark mode.

@jcolivo wrote

I found the Windows Registry Key as @default-kramer mentioned above referencing the StackOverflow thread:
https://stackoverflow.com/questions/51334674/how-to-detect-windows-10-light-dark-mode-in-win32-application

If you want the "Choose your default app mode" setting, I'm pretty sure that I can find it in the Windows registry somewhere. (In fact, this looks like it: https://stackoverflow.com/questions/51334674/how-to-detect-windows-10-light-dark-mode-in-win32-application) I can try to make a PR for mrlib if this is the desired behavior. I don't have any older versions of Windows handy, so it will likely support Win10 only.

On my system (64 bit Windows 10, latest version), I verified the location of the registry key:
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize

This is a screenshot of the key when light theme is chosen. Notice the ApsUseLightTheme value set at 0x00000001 (1)
Light Theme On

This is a screenshot of the key when dark theme is chosen. Notice the ApsUseLightTheme value now set at 0x00000000 (0)
Light Theme Off

Would this feature require Racket code to look for this specific registry key value, or would the code be written at a lower level?

Lenguaje dominante
Racket
Estrellas
68
Forks
83
Merge medio
21 h
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de racket/gui

Todos los issues de racket/gui

Issues similares

Más issues de Desktop Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.