feat(widget): dockear al monitor principal por defecto y avisar si el widget queda en otro display
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- rust, typescript
調査の方向性
Start where the frontend resolves the dock geometry when dockMonitor is null and find the currentMonitor() call that should become primaryMonitor(). The Rust geometry code the issue mentions is the second place to check. Done means a null dockMonitor docks to the primary display, and a notice or re-dock happens when the strip shows on a non-primary display. The issue asks for product review before implementation, so confirm the behavior with the maintainer first.
索引モデルが issue の本文から書いたものです。
説明
Pre-flight checks
- Busqué issues existentes y no encontré duplicados.
- Entiendo que esta propuesta requiere revisión de producto antes de implementarse.
Problem to solve
Descubierto durante el port a macOS (#69, verificación M3): con dockMonitor: null, el frontend resuelve la posición del widget con currentMonitor() (el monitor "actual", que depende de dónde esté el cursor/foco) en vez del monitor principal. En un setup multi-display el widget puede dockearse al borde de un monitor externo — incluso uno ubicado fuera de la vista natural del usuario (arriba del principal) — y como la tira en modo peek es una franja fina (~210 px), el widget parece "desaparecido".
Reproducción real: macOS multi-display (Retina principal + externos, uno de 3008×1692 arriba del principal), dockEdge: "top", dockOffset: 0.53, dockMonitor: null → la ventana del widget quedó en y = -1692 (borde superior del externo). En Windows no se nota porque la taskbar vive en el display principal; el dockeo actual nunca tuvo este caso a la vista.
Proposed solution
Dos cambios de comportamiento (ambos acotados al frontend/Rust de geometría ya existente):
- Con
dockMonitor: null, resolver la geometría contra el monitor principal (primaryMonitor()) por defecto, no contracurrentMonitor(). El "actual" queda solo cuando el usuario fijó explícitamente un monitor en Ajustes. - Al mostrar la tira en un display no principal, emitir una notificación/aviso breve ("Quorb está en el monitor X") o re-dockear al principal si el elegido no está visible.
Affected area
Application behavior
Scope and non-goals
Incluye: default de monitor para el dockeo, aviso/redock de seguridad. No incluye: soporte de widget simultáneo en varios displays, gestión de perfiles por display, cambios de estilo del widget, ni la validación del port macOS (eso sigue en #69 / PR #112).
Alternatives considered
- Dejar el comportamiento actual y solo documentarlo: descartado, el "widget invisible" es una mala primera experiencia en multi-display.
- Recordar el último monitor por coordenadas de ventana en vez de por nombre: frágil si cambia la disposición de displays; el nombre + fallback a principal es más estable.
- 主要言語
- TypeScript
- スター
- 10
- フォーク
- 2
- 平均マージ
- 1時間 17分
- マージ済み PR(30日)
- 53
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
egdev6/quorb のほかの issue
-
odd type:feature
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
メンテナーはふだん 1 日以内に返信
-
odd type:feature
難易度 4/5 3〜5日 初心者へのやさしさ 15/100
メンテナーはふだん 1 日以内に返信
-
odd type:feature
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
-
odd type:chore
難易度 5/5 1週間以上 初心者へのやさしさ 22/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
streams:add
難易度 2/5 1時間未満 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/rocketmq-dashboard#6872 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
interledger/publisher-tools#931 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
ARTPARK-SAHAI-ORG/calibrate-frontend#727 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
fab-geocommuns/RNB-site#539 ·
メンテナーはふだん 2 日以内に返信