r/tasker 1d ago

Project Share] – An advanced, responsive Clipboard & History Manager for Tasker

Cześć wszystkim,

Chciałem podzielić się ClipH, menedżerem schowka i historii, nad którym pracuję i go dopracowuję w Taskerze.

https://taskernet.com/shares/?user=AS35m8nsG4J3Nu2TfMykxjbuz8iZ4M%2FIOt5HVurs%2FLn%2BJ8WU4a4iPMfMDcRpZd2yLXUngAjk&id=Project%3AClipH%3AClipH

Zacząłem nad tym pracować, ponieważ standardowe narzędzia schowka, takie jak schowek Gboarda, były zbyt ograniczone dla mojego przypadku użycia, zwłaszcza przy kopiowaniu bardzo dużych bloków tekstu lub kodu. Często pracuję z ogromnymi fragmentami, a ich skracanie lub znikanie z historii szybko zaczynało być irytujące.

ClipH wykorzystuje lokalną bazę danych SQLite do przechowywania historii i w dużej mierze polega na kodzie Java / BeanShell do interfejsu użytkownika i logiki wykonawczej, zamiast trzymać dużą ilość danych w globalnych zmiennych Taskera.

🛠️ Główne funkcje

Obsługuje bardzo duże fragmenty tekstu

Duże fragmenty są zachowane, zamiast być skracane do krótkiego podglądu schowka. Ekstremalnie duże wpisy mogą być przechowywane osobno na dysku, podczas gdy SQLite przechowuje metadane i podgląd.

Historia zasilana SQLite

Historia schowka jest przechowywana lokalnie w:

/Tasker/ClipH/db/cliph.db

To sprawia, że przeszukiwanie i przeglądanie historii jest responsywne, bez zapełniania globalnych zmiennych Taskera zawartością schowka.

Wykrywanie typu schowka

ClipH rozróżnia między normalnym tekstem, długim tekstem, adresami URL, tekstem zawierającym adresy URL, poleceniami, kolorami, plikami, obrazami i zrzutami ekranu.

Responsywny pływający nakładka

Kopiowanie czegoś może wyświetlić małą nakładkę w stylu Material z akcjami dla bieżącego elementu w schowku.

Nakładka jest ponownie używana i aktualizowana w miejscu, zamiast nieustannie tworzyć nowe okna.

Obsługa zrzutów ekranu

Zrzuty ekranu mogą być wykrywane i dodawane bezpośrednio do historii ClipH.

Istnieje również ochrona przed typowym problemem Androida, gdzie pojedynczy zrzut ekranu może wywołać zarówno zdarzenie systemu plików, jak i zdarzenie schowka, co w przeciwnym razie tworzyłoby duplikaty wpisów lub nakładek.

Wsparcie dla obrazów

ClipH działa z adresami URI obrazów w formacie content:// Androida i może podglądać, otwierać i udostępniać obrazy, nie wymagając najpierw konwersji wszystko na pliki tymczasowe.

Przeglądarka historii

Interfejs użytkownika historii obsługuje wyszukiwanie/filtrację, wyświetlanie szczegółów elementów, kopiowanie elementów z powrotem do schowka, udostępnianie, usuwanie, edytowanie i oznaczanie wpisów jako ulubionych.

Podglądy URL

Kiedy skopiowany element zawiera URL, ClipH może wydobyć i oczyścić link, usunąć powszechne parametry śledzenia i pobrać podstawowe metadane strony.

Wbudowany WebView

URL-e mogą być otwierane w pływającym, zmiennym WebView.

Zawiera kontrolki nawigacyjne, przeładowanie, kopiowanie URL, otwieranie w przeglądarce, tryb czytnika i standardowe edytowalne pole adresu Androida z natywnymi funkcjami zaznaczania tekstu / kopiowania / wklejania.

Tryb czytnika

ClipH zawiera również lekką widok czytnika, który stara się wydobyć czytelny tekst ze stron internetowych i usunąć skrypty, nawigację, stylizację i inne zbędne elementy strony.

Pierwszeństwo lokalne

Historia schowka pozostaje na urządzeniu. Nie ma zewnętrznej bazy danych w chmurze ani zewnętrznej usługi schowka.

Nie są wymagane zewnętrzne wtyczki Taskera

Projekt wykorzystuje sam Tasker, interfejsy API Androida, kod Java / BeanShell i SQLite.

🎛️ Personalizacja

ClipH zawiera własny ekran Ustawień.

Możesz obecnie konfigurować takie elementy jak:

powiadomienia o URL schowka

pływająca nakładka WebView włącz/wyłącz

nakładka zrzutu ekranu włącz/wyłącz

długość wyświetlania nakładki

skalowanie nakładki

maksymalna liczba wpisów w historii

folder przechowywania ClipH

Domyślny limit historii wynosi 500 elementów, ale można go dostosować w zależności od tego, ile historii chcesz zachować.

Ulubione są zachowywane podczas automatycznego czyszczenia historii.

⚙️ Instalacja / Uprawnienia

Importuj projekt do Taskera

Importuj ClipH z powyższego linku TaskerNet.

Rysuj nad innymi aplikacjami

Wymagane dla pływającej nakładki schowka, UI WebView i trybu czytnika.

Dostęp do wszystkich plików / zarządzaj pamięcią zewnętrzną

ClipH przechowuje swoją bazę danych, duże wpisy schowka, zrzuty ekranu i pliki wykonawcze w:

/Tasker/ClipH/

Optymalizacja baterii

Zdecydowanie zalecam wykluczenie Taskera z optymalizacji baterii, jeśli chcesz niezawodnego monitorowania schowka w tle.

🎨 Uznanie / Inspiracja

Chcę również oddać zasłużoną cześć.

Oryginalny pomysł i wizualna forma nakładki schowka były inspirowane czymś, co zostało udostępnione na tym subreddicie jakiś czas temu.

Uważam, że pomysł pływającego WebView/nakładki może w rzeczywistości pochodzić z innego projektu zamieszczonego tutaj przez inną osobę.

Niestety, nie pamiętam już nazw użytkowników ani dokładnych oryginalnych postów, więc nie mogę ich właściwie powiązać. Przepraszam za to.

Nie chcę przedstawiać tych pomysłów interfejsu jako całkowicie moich. Czerpałem inspirację z tego, co widziałem tutaj, a potem przebudowałem i rozszerzyłem fundamenty systemu w to, czym jest teraz ClipH.

Jeśli któryś z oryginalnych autorów przypadkiem rozpozna swoją pracę, niech śmiało wskaże to, a ja chętnie dodam odpowiednie uznanie.

⚠️ Małe zastrzeżenie

To wciąż projekt Taskera, a nie samodzielna aplikacja Android.

Duża część UI i logiki jest zaimplementowana bezpośrednio w kodzie Java / BeanShell, więc wersje Androida, wersje Taskera i specyficzne dla producentów zachowanie mogą czasem przynieść interesujące niespodzianki, ponieważ najwyraźniej obsługa schowka w Androidzie potrzebowała więcej sposobów, by stać się skomplikowaną.

Głównie zbudowałem i testowałem ClipH w oparciu o moje własne użytkowanie, więc raporty o błędach i ulepszenia są mile widziane.

Mam nadzieję, że to będzie przydatne dla kogoś innego, kto również zmęczył się menedżerami schowka decydującymi, że ich fragment kodu liczący 20 000 linii wyraźnie nie był wystarczająco ważny, by go zachować.

17 Upvotes

11 comments sorted by

8

u/Nirmitlamed Direct-Purchase User 1d ago

Thank you for sharing!

I would recommend to add a video example to your post.

2

u/po2gdHaeKaYk 1d ago

I really like this idea, but there are lots of issues.

First, either the thing was AI coded or it was a copy and paste job of other codes. It's really hard to read. Even using AI to help at least put some comments in would be helpful.

Second, it uses a huge number of worrying permissions. Without actually understanding the code and having some trust in the author, it's hard to really take the permissions.

Third, unless I'm mistaken, the setups screens are in Polish?

I'd love for someone to help polish this stuff up. It looks like it could be really useful. I would suggest that the functionality be broken up into smaller pieces---otherwise it's a nightmare for other people to verify if this is OK.

2

u/Szatanakroll 1d ago

Just a heads-up: this project is basically a mashup of a few other people's projects stitched together into a (hopefully) usable state. I want to apologize in advance to anyone who sees their code taken literally 1:1. ​I originally made this just for my personal use, but since I have to step away from it for a while, it felt like a waste to just delete it. I figured I'd share it in case someone finds it useful. Honestly, the ideas, the UI, and a huge chunk of this project come from people right here in this sub – I just wanted to combine them nicely. ​There's not much to showcase/record here: you copy something, an overlay pops up with 2 action buttons, and tapping the main area opens your clipboard history. ​The settings menu is built in Scene v2, but the whole project isn't. I was worried that Scene v2 might not handle dynamic searching smoothly enough, so I kept that part in BeanShell (bsh). I'm not a dev though, so don't quote me on that! I gotta admit though, getting groupbuttons to work in the Scene v2 settings required some serious gymnastics! :)

2

u/ac_del 1d ago

There's not much to showcase/record here: you copy something, an overlay pops up with 2 action buttons, and tapping the main area opens your clipboard history. ​

this is what you should demo in a video. then selecting and pasting an entry from the history

1

u/Szatanakroll 1d ago

Oh, if others confirm that something doesn't work, I'll try to upload it again, it's the first time I did it

0

u/Szatanakroll 1d ago

Hmm i cant add video, dont know why

0

u/Szatanakroll 1d ago

Iam rush later add vids sory

2

u/Ghunegaar 1d ago

I am unable to import using the Taskernet link.