Створіть власний менеджер буфера обміну за допомогою Tasker і AutoTools

Параметр WebScreens у AutoTools — чудовий спосіб створити унікальний менеджер буфера обміну в Tasker. Цей посібник покаже вам, як це зробити.

Деякий час я намагався вирішити проблему відсутності менеджера буфера обміну на моєму телефоні. Існують програми сторонніх розробників і деякі клавіатури, які мають власний вбудований менеджер буфера обміну, але особисто я вважаю, що багато клавіатур сторонніх розробників повільні та незграбні, тому я зазвичай дотримуюся Gboard. Крім того, я зазвичай намагаюся уникати встановлення нової програми, призначеної для однієї мети, якщо мені це вдається. Тут починає працювати мій власний менеджер буфера обміну, створений у Tasker!


Tasker - менеджер буфера обміну

Завдяки новій дії AutoTools WebScreens я нарешті зміг створити власний менеджер буфера обміну, до якого можна швидко та легко отримати доступ. Проект Tasker Clipboard Manager може зберігати до 9 кліпів, замінюючи старі, коли додаються нові. Я вибрав 9 елементів для зберігання, оскільки вони досить гарно підходять на моєму екрані, але за допомогою кількох простих налаштувань ви можете встановити будь-яку кількість збережених буферів обміну.

Поки ви міг би є плаваюча кнопка дії (FAB), щоб відкрити буфер обміну, я віддаю перевагу жесту пальця. Щоб зменшити потенційні проблеми з продуктивністю, я налаштував проект Tasker Clipboard Manager, щоб мати дуже невеликий обсяг пам’яті телефону, оскільки профіль може бути обмежений для роботи з певними програмами тільки. У відео нижче ви можете побачити, як я зв’язую меню буфера обміну лише з програмами Google+ і Pages Manager. Однак майте на увазі, що збирання кліпів відбувається у фоновому режимі кожного разу, коли ви вносите зміни в поточний збережений кліп.

Якщо ви використовуєте Приєднуйтесь додаток, цей проект не повинен заважати цьому. Але використовуючи «Приєднатися», ви також можете ділитися вибраними кліпами з мого проекту з іншими своїми пристроями. Для цього проекту я використовую дію AutoTools WebScreens, тому переконайтеся, що плагін встановлено. Усе інше – це просто стандартний Tasker. Доступ до менеджера буфера обміну здійснюється самими програмами. Таким чином, мені не потрібно, щоб цей профіль був активним, коли я дивлюся YouTube або граю в ігри, тому мій профіль налаштовано на активацію лише в тих програмах, які цього вимагають.

Ось відео, яке демонструє моє творіння в дії:

Якщо ви хочете імпортувати мій проект як є, ви можете зробити це, натиснувши посилання нижче, яке переведе вас на сторінку завантаження AndroidFileHost.

Завантажте проект менеджера буфера обміну Tasker

Завантажте наведений вище 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 ]

читати далі

Виберіть програми, які потрібно ввімкнути в контексті, а потім створіть завдання під назвою «Меню запуску». Це завдання ввімкне проведення пальцем по веб-екрану в менеджері буфера обміну Tasker Project.

ЗАВДАННЯ - Меню запуску

У опції AutoTools WebScreen імпортуйте стиль екрана (проведіть пальцем) і видалити всі команди, крім 'зліва' у розділі команд на сторінці налаштування.

Налаштуйте параметри вікна відповідно до своїх уподобань. Для параметра Gravity встановлено значення Bottom Right, а Width — 10, а Height — «заповнити'.

ЗАВДАННЯ - Жест виходу з кліпу

Нам потрібно вимкнути жест, коли він не потрібен. Додайте завдання виходу та створіть іншу дію WebScreens. Цього разу скористайтеся режимом відображення, щоб встановити "закрити' дія. Це припинить роботу WebScreen і розпізнавання пальцем.

ПРОФІЛЬ - Показати меню

За замовчуванням проведення пальцем праворуч видасть команду AutoTools проведіть=:=вправо. Коли це станеться, я хочу, щоб відкрився мій менеджер буфера обміну. Створіть новий профіль із контекстом AutoApps, встановленим на "проведіть пальцем' як фільтр. Коли свайп буде зроблено, з’явиться гарне меню з усіма потрібними кліпами.

TASKER PROFILE - Показати меню

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 ]

читати далі

ЗАВДАННЯ - Меню буфера обміну

Макет було «позичено» з Підручник Жоао. Мені сподобався вигляд бокової пускової установки, тому не було сенсу винаходити колесо. Очевидно, що змінні, які використовуються в цьому веб-екрані, будуть різними, але макет майже такий самий.

Додайте дію AutoTools Web Screen і виберіть стиль Card List. У розділі Параметри вікна встановіть:

  • Ширина до 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 ]

читати далі

Створіть це завдання, а потім згенеруйте масив. Це створить глобальний масив.

PROFILE - Монітор буфера обміну

Цей профіль відстежуватиме зміни в %CLIP системна змінна, яка містить поточне значення буфера обміну. Створіть профіль із набором змінних ініціатора події та налаштуйте його для моніторингу змінної %CLIP. Коли користувач (ви) встановить новий запис у буфері обміну, Tasker виявить зміни.

PROFILE - Монітор буфера обміну

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 Array Push (A2) дія переміщує його на 1-шу позицію масиву. Оскільки я не хочу, щоб весь текст був видимий у бічному меню, я створив інший масив %ClipAbrev()(A3) який зберігатиме перші X літер буфера обміну. Щоб скоротити буфер обміну, використовуйте (A1) Вибір змінної і обмежте кількість символів до 6 (переконайтеся, що позначено Adapt to Fit) і збережіть це значення в локальному %abrev змінна, яка використовується для заповнення (A3) Array Push дію.

Тепер, коли у нас є готова колекція буфера обміну, нам потрібно прибрати безлад. Масив збере всі буфери обміну. Це означає, що коли ми вибираємо буфер обміну з нашого бічного меню, він збирає нове значення та призначає його як дублікат для меню. Тому кожного разу, коли ми зберігаємо кліп, я хочу видалити повторювані записи (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 форум для останніх творінь серед ентузіастів автоматизації в нашій спільноті.