Направете свой собствен мениджър на клипборда с Tasker и AutoTools

Опцията WebScreens в AutoTools е чудесен начин да създадете уникален мениджър на клипборда в Tasker. Този урок ще ви покаже как да направите това.

От известно време се опитвам да заобиколя проблема с липсата на мениджър на клипборда на телефона си. Има приложения на трети страни и някои клавиатури, които идват с вграден собствен мениджър на клипборда, но аз лично намирам много клавиатури на трети страни за бавни и тромави, затова обикновено се придържам към Gboard. Освен това обикновено се опитвам да избягвам инсталирането на ново приложение, посветено на една цел, ако мога да се измъкна. Това е мястото, където моят собствен мениджър на клипборда, направен в Tasker, идва да играе!


Tasker - мениджър на клипборда

Благодарение на новото действие AutoTools WebScreens, най-накрая е възможно да създам свой собствен мениджър на клипборда, който е бърз и лесен за достъп. Проектът Tasker Clipboard Manager може да съхранява до 9 клипа, като заменя старите, когато се добавят нови клипове. Избрах 9 елемента за съхраняване, тъй като пасват доста добре на моя екран, но с няколко прости настройки можете да зададете броя на съхранените клипбордове според вашето желание.

Докато ти бих могъл има плаващ бутон за действие (FAB) за издърпване на клипборда, вместо това предпочитам да използвам жест с плъзгане. За да смекча потенциалните проблеми с производителността, настроих проекта Tasker Clipboard Manager да има много малък отпечатък върху паметта на вашия телефон, тъй като профилът може да бъде ограничен до работа с определени приложения само. Във видеото по-долу можете да видите как свързвам менюто на клипборда само с приложенията Google+ и Pages Manager. Имайте предвид обаче, че колекцията от клипове се извършва във фонов режим всеки път, когато правите промени в текущия съхранен клип.

Ако използвате Присъединяване приложение, този проект не трябва да му пречи. Но като използвате Join, тогава можете също да споделяте избрани клипове от моя проект с другите си устройства. За този проект използвам действие AutoTools WebScreens, така че се уверете, че сте инсталирали приставката. Всичко останало е просто запас Tasker. Достъпът до мениджъра на клипборда се управлява от самите приложения. По този начин не е необходимо този профил да е активен, когато гледам YouTube или играя игра, така че профилът ми е настроен да се активира само в онези приложения, които го изискват.

Ето видео, показващо моето творение в действие:

Ако искате да импортирате моя проект такъв, какъвто е, можете да го направите, като щракнете върху връзката по-долу, която ще ви отведе до страницата за изтегляне на AndroidFileHost.

Изтеглете проекта Tasker Clipboard Manager

Изтеглете горния ZIP файл и извлечете съдържанието във вътрешната памет на вашето устройство с Android. Отворете Tasker и деактивирайте „Режим за начинаещи“ в Предпочитания. След това се върнете на главната страница на Tasker и натиснете дълго иконата за начало в долния ляв ъгъл. Ще видите опция за „импортиране“ на проект. Докоснете тази опция, след което намерете файла .prj.xml, който сте извлекли по-рано. След като бъде импортиран, ще видите нов раздел в долната част до иконата за начало по подразбиране в Tasker.

Обърнете внимание, че този проект изисква да имате AutoTools инсталиран, за да работи. Ако искате да персонализирате различни аспекти на моя проект, препоръчвам ви да продължите да четете по-долу, за да разберете как работи това и какви промени могат да бъдат направени. Имайте предвид, че най-малкото трябва да промените приложенията в контекста на приложението, така че този мениджър на клипборда може да бъде извикан в повече приложения от набора по подразбиране, който направих активен за.


ПРОФИЛ - Приложения с клипборд

В този пример използвам Google+ и Pages Manager, за да активирам плъзгането на WebScreens.

ПРОФИЛ НА TASKER - Приложения с клипборд

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 ]

Прочетете още

Изберете приложенията, които искате да активирате в контекста, след което създайте задача, наречена Меню за стартиране. Тази задача ще активира плъзгането на WebScreen в Tasker Project - мениджър на клипборда.

ЗАДАЧА - Стартиране на менюто

В опцията AutoTools WebScreen импортирайте предварително зададен екран (прекарайте пръст) и премахнете всички команди освен 'наляво' в секцията с команди на страницата за настройка.

Настройте настройките на Window според вашите предпочитания. Гравитацията е зададена на Bottom Right, докато Width е 10, а Height е настроена на 'запълвам'.

ЗАДАЧА - Жест за изход от клип

Трябва да деактивираме жеста, когато не е необходим. Добавете задача за излизане и създайте друго действие WebScreens. Този път използвайте режима на дисплея, за да зададетеблизо' действие. Това ще прекрати WebScreen и разпознаването на плъзгане.

ПРОФИЛ - Показване на менюто

По подразбиране плъзгането надясно ще издаде команда AutoTools плъзнете=:=надясно. Когато това се случи, искам моят мениджър на клипборда да се отвори. Създайте нов профил с контекста на AutoApps, зададен на „плъзнете' като филтър. Когато плъзгането приключи, ще се появи хубаво меню с всички необходими клипове.

ПРОФИЛ НА TASKER - Показване на менюто

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 ]

Прочетете още

ЗАДАЧА - Меню клипборд

Оформлението е "заимствано" от Урокът на Жоао. Хареса ми как изглежда страничният стартер, така че нямаше смисъл да преоткривам колелото. Очевидно променливите, използвани в този WebScreen, ще бъдат различни, но оформлението е почти същото.

Добавете действие на уеб екрана на AutoTools и изберете предварително зададения списък с карти. Под настройките на прозореца задайте:

  • Ширина до 100
  • Височина до запълвам
  • Гравитация към Долу вдясно

Под Опции за командване активирайте и двете Затваряне при команда и Изчакайте команда, след това под Набор от карти:

  • Заглавия на карти до %ClipPosition() (ще съдържа числа от 1-9)
  • Картичка Подтекстове към %ClipAbrev() (съдържа кратък фрагмент)
  • Команди за карти до %ClipPosition() (използва се за идентифициране на пресата)
  • Префикс на командите към клипборда
  • Макс. ширина на картата и мин. ширина на картата до 90%
  • Максимална височина на изображението до 75
  • Размер на текста на заглавието до 5

Чувствайте се свободни да промените външния вид на известието, като си поиграете сами с тези числа. Имайте предвид, че отварянето на WebScreen без следващата стъпка няма да ви даде никакви визуализации.

ЗАДАЧА - масив числа

Имаме нужда от масив, който ще съдържа числата от 1-9. Те ще се използват за идентифициране на нашите записи в клипборда и ще се съхраняват в %ClipPosition() масив.

ЗАДАЧА - масив числа

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 ]

Прочетете още

Създайте тази задача, след което генерирайте масива. Това ще създаде глобалния масив.

ПРОФИЛ - Монитор на клипборда

Този профил ще следи промените в % КЛИП системна променлива, която съдържа текущата стойност на клипборда. Създайте профил с набор от променливи за задействане на събитие и го настройте да наблюдава променливата % КЛИП. Когато нов запис в клипборда е зададен от потребителя (вие), Tasker ще открие промяната.

ПРОФИЛ - Монитор на клипборда

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 ]

Прочетете още

ЗАДАЧА - Мениджър на клипборда

Съдържанието на клипборда ни се съхранява в %ClipboardArray(). Всеки път, когато се записва нов клипборд, an Натискане на масив (A2) действие го премества на 1-ва позиция на масива. Тъй като не искам целият текст да се вижда в страничното меню, създадох друг масив %ClipAbrev()(A3) който ще съхранява първите X букви от клипборда. За да съкратите клипборда, използвайте (A1) Избор на променлива и ограничете броя на знаците до 6 (уверете се, че Adapt to Fit е отметнато) и запазете тази стойност в локалния %съкр променлива, която се използва за попълване на (A3) Натискане на масив действие.

Сега, когато имаме готова колекция от клипборда, трябва да почистим бъркотията. Масивът ще събере всички клипбордове. Това означава, че когато изберем клипборд от нашето странично меню, той ще събере новата стойност и ще я присвои като дубликат на менюто. Затова всеки път, когато записваме клип, искам да премахна дублиращите се записи (A4, A5) и премахнете празните места (A6, A7). Действия за процес на масив се извършват и на двете %Clipboard Array() и %ClipAbrev().

И накрая, искам менюто ми да съдържа само 9 записа. Можете да имате повече, но намирам, че 9-те менюта пасват чудесно на моя екран без превъртане. За да направите това, използвайте Array Pop (A8, A9) и премахнете 10-та позиция. Направите това САМО ако масивът съдържа 10 елемента. В противен случай последният елемент се премахва. Постигаме това, като проверяваме дали броят на елементите %ClipboardArray(#) = 10.

ПРОФИЛ - Задаване на клипборда

Почти сме готови. Това е много прост профил. Използваме командния клипборд на AutoApps, за да проверим дали командата е получена. Командата ще изглежда така: клипборд=:=1 където номерът означава натиснатия бутон в нашето странично меню.

ПРОФИЛ - Задаване на клипборда

Profile: Set Clipboard 

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

Enter: Set New Clip

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

Прочетете още

ЗАДАЧА - Задайте нов клип

Задачата също е много проста. Задайте клипборда на стойността на %ClipboardArray() искаме да изберем елемента, определен от %aacomm част от получената команда. Така че задайте клипборда като %ClipboardArray(%aacomm) и сте готови. Мениджърът на клипборда на Tasker вече е завършен.


Сега, в избраните от вас приложения, можете да плъзнете надясно, за да отворите свой собствен персонализиран мениджър на клипборда! Следвай Уроци за разработчици на XDA емисия за повече публикации като тази. Освен това разгледайте нашите Съвети и трикове на Tasker форум за най-новите творения сред ентусиастите по автоматизация в нашата общност.