Créez votre propre gestionnaire de presse-papiers avec Tasker et AutoTools

L'option WebScreens dans AutoTools est un excellent moyen de créer un gestionnaire de presse-papiers unique dans Tasker. Ce tutoriel vous guidera pour vous montrer comment procéder.

Depuis un certain temps déjà, j'essaie de contourner le problème de ne pas avoir de gestionnaire de presse-papiers sur mon téléphone. Il existe des applications tierces et certains claviers livrés avec leur propre gestionnaire de presse-papiers intégré, mais personnellement, je trouve que de nombreux claviers tiers sont lents et maladroits, c'est pourquoi je m'en tiens généralement à Gboard. De plus, j'essaie généralement d'éviter d'installer une nouvelle application dédiée à un seul objectif si je peux m'en sortir. C'est là que mon propre gestionnaire de presse-papiers créé dans Tasker entre en jeu !


Tasker - Gestionnaire du Presse-papiers

Grâce à la nouvelle action AutoTools WebScreens, il m'est enfin possible de créer mon propre gestionnaire de presse-papiers, rapide et facile d'accès. Le projet Tasker Clipboard Manager peut stocker jusqu'à 9 clips, remplaçant les anciens à mesure que de nouveaux clips sont ajoutés. J'ai choisi 9 éléments à stocker car ils s'adaptent plutôt bien à mon écran, mais avec quelques ajustements simples, vous pouvez définir le nombre de presse-papiers stockés comme vous le souhaitez.

Pendant que tu pourrait avoir un bouton d'action flottant (FAB) pour faire apparaître le presse-papiers, je préfère utiliser un geste de balayage à la place. Pour atténuer les problèmes de performances potentiels, j'ai configuré le projet Tasker Clipboard Manager pour avoir un très bon fonctionnement. faible empreinte sur la mémoire de votre téléphone car le profil peut être limité pour fonctionner avec certaines applications seulement. Dans la vidéo ci-dessous, vous pouvez me voir lier le menu du presse-papiers uniquement aux applications Google+ et Pages Manager. Gardez toutefois à l’esprit que la collecte des clips s’effectue en arrière-plan chaque fois que vous apportez des modifications au clip actuellement stocké.

Si vous utilisez le Rejoindre application, ce projet ne devrait pas interférer avec elle. Mais en utilisant Rejoindre, vous pouvez également partager des clips sélectionnés de mon projet avec vos autres appareils. Pour ce projet, j'utilise l'action AutoTools WebScreens, alors assurez-vous que le plugin est installé. Tout le reste n'est que du stock Tasker. L'accès au gestionnaire du presse-papiers est piloté par les applications elles-mêmes. Ainsi, je n'ai pas besoin que ce profil soit actif lorsque je regarde YouTube ou que je joue à un jeu, mon profil est donc configuré pour s'activer uniquement sur les applications qui le nécessitent.

Voici une vidéo présentant ma création en action :

Si vous souhaitez importer mon projet tel quel, vous pouvez le faire en cliquant sur le lien ci-dessous qui vous mènera à la page de téléchargement AndroidFileHost.

Téléchargez le projet Tasker Clipboard Manager

Téléchargez le fichier ZIP ci-dessus et extrayez le contenu sur la mémoire interne de votre appareil Android. Ouvrez Tasker et désactivez le « Mode débutant » dans les Préférences. Ensuite, revenez à la page principale de Tasker et appuyez longuement sur l'icône d'accueil dans le coin inférieur gauche. Vous verrez une option pour « importer » un projet. Appuyez sur cette option, puis recherchez le fichier .prj.xml que vous avez extrait précédemment. Une fois importé, vous verrez un nouvel onglet en bas à côté de l'icône d'accueil par défaut dans Tasker.

Prenez note que ce projet nécessite que vous ayez Outils automatiques installé pour fonctionner. Si vous souhaitez personnaliser divers aspects de mon projet, je vous recommande de continuer à lire ci-dessous afin de comprendre comment cela fonctionne et quelles modifications peuvent être apportées. Notez qu'au minimum, vous devez modifier les applications dans le contexte d'application afin que ce gestionnaire de presse-papiers peut être invoqué dans plus d'applications que l'ensemble par défaut, je l'ai rendu actif pour.


PROFIL - Applications avec Presse-papiers

Dans cet exemple, j'utilise Google+ et Pages Manager pour activer le balayage WebScreens.

PROFIL TASKER - Applications avec Presse-papiers

Profile: Apps With Clipboard 

Restore: no

Application: Google+ or Pages Manager

Enter: Launch Menu

A1: AutoTools Web Screen [ Configuration: Screen Preset: Swipe

Display Mode: Overlay

Close Overlay ID: Swipe

Source: /storage/emulated/0/AutoTools/swipe/page.html

Toast Duration: 5000

Background Color: #00CE93D8

Width: 10

Height: 400

Gravity: Bottom Right

Animation: Slide In From Bottom

Overlay Id: Swipe

Show Duration: 500

Hide Duration: 250

Drag: Not Draggable

Hide Dialog Shadow: true

Inject In Header: var a=1;

Commands Prefix: swipe

Swipe Left: left

Swipe Right: right

Swipe Up: up

Swipe Down: down

Border Color: #AB47BC

Border Witdh: 3

Border Side: Right Timeout (Seconds):30 ]

Exit: Exit Clip Gesture

A1: AutoTools Web Screen [ Configuration: Screen Preset: Swipe

Display Mode: Close

Close Overlay ID: Swipe

Source: /storage/emulated/0/AutoTools/swipe/page.html

Toast Duration: 5000

Background Color: #00CE93D8

Width: 10

Height: 400

Gravity: Bottom Right

Animation: Slide In From Bottom

Show Duration: 500

Hide Duration: 250

Drag: Not Draggable

Hide Dialog Shadow: true

Inject In Header: var a=1;

Commands Prefix: swipe

Swipe Left: left

Swipe Right: right

Swipe Up: up

Swipe Down: down

Border Color: #AB47BC

Border Witdh: 3

Border Side: Right Timeout (Seconds):30 ]

En savoir plus

Sélectionnez les applications que vous souhaitez activer dans le contexte puis créez une tâche appelée Menu de lancement. Cette tâche activera le balayage WebScreen dans le gestionnaire de projet Tasker - Presse-papiers.

TÂCHE - Menu de lancement

Dans l'option AutoTools WebScreen, importez un préréglage d'écran (glisser) et supprimez toutes les commandes sauf 'gauche' dans la section commandes de la page de configuration.

Configurez les paramètres de la fenêtre selon vos préférences. J'ai la gravité réglée en bas à droite tandis que la largeur est de 10 et la hauteur est réglée sur 'remplir'.

TÂCHE – Geste du clip de sortie

Nous devons désactiver le geste lorsqu'il n'est pas nécessaire. Ajoutez une tâche de sortie et créez une autre action WebScreens. Cette fois, utilisez le mode d'affichage pour définir le 'fermer' action. Cela mettra fin à la reconnaissance WebScreen et par balayage.

PROFIL - Afficher le menu

Par défaut, glisser vers la droite émettra une commande AutoTools glisser=:=droite. Lorsque cela se produit, je souhaite que mon gestionnaire de presse-papiers s'ouvre. Créez un nouveau profil avec le contexte AutoApps défini sur 'glisser' comme filtre. Une fois le balayage terminé, un joli menu apparaîtra avec tous les clips dont nous avons besoin.

PROFIL DE TÂCHE – Afficher le menu

Profile: Show Menu 

Event: AutoApps Command [ Configuration: Command Filter: swipe ]

Enter: Clipboard Menu

A1: AutoTools Web Screen [ Configuration: Screen Preset: Card List

Display Mode: Dialog

Source: /storage/emulated/0/AutoTools/cardlist/page.html

Toast Duration: 5000

Width: 100

Height: fill

Gravity: Bottom Right

Animation: Slide In From Top

Show Duration: 500

Hide Duration: 250

Close On Command: true

Wait For Command: true

Title: Clip

Card Titles: %ClipPosition()

Card Subtext Left: %ClipAbrev()

Card Commands: %ClipPosition()

Commands Prefix: clipboard

Background Color: #BDBDBD

Accent Color: #F9A825

Max Card Width: 90%

Max Image Height: 75

Title Text Size: 5

Card Padding: 0

Card Alignment: Center

Item Separator:, Timeout (Seconds):30 ]

En savoir plus

TÂCHE - Menu Presse-papiers

La mise en page a été « empruntée » à Le tutoriel de Joao. J'ai aimé l'apparence du lanceur latéral, donc il ne servait à rien de réinventer la roue. Évidemment, les variables utilisées dans ce WebScreen seront différentes, mais la présentation est à peu près la même.

Ajoutez une action sur l'écran Web AutoTools et sélectionnez le préréglage Liste de cartes. Sous Paramètres de la fenêtre, définissez :

  • Largeur à 100
  • Hauteur à remplir
  • La gravité à En bas à droite

Sous Options de commande, activez les deux Fermer sur commande et Attendre la commande, puis sous Jeu de cartes :

  • Titres de cartes à %ClipPosition() (contiendra des chiffres de 1 à 9)
  • Sous-textes de la carte à %ClipAbrev() (contient un court extrait)
  • Commandes de carte à %ClipPosition() (utilisé pour identifier la presse)
  • Préfixe des commandes à presse-papiers
  • Largeur maximale de la carte et largeur minimale de la carte 90%
  • Hauteur maximale de l'image à 75
  • Taille du texte du titre à 5

N'hésitez pas à modifier l'apparence de la notification en jouant vous-même avec ces numéros. Gardez à l'esprit que l'ouverture du WebScreen sans l'étape suivante ne vous donnera aucun aperçu.

TÂCHE - numéros de tableau

Nous avons besoin d’un tableau contenant les nombres de 1 à 9. Ceux-ci seront utilisés pour identifier nos entrées du presse-papiers et seront stockés dans le %ClipPosition() tableau.

TÂCHE - numéros de tableau

array numbers

A1: Variable Set [ Name:%ClipPosition To: 1.2.3.4.5.6.7.8.9

Recurse Variables: Off Do Maths: Off Append: Off ]

A2: Variable Split [ Name:%ClipPosition Splitter:. Delete Base: Off ]

En savoir plus

Créez cette tâche puis générez le tableau. Cela créera le tableau global.

PROFIL – Moniteur du Presse-papiers

Ce profil surveillera les changements dans le %AGRAFE variable système qui contient la valeur actuelle du presse-papiers. Créez un profil avec l'ensemble de variables de déclenchement d'événement et configurez-le pour surveiller la variable. %AGRAFE. Lorsqu'une nouvelle entrée du presse-papiers a été définie par l'utilisateur (vous), Tasker détectera le changement.

PROFIL – Moniteur du Presse-papiers

Profile: Clipboard Monitor 

Event: Variable Set [ Variable:%CLIP Value:* User Variables Only: Off ]

Enter: Clipboard Manager

A1: Variable Section [ Name:%CLIP From: 1 Length: 6 Adapt To Fit: On Store Result In:%abrev ]

A2: Array Push [ Variable Array:%ClipboardArray Position: 1 Value:%CLIP Fill Spaces: Off ]

A3: Array Push [ Variable Array:%ClipAbrev Position: 1 Value:%abrev Fill Spaces: On ]

A4: Array Process [ Variable Array:%ClipAbrev Type: Remove Duplicates ]

A5: Array Process [ Variable Array:%ClipboardArray Type: Remove Duplicates ]

A6: Array Process [ Variable Array:%ClipboardArray Type: Squash ]

A7: Array Process [ Variable Array:%ClipAbrev Type: Squash ]

A8: Array Pop [ Variable Array:%ClipAbrev Position: 10 To Var: ] If [ %ClipAbrev(#) eq 10 ]

A9: Array Pop [ Variable Array:%ClipboardArray Position: 10 To Var: ] If [ %ClipboardArray(#) eq 10 ]

En savoir plus

TÂCHE – Gestionnaire du Presse-papiers

Le contenu de notre presse-papiers est stocké dans le %ClipboardArray(). Chaque fois qu'un nouveau presse-papiers est enregistré, un Poussée de tableau (A2) l'action le déplace à la 1ère position du tableau. Parce que je ne veux pas que l'intégralité du texte soit visible dans le menu latéral, j'ai créé un autre tableau %ClipAbrev()(A3) qui stockera les X premières lettres du presse-papiers. Pour raccourcir le presse-papiers, utilisez (A1) Sélection des variables et limitez le nombre de caractères à 6 (assurez-vous que Adapt to Fit est coché) et stockez cette valeur dans le fichier local. %abrév variable qui est utilisée pour remplir le (A3) Poussée de tableau action.

Maintenant que la collection de presse-papiers est prête, nous devons nettoyer le désordre. Le tableau collectera tous les presse-papiers. Cela signifie que lorsque nous sélectionnons un presse-papiers dans notre menu latéral, il collectera la nouvelle valeur et l'attribuera en double au menu. Par conséquent, chaque fois que nous enregistrons un clip, je souhaite supprimer les entrées en double. (A4, A5) et supprimer les espaces vides (A6, A7). Actions de processus de tableau sont effectués sur les deux %Tableau du Presse-papiers() et %ClipAbrev().

Enfin, je souhaite que mon menu ne contienne que 9 entrées. On peut en avoir plus, mais je trouve que les 9 menus s'intègrent très bien sur mon écran sans défilement. Pour ce faire, utilisez Tableau Pop (A8, A9) et supprimez la 10ème position. Fais ceci SEULEMENT si le tableau contient 10 éléments. Sinon, le dernier élément est supprimé. Nous y parvenons en vérifiant si le nombre d'éléments %ClipboardArray(#) = 10.

PROFIL - Définir le presse-papiers

Nous avons presque terminé. Il s'agit d'un profil très simple. Nous utilisons le presse-papiers de la commande AutoApps pour vérifier si la commande a été reçue. La commande ressemblera à ceci: presse-papiers=:=1 où le numéro représente le bouton enfoncé dans notre menu latéral.

PROFIL - Définir le presse-papiers

Profile: Set Clipboard 

Event: AutoApps Command [ Configuration: Command Filter: clipboard ]

Enter: Set New Clip

A1: Set Clipboard [ Text:%ClipboardArray(%aacomm) Add: Off ]

En savoir plus

TÂCHE – Définir un nouveau clip

La tâche est également très simple. Réglez le presse-papiers sur la valeur du %ClipboardArray() nous voulons choisir l'élément spécifié par le %aacomm partie de la commande reçue. Alors définissez le presse-papiers comme %ClipboardArray(%aacomm) et vous avez terminé. Le Tasker Clipboard Manager est maintenant terminé.


Désormais, dans les applications sélectionnées, vous pouvez faire glisser votre doigt vers la droite pour ouvrir votre propre gestionnaire de presse-papiers personnalisé! Suivre la Tutoriels pour développeurs XDA flux pour plus de messages comme celui-ci. Consultez également notre Trucs et astuces pour les Taskeurs forum pour les dernières créations parmi les passionnés d'automatisation de notre communauté.