From 87705617fa2e74aa539c2dfab447253e071ed958 Mon Sep 17 00:00:00 2001 From: Brandon Kessler Date: Mon, 7 Sep 2026 15:23:47 -0600 Subject: [PATCH] FEATURE: Adds shell settings --- .config/noctalia/bar_main.toml | 2 +- .config/noctalia/config.toml | 1 + .config/noctalia/dock_main.toml | 2 +- .config/noctalia/shell_main.toml | 161 +++++++++++++++++++++++++++++++ 4 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 .config/noctalia/shell_main.toml diff --git a/.config/noctalia/bar_main.toml b/.config/noctalia/bar_main.toml index 31e7b59..71e8a16 100644 --- a/.config/noctalia/bar_main.toml +++ b/.config/noctalia/bar_main.toml @@ -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_opacity = 1.0 # capsule_border = "outline" # omit this key for no border by default -start = ["launcher","workspaces"] +start = ["workspaces"] center = ["media"] end = ["tray","notifications","control-center","session","clock"] diff --git a/.config/noctalia/config.toml b/.config/noctalia/config.toml index d615a37..cc5c7e4 100644 --- a/.config/noctalia/config.toml +++ b/.config/noctalia/config.toml @@ -1,6 +1,7 @@ [include] files = [ "bar_main.toml", + "dock_main.toml", ] [theme] mode = "dark" diff --git a/.config/noctalia/dock_main.toml b/.config/noctalia/dock_main.toml index 02e3fc4..6577ae9 100644 --- a/.config/noctalia/dock_main.toml +++ b/.config/noctalia/dock_main.toml @@ -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 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_colorize = false # tint the custom image with the icon color diff --git a/.config/noctalia/shell_main.toml b/.config/noctalia/shell_main.toml new file mode 100644 index 0000000..07e7fa7 --- /dev/null +++ b/.config/noctalia/shell_main.toml @@ -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 ":". +#[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 -"