DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
AI 翻译
Ton écran verrouillé de Mac prend les couleurs de ta musique — OsaLabs
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗L’heure en verre, la pochette du morceau en cours, ses commandes et ses paroles, directement sur l’écran verrouillé de ton Mac. Et partout ailleurs, tes AirPods, ta charge, le volume, la luminosité et la météo, en un coup d’œil.
Quand ton Mac est verrouillé et qu’un morceau joue dans Music ou Spotify :
Dès que tu déverrouilles, tout disparaît : ton bureau reste exactement comme avant.
Menu OsaWallpaper → Ouvrir OsaWallpaper… ouvre une galerie avec un aperçu en direct sur une maquette de l’écran verrouillé :
Aussi sur le bureau (dans la galerie ou les réglages) : le même fond devient celui de ton Mac déverrouillé. Pour une vidéo, tu choisis Animé (elle tourne en boucle derrière tes fenêtres, en pause dès que le Mac est verrouillé, en veille ou en économie d’énergie) ou Image fixe (une image tirée de la vidéo, zéro CPU). Ton fond d’origine est remis quand tu coupes l’option.
Fondu ou plein écran : par défaut ton fond se fond vers le bas pour laisser voir ta photo de session et le champ du mot de passe. En plein écran, il couvre tout l’écran ; ta photo de session, ton nom et le champ du mot de passe restent visibles par-dessus, sans trou (pour ça, pendant que le Mac est verrouillé seulement, la même image est posée en fond macOS ; ton bureau retrouve son fond au déverrouillage). Pour une vidéo, OsaWallpaper redessine ta photo et ton nom à leur place exacte (lue par l’Accessibilité) : la vidéo tourne partout, seul le champ du mot de passe reste ouvert. En plein écran, la pochette d’un morceau couvre elle aussi tout l’écran, avec ta photo et ton nom redessinés par-dessus ; en mode fondu, elle se fond sur ton fond d’écran d’origine. Quand macOS cache la connexion (Mac inactif, économiseur d’écran), le fond couvre tout l’écran : jamais de trou sur ce qu’il y a dessous.
Réglages : un onglet de la fenêtre, à droite de « Mes fonds » (menu → Réglages…, ⌘,).
Écran allumé plus longtemps : macOS éteint très vite l’écran d’un Mac verrouillé. Par défaut OsaWallpaper ne change rien ; dans les réglages, tu peux le garder allumé 1, 2, 5, 10 ou 30 minutes après ta dernière action, puis macOS l’éteint. Jamais en mode économie d’énergie.
Dans le Dock seulement quand tu t’en sers : l’icône apparaît quand la fenêtre est ouverte. Quand tu les fermes (ou ⌘Q), elle disparaît et une pastille « App mise en arrière-plan » le dit : l’app continue de tourner pour l’écran verrouillé. Pour la quitter vraiment : ⌥⌘Q ou le menu de la barre des menus.
Sans musique, l’écran verrouillé montre ton fond avec l’heure et la météo. Quand un morceau joue, tu choisis ce qui s’affiche : la pochette de l’album ou ton fond, avec le lecteur par-dessus.
| 🎧 AirPods et casques | Dès qu’un casque Bluetooth se connecte, une pastille apparaît en haut de l’écran avec sa batterie et le volume, au-dessus de toutes tes apps, même en plein écran. L’icône est celle de ton modèle exact : AirPods, AirPods 3 ou 4, AirPods Pro, AirPods Max ou Beats. |
| ⚡ Charge | Branche ton Mac : une pastille « En charge » s’affiche avec le pourcentage. |
| 🔊 Volume | Une pastille discrète avec le niveau, l’icône de ton casque s’il est connecté. |
| ☀️ Luminosité | Une pastille quand tu appuies sur F1 / F2. |
| 🙈 Adieu les indicateurs de macOS | Avec l’autorisation Accessibilité (facultative), OsaWallpaper gère lui-même les touches son et luminosité : seules ses pastilles s’affichent. |
| 🌤️ Météo | La température et le ciel sur l’écran verrouillé et dans le menu de la mascotte (Open-Meteo, sans clé ni compte). |
Une fenêtre de bienvenue te guide en trois étapes :
Pas de caméra, pas de micro, pas de localisation : la météo utilise une position approximative déduite de ta connexion, ou la ville de ton choix.
OsaWallpaper.dmg depuis les Releases et glisse l’app dans Applications.Dans la barre des menus, la mascotte se promène en rond, en 3D : elle se tourne dans le sens de sa marche, passe devant puis au fond, un pied après l’autre (animée par Core Animation : l’app ne fait rien à chaque image). Son menu donne la météo, le morceau en cours, l’accès à l’app, à l’aperçu et aux réglages.
OsaWallpaper regarde les Releases de ce dépôt au lancement puis toutes les heures, et s’installe tout seul : rien à cliquer. Il télécharge la nouvelle version, vérifie qu’elle est signée par le même développeur, remplace l’app et se relance, au moment où ça ne gêne pas (Mac déverrouillé, aucune fenêtre ouverte) ; une pastille annonce ensuite la mise à jour. Désactivable dans les réglages.
git clone https://github.com/osayanis/osawallpaper.git
cd osawallpaper
./build.sh # → OsaWallpaper.app
./make-dmg.sh # → OsaWallpaper.dmg (fenêtre d’installation à glisser)
Prérequis : Xcode 16 ou plus récent (Swift 6).
Mode démo (un faux morceau, sans toucher à tes apps de musique) :
OSAWALLPAPER_DEMO=/chemin/vers/une/image.jpg ./OsaWallpaper.app/Contents/MacOS/OsaWallpaper
| Fonction | Technique |
|---|---|
| Afficher sur l’écran verrouillé | Les fenêtres sont placées dans un espace SkyLight plus haut que l’écran de verrouillage (API privée, même technique qu’OsaNotch). Elles ne deviennent jamais « clé » : ton mot de passe va toujours à macOS. |
| Écran allumé | Assertion IOKit PreventUserIdleDisplaySleep, prise seulement pendant que le Mac est verrouillé et relâchée après le délai choisi sans activité. |
| Verrouillé ou non | Notifications com.apple.screenIsLocked / screenIsUnlocked. |
| Clics | Les fenêtres laissent passer la souris partout, sauf sur les boutons. |
| Musique | osascript en sous-processus, une seule requête à la fois, Music ou Spotify. La progression est calculée localement. |
| Pochette | Celle du fichier dans Music, sinon recherche iTunes. Le flou est calculé une seule fois par morceau avec Core Image. |
| Paroles | LRCLIB, même artiste et même durée (±4 s) que le morceau joué. Position relue toutes les 1,5 s et recalée dès 0,25 s d’écart, moins la latence de la sortie audio (CoreAudio). L’app ne se réveille qu’au début de chaque ligne. Apple Music et Spotify ne donnent pas accès à leurs paroles synchronisées aux autres apps. |
| AirPods | Sortie audio par défaut surveillée via CoreAudio, sans permission Bluetooth. Batterie et modèle (Product ID, même si tu as renommé tes AirPods) lus dans system_profiler. |
| Charge | Notifications IOKit (IOPSNotificationCreateRunLoopSource) + notify. |
| Volume | Écouteur CoreAudio sur le volume et la sourdine de la sortie par défaut. |
| Luminosité | DisplayServicesGetBrightness (framework privé) lu 5 fois par seconde, pastille seulement après F1 / F2. |
| Pochettes animées | Page de l’album sur music.apple.com (JSON serialized-server-data, vidéo motionDetailSquare), qualité 1080p HEVC téléchargée une fois, lue en boucle avec seulement quand l’écran est verrouillé. Méthode non officielle. |
Sobriété : environ 0,2 % de CPU quand rien ne joue, ~20 à 30 Mo de RAM.
system_profiler : elle peut mettre quelques secondes à apparaître après la connexion.Fait par Yanis · OsaLabs Avec ses cousins OsaNotch, OsaDrop, OsaCast et OsaParty.
AVPlayerLooper| Indicateurs natifs | Interception des touches spéciales (CGEventTap), son réglé via CoreAudio, luminosité via DisplayServicesSetBrightness. |
| Fonds personnalisés | Photos : API publique de Wallhaven. Vidéos Apple : catalogue public resources-16.tar (noms en français), vidéo téléchargée une fois. Fichiers et liens copiés dans ~/Library/Application Support/OsaWallpaper. Vidéos lues avec AVPlayerLooper, seulement quand on peut les voir. Bureau : NSWorkspace.setDesktopImageURL + une fenêtre au niveau du bureau pour la vidéo. |
| YouTube | Lecteur intégré officiel (youtube-nocookie.com) dans une WKWebView, en sourdine et en boucle, créée seulement quand l’écran verrouillé est visible. Rien n’est téléchargé. |
| Mises à jour | API GitHub Releases, archive OsaWallpaper.zip, signature vérifiée avec SecStaticCode. |
| Météo | Open-Meteo, position par IP ou ville choisie. |