UI: fenêtre unifiée à onglets + réaffichage Tk depuis l'icône
Remplace l'architecture 'une fenêtre = un processus' par une fenêtre unique (racine Tk sur le thread principal) avec trois onglets: - Profils : liste + éditeur intégré (ex-ProfileDialog) - Authentification : gestion des clés API (ex-AuthDialog) - Logs : journaux temps réel (ex-LogsWindow, désormais dans le même processus que le moteur, donc réellement alimenté) Fermer la fenêtre (WM_DELETE_WINDOW -> withdraw) la masque en zone de notification sans quitter. L'icône pystray (thread dédié) réaffiche la fenêtre dans le bon onglet via master.after(0, ...); la commutation de profil reste directe depuis le sous-menu radio (sans afficher la fenêtre). Supprime _tk_spawn/_tk_window_process et les trois anciens dialogues.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# AI-Typewriter
|
||||
|
||||
Application Python qui tourne **en arrière-plan** (icône dans la zone de notification de Windows, aucune fenêtre au démarrage), lit le contenu du presse-papier sur un raccourci global, l'envoie à un modèle IA, puis réécrit la réponse **caractère par caractère** à chaque pression de touche physique.
|
||||
Application Python qui **lit le contenu du presse-papier** sur un raccourci global, l'envoie à un modèle IA, puis réécrit la réponse **caractère par caractère** à chaque pression de touche physique.
|
||||
|
||||
Une **fenêtre unifiée à trois onglets** (Profils / Authentification / Logs) permet de tout configurer sans fenêtres éparpillées. Fermer la fenêtre (✕) la masque dans la zone de notification — l'application continue de tourner. Le menu de l'icône de notification réaffiche la fenêtre dans le bon onglet, et la commutation de profil reste directement accessible depuis l'icône (sans afficher la fenêtre).
|
||||
|
||||
Un profil spécialisé « Mathématiques (LaTeX) » marque les équations avec `[EQ]...[/EQ]` : l'application les intercepte et déclenche `Alt+=` pour ouvrir une équation (Word/OneNote) et `→` pour en sortir.
|
||||
|
||||
@@ -54,15 +56,23 @@ Les racines sont [EQ]z_1 = x + iy[/EQ] et [EQ]z_2 = x - iy[/EQ].
|
||||
|
||||
À chaque `[EQ]` l'application envoie `Alt+=` (ouvre une équation inline), tape le LaTeX littéralement, puis envoie `→` à chaque `[/EQ]`. Ce comportement est désactivé par défaut sur les autres profils (le texte est tapé tel quel).
|
||||
|
||||
## Fenêtre unifiée (onglets)
|
||||
|
||||
L'application démarre avec **une seule fenêtre** comportant trois onglets :
|
||||
|
||||
- **Profils** — liste de tous les profils (éditeur intégré) pour créer, modifier, supprimer ou activer un profil directement.
|
||||
- **Authentification** — enregistrement/vérification/suppression des clés d'API par référence.
|
||||
- **Logs** — journaux en temps réel (également écrits dans `~/.config/ai-typewriter/logs/app.log`).
|
||||
|
||||
## Zone de notification (icône)
|
||||
|
||||
L'application se lance sans fenêtre visible. Le menu de l'icône propose :
|
||||
Fermer la fenêtre (✕) ne quitte **pas** l'application : elle est masquée et continue de tourner, avec l'icône toujours visible dans la zone de notification. Le menu de l'icône propose :
|
||||
|
||||
- **Ouvrir les logs** — fenêtre des journaux en temps réel (également écrits dans `%APPDATA%\ai-typewriter\logs\app.log`).
|
||||
- **Ajouter un profil** — formulaire (nom, fournisseur, modèle, serveur, prompt, équations).
|
||||
- **Modifier le profil** — sous-menu listant tous les profils pour choisir le profil actif.
|
||||
- **Gérer l'authentification** — enregistrer les clés d'API des fournisseurs.
|
||||
- **Quitter** — arrête le processus.
|
||||
- **Ouvrir les logs** — réaffiche la fenêtre dans l'onglet *Logs*.
|
||||
- **Ajouter un profil** — réaffiche la fenêtre dans l'onglet *Profils* (formulaire vierge pour créer).
|
||||
- **Modifier le profil** — sous-menu listant tous les profils pour choisir le profil actif **directement** (sans afficher la fenêtre).
|
||||
- **Gérer l'authentification** — réaffiche la fenêtre dans l'onglet *Authentification*.
|
||||
- **Quitter** — arrête complètement le processus.
|
||||
|
||||
### Sélection et téléchargement des modèles
|
||||
|
||||
|
||||
Reference in New Issue
Block a user