feat(autofill): un bouton Open, et le menu ne passe plus sous la barrette
Quand la barrette est allumee, elle est souvent la seule chose de l'application a l'ecran : revenir au coffre ne doit pas demander de retrouver l'icone du tray. Le menu d'opacite passait derriere : le battement qui repose la barrette en tete de la bande TOPMOST cinq fois par seconde recouvrait le menu que la barrette venait d'ouvrir - lui aussi dans cette bande. TrackPopupMenu est modal, donc le minuteur battait pendant tout ce temps. Il s'arrete maintenant le temps du menu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -164,9 +164,10 @@ via `settings_json`).
|
||||
|
||||
Menu du tray → **Lazy mode (fill with the mouse)** : une barrette de trois
|
||||
boutons *Full* / *Password* / *2FA* qui flotte au-dessus de tout et fait
|
||||
exactement ce que font `Ctrl+Shift+L` / `Ctrl+Shift+P` / `Ctrl+Shift+T`. Un
|
||||
quatrième bouton `X` la referme — elle flotte au-dessus de tout, s'en
|
||||
débarrasser doit pouvoir se faire là où elle est, pas seulement depuis le tray.
|
||||
exactement ce que font `Ctrl+Shift+L` / `Ctrl+Shift+P` / `Ctrl+Shift+T`. Deux
|
||||
boutons de plus, *Open* et `X` : quand la barrette est allumée, elle est souvent
|
||||
la seule chose de l'application à l'écran — revenir au coffre ou s'en
|
||||
débarrasser ne doit pas obliger à retrouver l'icône du tray.
|
||||
|
||||
**`WS_EX_NOACTIVATE` est toute l'astuce.** Une fenêtre ordinaire prendrait le
|
||||
premier plan au clic — le champ que l'utilisateur vient de cliquer perdrait son
|
||||
@@ -210,7 +211,11 @@ Détails :
|
||||
aussi, et cliquer son fond vide la remonte en tête de cette bande — une
|
||||
barrette posée dessus passe **derrière** et semble avoir disparu. Le même
|
||||
battement de 200 ms la repose (`SetWindowPos … SWP_NOMOVE or SWP_NOSIZE`) ;
|
||||
sans mouvement ni taille à changer, l'appel ne repeint rien.
|
||||
sans mouvement ni taille à changer, l'appel ne repeint rien. **Ce battement
|
||||
s'arrête pendant le menu d'opacité** (`KillTimer` / `SetTimer` autour de
|
||||
`TrackPopupMenu`, qui est modal) : le menu déroulant est lui aussi dans la
|
||||
bande `TOPMOST`, et se faisait donc recouvrir par la barrette qui venait de
|
||||
l'ouvrir.
|
||||
- **Traîner depuis un bouton** : les boutons sont subclassés (`GWLP_WNDPROC`,
|
||||
une seule proc d'origine — même classe). Sur `WM_LBUTTONDOWN`, **`DragDetect`**
|
||||
tranche entre clic et glissement en respectant le seuil réglé par
|
||||
|
||||
Reference in New Issue
Block a user