### Build Ashell from Source with Cargo Source: https://malpenzibo.github.io/ashell/docs/installation Compiles Ashell from source using Cargo after ensuring necessary development dependencies are installed. Includes steps to copy the binary to a system-wide location. ```bash cargo build --release # To install it system-wide sudo cp target/release/ashell /usr/local/bin/ashell ``` -------------------------------- ### Creating a Launcher Custom Button Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings Example of a custom button configuration that acts as a launcher. It only requires a name, icon, and the command to execute. ```ini [settings] [[custom_buttons]] name = "Launch App" icon = "💻" command = "/usr/bin/my-app" ``` -------------------------------- ### TOML Configuration for ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/full_config This TOML snippet represents a full configuration example for ashell. It covers global settings, module definitions for different screen areas, update commands, workspace behavior, custom module definitions, window title formatting, various system settings like audio and network controls, and extensive appearance customization including color palettes. ```toml log_level = "warn" outputs = { Targets = ["eDP-1"] } position = "Top" app_launcher_cmd = "walker" [modules] left = [ [ "appLauncher", "Updates", "Workspaces" ] ] center = [ "WindowTitle" ] right = [ "SystemInfo", [ "Tray", "Clock", "Privacy", "Settings" ] ] [updates] check_cmd = "checkupdates; paru -Qua" update_cmd = 'alacritty -e bash -c "paru; echo Done - Press enter to exit; read" &' [workspaces] enable_workspace_filling = true [[CustomModule]] name = "appLauncher" icon = "󱗼" command = "walker" [window_title] truncate_title_after_length = 100 [settings] lock_cmd = "playerctl --all-players pause; nixGL hyprlock &" audio_sinks_more_cmd = "pavucontrol -t 3" audio_sources_more_cmd = "pavucontrol -t 4" wifi_more_cmd = "nm-connection-editor" vpn_more_cmd = "nm-connection-editor" bluetooth_more_cmd = "blueberry" [appearance] style = "Islands" primary_color = "#7aa2f7" success_color = "#9ece6a" text_color = "#a9b1d6" workspace_colors = [ "#7aa2f7", "#9ece6a" ] special_workspace_colors = [ "#7aa2f7", "#9ece6a" ] [appearance.danger_color] base = "#f7768e" weak = "#e0af68" [appearance.background_color] base = "#1a1b26" weak = "#24273a" strong = "#414868" [appearance.secondary_color] base = "#0c0d14" ``` -------------------------------- ### Ashell Module Configuration Example: Adding SystemInfo Source: https://malpenzibo.github.io/ashell/docs/configuration/modules This TOML configuration example demonstrates how to add the 'SystemInfo' module to the right side of the Ashell status bar. It shows how to place it alongside an existing group of modules without merging them. ```toml right = [ "SystemInfo", [ "Clock", "Privacy", "Settings" ] ] ``` -------------------------------- ### Install Ashell with Nix Package Manager Source: https://malpenzibo.github.io/ashell/docs/installation Installs Ashell using the Nix package manager. Supports installing tagged releases or the main branch directly. ```bash nix profile install github:MalpenZibo/ashell?ref=0.5.0 ``` ```bash nix profile install github:MalpenZibo/ashell ``` -------------------------------- ### Updates Output Example Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/updates Example output format for the system update check command. Each line represents an update for a package, showing the old and new versions. ```text calf 0.90.7-1 -> 0.90.8-1 hyprutils 0.8.0-1 -> 0.8.1-1 lazygit 0.52.0-1 -> 0.53.0-1 ``` -------------------------------- ### Install Ashell on Arch Linux using AUR Source: https://malpenzibo.github.io/ashell/docs/installation Installs a tagged release or the latest development version of Ashell from the Arch User Repository (AUR) using the `yay` helper. ```bash yay -S ashell ``` ```bash yay -S ashell-git ``` -------------------------------- ### Install Ashell on Fedora using Copr Source: https://malpenzibo.github.io/ashell/docs/installation Installs Ashell on Fedora by enabling an unofficial Copr repository and then installing the package using DNF. ```bash sudo dnf -y copr enable killcrb/ashell sudo dnf -y install ashell ``` -------------------------------- ### Creating a Toggle Custom Button with Status Command Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings Example of a custom button configuration that acts as a toggle. It includes a command to execute and a status command to determine its active state. ```ini [settings] [[custom_buttons]] name = "My Toggle Button" icon = "🔒" command = "echo 'Toggling state'" status_command = "echo '1'" ``` -------------------------------- ### Ashell Custom Module Configuration Example Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/custom_module This TOML snippet demonstrates the configuration for a custom module in Ashell, specifically for handling notifications. It includes the module name, icon, commands for click and background listening, and rules for dynamic icons and alerts based on `listen_cmd` output. ```toml [[CustomModule]] name = "CustomNotifications" icon = "" command = "swaync-client -t -sw" listen_cmd = "swaync-client -swb" icons.'dnd.*' = "" alert = ".*notification" ``` -------------------------------- ### Configure Ashell Flake for NixOS/Home Manager Source: https://malpenzibo.github.io/ashell/docs/installation Adds Ashell as an input to your Nix flake configuration and integrates it into your system or home manager environment. ```nix inputs = { # ... other inputs ashell.url = "github:MalpenZibo/ashell"; # ... other inputs }; outputs = {...} @ inputs: {}; # Make sure to pass inputs to your specialArgs! ``` ```nix { pkgs, inputs, ... }: { environment.systemPackages = [inputs.ashell.packages.${pkgs.system}.default]; # or home.packages = ... } ``` -------------------------------- ### Ashell Custom Module App Launcher Example Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/custom_module This TOML snippet shows a basic configuration for an Ashell custom module designed to launch applications using the 'walker' tool. It defines the module's name, icon, and the command to execute when the module is clicked. ```toml [[CustomModule]] name = "AppLauncher" icon = "󱗼" command = "walker" ``` -------------------------------- ### Specify Ashell Configuration File via Command Line Source: https://malpenzibo.github.io/ashell/docs/configuration This command demonstrates how to specify a custom configuration file path for Ashell using the `--config-path` parameter. This allows users to manage different configurations or test new settings without altering the default file. Ashell will monitor the specified file for live updates. ```shell ashell --config-path /path/to/config.toml ``` -------------------------------- ### Ashell listen_cmd JSON Output Format Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/custom_module This JSON example illustrates the expected output format for the `listen_cmd` in Ashell custom modules. It requires `text` and `alt` fields, which are used to display information and potentially trigger dynamic icon changes or alerts. ```json { "text": "3", "alt": "notification" } ``` -------------------------------- ### Customizing Status Bar Indicators Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings Allows customization of which status indicators appear in the status bar and their display order. This example shows a custom order for battery, Bluetooth, network, and audio indicators. ```ini [settings] # Customize which indicators to show and their order indicators = ["Battery", "Bluetooth", "Network", "Audio"] # The default value is the following, the items are shown in this order: # indicators = ["IdleInhibitor", "PowerProfile", "Audio", "Bluetooth", "Network", "Vpn", "Battery"] ``` -------------------------------- ### Configure Updates Module Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/updates Configuration for the Updates module, specifying commands to check for and apply system updates. This example uses Arch Linux with paru and alacritty. ```toml [updates] check_cmd = "checkupdates; paru -Qua" update_cmd = 'alacritty -e bash -c "paru; echo Done - Press enter to exit; read" &' ``` -------------------------------- ### Configure Status Bar Background Color (TOML) Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/palette Example of configuring the background color for the status bar using TOML. Allows setting a base color and optional strong, weak, and text variants. If variants are omitted, they are auto-generated. ```TOML [appearance.background_color] base = "#448877" strong = "#448888" weak = "#448855" text = "#ffffff" ``` -------------------------------- ### Disable Workspace Filling and Set Monitor-Specific Visibility Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/workspaces Example configuration to disable workspace filling and set the workspace visibility mode to 'MonitorSpecific'. This is useful for managing workspaces on a per-monitor basis. ```TOML [workspaces] visibility_mode = "MonitorSpecific" enable_workspace_filling = false ``` -------------------------------- ### Configure Custom Workspace Names Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/workspaces Assign custom names to workspaces for alternative numeral displays. Ensure the font with the desired icon is installed on your system. This configuration uses a TOML format. ```TOML [workspaces] workspace_names = ["一","二","三","四","五","六","七","八","九","十",] ``` -------------------------------- ### Get NVMe Model Number for Temperature Sensor Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/system_info This command-line snippet demonstrates how to retrieve the model number of an NVMe SSD, which is often required for configuring the temperature sensor in the system_info module. ```bash # Get NVMe model number lsblk -d -o name,model ``` -------------------------------- ### Ashell Configuration with Application Launch Commands Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings This TOML configuration demonstrates setting various application launch commands for system functions like screen locking, audio settings, network management, and Bluetooth. It also shows how to disable specific buttons and configure indicators. ```toml [settings] lock_cmd = "hyprlock &" audio_sinks_more_cmd = "pavucontrol -t 3" audio_sources_more_cmd = "pavucontrol -t 4" wifi_more_cmd = "nm-connection-editor" vpn_more_cmd = "nm-connection-editor" bluetooth_more_cmd = "blueman-manager" remove_airplane_btn = true remove_idle_btn = true indicators = ["Battery", "Bluetooth", "Network", "Audio"] [[settings.CustomButton]] name = "Virtual Keyboard" icon = "⌨️" command = "toggle-onscreen-keyboard.sh" status_command = "pgrep -x onboard" tooltip = "Toggle On-Screen Keyboard" [[settings.CustomButton]] name = "File Manager" icon = "" command = "nautilus" tooltip = "Open Files" ``` -------------------------------- ### Configure App Launcher Command Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/app_launcher This snippet demonstrates how to configure the command that will be executed when the App Launcher module is clicked. This is a necessary step for the module to appear and function correctly in the status bar. No external dependencies are required for this configuration. ```shell app_launcher_cmd = "walker" ``` -------------------------------- ### Configure Warning and Alert Thresholds for System Info Indicators Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/system_info This configuration structure illustrates how to set warning and alert thresholds for various system indicators such as CPU, memory, disk, and temperature. These thresholds trigger visual changes in the status bar. ```toml [system_info.threshold_type] warn_threshold = 60 alert_threshold = 80 ``` -------------------------------- ### Configure Custom Buttons with Bash Shell Commands Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings This configuration defines custom buttons using bash shell commands. It supports shell features like pipes and redirects, environment variables, and globs. Commands are executed with user privileges, and status commands have a 1-second timeout. ```toml # Toggle button example (with status_command) [[settings.CustomButton]] name = "Virtual Keyboard" icon = "⌨️" command = "/path/to/toggle-keyboard.sh" status_command = "/path/to/check-keyboard-status.sh" tooltip = "Toggle On-Screen Keyboard" # Launcher button example (without status_command) [[settings.CustomButton]] name = "Terminal" icon = "" command = "alacritty" tooltip = "Open Terminal" ``` -------------------------------- ### Configure Disk Indicator for System Info Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/system_info This configuration snippet shows how to enable and specify a path for the Disk indicator within the system_info module. It allows monitoring disk space usage for a particular directory. ```toml [system_info] indicators = [ { Disk = "/home" } ] ``` -------------------------------- ### Default System Info Module Configuration Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/system_info This TOML configuration outlines the default settings for the system_info module, including the indicators displayed by default (CPU, Memory, Temperature) and their respective warning and alert thresholds. It also shows the default temperature sensor. ```toml [system_info] indicators = [ "Cpu", "Memory", "Temperature" ] [system_info.cpu] warn_threshold = 60 alert_threshold = 80 [system_info.memory] warn_threshold = 70 alert_threshold = 85 [system_info.disk] warn_threshold = 80 alert_threshold = 90 [system_info.temperature] warn_threshold = 60 alert_threshold = 80 sensor = "acpitz temp1" ``` -------------------------------- ### Default Command Configurations for System Actions Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings Defines the default shell commands for system actions like shutdown, suspend, hibernate, reboot, and logout. These can be overridden via configuration options. ```shell shutdown_cmd = "shutdown now" suspend_cmd = "systemctl suspend" hibernate_cmd = "systemctl hibernate" reboot_cmd = "systemctl reboot" logout_cmd = "loginctl kill-user $(whoami)" ``` -------------------------------- ### Enable Virtual Desktop Plugin Support Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/workspaces Enable support for virtual desktop plugins like hyprland-virtual-desktops to group virtual desktops as single workspaces. Custom workspace colors and names will apply to the virtual desktop number. ```TOML [workspaces] enable_virtual_desktops = true ``` -------------------------------- ### Default Workspace Configuration Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/workspaces The default configuration for workspaces includes setting the visibility mode to 'All' and enabling workspace filling. ```TOML [workspaces] visibility_mode = "All" enable_workspace_filling = true ``` -------------------------------- ### Battery and Peripheral Indicator Formatting Options Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/settings Configures how battery status is displayed, including options for the main battery and peripheral devices. Users can choose to show icons, percentages, or both. ```ini [settings] battery_format = "IconAndPercentage" peripheral_battery_format = "Icon" peripheral_indicators = { Specific = ["Gamepad", "Keyboard"] } ``` -------------------------------- ### Configure Status Bar Output Monitors in Ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/main Determines which monitor(s) the Ashell status bar will render on. Options include all monitors, the active monitor, or a specific list of named monitors. ```toml outputs = "All" ``` ```toml outputs = "Active" ``` ```toml outputs = { Targets = ["DP-1", "eDP-1"] } ``` -------------------------------- ### Configure Clock Display Format Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/clock This configuration snippet demonstrates how to set a custom format for the clock module. It uses the 'format' option to specify the desired date and time display, such as '%D %r' for 'MM/DD/YY hh:mm:ss AM/PM'. ```toml [clock] format = "%D %r" ``` -------------------------------- ### Configure Log Level Verbosity in Ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/main Sets the verbosity of Ashell's logs. Supports global levels like 'debug', 'info', 'warn', 'error', or fine-grained control for specific modules. Requires restarting Ashell to apply changes. ```toml log_level = "debug" ``` ```toml log_level = "ashell=debug" ``` ```toml log_level = "warn,ashell=info,ashell::services::network=debug" ``` -------------------------------- ### Configure Catppuccin Mocha Theme Colors (TOML) Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/theme This TOML snippet defines the color scheme for the Catppuccin Mocha theme. It specifies colors for success, text, workspaces, primary, danger, background, and secondary elements. This configuration is used to customize the visual appearance of the application. ```toml [appearance] success_color = "#a6e3a1" text_color = "#cdd6f4" workspace_colors = [ "#fab387", "#b4befe", "#cba6f7" ] [appearance.primary_color] base = "#fab387" text = "#1e1e2e" [appearance.danger_color] base = "#f38ba8" weak = "#f9e2af" [appearance.background_color] base = "#1e1e2e" weak = "#313244" strong = "#45475a" [appearance.secondary_color] base = "#11111b" strong = "#1b1b25" ``` -------------------------------- ### Set Maximum Number of Workspaces Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/workspaces Configure the maximum number of workspaces to be displayed, which only works if workspace filling is enabled. This ensures a fixed number of workspaces, including empty ones, are always visible. ```TOML [workspaces] enable_workspace_filling = true max_workspaces = 10 ``` -------------------------------- ### Configure Keyboard Layout Labels in Ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/keyboard This configuration snippet demonstrates how to map keyboard layout labels to custom labels, such as emojis, within the Ashell Keyboard Layout module. It requires the 'keyboard_layout.labels' section in the Ashell configuration file. The input is a TOML-like configuration mapping string labels to string labels. ```toml [keyboard_layout.labels] "English (US)" = "🇺🇸" "Italian" = "🇮🇹" ``` -------------------------------- ### Configure Tokyo Night - night Theme Colors (TOML) Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/theme This TOML snippet defines the color scheme for the Tokyo Night - night theme. It sets primary, success, text, workspace, danger, background, and secondary colors. This configuration allows for a distinct visual theme distinct from other available options. ```toml [appearance] primary_color = "#7aa2f7" success_color = "#9ece6a" text_color = "#a9b1d6" workspace_colors = [ "#7aa2f7", "#9ece6a" ] [appearance.danger_color] base = "#f7768e" weak = "#e0af68" [appearance.background_color] base = "#1a1b26" weak = "#24273a" strong = "#414868" [appearance.secondary_color] base = "#0c0d14" ``` -------------------------------- ### Configure Window Title Display (ashell) Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/window_title This snippet demonstrates how to configure the 'window_title' module in ashell. It shows how to set the display mode to 'Title' and truncate the window title after 75 characters. This configuration affects what information is displayed and its length. ```ashell [window_title] mode = "Title" truncate_title_after_length = 75 ``` -------------------------------- ### Default Ashell Module Configuration Source: https://malpenzibo.github.io/ashell/docs/configuration/modules This TOML configuration snippet shows the default arrangement of modules in the Ashell status bar. It defines modules for the left, center, and right sections, including a group of modules on the right. ```toml [modules] left = [ "Workspaces" ] center = [ "WindowTitle" ] right = [ [ "Clock", "Privacy", "Settings" ] ] ``` -------------------------------- ### Configure Media Player Max Title Length Source: https://malpenzibo.github.io/ashell/docs/configuration/modules/media_player This configuration snippet demonstrates how to set the maximum length for media titles displayed by the Media Player module. The `max_title_length` parameter controls the truncation point. If not specified, the default value is 100 characters. ```ini [media_player] max_title_length = 50 ``` -------------------------------- ### Configure Status Bar Position in Ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/main Sets the vertical position of the Ashell status bar on the screen. The bar can be placed at the 'Top' or 'Bottom'. ```toml position = "Top" ``` ```toml position = "Bottom" ``` -------------------------------- ### Configure Opacity for ashell Status Bar and Menus Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/general Control the transparency of ashell status bar components and menus using the `opacity` field in the `[appearance]` TOML section. Values range from 0.0 (fully transparent) to 1.0 (fully opaque), with 1.0 being the default. Opacity and backdrop effects for menus can be configured separately under `[appearance.menu]`. ```toml [appearance] opacity = 0.8 [appearance.menu] opacity = 0.7 backdrop = 0.3 ``` -------------------------------- ### Enable Esc Key to Close Menu in Ashell Source: https://malpenzibo.github.io/ashell/docs/configuration/main Enables the 'Esc' key to close menus within Ashell. When enabled, Ashell uses the keyboard exclusively when a menu is open, potentially preventing other applications from receiving keyboard input. ```toml enable_esc_key = true ``` -------------------------------- ### Configure Status Bar Style in ashell Appearance Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/general Set the visual style of the ashell status bar using the `style` field within the `[appearance]` TOML section. Available options are 'Island' (default, rounded rectangles), 'Solid' (single background color), and 'Gradient' (gradient background color). ```toml [appearance] style = "Gradient" ``` -------------------------------- ### Configure Font Name in ashell Appearance Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/general Set the font for the ashell interface by specifying the `font_name` within the `[appearance]` TOML section. If this is not set, the `iced` library's default font will be used. Note that font changes require restarting the ashell process as hot-reloading is not supported. ```toml [appearance] font_name = "Comic Sans MS" ``` -------------------------------- ### Configure Scaling Factor in ashell Appearance Source: https://malpenzibo.github.io/ashell/docs/configuration/appearance/general Adjust the scaling factor for the ashell status bar using the `scale_factor` field in the `[appearance]` TOML section. The value must be a float between 0.0 (exclusive) and 2.0 (inclusive), with a default of 1.0. ```toml [appearance] scale_factor = 1.5 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.