Compare commits

..
12 Commits
6 changed files with 339 additions and 59 deletions

No files matched your search

+45 -11
View File
@@ -1,15 +1,49 @@
[bar] [bar]
order = ["main"] order = ["main"] # layer-shell creation order
[bar.defalt] [bar.default]
position = "top" position = "top" # top | bottom | left | right
enabled = true
auto_hide = false # slide out after pointer leaves; reveal from edge trigger strip
smart_auto_hide = false # show when the active workspace is empty; hide when it has windows
show_on_workspace_switch = true # with auto_hide: briefly reveal when the active workspace changes
reserve_space = true # reserve compositor exclusive zone / push windows away
layer = "top" # top | overlay; overlay appears above fullscreen apps
radius = 12 thickness = 34 # bar cross-axis size in pixels (height for horizontal, width for vertical)
concave_edge_corners = false background_opacity = 1.0 # 0.0 (transparent) to 1.0 (opaque)
margin_ends = 25 border = "outline" # color role or #RRGGBB for the bar outline
margin_edge = 5 border_width = 0.0 # inside outline width in pixels; 0 disables it
margin_opposite_edge = 5 shadow = true # cast the global [shell.shadow]
contact_shadow = false # dark gradient between an attached panel and the bar (depth at the seam)
panel_overlap = 1 # logical px an attached panel overlaps the bar edge to hide the seam
radius = 12 # global corner radius fallback
radius_top_left = 12
radius_top_right = 12
radius_bottom_left = 12
radius_bottom_right = 12
concave_edge_corners = false # carve the screen-edge corners inward; requires margin_edge = 0
margin_ends = 5 # inset from each end of the bar along its main axis
margin_edge = 5 # distance from the nearest screen edge (positive values float the bar)
margin_opposite_edge = 5 # extra reserved space on the inward side of the bar (below for top, above for bottom)
padding = 14 # main-axis padding from bar edges to start/end widget sections
widget_spacing = 6 # gap between widgets within a section
hover_highlight = true # softly tint the widget under the mouse pointer with its foreground color
scale = 1.0 # content scale multiplier for icons, spacing, and base text size
font_scale = 1.0 # additional text-only scale multiplier
font_weight = 500 # CSS weight 100–1000 (e.g. 400 regular, 700 bold); primary label weight for bar widgets
font_family = "" # typeface for this bar's widgets; empty inherits the global font
start = ["launcher","workspaces"] # Default capsule style for all widgets on this bar (see Widget Capsule section)
center = ["media"] capsule = false
end = ["tray","notifications","control-center","session","clock"] capsule_fill = "surface_variant"
capsule_thickness = 0.76 # capsule size across the bar as a fraction of bar thickness (1.0 fills the bar)
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", "wallpaper", "workspaces"]
#center = ["clock"]
#end = ["media", "tray", "notifications", "clipboard", "network", "bluetooth", "volume", "brightness", "battery", "control-center", "session"]
start = ["control-center"]
center = ["workspaces"]
end = ["tray","notifications","network","battery","volume","clock"]
+2
View File
@@ -1,6 +1,8 @@
[include] [include]
files = [ files = [
"bar_main.toml", "bar_main.toml",
"dock_main.toml",
"shell_main.toml",
] ]
[theme] [theme]
mode = "dark" mode = "dark"
+45
View File
@@ -0,0 +1,45 @@
[dock]
enabled = true # set true to activate
position = "bottom" # top | bottom | left | right
active_monitor_only = false # when true, only show apps/windows from the active monitor
monitors = [] # connector names to show on; empty = all outputs
icon_size = 48
main_axis_padding = 16 # inner padding along the icon row (main axis)
cross_axis_padding = 8 # inner padding perpendicular to the icon row
item_spacing = 6 # gap between items in pixels
background_opacity = 0.88
border = "outline" # color role or #RRGGBB for the dock outline
border_width = 0.0 # inside outline width in pixels; 0 disables it
shadow = true # cast the global [shell.shadow]
radius = 16
radius_top_left = 16 # optional per-corner overrides
radius_top_right = 16
radius_bottom_left = 16
radius_bottom_right = 16
concave_edge_corners = false # carve the screen-edge corners inward; requires margin_edge = 0
margin_ends = 0 # inset from each end of the dock along its main axis
margin_edge = 0 # distance from the nearest screen edge (positive values float the dock)
show_running = true # also show running apps not in the pinned list
auto_hide = true # slide out when pointer leaves; reveal from edge trigger strip
smart_auto_hide = false # show when the active workspace is empty; hide when it has windows
reserve_space = false # reserve compositor exclusive zone / push windows away
layer = "top" # top | overlay (overlay keeps the dock above fullscreen apps)
active_scale = 1.0 # icon scale for the focused app (clamped 0.1–1.75)
inactive_scale = 0.85 # icon scale for non-focused apps (clamped 0.1–1.0)
magnification = true # magnify icons near the pointer (macOS-style)
magnification_scale = 1.45 # max scale multiplier at the pointer center (1.0–2.0; 1.0 = off)
active_opacity = 1.0
inactive_opacity = 0.85
show_instance_count = true # badge with window count when an app has 2+ windows
show_dots = false # running-window indicator dots below app icons
launcher_position = "start" # none | start | end - optional launcher button on the dock
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
# Desktop entry IDs, StartupWMClass, or human-readable names
pinned = ["zen browser"]
+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 = "floating" # attached | floating
wallpaper_placement = "attached" # attached | floating
session_placement = "attached" # attached | floating
polkit_placement = "floating" # attached | floating
launcher_position = "auto" # 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 = true # 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 -"
+38
View File
@@ -0,0 +1,38 @@
[wallpaper]
enabled = true
fill_mode = "crop" # center | crop | fit | stretch | repeat | span
fill_color = "#98971a" # optional fallback/fill color; image wallpapers take priority
transition = ["fade", "wipe", "disc", "stripes", "zoom", "honeycomb"]
# array of effects picked at random each transition
# omit to use all effects
transition_duration = 1500 # milliseconds
edge_smoothness = 0.3 # 0.0 – 1.0
transition_on_startup = false # animate the first wallpaper at shell startup (v4-style)
# Directory browsed by the wallpaper picker panel. Leave empty to use the
# standard XDG Pictures directory (from `XDG_PICTURES_DIR` or `user-dirs.dirs`).
directory = "/home/brandonkessler/Nextcloud/Pictures/Wallpapers/gruvbox-wallpapers/wallpapers"
# Theme-aware directories (used when theme mode is Light/Dark; Auto falls back to directory)
#directory_light = "/home/user/Wallpapers/Light"
#directory_dark = "/home/user/Wallpapers/Dark"
# Enable per-monitor directory overrides (default: false)
per_monitor_directories = false
[wallpaper.default]
path = "/home/brandonkessler/Wallpapers/default.png"
[wallpaper.automation]
enabled = false
interval_seconds = 1800
order = "random" # random | alphabetical
recursive = true # scan subdirectories when selecting random wallpapers
# Per-monitor overrides - same match rules as bar monitor overrides
# Only active when per_monitor_directories = true
[wallpaper.monitor.DP-2]
enabled = false
fill_color = "#202020"
directory = "/home/user/Wallpapers/Vertical"
directory_light = "/home/user/Wallpapers/Vertical/Light"
directory_dark = "/home/user/Wallpapers/Vertical/Dark"
+48 -48
View File
@@ -47,7 +47,7 @@ honor_restored_maximize = false # Honor restored maximized state
[environment] [environment]
GTK_THEME = "Adwaita:dark" GTK_THEME = "Adwaita:dark"
QT_QPA_PLATFORMTHEME = "qt6ct" QT_QPA_PLATFORMTHEME = "qt5ct"
# Hardware events # Hardware events
# These commands run when a laptop lid opens or closes. Uncomment either hook # These commands run when a laptop lid opens or closes. Uncomment either hook
@@ -55,8 +55,8 @@ QT_QPA_PLATFORMTHEME = "qt6ct"
# Documentation: https://docs.noctalia.dev/umbriel/configuration/#events # Documentation: https://docs.noctalia.dev/umbriel/configuration/#events
[events] [events]
# lid_close = "notify-send 'The laptop lid is closed'" lid_close = "notify-send 'The laptop lid is closed'"
# lid_open = "notify-send 'The laptop lid is open'" lid_open = "notify-send 'The laptop lid is open'"
# ─────────────────────────────── Outputs ──────────────────────────────────── # ─────────────────────────────── Outputs ────────────────────────────────────
# Configure monitor identity, mode, logical placement, scaling, HDR, VRR, and # Configure monitor identity, mode, logical placement, scaling, HDR, VRR, and
@@ -136,19 +136,19 @@ empty_above = false # Keep one empty workspace above
# ──────────────────────────────────────────────────────────────────────────── # ────────────────────────────────────────────────────────────────────────────
[colors] [colors]
# background = "#141419FF" # Internal panels and banners background = "#32302f" # Internal panels and banners
# text_primary = "#E8E8EAFF" # Primary text text_primary = "#fbf1c7" # Primary text
# text_muted = "#8A8A92FF" # Secondary help and status text text_muted = "#a89984" # Secondary help and status text
# accent_primary = "#7AA3FFFF" # Titles, key chords, and primary emphasis accent_primary = "#689d6a" # Titles, key chords, and primary emphasis
# accent_secondary = "#F5C96BFF" # Group headings and secondary emphasis accent_secondary = "#458588" # Group headings and secondary emphasis
# warning = "#F5C96BFF" # Warning text and warning-only diagnostics warning = "#d79921" # Warning text and warning-only diagnostics
# error = "#FF6B6BFF" # Error text, confirmations, and diagnostics error = "#cc241d" # Error text, confirmations, and diagnostics
# insert_hint = "#7FC8FF80" # Drag-and-drop target preview insert_hint = "#d65d0e" # Drag-and-drop target preview
# backdrop = "#000000FF" # Fullscreen gaps and lock screen backdrop = "#32302f" # Fullscreen gaps and lock screen
# shadow = "#0000007F" # Window shadow shadow = "#282828" # Window shadow
[colors.border] [colors.border]
# focused = "#7AA3FFFF" # Focused window border focused = "#fe8019" # Focused window border
# unfocused = "#292933FF" # Unfocused window border # unfocused = "#292933FF" # Unfocused window border
# scratchpad_focused = "#E5C07BFF" # Focused scratchpad border # scratchpad_focused = "#E5C07BFF" # Focused scratchpad border
# scratchpad_unfocused = "#5C4A2AFF" # Unfocused scratchpad border # scratchpad_unfocused = "#5C4A2AFF" # Unfocused scratchpad border
@@ -213,15 +213,15 @@ track_layout = "global" # global, or window for per-surf
[input.touchpad] [input.touchpad]
tap = true # Tap-to-click tap = true # Tap-to-click
# natural_scroll = true # Omit to preserve the libinput default natural_scroll = true # Omit to preserve the libinput default
# accel_profile = "adaptive" # flat, adaptive, or custom <step> <points...> accel_profile = "adaptive" # flat, adaptive, or custom <step> <points...>
# sensitivity = 0.5 # Pointer speed, -1.0 to 1.0 # sensitivity = 0.5 # Pointer speed, -1.0 to 1.0
# scroll_factor = 1.5 # Two-finger scroll multiplier, 0.1-10.0 # scroll_factor = 1.5 # Two-finger scroll multiplier, 0.1-10.0
# disable_while_typing = true # Omit to preserve the libinput default disable_while_typing = true # Omit to preserve the libinput default
# disable_on_external_mouse = true # Native sessions only disable_on_external_mouse = true # Native sessions only
[input.mouse] [input.mouse]
# natural_scroll = false # Omit to preserve the libinput default natural_scroll = false # Omit to preserve the libinput default
# accel_profile = "flat" # Omit to preserve the libinput default # accel_profile = "flat" # Omit to preserve the libinput default
sensitivity = 0.0 # Pointer speed, -1.0 to 1.0 sensitivity = 0.0 # Pointer speed, -1.0 to 1.0
scroll_wheel_step = 60 # Logical pixels per layout-scroll action, 1-1000 scroll_wheel_step = 60 # Logical pixels per layout-scroll action, 1-1000
@@ -243,7 +243,7 @@ hide_when_typing = false # Keep visible while typing
hide_timeout_ms = 0 # Idle hide timeout, 0 disables; maximum is 3600000 hide_timeout_ms = 0 # Idle hide timeout, 0 disables; maximum is 3600000
[input.focus] [input.focus]
follows_mouse = false # Focus the pointer target after pointer motion follows_mouse = true # Focus the pointer target after pointer motion
# Refuse hover focus when revealing a window would scroll farther than this # Refuse hover focus when revealing a window would scroll farther than this
# many viewport widths. Omit the key for no limit. # many viewport widths. Omit the key for no limit.
# follows_mouse_max_scroll = 0.5 # follows_mouse_max_scroll = 0.5
@@ -309,22 +309,22 @@ follows_mouse = false # Focus the pointer target after
# "Mod+Escape" = "session-quit" # "Mod+Escape" = "session-quit"
# "Mod+F1" = "window-focus-next" # "Mod+F1" = "window-focus-next"
# "Mod+H" = "window-focus-left" "Mod+H" = "window-focus-left"
# "Mod+J" = "window-focus-down" "Mod+J" = "window-focus-down"
# "Mod+K" = "window-focus-up" "Mod+K" = "window-focus-up"
# "Mod+L" = "window-focus-right" "Mod+L" = "window-focus-right"
# "Mod+Shift+Left" = "column-move-left" "Mod+Shift+Left" = "column-move-left"
# "Mod+Shift+Down" = "window-move-down" "Mod+Shift+Down" = "window-move-down"
# "Mod+Shift+Up" = "window-move-up" "Mod+Shift+Up" = "window-move-up"
# "Mod+Shift+Right" = "column-move-right" "Mod+Shift+Right" = "column-move-right"
# "Mod+F" = "window-toggle-fullscreen" # "Mod+F" = "window-toggle-fullscreen"
# "Mod+Ctrl+F" = "window-toggle-maximize" # "Mod+Ctrl+F" = "window-toggle-maximize"
# "Mod+R" = "window-cycle-width" "Mod+R" = "window-cycle-width"
# "Mod+Shift+R" = "window-cycle-width-back" "Mod+Shift+R" = "window-cycle-width-back"
# "Mod+Comma" = "window-consume-left" # "Mod+Comma" = "window-consume-left"
# "Mod+Period" = "window-consume-right" # "Mod+Period" = "window-consume-right"
# "Mod+WheelUp" = "window-focus-left" "Mod+WheelUp" = "window-focus-left"
# "Mod+WheelDown" = "window-focus-right" "Mod+WheelDown" = "window-focus-right"
#Mod+1 through Mod+9 switch workspaces. Adding Shift moves the focused window; #Mod+1 through Mod+9 switch workspaces. Adding Shift moves the focused window;
# keypad digits provide the same built-in actions. # keypad digits provide the same built-in actions.
@@ -382,15 +382,15 @@ follows_mouse = false # Focus the pointer target after
# Media and brightness # Media and brightness
# Documentation: https://docs.noctalia.dev/umbriel/keybinds/#example-media-and-brightness-keys # Documentation: https://docs.noctalia.dev/umbriel/keybinds/#example-media-and-brightness-keys
# "XF86AudioRaiseVolume" = "spawn:wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" "XF86AudioRaiseVolume" = "spawn:wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
# "XF86AudioLowerVolume" = "spawn:wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" "XF86AudioLowerVolume" = "spawn:wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
# "XF86AudioMute" = "spawn:wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" "XF86AudioMute" = "spawn:wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
# "XF86AudioPlay" = "spawn:playerctl play-pause" "XF86AudioPlay" = "spawn:playerctl play-pause"
# "XF86AudioNext" = "spawn:playerctl next" "XF86AudioNext" = "spawn:playerctl next"
# "XF86AudioPrev" = "spawn:playerctl previous" "XF86AudioPrev" = "spawn:playerctl previous"
# Binds intended to work while locked use the table form. # Binds intended to work while locked use the table form.
# "XF86MonBrightnessDown" = { action = "spawn:noctalia msg brightness-down 10", allow_when_locked = true } "XF86MonBrightnessDown" = { action = "spawn:noctalia msg brightness-down 10", allow_when_locked = true }
# "XF86MonBrightnessUp" = { action = "spawn:noctalia msg brightness-up 10", allow_when_locked = true } "XF86MonBrightnessUp" = { action = "spawn:noctalia msg brightness-up 10", allow_when_locked = true }
# ─────────────────────────────── Layout ───────────────────────────────────── # ─────────────────────────────── Layout ─────────────────────────────────────
# Configure the default tiling mode and shared sizing behavior. Workspace rules # Configure the default tiling mode and shared sizing behavior. Workspace rules
@@ -401,7 +401,7 @@ follows_mouse = false # Focus the pointer target after
[layout] [layout]
mode = "scrolling" # scrolling, dwindle, or master mode = "scrolling" # scrolling, dwindle, or master
gap = 8 # Logical pixels between tiles, 0-500 gap = 8 # Logical pixels between tiles, 0-500
width_presets = [0.333, 0.5, 0.667] # Width and height cycling fractions width_presets = [0.33, 0.5, 0.67, 1.0] # Width and height cycling fractions
[layout.struts] [layout.struts]
# Signed logical pixels reserved after panel exclusive zones. Negative values # Signed logical pixels reserved after panel exclusive zones. Negative values
@@ -412,11 +412,11 @@ top = 0
bottom = 0 bottom = 0
[layout.scrolling] [layout.scrolling]
# direction = "horizontal" # horizontal or vertical strip axis
default_width_fraction = 0.5 # Initial width for new columns, 0.1-1.0 default_width_fraction = 0.5 # Initial width for new columns, 0.1-1.0
center_underfull_strip = true # Center a strip narrower than the viewport center_underfull_strip = true # Center a strip narrower than the viewport
center_focused = false # Always center the focused column center_focused = "never" # Always center the focused column
expand_single_column = true # Let a lone column fill the viewport
[layout.dwindle] [layout.dwindle]
# preserve_split = false # Keep every split direction fixed after creation # preserve_split = false # Keep every split direction fixed after creation
@@ -461,7 +461,7 @@ default_position = { x = 20, y = 20, anchor = "bottom_right" }
# focus, and pin them so workspace switches do not hide them. # focus, and pin them so workspace switches do not hide them.
[[window_rule]] [[window_rule]]
match.title = "^notificationtoasts_.+_desktop" match.title = "^notificationtoasts_.+_desktop"
default_position = { x = 0, y = 0, anchor = "bottom_right" } default_position = { x = 0, y = 0, anchor = "top_right" }
default_focused = false default_focused = false
default_pinned = true default_pinned = true
@@ -666,17 +666,17 @@ zoom = 0.5 # Workspace scale in overview, 0
[hot_corners.top_left] [hot_corners.top_left]
enabled = true # Open the overview after resting here enabled = true # Open the overview after resting here
delay_ms = 500 # 0 activates immediately; maximum is 10000 delay_ms = 500 # 0 activates immediately; maximum is 10000
action = "overview-open" # Any normal Umbriel action is accepted action = "overview-toggle" # Any normal Umbriel action is accepted
[hot_corners.top_right] [hot_corners.top_right]
enabled = false enabled = false
delay_ms = 500 delay_ms = 500
action = "overview-close" action = "spawn:notify-send 'Top right'"
[hot_corners.bottom_left] [hot_corners.bottom_left]
enabled = false enabled = false
delay_ms = 500 delay_ms = 500
action = "overview-toggle" action = "spawn:notify-send 'Bottom Left'"
[hot_corners.bottom_right] [hot_corners.bottom_right]
enabled = false enabled = false