meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
section:section-windows [2026/08/04 20:39] – ↷ Page name changed from section:section-windows_dialog to section:section-windows dorepssection:section-windows [2026/08/05 14:46] (current) doreps
Line 1: Line 1:
-====== Understanding and Using Windows ====== - A comprehensive guide to the window layout element+====== Total Launcher Window Management: Building Pop-Up Drawers, Widgets, and Variables ====== 
 + 
 +Window containers in Total Launcher function as dynamic pop-up layers and floating pages positioned above the main desktop canvas. Using window resources allows the creation of modular interface elements—such as custom app drawers, floating widget shelves, and contextual pop-up menus—without occupying permanent homescreen space. Understanding the distinction between modal and non-modal behaviors, along with proper gesture triggers and animation properties, provides the foundation for building highly responsive, multi-layered Android layouts. The following documentation details window creation methods, structural property options, and advanced automation workflows.
  
 This section explains the concept of windows within Total Launcher, detailing creation methods, property configuration, and practical applications for customized screen layouts. This section explains the concept of windows within Total Launcher, detailing creation methods, property configuration, and practical applications for customized screen layouts.
Line 15: Line 17:
   * **Modal:** - Blocks all interaction with the background page. The window must be dismissed before the main interface can be used.   * **Modal:** - Blocks all interaction with the background page. The window must be dismissed before the main interface can be used.
     * **Benefits:** - Focuses user attention entirely on a specific task, such as a full-screen app drawer, a configuration menu, or a search overlay. It temporarily removes visual clutter from the background.     * **Benefits:** - Focuses user attention entirely on a specific task, such as a full-screen app drawer, a configuration menu, or a search overlay. It temporarily removes visual clutter from the background.
-    * **How to create:** - This is the default behavior in Total Launcher. It is enforced globally when the ''Launcher options'' > UI & Animation'' > ''Allow interaction behind window'' toggle is disabled in the launcher's UI & Animation settings. Modal behavior is also forced if ''Dim behind'' or ''Blur behind'' are enabled. To visually enforce a modal state, enable ''Full height'' in the window options or apply a solid ''Background'' color (e.g., ''#FF000000'') to completely obscure the background page.+    * **How to create:** - This is the default behavior in Total Launcher. It is enforced globally when the ''Launcher options''''UI & Animation'' > ''Allow interaction behind window'' toggle is disabled in the launcher's UI & Animation settings. Modal behavior is also forced if ''Dim behind'' or ''Blur behind'' are enabled. To visually enforce a modal state, enable ''Full height'' in the window options or apply a solid ''Background'' color (e.g., ''#FF000000'') to completely obscure the background page.
   * **Non-modal:** - Permits active interaction with the background page while the window remains visible on the screen. It operates as a persistent floating panel.   * **Non-modal:** - Permits active interaction with the background page while the window remains visible on the screen. It operates as a persistent floating panel.
     * **Benefits:** - Highly effective for persistent reference tools, such as floating media controls, sidebars, weather dashboards, or sticky notes. It keeps the main home screen context active and usable.     * **Benefits:** - Highly effective for persistent reference tools, such as floating media controls, sidebars, weather dashboards, or sticky notes. It keeps the main home screen context active and usable.
Line 38: Line 40:
 <WRAP clear /> <WRAP clear />
  
-==== Display and Layout Settings ====+=== Display and Layout Settings ===
 These options dictate the physical appearance and screen positioning of the window. These options dictate the physical appearance and screen positioning of the window.
   * **Open alone:** - Closes all currently active windows and folders before opening the selected one. Maintains a clutter-free workspace and focuses the display on a single interface.   * **Open alone:** - Closes all currently active windows and folders before opening the selected one. Maintains a clutter-free workspace and focuses the display on a single interface.
Line 48: Line 50:
   * **Erase behind:** - Erases objects located behind the window or sliding drawer to reveal the system wallpaper through transparent areas. Allows for complex layering effects or custom mask cutouts.   * **Erase behind:** - Erases objects located behind the window or sliding drawer to reveal the system wallpaper through transparent areas. Allows for complex layering effects or custom mask cutouts.
  
-==== Interaction and Gestures ====+=== Interaction and Gestures ===
 These settings modify how the window responds to touch inputs and system navigation commands. These settings modify how the window responds to touch inputs and system navigation commands.
   * **Gesture to close:** - Configures a specific touch gesture, such as ''Swipe up'', to close the window. Provides fast, fluid navigation without requiring precise taps on a dedicated close button. Note that this requires a ''PRO'' license.   * **Gesture to close:** - Configures a specific touch gesture, such as ''Swipe up'', to close the window. Provides fast, fluid navigation without requiring precise taps on a dedicated close button. Note that this requires a ''PRO'' license.
   * **Ignore Back:** - Prevents the window from being closed using the system Back button or system navigation gesture. Used to create persistent on-screen displays, mandatory menus, or kiosk-style locked interfaces.   * **Ignore Back:** - Prevents the window from being closed using the system Back button or system navigation gesture. Used to create persistent on-screen displays, mandatory menus, or kiosk-style locked interfaces.
  
-==== Automation and Actions ====+=== Automation and Actions ===
 Automated actions can be triggered based on the window's lifecycle state. Automated actions can be triggered based on the window's lifecycle state.
   * **Action on open:** - Selects an action to invoke automatically when the window opens. Used to launch supplementary applications, change system settings, or trigger shortcut tasks simultaneously with the window launch.   * **Action on open:** - Selects an action to invoke automatically when the window opens. Used to launch supplementary applications, change system settings, or trigger shortcut tasks simultaneously with the window launch.
Line 72: Line 74:
 A window can be activated from any location on the screen using a shortcut or a gesture. Total Launcher also supports opening windows via shortcuts triggered by third-party applications. A window can be activated from any location on the screen using a shortcut or a gesture. Total Launcher also supports opening windows via shortcuts triggered by third-party applications.
  
-==== Opening and Closing Methods ====+=== Opening and Closing Methods ===
   * **Opening Triggers:** - Assign the "Open Window" action to a graphic object (tap action), a screen swipe gesture, or a hardware button.   * **Opening Triggers:** - Assign the "Open Window" action to a graphic object (tap action), a screen swipe gesture, or a hardware button.
   * **Closing Behaviors:** - Windows can be dismissed by tapping outside the window boundaries, utilizing the ''Gesture to close'' setting, or by creating a dedicated 'Close' button inside the window layout assigned to the "Close Window" action.   * **Closing Behaviors:** - Windows can be dismissed by tapping outside the window boundaries, utilizing the ''Gesture to close'' setting, or by creating a dedicated 'Close' button inside the window layout assigned to the "Close Window" action.
  
-==== Window Animation Configuration ====+=== Window Animation Configuration ===
 <WRAP hscroll_box> <WRAP hscroll_box>
 <WRAP> <WRAP>
Line 103: Line 105:
  
 ==== Passing Variables ==== ==== Passing Variables ====
-Variables permit a single window design to display completely different text or imagery depending on what action opened it. This reduces the need to build dozens of identical windows. +Variables permit a single window design to display completely different text or imagery depending on what action opened it. This reduces the need to build numerous identical windows. 
-  * **The Concept:** - Rather than creating five separate windows for five different notifications, create one master window template. An external tool passes data into the launcher, updating the template before the window appears. +  * **The Concept:** - Rather than creating multiple separate windows for different notifications, create one master window template. An external tool passes data into the launcher, updating the template before the window appears. 
-  * **Implementation:** - Insert a text object inside the window and format its text as a launcher variable (e.g., ''$notification_text''). Utilize automation apps like Tasker or MacroDroid (often via the Total Launcher plugin or intent broadcasts) to push updated text to the ''$notification_text'' variable. Following the variable update, the automation app triggers the window to open, displaying the freshly injected data.+  * **Implementation:** - Insert a text object inside the window and format its text to call a launcher variable using angular brackets (e.g., ''<notification_text>''). The angular bracket format (''<name>'') is a native Total Launcher syntax requirement; it instructs the launcher to evaluate the string as a dynamic variable rather than rendering it as literal text. Utilize automation apps like Tasker or MacroDroid via the Total Launcher plugin to push updated text to the target variable. Note that when configuring the target variable name within the automation app's plugin interface, the angular brackets must be omitted (e.g., entered only as ''notification_text''). Following the variable update, the automation app triggers the window to open, displaying the freshly injected data.
  
-==== Chaining Windows ====+=== Chaining Windows ===
 Sequential window flows can be created, allowing one interface to seamlessly transform into another without manual intervention. Sequential window flows can be created, allowing one interface to seamlessly transform into another without manual intervention.
   * **The Concept:** - The dismissal or appearance of one window automatically triggers a secondary window action.   * **The Concept:** - The dismissal or appearance of one window automatically triggers a secondary window action.
   * **Implementation:** - Navigate to the Window Options of the initial window. Locate the ''Action on close'' setting and assign it to the launcher action ''Open window''. Select the secondary window as the target. When the user dismisses the first window, the secondary window instantly appears, creating an interconnected menu system.   * **Implementation:** - Navigate to the Window Options of the initial window. Locate the ''Action on close'' setting and assign it to the launcher action ''Open window''. Select the secondary window as the target. When the user dismisses the first window, the secondary window instantly appears, creating an interconnected menu system.