Initial commit: Moonarch reproduzierbares Arch-Linux-Setup
Niri-basierter Wayland-Desktop mit greetd/regreet, Catppuccin Mocha Theming, Rofi-Menus, Waybar und vollstaendiger Post-Install-Automatisierung. Archinstall-Config klont das Repo automatisch via custom-commands, danach genuegt ein einzelner Befehl fuer die komplette Einrichtung.
This commit is contained in:
@@ -0,0 +1,559 @@
|
||||
{
|
||||
"__aboutme1": "Moonarch default waybar configuration for Niri.",
|
||||
"__aboutme2": "User overrides go in ~/.config/waybar/config",
|
||||
"layer": "top",
|
||||
"margin-top": 0,
|
||||
"spacing": 5,
|
||||
"fixed-center": true,
|
||||
"modules-left": [
|
||||
"group/sys",
|
||||
"niri/workspaces",
|
||||
"tray",
|
||||
"wlr/taskbar",
|
||||
"niri/window"
|
||||
],
|
||||
"modules-center": [
|
||||
|
||||
],
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"custom/cpugov",
|
||||
"group/net",
|
||||
"group/sound",
|
||||
"backlight",
|
||||
"battery",
|
||||
"group/indicators"
|
||||
],
|
||||
"group/indicators": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"gamemode",
|
||||
//"custom/updates",
|
||||
"idle_inhibitor",
|
||||
"custom/dnd",
|
||||
"privacy"
|
||||
]
|
||||
},
|
||||
"group/net": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"custom/vpn",
|
||||
"network",
|
||||
"bluetooth"
|
||||
]
|
||||
},
|
||||
"group/stats": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"custom/cpugov",
|
||||
"cpu",
|
||||
"memory",
|
||||
"custom/gpu-usage"
|
||||
],
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"transition-left-to-right": false
|
||||
}
|
||||
},
|
||||
"group/sound": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio/slider"
|
||||
],
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"transition-left-to-right": true
|
||||
}
|
||||
},
|
||||
"group/sys": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"custom/power",
|
||||
"clock"
|
||||
]
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": " {ifname}",
|
||||
"format-disconnected": " Offline",
|
||||
"tooltip-format": " {ifname} via {gwaddr}",
|
||||
"tooltip-format-wifi": " WiFi {essid} ({signalStrength}%)",
|
||||
"tooltip-format-ethernet": " {ifname}",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"on-click": "nm-connection-editor",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"max-length": 5
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 15,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "<b>{:%d.%m.%Y %H:%M}</b>",
|
||||
"format": "<b>{:%d.%m. %H:%M}</b>",
|
||||
"timezone": "DE",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#b4befe'><b>{}</b></span>",
|
||||
"days": "<span color='#bac2de'><b>{}</b></span>",
|
||||
"weeks": "<span color='#f5e0dc'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#f9e2af'><b>{}</b></span>",
|
||||
"today": "<span color='#f38ba8'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down",
|
||||
"on-click-middle": "alarm-clock-applet"
|
||||
}
|
||||
// "on-click": "evolution"
|
||||
},
|
||||
"user": {
|
||||
"format": "{user}",
|
||||
"interval": 240,
|
||||
"icon": false,
|
||||
"height": 16,
|
||||
"width": 16,
|
||||
"open-on-click": false
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{format_source} {icon} <small>{volume}%</small>",
|
||||
"format-bluetooth": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth-muted": "{icon} {format_source}",
|
||||
"format-muted": "{icon} <b>0</b>%",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
},
|
||||
"on-click": "moonarch-sink-switcher &",
|
||||
"on-click-right": "pavucontrol",
|
||||
"scroll-step": 5.0,
|
||||
"max-volume": 99
|
||||
},
|
||||
"pulseaudio/slider": {
|
||||
"min": 0,
|
||||
"max": 99,
|
||||
"orientation": "horizontal"
|
||||
},
|
||||
"mpris": {
|
||||
"format": "⏸ {title:.10}",
|
||||
"format-paused": "▶ {player}",
|
||||
"player-icons": {
|
||||
"default": "⏸",
|
||||
"mpv": "🎵",
|
||||
"spotify": "",
|
||||
"firefox": "",
|
||||
"mercury": ""
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "⏸"
|
||||
}
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"menu": "on-click",
|
||||
"menu-file": "~/.config/waybar/session_menu.xml",
|
||||
"menu-actions": {
|
||||
"lock": "gtklock",
|
||||
"logout": "niri msg action quit",
|
||||
"hibernate": "systemctl hibernate",
|
||||
"reboot": "systemctl reboot",
|
||||
"suspend": "systemctl suspend",
|
||||
"shutdown": "systemctl poweroff"
|
||||
}
|
||||
},
|
||||
"gamemode": {
|
||||
"format": "{glyph}<small>{count}</small>",
|
||||
"format-alt": "{glyph}",
|
||||
"glyph": "",
|
||||
"hide-not-running": true,
|
||||
"use-icon": true,
|
||||
"icon-name": "input-gaming-symbolic",
|
||||
"icon-spacing": 1,
|
||||
"icon-size": 12,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Games running: {count}"
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"markup": true,
|
||||
"format": "{icon}",
|
||||
"icon-size": 16,
|
||||
"tooltip-format": "{title:.100}",
|
||||
// "sort-by-app-id": true,
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"on-right-middle": "minimize-raise",
|
||||
"ignore-list": ["title<>"],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
},
|
||||
"rewrite": {
|
||||
"Mozilla Firefox": "Firefox",
|
||||
"firefox": "Firefox",
|
||||
"VSCodium": "Code",
|
||||
"codium": "Code",
|
||||
"Alacritty": "Terminal",
|
||||
},
|
||||
"squash-list": [
|
||||
"firefox"
|
||||
]
|
||||
},
|
||||
"custom/updates": {
|
||||
"format": "{icon}",
|
||||
"return-type": "json",
|
||||
"format-icons": {
|
||||
"has-updates": "",
|
||||
"updated": ""
|
||||
},
|
||||
"exec-if": "which waybar-module-pacman-updates",
|
||||
"exec": "waybar-module-pacman-updates",
|
||||
"on-click": "alacritty paru"
|
||||
},
|
||||
"custom/dnd": {
|
||||
"format": " {} ",
|
||||
"exec": "moonarch-dnd",
|
||||
"return-type": "json",
|
||||
"on-click": "dunstctl set-paused toggle",
|
||||
"restart-interval": 1,
|
||||
},
|
||||
"custom/notification": {
|
||||
"tooltip": false,
|
||||
"format": "{icon} {}",
|
||||
"format-icons": {
|
||||
"notification": "",
|
||||
"none": "",
|
||||
"dnd-notification": "",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sh -c 'sleep 0.1s; swaync-client -t -sw; sleep 0.1s'",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true
|
||||
},
|
||||
"cava": {
|
||||
// "cava_config": "$XDG_CONFIG_HOME/cava/cava.conf",
|
||||
"framerate": 30,
|
||||
"autosens": 1,
|
||||
//"sensitivity": 50,
|
||||
"bars": 2,
|
||||
"lower_cutoff_freq": 50,
|
||||
"higher_cutoff_freq": 10000,
|
||||
"method": "pipewire",
|
||||
"source": "auto",
|
||||
"stereo": true,
|
||||
"reverse": false,
|
||||
"bar_delimiter": 0,
|
||||
"monstercat": true,
|
||||
"hide_on_silence": true,
|
||||
"waves": true,
|
||||
"noise_reduction": 0.77,
|
||||
"input_delay": 2,
|
||||
"sleep_timer": 5,
|
||||
"format-icons": [
|
||||
"▁",
|
||||
"▂",
|
||||
"▃",
|
||||
"▄",
|
||||
"▅",
|
||||
"▆",
|
||||
"▇",
|
||||
"█"
|
||||
],
|
||||
"actions": {
|
||||
"on-click-right": "mode"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": "CPU {icon}",
|
||||
"max-length": 10,
|
||||
"format-icons": [
|
||||
"<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>",
|
||||
"<span color='#2aa9ff' size='8pt' rise='1.5pt'>▂</span>",
|
||||
"<span color='#f8f8f2' size='8pt' rise='1.5pt'>▃</span>",
|
||||
"<span color='#f8f8f2' size='8pt' rise='1.5pt'>▄</span>",
|
||||
"<span color='#ffffa5' size='8pt' rise='1.5pt'>▅</span>",
|
||||
"<span color='#ffffa5' size='8pt' rise='1.5pt'>▆</span>",
|
||||
"<span color='#ff9977' size='8pt' rise='1.5pt'>▇</span>",
|
||||
"<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": "MEM {icon}",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"format-icons": [
|
||||
"<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>",
|
||||
"<span color='#2aa9ff' size='8pt' rise='1.5pt'>▂</span>",
|
||||
"<span color='#f8f8f2' size='8pt' rise='1.5pt'>▃</span>",
|
||||
"<span color='#f8f8f2' size='8pt' rise='1.5pt'>▄</span>",
|
||||
"<span color='#ffffa5' size='8pt' rise='1.5pt'>▅</span>",
|
||||
"<span color='#ffffa5' size='8pt' rise='1.5pt'>▆</span>",
|
||||
"<span color='#ff9977' size='8pt' rise='1.5pt'>▇</span>",
|
||||
"<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
|
||||
]
|
||||
},
|
||||
"custom/cpugov": {
|
||||
"exec": "moonarch-waybar-cpugov",
|
||||
"return-type": "json",
|
||||
"restart-interval": 10,
|
||||
"on-click": "moonarch-cpugov"
|
||||
},
|
||||
"custom/gpu-usage": {
|
||||
"exec": "moonarch-waybar-gpustat",
|
||||
"return-type": "json",
|
||||
"restart-interval": 10
|
||||
},
|
||||
"battery": {
|
||||
"interval": 60,
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"max-length": 25
|
||||
},
|
||||
"bluetooth": {
|
||||
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
|
||||
"format": " {status}",
|
||||
"format-disabled": "", // an empty format will hide the module
|
||||
"format-connected": "<small>{num_connections}</small>",
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}\t{device_battery_percentage}%",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||
"on-click": "blueberry"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"tooltip-format-activated": " No Lockscreen on idle",
|
||||
"tooltip-format-deactivated": " Lockscreen on idle"
|
||||
},
|
||||
"custom/vpn": {
|
||||
"format": "",
|
||||
"exec": "echo '{\"class\": \"connected\", \"tooltip\": \"VPN Connected\"}'",
|
||||
"exec-if": "test -d /proc/sys/net/ipv4/conf/tun0",
|
||||
"return-type": "json",
|
||||
"interval": 5
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"privacy": {
|
||||
"icon-spacing": 4,
|
||||
"icon-size": 12,
|
||||
"transition-duration": 250,
|
||||
"modules": [
|
||||
{
|
||||
"type": "screenshare",
|
||||
"tooltip": true,
|
||||
"tooltip-icon-size": 12
|
||||
},
|
||||
{
|
||||
"type": "audio-out",
|
||||
"tooltip": true,
|
||||
"tooltip-icon-size": 12
|
||||
},
|
||||
{
|
||||
"type": "audio-in",
|
||||
"tooltip": true,
|
||||
"tooltip-icon-size": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
"niri/workspaces": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
// Named workspaces
|
||||
// (you need to configure them in niri)
|
||||
"browser": "",
|
||||
"discord": "",
|
||||
"chat": "<b></b>",
|
||||
|
||||
// Icons by state
|
||||
"active": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
"niri/window": {
|
||||
"format": "{}",
|
||||
"rewrite": {
|
||||
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||
"(.*) - zsh": "> [$1]"
|
||||
}
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"backlight/slider": {
|
||||
"min": 10,
|
||||
"max": 100,
|
||||
"orientation": "horizontal",
|
||||
"device": "intel_backlight"
|
||||
},
|
||||
"cffi/niri-workspaces-enhanced": {
|
||||
// Make sure to set the path to the install location on your system
|
||||
// "module_path": "~/.config/waybar/niri-workspaces-enhanced.so",
|
||||
"module_path": "/usr/lib/waybar/libwaybar_niri_workspaces_enhanced.so",
|
||||
// Format string for workspace labels. Available placeholders:
|
||||
// {index} - Workspace index number
|
||||
// {name} - Workspace name (might be empty)
|
||||
// {index-and-name} - Index followed by name if present (e.g., "1 Work")
|
||||
// {value} - Name if present, otherwise index
|
||||
// {separator} - ": " when icons are present, "" when empty
|
||||
// {window-icons} - Formatted icons for windows in workspace
|
||||
"format": "{window-icons}",
|
||||
// Apply separate styles to icons depending on current state
|
||||
"window-icon-format": {
|
||||
"default": "{icon}",
|
||||
"urgent": "<span foreground='red'>{icon}</span>",
|
||||
"focused": "<span foreground='blue'>{icon}</span>",
|
||||
},
|
||||
// A mapping from window app_id to icon. Note that this module does
|
||||
// case-insensitive matching of app_ids, so capitalization doesn't matter.
|
||||
"window-icons": {
|
||||
"com.mitchellh.ghostty": "",
|
||||
"darktable": "",
|
||||
"foot": "",
|
||||
"google-chrome": "",
|
||||
"spotify": "",
|
||||
"steam": "",
|
||||
},
|
||||
// If no icon is found for a window, the default is used instead
|
||||
"window-icon-default": "*",
|
||||
},
|
||||
"height": 40,
|
||||
},
|
||||
"cffi/niri-windows": {
|
||||
// path where you placed the .so file
|
||||
"module_path": "/usr/lib/waybar-niri-windows.so",
|
||||
// configure the module's behavior
|
||||
"options": {
|
||||
// set the module mode
|
||||
// "graphical" (default): draw a minimap of windows in the current workspace
|
||||
// "text": draws symbols and a focus indicator for each column (mirrors v1 behavior)
|
||||
"mode": "graphical",
|
||||
|
||||
// ======= graphical mode options =======
|
||||
// when to show floating windows
|
||||
// - "always": always show floating window view, even if there are no floating windows
|
||||
// - "auto" (default): show floating window view if there are floating windows on the current workspace
|
||||
// - "never": never show floating windows
|
||||
"show-floating": "auto",
|
||||
// pick where the floating windows be shown relative to tiled windows
|
||||
// - "left": show floating windows on the left
|
||||
// - "right" (default): show floating windows on the right
|
||||
"floating-position": "right",
|
||||
// set minimum size of windows, in pixels (default: 1, minimum: 1)
|
||||
// if this value is too large to fit all windows (e.g. in a column with many windows),
|
||||
// it will be reduced
|
||||
"minimum-size": 1,
|
||||
// set spacing between windows/columns, in pixels (default: 1, minimum: 0)
|
||||
// if this value is too large, it will be reduced
|
||||
"spacing": 1,
|
||||
// set minimum size of windows, in pixels, to draw icons for (default: 0, minimum: 0)
|
||||
// if unset or 0, icons will only be drawn for tiled windows that are the only one in their column
|
||||
// if 1+, icons will be drawn for all windows where w >= icon-minimum-size and h >= icon-minimum-size
|
||||
// icons must be set in the "rules" section below for this to have any effect
|
||||
"icon-minimum-size": 0,
|
||||
// account for borders when calculating window sizes; see note below (default: 0, minimum: 0)
|
||||
"column-borders": 0, // border on .column
|
||||
"floating-borders": 0, // border on .floating
|
||||
// trigger actions on tile click (see https://yalter.github.io/niri/niri_ipc/enum.Action.html for available actions)
|
||||
// only actions that take a single window ID are supported
|
||||
// set to an empty string to disable
|
||||
"on-tile-click": "FocusWindow", // (default: FocusWindow)
|
||||
"on-tile-middle-click": "CloseWindow", // (default: CloseWindow)
|
||||
"on-tile-right-click": "", // (default: none)
|
||||
// add CSS classes/icons to windows based on their App ID/Title (see `niri msg windows`)
|
||||
// Go regular expression syntax is supported for app-id and title (see https://pkg.go.dev/regexp/syntax)
|
||||
// rules are checked in the order they are defined - first match wins and checking stops
|
||||
// set "continue" to true to also check and apply subsequent rules even if this rule matches
|
||||
// if multiple rules with icons are applied, the first one will be used
|
||||
// *icons are not drawn for floating windows by default*; set "icon-minimum-size" to enable (see above)
|
||||
"rules": [
|
||||
// .alacritty will be added to all windows with the App ID "Alacritty"
|
||||
// will be drawn in windows that match
|
||||
{ "app-id": "Alacritty", "class": "alacritty", "icon": "" },
|
||||
// .firefox will be added to all windows with the App ID "firefox"
|
||||
// subsequent rules are also checked and applied for firefox windows
|
||||
{ "app-id": "firefox", "class": "firefox", "continue": true },
|
||||
// .youtube-music will be added to all windows that have "YouTube Music" at the end of their title
|
||||
// will be drawn in windows that match
|
||||
{ "title": "YouTube Music$", "class": "youtube-music", "icon": "" }
|
||||
],
|
||||
|
||||
// ======= text mode options =======
|
||||
// customize the symbols used to draw the columns/windows
|
||||
"symbols": {
|
||||
"unfocused": "⋅",
|
||||
"focused": "⊙",
|
||||
"unfocused-floating": "∗",
|
||||
"focused-floating": "⊛",
|
||||
// text to display when there are no windows on the current workspace
|
||||
// if this is an empty string (default), the module will be hidden when there are no windows
|
||||
"empty": ""
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
// use niri IPC action names to trigger them (see https://yalter.github.io/niri/niri_ipc/enum.Action.html for available actions)
|
||||
// any action that has no fields is supported
|
||||
"on-scroll-up": "FocusColumnLeft",
|
||||
"on-scroll-down": "FocusColumnRight"
|
||||
// in graphical mode, don't configure click actions here—they're handled by the module above
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label">Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label">Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="lock">
|
||||
<property name="label"> Lock</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="logout">
|
||||
<property name="label"> Logout</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label"> Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label"> Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label"> Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -0,0 +1,351 @@
|
||||
/* ABOUTME: Moonarch default waybar stylesheet with Catppuccin Mocha inspired styling. */
|
||||
/* ABOUTME: User overrides go in ~/.config/waybar/style.css */
|
||||
|
||||
* {
|
||||
border: none;
|
||||
font-family: "Ubuntu Nerd Font", sans-serif;
|
||||
font-size: 13px;
|
||||
color: alpha(@theme_text_color, 0.8);
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/*background: transparent;*/
|
||||
background: alpha(@theme_selected_fg_color, 0.2);
|
||||
}
|
||||
|
||||
/*-----main groups----*/
|
||||
.modules-right {
|
||||
margin: 0;
|
||||
padding-left: 5px;
|
||||
padding-right: 0;
|
||||
border-radius: 0;
|
||||
|
||||
}
|
||||
|
||||
.modules-center {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin: 0 0 0 5px;
|
||||
/* background-color:alpha(@theme_selected_bg_color, 0.15);
|
||||
background: @theme_bg_color */
|
||||
border-radius: 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/**
|
||||
## ALL MODULES
|
||||
**/
|
||||
#clock,
|
||||
#battery,
|
||||
#backlight,
|
||||
#cpu,
|
||||
#memory,
|
||||
#bluetooth,
|
||||
#temperature,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#workspaces,
|
||||
#custom-power,
|
||||
#custom-menu,
|
||||
#custom-media,
|
||||
#custom-notification,
|
||||
#custom-updates,
|
||||
#custom-pacman,
|
||||
#user,
|
||||
#cava,
|
||||
#custom-gpu-usage,
|
||||
#custom-cpugov,
|
||||
#custom-vpn.connected,
|
||||
#power-profiles-daemon,
|
||||
#privacy,
|
||||
#gamemode,
|
||||
#taskbar,
|
||||
#window {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* GROUPS
|
||||
**/
|
||||
#sys,
|
||||
#stats,
|
||||
#net,
|
||||
#sound {
|
||||
margin: 0;
|
||||
color: alpha(@theme_text_color, 0.5);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* SYS
|
||||
**/
|
||||
#sys {
|
||||
padding: 0 0px 0 10px;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#user {
|
||||
padding-left: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#custom-weather {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
|
||||
#stats .drawer-child {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
border-radius: 4px;
|
||||
padding: 0px 8px 0px 8px;
|
||||
margin: 8px 0px 8px 0px;
|
||||
background-color: alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
padding-right: 0
|
||||
}
|
||||
|
||||
/**
|
||||
* SOUND
|
||||
**/
|
||||
|
||||
#cava {
|
||||
background-color: transparent;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#pulseaudio-slider {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#pulseaudio-slider slider {
|
||||
min-height: 0px;
|
||||
min-width: 0px;
|
||||
opacity: 0;
|
||||
background-image: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background-color: @insensitive_bg_color;
|
||||
border: 1px solid alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#pulseaudio-slider trough {
|
||||
min-height: 4px;
|
||||
min-width: 80px;
|
||||
border-radius: 5px;
|
||||
background-color: alpha(@theme_selected_bg_color, 0.3);
|
||||
}
|
||||
|
||||
#pulseaudio-slider highlight {
|
||||
|
||||
min-width: 5px;
|
||||
border-radius: 5px;
|
||||
background-color: #6c7086;
|
||||
}
|
||||
|
||||
#custom-updates {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* MISC
|
||||
**/
|
||||
#mpris {
|
||||
border-radius: 0;
|
||||
margin: 8px 10px 8px 0px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* WORKSPACES
|
||||
**/
|
||||
/*#workspaces {
|
||||
padding: 0;
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0px 10px 0px 8px;
|
||||
margin: 8px 2px 8px 0px;
|
||||
outline: none;
|
||||
border-radius: 4px;
|
||||
background-color: alpha(@theme_selected_bg_color, 0.05);
|
||||
}
|
||||
|
||||
#workspaces button:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#workspaces button.empty,
|
||||
#workspaces button.active.empty {
|
||||
color: inherit;
|
||||
padding: 0px 0px 0px 8px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: transparent;
|
||||
padding: 0px 10px 0px 8px;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
background-color: alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: #cc3436;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: alpha(@theme_selected_bg_color, 0.05);
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
}*/
|
||||
|
||||
#workspaces {
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
margin: 8px 2px 8px 0px;
|
||||
padding: 0;
|
||||
outline: none;
|
||||
border-radius: 4px;
|
||||
background-color: alpha(@theme_selected_bg_color, 0.05);
|
||||
}
|
||||
|
||||
#workspaces button:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#workspaces button.empty,
|
||||
#workspaces button.active.empty {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#workspaces button.active {}
|
||||
|
||||
#workspaces button.visible {
|
||||
background-color: alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: #cc3436;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: alpha(@theme_selected_bg_color, 0.05);
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
## INDICATORS
|
||||
**/
|
||||
#pulseaudio.muted {
|
||||
color: #cc3436;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #2dcc36;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
color: #e6e600;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
color: #cc3436;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: #cc3436;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
color: alpha(@theme_selected_bg_color, 0.9);
|
||||
}
|
||||
|
||||
#indicators {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TASKBAR
|
||||
**/
|
||||
#taskbar {
|
||||
font-size: 8px;
|
||||
margin: 0 0 0 5px;
|
||||
opacity: 1;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#taskbar.empty {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
padding: 3px 10px 3px 10px;
|
||||
transition: 100ms border ease-in-out;
|
||||
border-radius: 0;
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
#taskbar button:not(:first-child) {
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
#taskbar button:first-child {}
|
||||
|
||||
#taskbar button:last-child {}
|
||||
|
||||
#taskbar button:last-child:first-child {}
|
||||
|
||||
#taskbar button.empty {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
|
||||
background-color: alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background-color: alpha(@theme_selected_bg_color, 0.05);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
menu {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
menuitem {
|
||||
border-radius: 4px;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user