FEATURE: Adds shell settings

This commit is contained in:
brandonkessler committed 2026-09-07 15:23:47 -06:00
1 parent 65152c1776
commit 87705617fa
4 files changed
+164 -2

No files matched your search

+1 -1
View File
@@ -41,6 +41,6 @@ capsule_thickness = 0.76 # capsule size across the bar as a fraction o
capsule_radius = 8.0 # omit for automatic pill radius capsule_radius = 8.0 # omit for automatic pill radius
capsule_opacity = 1.0 capsule_opacity = 1.0
# capsule_border = "outline" # omit this key for no border by default # capsule_border = "outline" # omit this key for no border by default
start = ["launcher","workspaces"] start = ["workspaces"]
center = ["media"] center = ["media"]
end = ["tray","notifications","control-center","session","clock"] end = ["tray","notifications","control-center","session","clock"]
+1
View File
@@ -1,6 +1,7 @@
[include] [include]
files = [ files = [
"bar_main.toml", "bar_main.toml",
"dock_main.toml",
] ]
[theme] [theme]
mode = "dark" mode = "dark"
+1 -1
View File
@@ -37,7 +37,7 @@ show_instance_count = true # badge with window count when an app has 2+ wi
show_dots = false # running-window indicator dots below app icons show_dots = false # running-window indicator dots below app icons
launcher_position = "start" # none | start | end - optional launcher button on the dock launcher_position = "start" # none | start | end - optional launcher button on the dock
launcher_icon = "grid-dots" # Tabler glyph for the launcher button launcher_icon = "search" # Tabler glyph for the launcher button
launcher_custom_image = "" # image path; overrides launcher_icon when set launcher_custom_image = "" # image path; overrides launcher_icon when set
launcher_custom_image_colorize = false # tint the custom image with the icon color launcher_custom_image_colorize = false # tint the custom image with the icon color
+161
View File
@@ -0,0 +1,161 @@
[storage]
#key_source = "secret-service" # secret-service | file
#key_file = "" # absolute path; required only when key_source = "file"
[shell]
corner_radius_scale = 1.0 # 0 = square, 1 = default, 2 = extra rounded
button_borders = true # draw outlines around buttons throughout the shell
input_borders = true # draw outlines around text fields and other inputs
popup_borders = true # draw outlines around popups and dropdowns (dialogs always have outlines)
card_borders = true # draw outlines around section cards inside panels and settings
popup_shadows = true # draw drop shadows behind popups and dropdowns
font_family = "sans-serif" # Pango family string; Fontconfig handles fallback
lang = "" # empty = auto-detect; otherwise BCP-47 or POSIX locale
time_format = "{:%H:%M}" # default time format for shell UI without its own setting
date_format = "%A, %x" # default date format for shell UI without its own setting
#offline_mode = false # block all outgoing HTTP requests
# panel_anchor_bar = "main" # bar panels attach to without a source bar; omit = first enabled bar
#external_ip_enabled = false # resolve the WAN IP for the Control Center network tab and network widget tooltip
#telemetry_enabled = false # anonymous startup ping
#setup_wizard_enabled = true # open first-run wizard while the marker is missing
#niri_overview_type_to_launch_enabled = false # niri-only type-to-launch from overview
polkit_agent = true # register Noctalia's native polkit authentication agent
password_style = "default" # default | random
#avatar_path = "~/Pictures/avatar.png"
settings_show_advanced = true # show advanced settings by default in Settings
settings_window_translucent = false # translucent Settings window background
show_location = true # show weather location text in shell UI
launch_apps_as_systemd_services = false # launch apps as transient systemd services (needs Noctalia to be a user unit)
launch_apps_custom_command = "" # wrap launched apps; $CMD is replaced with the app command
screen_time_enabled = false # track per-app usage time for the Control Center screen-time view
app_icon_colorize = false # recolor application icons across the shell
app_icon_color = "on_surface" # ColorSpec when colorize is enabled; see App icon colorization below
clipboard_enabled = true # false disables clipboard history/panel (basic copy & paste still work)
clipboard_keep_from_closed_apps = true # keep the live selection after its source application closes
clipboard_history_max_entries = 100 # unpinned history cap (10–10000); pinned entries are exempt
clipboard_confirm_clear_history = true # confirm before clear history / delete unpinned entries
clipboard_auto_paste = "auto" # off | auto | ctrl_v | ctrl_shift_v | shift_insert
clipboard_image_action_command = "" # image clipboard action; e.g. "gimp {path}" or "satty -f -"
shared_gl_context = true # startup-only; share GPU textures across surfaces
disable_mipmaps = false # startup-only; disable texture mipmaps if downscaled icons/wallpaper show GPU artifacts
[shell.keyboard_layout.custom_labels]
"English (US)" = "EN"
[shell.animation]
enabled = true
speed = 1.0 # 1.0 = normal, 0.5 = 2× slower, 2.0 = 2× faster
[shell.shadow]
direction = "down" # center, up, down, left, right, up_left, up_right, down_left, down_right
alpha = 0.55 # multiplied by each component's background opacity
[shell.panel]
transparency_mode = "solid" # solid | soft | glass; controls floating panel opacity and card translucency
borders = true # outline on floating panel surfaces
shadow = true # cast the global [shell.shadow] from panel surfaces
list_item_background = false # filled rounded background behind launcher and clipboard list items
floating_layer = "overlay" # overlay | top; applies to floating interactive panels
launcher_placement = "floating" # attached | floating
clipboard_placement = "floating" # attached | floating
control_center_placement = "attached" # attached | floating
wallpaper_placement = "attached" # attached | floating
session_placement = "attached" # attached | floating
polkit_placement = "floating" # attached | floating
launcher_position = "center" # auto | center | top_left | … (floating only)
clipboard_position = "center" # auto | center | top_left | … (floating only)
polkit_position = "center" # auto | center | top_left | … (floating only)
floating_offset = 8 # px gap between a floating panel and the bar edge
open_near_click_control_center = false # attached/floating: follow the bar click instead of bar-center
open_near_click_launcher = false # attached/floating: follow the bar click instead of bar-center
open_near_click_clipboard = false # attached/floating: follow the bar click instead of bar-center
open_near_click_wallpaper = false # attached/floating: follow the bar click instead of bar-center
open_near_click_session = false # attached/floating: follow the bar click instead of bar-center
[shell.launcher]
categories = true # show launcher category filters; Tab toggles them while open
show_icons = true # show application icons in launcher results
show_app_origin_indicator = true # show package origin indicators on application results
compact = false # smaller icons and tighter rows; hides subtitles
app_grid = false # icon grid with labels underneath when results are apps only
show_app_actions = false # include searchable .desktop actions alongside applications
sort_by_usage = true # boost frequently used apps and show Recently Used filter
pinned = [] # desktop entry IDs shown first when the launcher opens
fetch_exchange_rates = true # refresh currency rates from third-party online sources
provider_prefix = "/" # common prefix character for provider trigger words (e.g. "/" or ".")
auto_paste = "auto" # off | auto | ctrl_v | ctrl_shift_v | shift_insert (after copy activations)
[shell.launcher.providers.calculator]
prefix = "calc" # trigger word for calculator expressions (e.g. "/calc")
global = true # also show calculator results in un-prefixed search
[shell.launcher.providers.emoji]
prefix = "emo" # trigger word (triggers on provider_prefix + trigger, e.g. "/emo")
[shell.launcher.providers.session]
prefix = "session" # trigger word for session actions (e.g. "/session")
global = false # set true to also include session actions in un-prefixed search
[shell.launcher.providers.wallpaper]
prefix = "wall" # trigger word for wallpaper selector (e.g. "/wall")
[shell.launcher.providers.windows]
prefix = "win" # trigger word for windows (e.g. "/win")
# Dmenu-style providers: a command emits newline-separated candidates that show up
# in the launcher. A tab in a line splits it into title \t description. On activate,
# `exec` runs with {selection} substituted; without `exec` the line is copied instead.
#[shell.launcher.dmenu.entry.ssh]
#command = "awk '/^Host /{print $2}' ~/.ssh/config" # one candidate per stdout line
#exec = "foot ssh {selection}" # {selection} = the chosen line; run detached
#prefix = "ssh" # trigger word (composed with provider_prefix -> "/ssh"); empty = global only
#glyph = "server" # optional Tabler glyph shared by every result
#global = false # true = also surface in unprefixed search
# Plugin launcher providers default to the prefix/global set in their manifest.
# Override either from config, keyed by the plugin's fully-qualified "<pluginId>:<entry>".
#[shell.launcher.providers."author/my-plugin:search"]
#prefix = "mp" # overrides the manifest prefix (triggers on "/mp")
#global = true # overrides the manifest include_in_global_search
[shell.screen_corners]
enabled = false # overlay black rounded corners on each screen
size = 32 # corner radius in logical pixels (1–100)
[hot_corners]
enabled = false # trigger actions by pushing the mouse pointer into screen corners
delay_ms = 0 # hold time before triggering (0 = immediate; raise to avoid accidental hits)
# Configure each corner independently. Available actions:
# none | launcher | window-switcher | control-center | command
[hot_corners.top_left]
action = "none"
[hot_corners.bottom_right]
#action = "command"
#command = "swaylock -f"
[shell.mpris]
blacklist = [] # optional list of players to hide from media widgets/control-center
[shell.window_switcher]
mru = false # order windows by most recently used (Alt+Tab) instead of workspace layout
[shell.privacy]
mic_filter_regex = "" # ignore matching microphone application names
cam_filter_regex = "" # ignore matching camera process names
screen_filter_regex = "" # ignore matching screen-share application names
[shell.screenshot]
save_to_file = true # write captures as PNG to the output directory
directory = "" # output folder; empty = XDG_PICTURES_DIR or ~/Pictures
filename_pattern = "" # empty = screenshot_%Y%m%d_%H%M%S
copy_to_clipboard = true # also place the PNG on the clipboard
freeze_screen = true # freeze the desktop before region selection
confirm_region = false # confirm region captures with Enter or Space
remember_last_region = false # pre-select the last region (also after cancel)
show_cursor = false # include the mouse pointer in captures
annotate = false # open the annotator before saving or copying
pipe_to_command = false # pipe the PNG to a shell command on stdin
pipe_command = "" # annotator/uploader, e.g. "swappy -f -" or "satty -f -"