Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Flickering problems of canvas without focus on MacOS

オープン
#198 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
macos
領域
desktop

調査の方向性

まず、macOS で提供されている mrlib/hierlist を使った racket/gui の再現コードを実行し、次にウィンドウにフォーカスがある場合とない場合でスクロールを比較します。set-scroll-via-copy の効果と、他の canvas の更新でも同じちらつきが発生するかを確認します。フォーカスがない状態でのスクロールと canvas の更新が、この workaround を必要とせずにちらつかなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Racket
スター
68
フォーク
83
平均マージ
9日 8時間
マージ済み PR(30日)
4

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

racket/gui のほかの issue

racket/gui の issue をすべて見る

似ている issue

Desktop Dev の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。