From d5eab86411b326b53888fd64d548051f6ab01e94 Mon Sep 17 00:00:00 2001 From: Leafus Date: Wed, 22 Jan 2025 11:51:29 +0100 Subject: [PATCH] add more configs more configs MORE FUCKING CONFIGS --- home/private_dot_config/foot/foot.ini | 38 +++ home/private_dot_config/sway/config | 232 ++++++++++++++++++ .../sway/config.d/10-systemd-cgroups.conf | 11 + .../sway/config.d/10-systemd-session.conf | 31 +++ .../sway/config.d/11_misc_binds.conf | 1 + .../sway/config.d/11_misc_theme.conf | 5 + .../sway/config.d/90-bar.conf | 10 + .../sway/config.d/90-swayidle.conf | 30 +++ .../95-autostart-policykit-agent.conf | 8 + .../config.d/95-xdg-desktop-autostart.conf | 14 ++ .../sway/config.d/95-xdg-user-dirs.conf | 9 + home/private_dot_config/sway/environment | 20 ++ .../sway/sddm-greeter.config | 20 ++ home/private_dot_config/waybar/config.jsonc | 217 ++++++++++++++++ home/private_dot_config/waybar/style.css | 166 +++++++++++++ .../waybar/themes/mocha.css | 26 ++ 16 files changed, 838 insertions(+) create mode 100644 home/private_dot_config/foot/foot.ini create mode 100644 home/private_dot_config/sway/config create mode 100644 home/private_dot_config/sway/config.d/10-systemd-cgroups.conf create mode 100644 home/private_dot_config/sway/config.d/10-systemd-session.conf create mode 100644 home/private_dot_config/sway/config.d/11_misc_binds.conf create mode 100644 home/private_dot_config/sway/config.d/11_misc_theme.conf create mode 100644 home/private_dot_config/sway/config.d/90-bar.conf create mode 100644 home/private_dot_config/sway/config.d/90-swayidle.conf create mode 100644 home/private_dot_config/sway/config.d/95-autostart-policykit-agent.conf create mode 100644 home/private_dot_config/sway/config.d/95-xdg-desktop-autostart.conf create mode 100644 home/private_dot_config/sway/config.d/95-xdg-user-dirs.conf create mode 100644 home/private_dot_config/sway/environment create mode 100644 home/private_dot_config/sway/sddm-greeter.config create mode 100644 home/private_dot_config/waybar/config.jsonc create mode 100644 home/private_dot_config/waybar/style.css create mode 100644 home/private_dot_config/waybar/themes/mocha.css diff --git a/home/private_dot_config/foot/foot.ini b/home/private_dot_config/foot/foot.ini new file mode 100644 index 00000000..a80d14d8 --- /dev/null +++ b/home/private_dot_config/foot/foot.ini @@ -0,0 +1,38 @@ +font=CaskaydiaCove Nerd Font:size=12 + +[cursor] +color=11111b f5e0dc + +[colors] +foreground=cdd6f4 +background=1e1e2e + +regular0=45475a +regular1=f38ba8 +regular2=a6e3a1 +regular3=f9e2af +regular4=89b4fa +regular5=f5c2e7 +regular6=94e2d5 +regular7=bac2de + +bright0=585b70 +bright1=f38ba8 +bright2=a6e3a1 +bright3=f9e2af +bright4=89b4fa +bright5=f5c2e7 +bright6=94e2d5 +bright7=a6adc8 + +16=fab387 +17=f5e0dc + +selection-foreground=cdd6f4 +selection-background=414356 + +search-box-no-match=11111b f38ba8 +search-box-match=cdd6f4 313244 + +jump-labels=11111b fab387 +urls=89b4fa diff --git a/home/private_dot_config/sway/config b/home/private_dot_config/sway/config new file mode 100644 index 00000000..211096e2 --- /dev/null +++ b/home/private_dot_config/sway/config @@ -0,0 +1,232 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +# Recommends: foot +set $term foot +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +# Recommends: rofi-wayland +set $rofi_cmd rofi \ + -terminal '$term' +# Shows a combined list of the applications with desktop files and +# executables from PATH. +# TODO: add window with the next release of rofi-wayland +set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +# Requires: desktop-backgrounds-compat, swaybg +output * bg /usr/share/backgrounds/default.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# Include configs from 3 locations: +# - /usr/share/sway/config.d +# - /etc/sway/config.d +# - $XDG_CONFIG_HOME/sway/config.d ($HOME/.config/sway/config.d) +# +# If multiple directories contain the files with the same name, the later +# directory takes precedence; `$XDG_CONFIG_HOME/sway/config.d/20-swayidle.conf` +# will always be loaded instead of `/usr/share/sway/config.d/20-swayidle.conf` +# or `/etc/sway/config.d/20-swayidle.conf` +# +# This mechanism permits overriding our default configuration per-system +# (/etc) or per-user ($XDG_CONFIG_HOME) basis. Just create the file you +# want to modify/override in the higher-level directory. +# +# For example, to disable the default bar from Fedora configs, you'll need to +# $ echo -n > "$HOME/.config/sway/config.d/90-bar.conf" +# +# Note the quoting, the $() and the arguments quoting. All the parts are equally +# important to make the magic work. And if you want to learn the secret behind +# the trick, it's all in the `wordexp(3)`. +# + +output HDMI-A-1 resolution 1920x1080@75Hz position 0 0 +output DP-2 position -1920 0 + +include '$(/usr/libexec/sway/layered-include "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")' diff --git a/home/private_dot_config/sway/config.d/10-systemd-cgroups.conf b/home/private_dot_config/sway/config.d/10-systemd-cgroups.conf new file mode 100644 index 00000000..8bca8acc --- /dev/null +++ b/home/private_dot_config/sway/config.d/10-systemd-cgroups.conf @@ -0,0 +1,11 @@ +# Automatically assign a dedicated systemd scope to the GUI applications +# launched in the same cgroup as the compositor. This could be helpful for +# implementing cgroup-based resource management and would be necessary when +# `systemd-oomd` is in use. +# +# Limitations: The script is using i3ipc window:new event to detect application +# launches and would fail to detect background apps or special surfaces. +# Therefore it's recommended to supplement the script with use of systemd user +# services for such background apps. +# +exec /usr/libexec/sway-systemd/assign-cgroups.py diff --git a/home/private_dot_config/sway/config.d/10-systemd-session.conf b/home/private_dot_config/sway/config.d/10-systemd-session.conf new file mode 100644 index 00000000..96aa394d --- /dev/null +++ b/home/private_dot_config/sway/config.d/10-systemd-session.conf @@ -0,0 +1,31 @@ +# Address several issues with DBus activation and systemd user sessions +# +# 1. DBus-activated and systemd services do not share the environment with user +# login session. In order to make the applications that have GUI or interact +# with the compositor work as a systemd user service, certain variables must +# be propagated to the systemd and dbus. +# Possible (but not exhaustive) list of variables: +# - DISPLAY - for X11 applications that are started as user session services +# - WAYLAND_DISPLAY - similarly, this is needed for wayland-native services +# - I3SOCK/SWAYSOCK - allow services to talk with sway using i3 IPC protocol +# +# 2. `xdg-desktop-portal` requires XDG_CURRENT_DESKTOP to be set in order to +# select the right implementation for screenshot and screencast portals. +# With all the numerous ways to start sway, it's not possible to rely on the +# right value of the XDG_CURRENT_DESKTOP variable within the login session, +# therefore the script will ensure that it is always set to `sway`. +# +# 3. GUI applications started as a systemd service (or via xdg-autostart-generator) +# may rely on the XDG_SESSION_TYPE variable to select the backend. +# Ensure that it is always set to `wayland`. +# +# 4. The common way to autostart a systemd service along with the desktop +# environment is to add it to a `graphical-session.target`. However, systemd +# forbids starting the graphical session target directly and encourages use +# of an environment-specific target units. Therefore, the integration +# package here provides and uses `sway-session.target` which would bind to +# the `graphical-session.target`. +# +# 5. Stop the target and unset the variables when the compositor exits. +# +exec /usr/libexec/sway-systemd/session.sh diff --git a/home/private_dot_config/sway/config.d/11_misc_binds.conf b/home/private_dot_config/sway/config.d/11_misc_binds.conf new file mode 100644 index 00000000..814fe156 --- /dev/null +++ b/home/private_dot_config/sway/config.d/11_misc_binds.conf @@ -0,0 +1 @@ +bindsym Print exec 'grim -g "$(slurp)" - | wl-copy' diff --git a/home/private_dot_config/sway/config.d/11_misc_theme.conf b/home/private_dot_config/sway/config.d/11_misc_theme.conf new file mode 100644 index 00000000..0fdf75bb --- /dev/null +++ b/home/private_dot_config/sway/config.d/11_misc_theme.conf @@ -0,0 +1,5 @@ + +default_border pixel 1 +gaps inner 10 + +output * bg /home/leafus/Obrazy/kFhLzn3.jpg fill diff --git a/home/private_dot_config/sway/config.d/90-bar.conf b/home/private_dot_config/sway/config.d/90-bar.conf new file mode 100644 index 00000000..b22145ce --- /dev/null +++ b/home/private_dot_config/sway/config.d/90-bar.conf @@ -0,0 +1,10 @@ +# Status Bar: waybar +# +# Read `man 5 sway-bar` for more information about this section. +# Read `man 5 waybar` for more information about the waybar instance style and layout configuration +# +# Requires: waybar + +bar { + swaybar_command waybar +} diff --git a/home/private_dot_config/sway/config.d/90-swayidle.conf b/home/private_dot_config/sway/config.d/90-swayidle.conf new file mode 100644 index 00000000..2f371122 --- /dev/null +++ b/home/private_dot_config/sway/config.d/90-swayidle.conf @@ -0,0 +1,30 @@ +# Idle and lock configuration +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 60 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. +# The timeouts can be customized via `$lock_timeout` and `$screen_timeout` +# variables. For a predictable behavior, keep the `$screen_timeout` value +# lesser than the `$lock_timeout`. +# +# You can also lock the screen manually by running `loginctl lock-session` or +# add a binding for the command. Example: +# bindsym $mod+Shift+Escape exec loginctl lock-session +# +# Note that all swaylock customizations are handled via /etc/swaylock/config and +# can be overridden via $XDG_CONFIG_HOME/swaylock/config (~/.config/swaylock/config). +# +# Requires: swayidle +# Requires: swaylock +# Requires: /usr/bin/pkill, /usr/bin/pgrep + +exec LT="$lock_timeout" ST="$screen_timeout" LT=${LT:-300} ST=${ST:-60} && \ + swayidle -w \ + timeout $LT 'swaylock -f' \ + timeout $((LT + ST)) 'swaymsg "output * power off"' \ + resume 'swaymsg "output * power on"' \ + timeout $ST 'pgrep -xu "$USER" swaylock >/dev/null && swaymsg "output * power off"' \ + resume 'pgrep -xu "$USER" swaylock >/dev/null && swaymsg "output * power on"' \ + before-sleep 'swaylock -f' \ + lock 'swaylock -f' \ + unlock 'pkill -xu "$USER" -SIGUSR1 swaylock' diff --git a/home/private_dot_config/sway/config.d/95-autostart-policykit-agent.conf b/home/private_dot_config/sway/config.d/95-autostart-policykit-agent.conf new file mode 100644 index 00000000..10b529be --- /dev/null +++ b/home/private_dot_config/sway/config.d/95-autostart-policykit-agent.conf @@ -0,0 +1,8 @@ +# Start graphical authentication agent for PolicyKit. +# +# Certain applications may require this to request elevated privileges: +# GParted, virt-manager, anything that uses pkexec +# +# Requires: lxqt-policykit + +exec /usr/libexec/lxqt-policykit-agent diff --git a/home/private_dot_config/sway/config.d/95-xdg-desktop-autostart.conf b/home/private_dot_config/sway/config.d/95-xdg-desktop-autostart.conf new file mode 100644 index 00000000..56cc4fb4 --- /dev/null +++ b/home/private_dot_config/sway/config.d/95-xdg-desktop-autostart.conf @@ -0,0 +1,14 @@ +# Wait until a StatusNotifierItem tray implementation is available and +# process XDG autostart entries. +# +# This horror has to exist because +# +# - SNI spec mandates that if `IsStatusNotifierHostRegistered` is not set, +# the client should fall back to the Freedesktop System Tray specification +# (XEmbed). +# - There are actual implementations that take this seriously and implement +# a fallback *even if* StatusNotifierWatcher is already DBus-activated. +# - https://github.com/systemd/systemd/issues/3750 +# +exec /usr/libexec/sway-systemd/wait-sni-ready && \ + systemctl --user start sway-xdg-autostart.target diff --git a/home/private_dot_config/sway/config.d/95-xdg-user-dirs.conf b/home/private_dot_config/sway/config.d/95-xdg-user-dirs.conf new file mode 100644 index 00000000..e7d5beb8 --- /dev/null +++ b/home/private_dot_config/sway/config.d/95-xdg-user-dirs.conf @@ -0,0 +1,9 @@ +# Create or update XDG user dir configuration +# +# See also: +# - /etc/xdg/autostart/xdg-user-dirs.desktop +# - https://github.com/systemd/systemd/issues/18791 +# +# Recommends: xdg-user-dirs + +exec /usr/bin/xdg-user-dirs-update diff --git a/home/private_dot_config/sway/environment b/home/private_dot_config/sway/environment new file mode 100644 index 00000000..dc7855d4 --- /dev/null +++ b/home/private_dot_config/sway/environment @@ -0,0 +1,20 @@ +# This file is a part of Fedora configuration for Sway and will be sourced +# from /usr/bin/start-sway script for all users of the system. +# User-specific variables should be placed in $XDG_CONFIG_HOME/sway/environment +# +# vim: set ft=sh: + +## Pass extra arguments to the /usr/bin/sway executable + +#SWAY_EXTRA_ARGS="$SWAY_EXTRA_ARGS --unsupported-gpu" +#SWAY_EXTRA_ARGS="$SWAY_EXTRA_ARGS --debug" + +## Set environment variables + +# Useful variables for wlroots: +# https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/docs/env_vars.md +# +#WLR_NO_HARDWARE_CURSORS=1 + +# Application compatibility +_JAVA_AWT_WM_NONREPARENTING=1 diff --git a/home/private_dot_config/sway/sddm-greeter.config b/home/private_dot_config/sway/sddm-greeter.config new file mode 100644 index 00000000..92fc43ad --- /dev/null +++ b/home/private_dot_config/sway/sddm-greeter.config @@ -0,0 +1,20 @@ +# Sway configuration for SDDM greeter display server. +xwayland disable +swaybg_command - + +bindsym Mod4+shift+e exec swaynag \ + -t warning \ + -m 'What do you want to do?' \ + -b 'Poweroff' 'systemctl poweroff' \ + -b 'Reboot' 'systemctl reboot' + +# Disable displays on idle +exec command -v swayidle >/dev/null && swayidle -w \ + timeout 300 'swaymsg "output * power off"' \ + resume 'swaymsg "output * power on"' + +# Apply system keyboard configuration +exec /usr/libexec/sway-systemd/locale1-xkb-config + +# Show sddm-greeter as fullscreen +for_window [app_id="sddm-greeter"] fullscreen enable diff --git a/home/private_dot_config/waybar/config.jsonc b/home/private_dot_config/waybar/config.jsonc new file mode 100644 index 00000000..a1f26b2a --- /dev/null +++ b/home/private_dot_config/waybar/config.jsonc @@ -0,0 +1,217 @@ +// -*- mode: jsonc -*- +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "sway/window" + ], + //"modules-center": [ + // "sway/window" + //], + "modules-right": [ + //"idle_inhibitor", + "pulseaudio", + //"network", + //"power-profiles-daemon", + "cpu", + "memory", + //"temperature", + //"backlight", + //"sway/language", + //"battery", + "clock", + "tray" + ], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "wlr/workspaces": { + "disable-scroll": true, + "sort-by-name": true, + "format": " {icon} ", + "format-icons": { + "default": "", + }, + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["🌑", "🌘", "🌗", "🌖", "🌕"] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + } +} diff --git a/home/private_dot_config/waybar/style.css b/home/private_dot_config/waybar/style.css new file mode 100644 index 00000000..91642812 --- /dev/null +++ b/home/private_dot_config/waybar/style.css @@ -0,0 +1,166 @@ +@import "themes/mocha.css"; + +* { + font-family: 'CaskaydiaCove Nerd Font', 'Font Awesome 6 Free', 'Font Awesome 6 Brands', monospace; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0); + /*border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/ + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +#workspaces { + border-radius: 20px; + background-color: @crust; + margin: 5px; + padding: 2px; + margin-left: 1rem; +} + +#pulseaudio:hover { + background-color: #a37800; +} + +#workspaces button { + padding: 0 5px; + color: @text; + margin-left: 1px; + margin-right: 1px; + border-radius: 20px; + transition: all 300ms; +} + +#workspaces button:hover { + background: @pink; + color: @crust; + border-radius: 20px; +} + +#workspaces button.focused { + background-color: @mauve; + color: @crust; + border-radius: 20px; +} + +#workspaces button.urgent { + background-color: @red; + color: @crust; + border-radius: 20px; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, + +#window +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +.modules-right { + margin: 5px; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +label:focus { + background-color: #000000; +} + +#window { + background-color: @crust; + color: @mauve; + margin: 5px; + border-radius: 20px; + padding-left: 10px; + padding-right: 13px; +} + +#waybar.empty #window { + background: none; +} + +#tray { + background-color: @crust; + border-radius: 20px; + color: @mauve; + padding-left: 10px; + padding-right: 13px; +} + +#clock { + background-color: @crust; + border-radius: 20px; + color: @mauve; + padding-left: 10px; + padding-right: 10px; +} + +#cpu { + background-color: @crust; + border-radius: 20px; + color: @mauve; + padding-left: 10px; + padding-right: 13px; +} + +#memory { + background-color: @crust; + border-radius: 20px; + color: @mauve; + padding-left: 10px; + padding-right: 13px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#pulseaudio { + color: @mauve; + background-color: @crust; + border-radius: 20px; + padding-left: 10px; + padding-right: 13px; +} + +#network { + color: @mauve; + background-color: @crust; + border-radius: 20px; + padding-left: 10px; + padding-right: 13px; +} diff --git a/home/private_dot_config/waybar/themes/mocha.css b/home/private_dot_config/waybar/themes/mocha.css new file mode 100644 index 00000000..0eb6a826 --- /dev/null +++ b/home/private_dot_config/waybar/themes/mocha.css @@ -0,0 +1,26 @@ +@define-color rosewater #f5e0dc; +@define-color flamingo #f2cdcd; +@define-color pink #f5c2e7; +@define-color mauve #cba6f7; +@define-color red #f38ba8; +@define-color maroon #eba0ac; +@define-color peach #fab387; +@define-color yellow #f9e2af; +@define-color green #a6e3a1; +@define-color teal #94e2d5; +@define-color sky #89dceb; +@define-color sapphire #74c7ec; +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color text #cdd6f4; +@define-color subtext1 #bac2de; +@define-color subtext0 #a6adc8; +@define-color overlay2 #9399b2; +@define-color overlay1 #7f849c; +@define-color overlay0 #6c7086; +@define-color surface2 #585b70; +@define-color surface1 #45475a; +@define-color surface0 #313244; +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b;