Index Key Link
action Click to view
add Click to view
affiliation Click to view
align Click to view
alignment Click to view
alpha Click to view
analog clock Click to view
animated image Click to view
app drawer Click to view
app group Click to view
application Click to view
audio Click to view
background Click to view
backup Click to view
beginner Click to view
behavior Click to view
blur Click to view
calendar Click to view
card Click to view
checklist Click to view
circle indicator Click to view
clean slate Click to view
clock Click to view
code block Click to view
code of conduct Click to view
color picker Click to view
communities Click to view
compass Click to view
compatibility Click to view
complementary color Click to view
conceptual learning Click to view
configure Click to view
contact Click to view
contrast Click to view
contribute Click to view
date Click to view
date / time Click to view
default launcher Click to view
delete Click to view
desktop Click to view
developer Click to view
discussion guideline Click to view
distribution Click to view
drawer Click to view
drawer handle Click to view
dual-screen Click to view
dynamic color Click to view
dynamic image Click to view
dynamic text Click to view
edit Click to view
editing Click to view
edit mode Click to view
export Click to view
feature Click to view
file naming Click to view
flip-style Click to view
foldable Click to view
folder Click to view
font Click to view
full screen Click to view
gaussian Click to view
gesture Click to view
getting started Click to view
gradient Click to view
group Click to view
heading Click to view
help Click to view
hide Click to view
html Click to view
hue Click to view
icon Click to view
import Click to view
install Click to view
installation Click to view
instructable Click to view
intellectual property Click to view
issue Click to view
key Click to view
keys & gestures Click to view
label Click to view
landscape mode Click to view
launcher action Click to view
layout Click to view
liability Click to view
lifetime purchase Click to view
light source Click to view
link Click to view
list Click to view
luminance Click to view
macro Click to view
macrodroid Click to view
margin Click to view
mask Click to view
media controller Click to view
mobile Click to view
month/year/day Click to view
move Click to view
multi-screen Click to view
namespace Click to view
navigation Click to view
object Click to view
object design menu Click to view
official Click to view
official blog Click to view
offset Click to view
option Click to view
ordinal Click to view
page Click to view
page indicator Click to view
paste Click to view
performance Click to view
permission Click to view
pin Click to view
png Click to view
quoting Click to view
radius Click to view
registration Click to view
reminder Click to view
remove Click to view
resource Click to view
rotate Click to view
rss Click to view
save Click to view
scroll Click to view
search Click to view
select Click to view
shadow Click to view
shape Click to view
share Click to view
sidebar Click to view
slider Click to view
sliding drawer Click to view
spacing Click to view
stretch Click to view
syntax Click to view
system setting Click to view
system ui Click to view
table Click to view
table of content Click to view
tasker Click to view
taxonomy Click to view
temperature Click to view
termination Click to view
terms of use Click to view
text Click to view
theme Click to view
toby Click to view
trademark Click to view
transform Click to view
transparency Click to view
transparent Click to view
troubleshooting Click to view
typeface Click to view
ui Click to view
user conduct Click to view
user interface demo Click to view
variable Click to view
wallpaper Click to view
warranties Click to view
weather Click to view
webp Click to view
website Click to view
welcome Click to view
widget Click to view
wiki Click to view
wiki editing Click to view
window Click to view

Tasker & Total Launcher: Creating a Custom Total Launcher Modular Ordinal Date Widget

Standard date formatting within Total Launcher typically displays the current day as a simple integer. Creating an ordinal format, such as appending “st,” “nd,” “rd,” or “th” to the numeric day, requires specific configuration. Since the Launcher restricts mixing native date codes with custom variables in a single text field, a modular composite approach is necessary to achieve the desired visual output. Tasker easily generates the required ordinal day unit, transmitting the formatted text directly to Total Launcher as a dynamic variable. This methodology enhances the aesthetics of Android home screens by providing polished, professional date displays. The following guide details the setup procedure, beginning with creating the date conversion logic in Tasker.

How To: Tasker - Add an Ordinal-Type date with a Total Launcher Text Variable

Standard date formatting in Total Launcher displays the day as a simple integer (e.g., “1”, “21”). A specific configuration is required to display an ordinal format (e.g., “1st”, “2nd”, “21st”).

Because Total Launcher does not allow mixing date codes (like d) and custom variables (like <ord>) in a single text field, a Modular Composite Approach is utilized:

  • Tasker generates the “Ordinal Day” unit (e.g., “21st”).
  • Total Launcher handles the Month, Year, and Day of Week natively.
  • The separate objects are arranged on the screen to form the desired date format.

Section 1. Configuring the Tasker Task

This task calculates the day number, determines the correct suffix (st, nd, rd, th), and sends the combined string to Total Launcher.

  1. Create a new Task in Tasker named “Date Ordinal” (to produce day_ord).
  2. Action 1: Extract Day Number
    1. Add the action Parse/Format DateTime.
    2. Set Input Type to Now.
    3. Set Output Format to d.
    4. Output Variable: Set to %day_num.
    5. This isolates the day (e.g., “21”) for calculation.
  3. Action 2: Calculate Suffix (Run Shell)
    1. Add the action Run Shell.
    2. In the Command field, enter this code 1)
    3. Set Store Output In to %day_ord.
    4. This script takes the input “21” and outputs “21st”.
  4. Action 3: Send to Total Launcher
    1. Add the action Plugin > Total Launcher > Send variable.
    2. Set Configuration to send %day_ord to the Total Launcher variable name day_ord.

Section 2. Configuring the Tasker Schedule (Profile)

To ensure the date updates automatically, a Tasker Profile is required to trigger the task at the start of every day.

  1. Navigate to the Profiles tab in Tasker.
  2. Select Add (+)
    1. A TaskerNet dialog opens
      1. Select Create
    2. A new Profiles dialog opens. Select Time.
    3. Set From: to 00:01 (12:01 AM).
    4. Every - This option is to be left in its default state (unchecked and left blank)
    5. Set To: to 00:01 (or leave blank depending on Tasker version).
  3. Tap Back (←) to save the time context.
  4. A new dialog opens listing all tasks. Scroll and select the Date Ordinal task (created in Section 1).
  5. Result: Tasker will now run the “Date Ordinal” task at 12:01 am and push the new ordinal date to Total Launcher essentially immediately after midnight every day.

Section 3. Configure Total Launcher Setup with Layout Flexibility

With the Tasker Ordinal Date variable established, separate text objects need to be created for each Total Launcher date component. This allows for precise control over the desired layout.

Step 1: Display the Ordinal Day from Tasker

This object will display the variable generated by Tasker.

  1. Enter Edit Mode (long-press an empty area).
  2. Select Add (+) > Graphic > Text.
  3. Open the Options menu (Gear icon) for the new text object.
  4. In the Edit dialog, select Text.
  5. In the Text dialog, scroll down to Advanced - Variable
  6. In the input field, enter the variable tag: <day_ord>.
  7. Tap OK and back out of the screen to the page
  8. The object will now display the ordinal date (e.g., “21st”).
    1. If Section 1 (Configuring the Tasker Task) has not been run, the variable day_ord has no value and will display its textliterally.
    2. If the Tasker action or event has been run, the Total Launcher should show the day's actual date in ordinal format (in this narrative, the 21st is used)

Step 2: Create and Display TL's Native Components (Month/Year/Day)

These objects use Total Launcher's built-in date engine. Repeat this Process for each component needed (e.g., one object for Month, one for Year, one for Day of Week).

  1. Enter Edit Mode > Add (+) > Graphic > Text.
  2. The “Text” object is placed on the page and is selected
  3. In the Objected Design menu tap the Option icon > Text > Advanced - Variable elements.
  4. Select Date/Time.
    1. The input dialog typically defaults to MMMM d, yyyy (in this narrative would result in August 21st, 2025)
  5. Change the Default to the Desired Format:
    1. At the end of the input dialog is an Option icon . Tap it.
      1. Time Zone: provides for global time zone selection
      2. Use English: <undocumented whether this provides for US or UK time formats ☛ registered visitor confirmation requested>
      3. Format: Displays formatting for month-date-year and day of week styles
        1. If none of these styles are desired (and the purpose of this procedure is to allow customization), the user may wish to learn more technical detail by tapping the (?) icon, but below is the TL>DR explanation for this procedure. In this dialog, tap Cancel and proceed to the following sub-step:
          1. After canceling, the Text dialog shows the input formatting line. Enter one of the following formats for the desired single object:
            1. - Standard Codes:
              1. MMMM = Full Month (August)
              2. MMM = Short Month (Aug)
              3. yyyy = Year (2025)
              4. EEEE = Day of Week (Thursday)
              5. EEE = Short Day (Thu)
      4. When properly set, press OK and back out of the dialog to the page with the text object selected.
  6. Repeat this Section3 Step 2 in its entirety for each descriptive date object desired.

Step 3: Mix the Objects in the Date Layout

The separate objects are dragged into the desired visual order and location on the page.

  • Full Header Format:
    1. Layout Order: [Day of Week] , [Month] [Ordinal Day] , [Year]
    2. Visual Result: Thursday, August 21st, 2025
  • International Format:
    1. Layout Order: [Day of Week] [Ordinal Day] [Month] [Year]
    2. Visual Result: Thursday 21st August 2025
  • Stacked/Widget Style:
    1. The [Day of Week] is placed in a large font at the top.
    2. The [Month] and [Ordinal Day] are placed below in a smaller font.
  • Be Creative
    1. “Imagine It! Make It!”

Section 4. Final Alignment of the Text Objects

  1. After preliminarily arranging the objects, select all the text objects.
    1. Use the Object Design menu's Align tools (specifically Vertical “|” and Horizontal “_”) to ensure the text sits on the same baseline, is centered, or aligns with the right/left boundary.
    2. Then, with all the text objects selected, tap the Group tool to combine them into a single widget for easy movement and final placement.

Procedure Complete!

1)
function ordinal () {
  case "$1" in
    *1[0-9] | *[04-9]) echo "$1"th;;
    *1) echo "$1"st;;
    *2) echo "$1"nd;;
    *3) echo "$1"rd;;
  esac
}     
echo "$(ordinal %day_num)"

Discussion

Enter your comment. Wiki syntax is allowed:
Please solve the following equation to prove you're human. 200 +12 =