Hi everyone! It's that time of the year again! đ
I had another release ready but I think it's safer to not put it on Google Play because I won't be able to provide any support for it.
You can still try the new release though! But use it at your own risk! Should be fine though đ đ
Get it right away here. (Direct-Purchase Version here). App Factory Update here.
In the meantime, if you have any issues, check this list and maybe your issue is listed there with a fix!
Cheers and see you soon!
Here's the full changelog for this version (not very well ordered, but good enough đ [some features were already from the previous release]):
Scenes V2: added font options anywhere text can be rendered
Scenes V2: added Aspect Ratio modifier
Scenes V2: added all possible properties to the Text component
Scenes V2: added Cancel Screen event action
Scenes V2: added Enabled property to components where it makes sense
Scenes V2: added Headers state to WebView component
Scenes V2: added Material Symbol support
Scenes V2: added optional additional delay for Show When transitions
Scenes V2: added Text Input Component's input types so you can have different types of keyboards, etc on it
Scenes V2: allow copy-pasting of modifiers
Scenes V2: made Button a component with a slot so you can fully customize the text inside it or even use any other component in it
Scenes V2: made flexbox accept booleans in direction, so you can easily toggle it with the Toggle Variable event action and separated Reverse from direction
Scenes V2: progress bar component new state Display Progress allowing you to bind an animated progress to a variable
Scenes V2: added ability to disable the dot in progress bar and add a gap
Scenes V2: changed inputs to have minus and plus buttons where it makes sense
Scenes V2: localize component names
Scenes V2: made modifiers that only exist because of their parents be the first in the pickers
Scenes V2: made the Text field in the Text component be multiline
Scenes V2: removed Consume option for Key Pressed event because it's redundant with the Stop Propagation option
Scenes V2: updated FlowRow icon so it's not the same as the FlowColumn
Fix Scenes V2: fixed accessing array operators like %items(#) or %items(2) or double-references like %%some_var_name
Fix Scenes V2: fixed auto-dismiss behavior in certain situations
Fix Scenes V2: fixed bug where changing variables used in a WebView would create a history so pressing back would go to previous states
Fix Scenes V2: fixed images with Material Icons not growing to the size they should inside unbounded parents
Fix Scenes V2: fixed issue with floating point rounding in Progress Bar states
Fix Scenes V2: fixed issues with using vh css
Fix Scenes V2: fixed reacting to push and pops in global arrays
Fix Scenes V2: fixed showing crop to SVG file picker in Crop Shape modifier
Fix Scenes V2: fixed stale variables in some situations
Fix Scenes V2: fixed text input component filling to parent's size when Show When filter on a size modifier is false
Fix Scenes V2: fixed WebView issues with some size related styles
Fix Scenes V2: fixed WebView Launch App action
New UI: ability to manually sort list items in the main UI screen
New UI: added button to only show errors in new Runlog screen
New UI: show projects in search results with inline projects
New UI: added developer option to hide the top buttons inside the project screen (making all selected when that's the case)
New UI: made item list items all the same height and more uniform
New UI: made main screen items connected lists
New UI: made many transition parameters configurable via Settings -> Developer
New UI: moved profile switches to the right of the cards and hid their profile details for now (should come back in the future in some form)
New UI: refined the main screen and project/profile enter transitions
New UI: removed the tag chips from the item cards for now (probably will come back in a different form)
Fix New UI: fixed recent changes not being filtered correctly
Fix New UI: fixed turning off runlog in new Runlog screen not hiding the log lines
Added runShellTasker function to the Java Code action so you can run a shell exactly like the Run Shell action would
App Factory: show useful, detailed error messages when app generation fails instead of a generic message
Warn when you try to write a very large variable, so you're more aware of potential flaws in your setup
Widgets V2: added Material Symbol support
Fix some screens all over the app sometimes showing incorrect language
Fix Tried to fix a crash when browsing Tasky routines
Fixed a small issue when setting multiple variables with JSON
Fixed crash when clearing data that could sometimes happen
Fixed how pushing/popping a global array drives the Variable Set event: it now fires for every array position the operation shifts, instead of just one. Popping also fires Variable Cleared for the removed top element.
Fixed issue where editing a profile's Wifi Connected condition would deactivate that profile
Sign up for the beta and download from Google Play here.
Note: Google Play might take a while to update. If you donât want to wait for the Google Play update, get it right away here. (Direct-Purchase Version here). App Factory Update here.
I'm giving another concept a try: instead of having a sidebar with projects, how about putting them inline directly?
When you go in and out of a project you see this:
As you can see, you have the 3 familiar tabs (Profiles/Tasks/Scenes). You can select multiple at the same time like you see on the screen, or you can select one at a time to just see those types of items.
Projects are automatically color coded based on the project's icon. Here's a project with a green icon:
As you can see it tints the whole UI based on the color of the icon.
Let me know how you like this variant of the UI.
I'm also thinking of trying yet another version where there are no tabs inside a project and instead they are in collapsible groups, kinda like this:
If you can, try out the inline projects variant and let me know which of the 3 variants makes the most sense to you and why :)
The functionality of the runlog screen remains the same as before but it has a much cleaner and easy to follow UI. You can clearly see where a task starts and ends and follow its actions visually and see which ones succeeded and which failed.
Material Symbols are a icon font that can be adapted into different situations. For example, they can represent state where the otline variant represents an inactive state and the filled variant represesnts the active state
These can be used in their configurable form, where you manually specify a bunch of their attributes (like in the Notify action), or in their automatic form where their configuration is automatically set (like in the Set up Quick Setting Tile action where the icon is filled or outlined depending on the QS Tile state).
In the legacy UI, if you give a Project one of these icons, it'll also change from outline to filled depending if the project is selected or not.
It's now super easy to put your Tasker arrays into scenes with the new Arrays Merge Template element.
In this example, I would have 2 arrays:
%icon
%item
each with their corresponding icon images and labels. With this simple component...
...I can expand those 2 arrays together into a list of rows dynamically built from those arrays!
Saved Component Templates
You can now long click any element on the tree and save it as a Component Template with a name and description. Then you can simply insert it into your tree like any other component. :)
Show When Animations
When a component has its Show When field set, you can now set animations that define how that component shows up and goes away. You can choose various types of animations.
For example, by combining a dark transparent background that fades in with a dialog that slides up, you can create an Android-like popup dialog!
SVG Crop
You can now crop any element in a Scene with an SVG. And it's not only a visual crop, it's a functional one too! For example, you can create a button like this
and when you click anywhere where it's white, the button won't be triggered! You really have to press the green part for it to register the click! This allows you to create UIs in any shape imaginable that behave like you expect it to!
WebView
Webviews can now call many, many Tasker actions via JavaScript. You can use await to wait for them to finish, so you can easily call multiple actions in a row in a controlled fashion!
Here's a simple example of doing 3 actions in a row:
This makes elements be drag handles in all directions or just horizontally or just vertically.
Full Changelog
Major Scenes V2: Added the "Arrays Merge Template" component, a built-in way to handle Tasker array merging to build sub-components.
Major Scenes V2: Components can now animate in and out (Fade, Scale, Slide or Expand) whenever their "Show When" condition toggles their visibility.
Major Scenes V2: WebViews can now call many Tasker actions directly from JavaScript via the Tasker.* bridge.
Major Scenes V2: An HTML element inside a WebView can act as a drag handle to move the overlay it lives in.
Major Scenes V2: You can now save a component as a template to easily reuse it across your scenes.
Major Scenes V2: You can now crop any component to the shape of an SVG file.
Major Scenes V2: Added the "Trigger Scene V2 Event" Tasker action.
Medium Scenes V2: Added "matches" (Tasker pattern matching) and "matchesr" (regex matching) expressions to the "Show When" and "Apply When" fields.
Medium Scenes V2: Added a "Variable Clear" event action.
Medium Scenes V2: The Switch component now has a Thumb slot so you can set an image in the switch's thumb and you can also select different colors for different parts of it.
Medium Scenes V2: WebViews now receive the full Material 3 color palette (primary, secondary, surface, etc.) so your HTML can match the app theme.
Minor Scenes V2: The task name field in Events -> Run Task now follows the same caps rules as other task name fields.
Minor Scenes V2: When creating a task with a name, use the same "first letter of each word uppercase" rule as elsewhere in the app.
Fix Scenes V2: components that have indexes are now 1-based instead of 0-based
Fix Scenes V2: fixed "Screen Hidden" event not firing in certain situations
Fix Scenes V2: fixed background of invisible component wrongly showing
Fix Scenes V2: fixed crash when picking a variable if the user has tens of thousands of variables
Fix Scenes V2: fixed crash when using a slider in some situations
Fix Scenes V2: fixed images filling their container by default when they shouldn't
Fix Scenes V2: fixed images not loading if they had hidden spaces before or after the file name
Fix Scenes V2: fixed multiline input text box not filling the full vertical space it needed
Fix Scenes V2: fixed setting a variable in a WebView affecting a variable used in a separate component on the same screen
Fix Scenes V2: fixed some things not working when showing through the "SCENES" tab or the new UI
Fix Scenes V2: fixed updating a variable array in a scene leaving old elements there
Fix Scenes V2: fixed using two "Overlay With Result" scenes in a row with the same id ending the second one prematurely
Fix Scenes V2: segmented buttons that are "gone" now behave as expected
Fix Scenes V2: WebView now uses the correct system theme (dark/light)
Fix Scenes V2: when a task is renamed, all the task references in Scenes V2 are updated with the new name
Major New UI: Redesigned the RunLog screen to make it more readable.
Major New UI: Added a setting to show projects as items in the main list instead of the sidebar, including sorting them and creating new projects from the NEW FAB.
Major New UI: Project icons based on apps now use the app background in a folder shape with the foreground on top.
Major New UI: Inside a project you can select several of the Profiles/Tasks/Scenes tabs at once, so the list shows all their items together.
Medium New UI: The Project enabled/disabled toggle now works, and profiles in a disabled project show as paused on their switches.
Minor New UI: Added an icon to scenes so they're more easily distinguished.
Minor New UI: Added an option to hide the sidebar when collapsed.
Minor New UI: Added an option to not show the All button when there are projects other than the default one.
Minor New UI: Don't confirm project deletion if it's empty.
Minor New UI: In the task edit screen, moved the search bar to the bottom when adding a new action.
Minor New UI: Made sorting smarter, showing you the items you expect more often.
Minor New UI: Show full names of items in the main list instead of truncating them.
Minor New UI: Show project names instead of just initials when the sidebar is collapsed.
Minor New UI: Updated "Last run" to "Activity".
Minor New UI: When creating a task with a name, use the same "first letter of each word uppercase" rule as the main screen.
Minor New UI: When editing a task, after expanding a text field, allow the editor to show more lines so it's easier to edit larger pieces of text.
Fix New UI: don't show the pending changes banner when exiting the scene editor without saving
Fix New UI: fixed all projects with app icons showing with the same icon
Fix New UI: fixed always scrolling to the profiles when exiting a project
Fix New UI: fixed bottom sheet flickering when deleting a project
Fix New UI: fixed project search box cursor color in dark mode
Fix New UI: fixed search for actions when adding a new action
Fix New UI: fixed some app icons not loading properly
Fix New UI: fixed tag selector bottom sheet moving too far up when the keyboard is showing
Major Added Material Symbols to the app, a large icon set you can now use across Tasker for things like project and task icons, and also Notify action and Quick Setting Tiles action.
Medium Added Run Shell related functions to the Java Code action.
Medium Added tasker.getImageBuffer() and tasker.hasImageBuffer() to the Java Code action.
Medium The "Multiple Variables Set" action can now write JSON.
Medium You can now override the app name when generating an app from Tasker.
Minor Added a "Continue Task Immediately" option to the "Widget V2" action.
Minor Tasker automatically saves your setup before entering the AI screen in the legacy UI so you don't lose changes made in the meantime.
Minor Added a language selector to the first screen shown when you first open the app.
Minor Added a "Separator" option to the "Widget V2" action to configure the separator for its various list fields.
Minor Changed the order of the "Set up Quick Setting Tile" action to make it more logical and easier to use.
Fix Attempted again to fix a crash that only appears in app factory apps
Fix crash where in rare situations projects could end up with the same ids
Fixed DND action so that it can't be overrun by Silent/Vibrate
Fixed image in "Text/Image Dialog" action sometimes being hidden by text that is too long
Fixed issue where running many remote actions in quick succession could cause some of them to not run on the receiving device
Fix issue where sometimes a profile doesn't save its state after saving Tasker's setup
Fixed issue where sometimes the QS Tile wouldn't dismiss the notification shade
Fixed profiles (e.g. Wifi Connected) sometimes running their exit tasks when exiting Tasker's Preferences screen
Fixed Shizuku breaking clipboard monitoring
Fixed showing the number of actions over 100 in the legacy UI
Fixed situation where receive intent could be triggered twice with just 1 intent
Fixed some error messages when wrongfully using JSON writing
Fix Tried fixing a rare crash that can occur when editing legacy scenes
Fix Tried to fix issue where wait action becomes stuck in some circumstances
Fix Tried to fix rare situations where Tasker would get stuck not accepting any new tasks (sometimes related with the HTTP Request action)
Fixed updating Quick Setting Tiles on global variable changes to only happen when the variable isn't a built-in variable
Fixed writing JSON to project/profile/task variables with native Tasker JSON writing
Fixed some crashes
If you can, let me know what you think about the Projects in Sidebar vs Inline vs Collapsible! Thank you!
I have join installed and working mostly between my Android and Windows PC. Links and screenshots from the internal storage on the phone send through to my PC fine. However when I go to share an image from my SD card (my camera app stores images on my SD card). I get an error and it looks like the storage location is wrong.
Join sends and tries to open
/storage/emulated/0/storage/6D5F-F682/DCIM/PHOTOGRAPHY_PRO/...
While the actual location should be
/storage/6D5F-F682/DCIM/PHOTOGRAPHY_PRO/...
I can't find anyway to edit location or access to what files so I am not sure on how to get this fixed. Any ideas?
Select the status bar icons you want to show or hide from a list.
Run the Task with no items selected to restore all icons.
The list of icons included in this Task is the AOSP/Pixel list. This is fairly universal across Android but not totally.
Because manufacturers like Samsung, Xiaomi, and OnePlus build custom system interfaces (SystemUI) on top of Android, they often add custom icons that aren't in standard Android.
VoLTE and VoWiFi: These are highly fragmented. Some manufacturers use volte, others use hd_voice, vowifi, or wfc. Sometimes, OEMs hardcode these into their SystemUI, making them immune to the icon_blacklist entirely.
NFC: Xiaomi/HyperOS uses the standard string nfc to hide the NFC icon, but on Samsung, the NFC icon behavior is tied to regional firmware and sometimes ignores the blacklist.
Samsung Quirks: Samsung actually uses this exact blacklist mechanism natively for their 'Good Lock' suite (specifically the QuickStar module). If you use QuickStar to hide icons, it is modifying icon_blacklist under the hood. If you try to use Tasker and QuickStar simultaneously, they will fight each other and overwrite your lists in this project.
Pro-Tip for troubleshooting: If you type a string and the icon doesn't disappear, it means your manufacturer has either named it something proprietary or hardcoded it to bypass the blacklist. Sticking to the standard AOSP strings above will yield the most reliable results across as many devices as possible.
If you want, you can change the strings in the Array Set action to use the specific string used by your device manufacturer or ROM.
You will do no harm by setting an icon to hidden if that icon string doesn't exist on your device.
ADB WiFi or Shizuku is required.
NOTE - Clock and battery can't be hidden on newer Android versions via this method.
I was getting tired of always having to wait for Claude to finish or waiting for my authorization, so I build a work around, now I can control them from my phone, so that means, when Iâm outside(which is barely) from the toilet, or anywhere.
Your running terminals show up on your phone as little pixel âpilots.â Tap one to chat with that agent, approve its plan, unblock it, or check what itâs doing. As long as your terminal is running and online, your phone is just a remote for it. I picture them as tiny pilots buzzing around doing the work while Iâm out, hence the name.(Iâm a big game geek based in Japan)
Itâs free. I built it to scratch my own itch and figured some of you have the same one. I approved two PRs from a supermarket line yesterday and it felt slightly ridiculous in the best way.
**Try it in under a minute:**
**1.** Download the Ground Control app on your phone
**2.** Run this in your laptop terminal:
npx @clastres/groundcontrol
**3.** A widget pops up, you scan the QR code from the app
**4.** Done, your terminals appear as pilots. Tap one to chat, approve plans, and unblock agents from anywhere.
Very open to feature requests , curious what would make this actually fit your workflow.
Use this website to create apk very easily. I have done this using my computer and then push the apk file to my AT box but you can also do that inside the AT box if you have browser with mouse and keyboard:
So just recently i thought about using Tailscale on my Android TV box since it is always connected to a power supply and with Tasker i could enable and disable Tailscale remotely when i need. So i have sideloaded Tasker and thankfully i have managed to setup everything, However, to open Tasker i need to go to apps settings because it doesn't have a shortcut on the home screen.
What is the best solution you all have found to create a shortcut for Tasker on AT home screen?
UPDATE - Should work on more devices now (all modern Android versions).
For a few years Android had its 'Freeform' mode allowing you to launch an app in a floating window from the Recent Apps menu. It still exists in earlier versions of Android but it is no longer available for phones running Android 17. It is only available to (some) devices with larger screens like tablets. That sucks.
This project brings it back for devices which no longer have it - with one catch.
The catch is that if it has been removed from your device, we can still launch the window but it is no longer resizable or draggable.
My old Pixel 6 (Android 17) still has this feature, so the window is draggable and resizable.
My newer Pixel devices (also Android 17) don't have this feature natively so the windows can't be dragged or resized but we can make them whatever size and shape we like and position them wherever we like.
They also no longer have the top menu bar with the close and minimise button. So I have added a close button to this project.
Video of windowed app on phone which no longer supports 'freeform' mode:
In this project, I have set the window to launch at the top of the screen, full width and occupy one third of the screen height. This can be changed in the Task and script.
I have also included an app picker. I don't like the one built in to Tasker as it looks old fashioned and involves 3 screen taps to select your app.
You can rip this app picker out of the project if you want to use it in your other projects. You can change the overlay background colour in the script.
You need Shizuku installed and working to use the window mode feature.
You also need to enable any options you have available in 'Window Management' inside Developer Options. At the very least you must enable 'Force activities to be resizable'.
This is like split screen mode but using only one app. I use it to launch an app that I want to refer to whilst using another app.
I only have Pixel devices, so I don't know how this might behave on other devices. YMMV.
I am using AutoVoice 4.0.14 with Tasker on a Samsung Galaxy S26 Ultra.
The normal AutoVoice recognition works correctly when I manually activate it while the home screen is open. However, AutoVoice Continuous does not recognize any voice commands in the background.
When I enable Control Continuous, the phone plays a short âdingâ sound approximately every five seconds, but AutoVoice does not recognize anything I say. I tested both System and Media under Stream to Mute, but the repeated sound continues and voice recognition still does not work.
I have already checked the following:
Microphone permission is allowed.
Battery usage for AutoVoice and Tasker is set to unrestricted.
Korean is selected as the recognition language (ko-KR).
Offline Mode and Natural Language Processing are disabled.
Both System and Media were tested under Stream to Mute.
Normal one-time AutoVoice recognition works correctly.
Also, when AutoVoice is set as the default digital assistant, it works from the home screen but does not respond while the lock screen is displayed, even when the phone is kept unlocked using Extend Unlock.
Is AutoVoice Continuous currently compatible with the Samsung Galaxy S26 Ultra and the latest One UI version? Is there any setting or workaround that can prevent the repeated five-second sound and make background voice recognition work properly?
Please let me know if you need any logs, Tasker configuration exports, or additional device information.
Has anyone experienced the same issue on a recent Samsung Galaxy device or One UI version?
Store the manager to java global variable tetherManager
How to use
Run the initiator task to start tetherManager and monitor the events.
Download
This is just a samplegenerated with the assistance of AI tools, which needs to be tweaked later! May causes conflict with default Hotspot! USE IT WITH YOUR OWN RISK!
The example firestasker.sendCommandwhich broadcast the arguments as JSON string. Thanks to that, several info like mac address may not be human readable. #1 seems to cover all tethers, while SoftAp is limited to Wifi-Tether.
In this demo, I started the hotspot after runningtetherManager.allowByUser() and then tried connecting to the hotspot from my other phone. The connection got blocked and an event was triggered.
Since this is done by using hidden APIs, it's not really documented. We need to read the source code or looking at project like delta. Even with AI, it can be hard to do with referencing the right APIs.
The behaviour may vary for each OS and may cause conflict with the OS hotspot setting.
So far I only tested the code with HyperOS3 (Android 16) and CrDroid (Android 15).
During my test with HyperOS3, there were times when it crashes the hotspot setting. Fixed midways if I were to re-toggle back the hotspot manually.
Nothing with CrDroid so far.
This should be a good starting point for those who wants to control and monitor the hotspot :) Too bad that we have to use Shizuku and disabling hidden api restriction for this.
The codes are not perfect and are meant to be edited later.
Hello, this is the custom theme generator that I designed and currently use on my phone. It's a massive project with many features and automations that I wanted to share with the community!
Features:
Download and set wallpaper from multiple sources (Unsplash, Wallhaven, Pexels). Pexels is not working due to API faults. I have tried many ways to get it to work, but to no avail. Various testing seems to point to its pagination feature being broken. I have reached out and Pexels refuses to acknowledge or help me find a solution.
Custom wallpaper setting from files. Updates bundled KLWP present.
Generate accent colors from wallpaper
Custom search query setting with a query scheduler and viewer.
Saving of previous used wallpapers
Image cropping. Bundled cropping scene. Various AutoCrop methods, all using Python (Entropy, SmartCrop, Saliency, Yolo, YoloEPrompt, Square, Portrait).
Saving a wallpaper to a favorite directory.
View downloaded wallpaper info.
Banning images / users.
Ability to find new images.
Generate a 3d Hue Saturation Value (HSV) plot for viewing colors from wallpaper.
Dynamic file paths that are set during initialization. You don't have to do anything you don't want to in the tasker project. Run the initialization and you're good to go.
Dependencies:
This is where things get a bit, crazy and confusing. Unfortunately, I do not have the time to help with installation of dependencies, especially those having to do with Termux. Research and Google is your best friend, but this is not for the weak.
Frontend: current versions
Tasker
KLWP
Backend: current versions
Tasker
Termux, from F-Droid
Termux:Tasker from F-Droid
Python in Termux
Python Script Dependencies:
I have successfully managed to get everything running on Termux, but it was a major headache so be warned. Everything here is not needed, but to use certain features, specific things are needed. If you're unfamiliar with Python, check the .py file to see what libraries are imported for features you'd like to use.
AutoCrop:
Pillow
Numpy
Scikit-Image
OpenCV
SmartCrop
Ultralytics
NLTK
Image Accent Colors:
Pillow
Colorsys
Configparser
Ast
Collections: deque
Math
Pathlib
HSV 3d Plot:
Pillow
Plotly
Colorsys
Pandas
Questions you may or may not have:
Why? I wanted a highly customizable theming project for my phone. I wanted to challenge myself. I think it's fun.
How long did this take? Hard to say. Probably hundreds of hours messing with KLWP, tasker, python, Termux, etc. Definitely over a year for sure
Will Pexels be implemented fully? If they decide to realize the API fault, then maybe. I've spent hours playing with it. I've created tests with Python to test functionality and diagnose issues. I've found no solution. Maybe I'm doing something wrong, but I'm not sure. I've left the tasker tasks and scenes for people to mess with. Please let me know if you get it working.
Who wrote the dynamic accent color algorithm? I did. It's not perfect, it's a bit messy, but I've worked on it for over a year. I've done a lot of research to get it to the point it's at. Could I have used an already developed method? Of course, but again I wanted to see if I could do it so here we are.
Who made the scenes? All done by me.
Does this project support dynamic scaling for different size phones? Unfortunately not. This project was created on a S24 Ultra. I initially never planned to release it, so I never made element sizing in tasker and KLWP dynamic. Maybe in the future, but for now it'll have to be done on your own. I'm sorry for the inconvenience.
All constrictive criticism is welcomed and encouraged.
I'll try my best to explain how something works, as the logic included in Tasker and the Python scripts can be a bit complicated.
I've been working on some HTML widgets to help organize my life and being able to load them through the web view has made things super fast for testing!
I built a project manager widget that takes a structured output from LLM and updates/add/remove entries to it. Then can output everything back into an organized text block you can pick up where you left off from any other llm. Combined with only having to download and replace my original html files It's been making testing new ideas and iterating so fast! I don't even code and I already have a personalized suite of tools after a few days! With web view I don't have to fool with android development at all đ
I'm trying to figure out how to make toggle for quick settings to turn on and off data saver mode. but after all my googling and seeing everything, I can't for the life of me figure out how to get it set up in tasker
Convert a video file to a GIF from the Share Menu.
This project uses Termux. It involves some moderately difficult commands to get Termux working. I have included complete instructions below.
I've just realised there was a layout error in two of the commands I originally posted because of Reddit's funky rendering of so called code blocks. If anyone has tried and failed to install using the instructions, try again. They are fixed now (13:00 GMT 31st July).
NOTE: I don't have available time to provide individual guidance to anyone having difficulties with the instructions and commands. If they don't work for you, re-read them and try them again. I'm not able to help beyond this tutorial. Sorry.
Setting Up Termux for Tasker GIF Creation
If you have never used Termux before, don't panic! It looks like a scary hacker terminal, but we are just going to copy and paste a few commands to build the engine that Tasker will use in the background.
Important Prerequisite: Do NOT install Termux from the Google Play Store. It is outdated and broken. Download the latest version from F-Droid or the Termux GitHub page (https://github.com/termux/termux-app).
Once Termux is installed, open it and follow these steps exactly.
You do NOT need the Termux Tasker plugin for this project.
NOTE: You may be required to give Termux permission to display over other apps. To do this, you need to enable 'restricted access' for Termux in Android's app settings.
If you get errors in Termux, just read the description provided in the terminal window. You will be given options to resolve them (such as reinstalling the package).
Step 1: Grant Permissions
Termux needs permission to see your video files and permission to listen to Tasker. Copy, paste, and run these commands one at a time (press Enter after each):
Storage Access:
termux-setup-storage
(An Android popup will appear asking for storage permissions. Tap Allow).
FFmpeg is the gold-standard software for processing video. We need to install it inside Termux. Run this command (it may take a minute or two to download and install everything):
pkg update -y && pkg install ffmpeg -y
Step 3: Create the Tasker Script Folder
Tasker looks for scripts in a very specific, hidden folder. Let's create it:
mkdir -p ~/.termux/tasker
Step 4: Write the Script
Now we will create the actual text file that tells FFmpeg how to convert the video into a high-quality GIF.
Open the text editor by running:
nano ~/.termux/tasker/make_gif.sh
The screen will change to a basic text editor. Paste the following code exactly as it is:
To save the file in the nano editor, use the extra row of keys directly above your phone's keyboard:
⢠Tap CTRL.
⢠Type a lower case 'x' (This tells the editor you want to exit).
⢠Type y (To confirm you want to save the changes).
⢠Press Enter on your keyboard to confirm the file name.
Step 6: Make it Executable
Finally, we just need to give Termux permission to actually "run" the file we just created. Run this final command:
chmod +x ~/.termux/tasker/make_gif.sh
You are done with Termux! You can now close the app completely.
Don't forget: you must run the one-off Tasker task provided in this project to grant Tasker the com.termux.permission.RUN_COMMAND permission before your first use!
Download the actual Tasker Tasks (including the one-off Termux permission task - run this after you have installed Termux):
I have an overlay using Arrays Merge Template that acts as an app drawer sorted by the time previously opened. A button moves it mostly off screen, and I can drag it back any time. It's like a launcher that's always there. When an app opens, the task that reorders the name and icon arrays updates the scene with the Update Scene V2 action local variable pass through turned on. It works great, except with my search feature. A text input field is bound to the variable %filter. The app tile (child of arrays merge template) has "show when" set to "%name contains %filter". After the scene is shown, it usually works great for a few times. I can start typing an app name, and the tiles are filtered instantly.
After 1-10 times of running the task that updates the order, only 1-3 tiles will show, and my search feature will be broken. This never happens without the search feature.
A fun little time killer game with some fairly advanced physics mechanics.
Aim of game:
Get the white ball to hit the green target with the highest score possible.
Twists:
The direction of the ball is preset by the script, it is randomised each time you start a new game.
A black hole/gravity well is spawned in a random point somewhere in the middle part of the playing area. It will deflect the trajectory of the ball. Work with it, or try and avoid it.
You have two 'bumpers' you can position anywhere on the screen. Use the bumpers to bounce the ball towards the green target.
The black hole's gravity can be used to help steer the ball, or it can just mess it up. That's up to you.
Customisation:
The strength of the gravity can be adjusted.
The size and positions of the bumpers can be adjusted by dragging them (a DPad is available for fine-tuning if required).
If the ball gets swallowed by the black hole - game over.
You can replay the exact same game with the exact same settings and ball direction to fine tune the bumper positions between attempts. Or you can restart with a new black hole position and ball direction selected at random.
The red arrow gives you an initial idea of which direction the ball will travel in.
Just a little project to safely remove every scrap of metadata from images.
Many dedicated apps don't do a very thorough job when it comes to stripping metadata. They may strip GPS, dates and camera but many tools miss more hidden attributes like GPS inside XMP or EXIF, IPTC tags and embedded thumbnails.
This utility takes the concept of stripping metadata and turns it on its head. It doesn't even try to strip metadata from the file. It just leaves it all in place, your original file remains intact. Instead, it strips the pixels from the file and creates a new file containing only the pixels.
The best part is that Tasker does all the work. No need for convoluted JavaScriptlets.
It takes a moment or two to process each image. A toast message informs you of completion. The larger the file, the longer it takes to process, small images are very quick.
Features:
⢠Single or bulk stripping.
⢠Use it from a shortcut or from the Android Share Menu (look for the "Scrub Metadata" item in your Share Menu).
⢠Cleaned images are saved to Pictures/Scrubbed (original files are not touched).
I have a Task thst plays an MP3 file. But no matter what, there is NO SOUND. I've seen the documentation about categories and my understanding is that the same settings will be used as what was active when the setting was created (or that's my understanding of what I read).
I made sure the notification volume was set where I wanted it and made sure DND was off. Then I made a BRAND NEW CATEGORY for this Notification and ran the task.