Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Flickering problems of canvas without focus on MacOS

Aperta
#198 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
macos
Ambito
desktop

Direzione di ricerca

Inizia eseguendo la riproduzione fornita di racket/gui con mrlib/hierlist su macOS, quindi confronta lo scorrimento mentre la finestra è attiva e quando non lo è. Verifica l’effetto di set-scroll-via-copy e se altri aggiornamenti del canvas mostrano lo stesso sfarfallio. Il lavoro è completato quando lo scorrimento e gli aggiornamenti del canvas con la finestra non attiva non presentano più sfarfallii senza richiedere questo workaround.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

To reproduce:

  1. run this program
#lang racket/gui
(require mrlib/hierlist)

(define f (new frame% [label ""] [width 640] [height 480]))
(define hl (new hierarchical-list% [parent f]))
;(send hl set-scroll-via-copy #t)
(for ([i (in-range 1000)])
  (send+ hl
         (new-item)
         (get-editor)
         (insert (number->string i))))
(send f show #t)
  1. focus on other windows
  2. move the cursor to this window without focusing on it
  3. scrolling

This problem only occurs on Mac when racket window doesn't have focus. Also, uncomment the (send hl set-scroll-via-copy #t) can avoid this problem. Though I use hierlist in this example, it seems other canvas also have similar problems when updating without focus.

Lingua principale
Racket
Stelle
68
Fork
83
Merge medio
21h
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di racket/gui

Tutte le issue di racket/gui

Issue simili

Altre issue su Desktop Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.