Large type tooltips cause visual artifacting on hover.

Abierto
#832 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Área
desktop

Línea de trabajo

Start by reproducing the hover artifact in DrRacket with the supplied typed Racket example, varying the editor font size as described. The report names no source files or tests, so trace how DrRacket displays type tooltips and inspect the console warning about native windows exceeding 32767 pixels. Done when large type tooltips render without visual artifacts during hover or font size changes.

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

Descripción

#lang typed/racket

(define zz
  (hash ;; hover here
   '+ + 
   '* *
   '- -
   '/ /))

zz ;; or hover here

Sufficiently large tooltips cause visual artifacts on hover. The easiest way I have found to reproduce this is a hash with values that have a huge union type capturing a large number of case->'s (as is the type for mapping to multiple arithmetic operators as seen above). The visual artifacts depend on the drracket font size. Hovering over the hash itself or the variable binding it (in this case zz) and using Ctrl+- or Ctrl+= to change the font size will cause stretching, blurring, or other artifacts of the tooltip text.
Image

Image

Regular hovering with no font size changing can also recreate the artifacts, but with a large enough tooltip, sometimes hovering will cease to draw the yellow canvas box at all (although do note that there is some visual warping at the bottom of the window).

Image

When reproducing this issue from a drracket instance launched from the command line, each attempt at hovering will cause the following warning to be thrown to the console:

$ drracket bug.rkt
(drracket:5582): Gdk-WARNING **: 17:34:24.589: Native Windows wider or taller than 32767 pixels are not supported
Environment

Version: Racket 9.3
OS: Debian 12
Desktop Environment: KDE Plasma

Lenguaje dominante
Racket
Estrellas
517
Forks
102
Merge medio
20 min
PR fusionados (30 d)
1

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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/drracket

Todos los issues de racket/drracket

Issues similares

Más issues de Desktop Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.