Создайте свой собственный менеджер буфера обмена с помощью 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.

Обратите внимание, что этот проект требует от вас наличия АвтоИнструменты установил для работы. Если вы хотите настроить различные аспекты моего проекта, я рекомендую вам продолжить чтение ниже, чтобы вы имели представление о том, как это работает и какие изменения можно внести. Обратите внимание: как минимум вам следует изменить приложения в контексте приложения так, чтобы этот менеджер буфера обмена можно вызвать в большем количестве приложений, чем набор по умолчанию, я сделал его активным для.


ПРОФИЛЬ – Приложения с буфером обмена

В этом примере я использую 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 импортируйте предустановку экрана. (проведите пальцем по экрану) и удалите все команды, кроме 'левый' в разделе команд на странице настройки.

Настройте параметры окна по своему усмотрению. У меня гравитация установлена ​​на нижний правый угол, ширина равна 10, а высота установлена ​​на 'наполнять'.

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

Нам нужно отключить жест, когда он не нужен. Добавьте задачу выхода и создайте еще одно действие WebScreens. На этот раз используйте режим отображения, чтобы установить 'закрывать' действие. Это приведет к прекращению работы WebScreen и распознавания пролистывания.

ПРОФИЛЬ — Показать меню

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

ПРОФИЛЬ ЗАДАЧИ — Показать меню

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 Web Screen и выберите набор настроек «Список карточек». В настройках окна установите:

  • Ширина до 100
  • Высота до наполнять
  • Гравитация к Внизу справа

В разделе «Параметры команды» включите оба Закрыть по команде и Ждите команды, затем в разделе «Карты»:

  • Названия карт для %КлипПозицион() (будет содержать цифры от 1 до 9)
  • Подтексты карточек %КлипАбрев() (содержит короткий фрагмент)
  • Карточные команды для %КлипПозицион() (используется для идентификации прессы)
  • Префикс команд для буфер обмена
  • Максимальная ширина карты и минимальная ширина карты 90%
  • Максимальная высота изображения до 75
  • Размер текста заголовка до 5

Не стесняйтесь изменять внешний вид уведомления, поиграв с этими числами самостоятельно. Имейте в виду, что открытие WebScreen без следующего шага не даст вам никакого предварительного просмотра.

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

Нам нужен массив, который будет содержать числа от 1 до 9. Они будут использоваться для идентификации наших записей в буфере обмена и будут храниться в папке %КлипПозицион() множество.

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

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 ]

читать далее

ЗАДАЧА - Менеджер буфера обмена

Наше содержимое буфера обмена хранится в папке %Буфер обмена(). Каждый раз, когда сохраняется новый буфер обмена, Массив Push (A2) действие перемещает его на 1-ю позицию массива. Поскольку я не хочу, чтобы весь текст был виден в боковом меню, я создал еще один массив. %КлипАбрев()(А3) который будет хранить первые X букв буфера обмена. Чтобы сократить буфер обмена, используйте (A1) Выбор переменной и ограничьте количество символов до 6 (убедитесь, что установлен флажок Adapt to Fit) и сохраните это значение в локальном каталоге. %абрев переменная, которая используется для заполнения (A3) Нажатие массива действие.

Теперь, когда у нас готова коллекция буфера обмена, нам нужно навести порядок. Массив соберет все буферы обмена. Это означает, что когда мы выбираем буфер обмена из бокового меню, он соберет новое значение и назначит его дубликатом меню. Поэтому каждый раз, когда мы сохраняем клип, я хочу удалить повторяющиеся записи. (А4, А5) и убрать пустые места (А6, А7). Действия процесса массива выполняются на обоих %Массив буфера обмена() и %КлипАбрев().

Наконец, я хочу, чтобы мое меню содержало только 9 записей. Вы можете иметь больше, но я считаю, что 9 меню отлично помещаются на моем экране без прокрутки. Для этого используйте Массив Pop (A8, А9) и удалим 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) и все готово. Работа диспетчера буфера обмена Tasker завершена.


Теперь в выбранных вами приложениях вы можете провести пальцем вправо, чтобы открыть собственный менеджер буфера обмена! Следовать XDA-Руководства для разработчиков кормите больше таких постов. Также ознакомьтесь с нашим Советы и подсказки Таскера форум последних творений энтузиастов автоматизации в нашем сообществе.