ml4w-minimal theme

This commit is contained in:
Stephan Raabe 2024-01-24 15:22:28 +01:00
parent 0083106771
commit db06c3d43d
7 changed files with 771 additions and 0 deletions

View File

@ -6,6 +6,7 @@ Hyprland:
- nwg-look to define a custom GTK Theme
- Updated waybar starter theme
- New waybar idle-inhibator icon
- New waybar theme ml4w-minimal
Version 2.7.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.7.2

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,12 @@
# Waybar Theme Starter
Create your own Waybar Theme based on this starter theme.
- Copy the folder "~/dotfiles/waybar/themes/starter" and define a custom folder name
- Open config.sh and enter the name of your new theme
- Select the theme with the Waybar Themeswitcher with <kbd>SUPER</kbd>+<kbd>CTRL</kbd>+<kbd>T</kbd>
- Start your customization
You can enable, disable and reorder waybar modules in the config file.
Your custom theme will not be overwritten with an update of the dotfiles.

View File

@ -0,0 +1,66 @@
// __ __ _
// \ \ / /_ _ _ _| |__ __ _ _ __
// \ \ /\ / / _` | | | | '_ \ / _` | '__|
// \ V V / (_| | |_| | |_) | (_| | |
// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
// |___/
//
// by Stephan Raabe (2023)
// -----------------------------------------------------
//
{
// General Settings
// Position TOP
"layer": "top",
"margin-bottom": 0,
// Position BOTTOM
// "position": "bottom",
// "margin-top": 0,
// "margin-bottom": 14,
"layer": "top",
"margin-left": 0,
"margin-right": 0,
"spacing": 0,
// Load Modules
"include": ["~/dotfiles/waybar/themes/ml4w-minimal/modules.json"],
// Modules Left
"modules-left": [
"custom/appmenu",
"hyprland/workspaces",
"group/quicklinks"
],
// Modules Center
"modules-center": [
"hyprland/window"
],
// Modules Right
"modules-right": [
"custom/updates",
"pulseaudio",
// START BT TOOGLE
"bluetooth",
// END BT TOOGLE
"battery",
// START NETWORK TOOGLE
"network",
// END NETWORK TOOGLE
"group/hardware",
"custom/cliphist",
// START IDLE TOOGLE
"idle_inhibitor",
// END IDLE TOOGLE
// START TRAY TOOGLE
"tray",
// END TRAY TOOGLE
"custom/exit",
"clock",
"custom/ml4w-welcome"
]
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Minimal"

View File

@ -0,0 +1,326 @@
// __ __ _ _
// | \/ | ___ __| |_ _| | ___ ___
// | |\/| |/ _ \ / _` | | | | |/ _ \/ __|
// | | | | (_) | (_| | |_| | | __/\__ \
// |_| |_|\___/ \__,_|\__,_|_|\___||___/
//
//
// by Stephan Raabe (2023)
// -----------------------------------------------------
//
{
// Workspaces
"hyprland/workspaces" : {
"on-click": "activate",
"active-only": false,
"all-outputs": true,
"format": "{}",
"format-icons": {
"urgent": "",
"active": "",
"default": ""
},
"persistent-workspaces": {
"*": 5
}
},
// Taskbar
"wlr/taskbar": {
"format": "{icon}",
"icon-size": 18,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"Alacritty"
],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
},
"rewrite": {
"Firefox Web Browser": "Firefox",
"Foot Server": "Terminal"
}
},
// Hyprland Window
"hyprland/window": {
"rewrite": {
"(.*) - Brave": "$1",
"(.*) - Chromium": "$1",
"(.*) - Brave Search": "$1",
"(.*) - Outlook": "$1",
"(.*) Microsoft Teams": "$1"
},
"separate-outputs": true
},
// Cliphist
"custom/cliphist": {
"format": "",
"on-click": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh",
"on-click-right": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh d",
"on-click-middle": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh w",
"tooltip": false
},
// Updates Count
"custom/updates": {
"format": " {}",
"tooltip-format": "{}",
"escape": true,
"return-type": "json",
"exec": "~/dotfiles/scripts/updates.sh",
"restart-interval": 60,
"on-click": "alacritty -e ~/dotfiles/scripts/installupdates.sh",
"tooltip": false
},
// Wallpaper
"custom/wallpaper": {
"format": "",
"on-click": "~/dotfiles/hypr/scripts/wallpaper.sh select",
"on-click-right": "~/dotfiles/hypr/scripts/wallpaper.sh",
"tooltip": false
},
// Waybar Themes
"custom/waybarthemes": {
"format": "",
"on-click": "~/dotfiles/waybar/themeswitcher.sh",
"tooltip": false
},
// Settings
"custom/settings": {
"format": "",
"on-click": "alacritty --class dotfiles-floating -e ~/dotfiles/hypr/settings/settings.sh",
"tooltip": false
},
// Keybindings
"custom/keybindings": {
"format": "",
"on-click": "~/dotfiles/hypr/scripts/keybindings.sh",
"tooltip": false
},
// Filemanager Launcher
"custom/filemanager": {
"format": "",
"on-click": "thunar",
"tooltip": false
},
// Browser Launcher
"custom/browser": {
"format": "",
"on-click": "~/dotfiles/.settings/browser.sh",
"tooltip": false
},
// ML4W Welcome App
"custom/ml4w-welcome": {
"on-click": "~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage",
"format": " ",
"tooltip": false
},
// ChatGPT Launcher
"custom/chatgpt": {
"format": "",
"on-click": "chromium --app=https://chat.openai.com",
"tooltip": false
},
// Rofi Application Launcher
"custom/appmenu": {
"format": "",
"on-click": "rofi -show drun -replace",
"on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh",
"tooltip": false
},
// Power Menu
"custom/exit": {
"format": "",
"on-click": "wlogout",
"tooltip": false
},
// Keyboard State
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
// System tray
"tray": {
// "icon-size": 21,
"spacing": 10
},
// Clock
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
// System
"custom/system": {
"format": "",
"tooltip": false
},
// CPU
"cpu": {
"format": "/ C {usage}% ",
"on-click": "alacritty -e htop"
},
// Memory
"memory": {
"format": "/ M {}% ",
"on-click": "alacritty -e htop"
},
// Harddisc space used
"disk": {
"interval": 30,
"format": "D {percentage_used}% ",
"path": "/",
"on-click": "alacritty -e htop"
},
"hyprland/language": {
"format": "/ K {short}"
},
// Group Hardware
"group/hardware": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"children-class": "not-memory",
"transition-left-to-right": false
},
"modules": [
"custom/system",
"disk",
"cpu",
"memory",
"hyprland/language"
]
},
// Group Settings
"group/settings": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"children-class": "not-memory",
"transition-left-to-right": false
},
"modules": [
"custom/settings",
"custom/waybarthemes",
"custom/wallpaper"
]
},
// Group Quicklinks
"group/quicklinks": {
"orientation": "horizontal",
"modules": [
"custom/filemanager",
"custom/browser",
// START CHATGPT TOOGLE
"custom/chatgpt"
// END CHATGPT TOOGLE
]
},
// Network
"network": {
"format": "{ifname}",
"format-wifi": " {signalStrength}%",
"format-ethernet": " {ipaddr}",
"format-disconnected": "Not connected", //An empty format will hide the module.
"tooltip-format": " {ifname} via {gwaddri}",
"tooltip-format-wifi": " {essid} ({signalStrength}%)",
"tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})",
"tooltip-format-disconnected": "Disconnected",
"max-length": 50,
"on-click": "alacritty -e nmtui"
},
// Battery
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} {time}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": [" ", " ", " ", " ", " "]
},
// Pulseaudio
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%",
"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"
},
// Bluetooth
"bluetooth": {
"format-disabled": "",
"format-off": "",
"interval": 30,
"on-click": "blueman-manager"
},
// Other
"user": {
"format": "{user}",
"interval": 60,
"icon": false,
},
// Idle Inhibator
"idle_inhibitor": {
"format": "{icon}",
"tooltip": true,
"format-icons":{
"activated": "",
"deactivated": ""
},
"on-click-right": "swaylock"
}
}

View File

@ -0,0 +1,364 @@
/*
* __ __ _ ____ _ _
* \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
* \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
* \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
* \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
* |___/ |___/
*
* by Stephan Raabe (2023)
* -----------------------------------------------------
*/
/* -----------------------------------------------------
* Import Pywal colors
* ----------------------------------------------------- */
/* @import 'style-light.css'; */
@define-color backgroundlight #FFFFFF;
@define-color backgrounddark #FFFFFF;
@define-color workspacesbackground1 #FFFFFF;
@define-color workspacesbackground2 #CCCCCC;
@define-color bordercolor #FFFFFF;
@define-color textcolor1 #000000;
@define-color textcolor2 #000000;
@define-color textcolor3 #FFFFFF;
@define-color iconcolor #FFFFFF;
/* -----------------------------------------------------
* General
* ----------------------------------------------------- */
* {
font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
border: none;
border-radius: 0px;
}
window#waybar {
background-color: rgba(0,0,0,0.4);
border-bottom: 0px solid #ffffff;
/* color: #FFFFFF; */
transition-property: background-color;
transition-duration: .5s;
}
/* -----------------------------------------------------
* Workspaces
* ----------------------------------------------------- */
#workspaces {
margin: 3px 7px 3px 3px;
border: 0px;
font-size: 14px;
color: @textcolor1;
}
#workspaces button {
border: 0px;
margin:4px 5px 4px 0px;
padding:0px 4px 0px 4px;
color: @textcolor3;
transition: all 0.5s ease-in-out;
}
#workspaces button.active {
color: @textcolor1;
background: @workspacesbackground2;
}
#workspaces button:hover {
color: @textcolor1;
background: @workspacesbackground2;
border-radius: 15px;
}
/* -----------------------------------------------------
* Tooltips
* ----------------------------------------------------- */
tooltip {
border-radius: 10px;
background-color: @backgroundlight;
opacity:0.8;
padding:20px;
margin:0px;
}
tooltip label {
color: @textcolor2;
}
/* -----------------------------------------------------
* Window
* ----------------------------------------------------- */
#window {
margin: 0px 15px 0px 0px;
border-radius: 12px;
color:@textcolor;
font-size:14px;
font-weight:normal;
}
window#waybar.empty #window {
background-color:transparent;
}
/* -----------------------------------------------------
* Modules
* ----------------------------------------------------- */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
/* -----------------------------------------------------
* Custom Quicklinks
* ----------------------------------------------------- */
#custom-brave,
#custom-browser,
#custom-keybindings,
#custom-outlook,
#custom-filemanager,
#custom-teams,
#custom-chatgpt,
#custom-calculator,
#custom-windowsvm,
#custom-cliphist,
#custom-wallpaper,
#custom-settings,
#custom-wallpaper,
#custom-system,
#custom-waybarthemes {
margin-right: 23px;
font-size: 14px;
font-weight: bold;
color: @iconcolor;
}
#custom-waybarthemes,#custom-system {
margin-right:15px;
}
#custom-ml4w-welcome {
margin-right: 15px;
background-image: url("../assets/ml4w-icon-20.png");
background-repeat: no-repeat;
background-position: center;
padding-right: 24px;
}
/* -----------------------------------------------------
* Idle Inhibator
* ----------------------------------------------------- */
#idle_inhibitor {
margin-right: 15px;
font-size: 16px;
font-weight: bold;
color: @iconcolor;
}
#idle_inhibitor.activated {
margin-right: 15px;
font-size: 14px;
font-weight: bold;
color: #dc2f2f;
}
/* -----------------------------------------------------
* Custom Modules
* ----------------------------------------------------- */
#custom-appmenu {
font-size: 20px;
color: @textcolor;
margin: 0px 15px 0px 10px;
}
/* -----------------------------------------------------
* Custom Exit
* ----------------------------------------------------- */
#custom-exit {
margin: 0px 20px 0px 0px;
padding:0px;
font-size:16px;
color: @iconcolor;
}
/* -----------------------------------------------------
* Custom Updates
* ----------------------------------------------------- */
#custom-updates {
font-size: 14px;
color: @textcolor;
border-radius: 15px;
margin: 0px 15px 0px 0px;
}
#custom-updates.green {
}
#custom-updates.yellow {
color: #ff9a3c;
}
#custom-updates.red {
color: #dc2f2f;
}
/* -----------------------------------------------------
* Custom Youtube
* ----------------------------------------------------- */
#custom-youtube {
background-color: @backgroundlight;
font-size: 14px;
color: @textcolor2;
border-radius: 15px;
margin: 0px 15px 0px 0px;
}
/* -----------------------------------------------------
* Hardware Group
* ----------------------------------------------------- */
#disk,#memory,#cpu,#language {
margin:0px;
padding:0px;
font-size:14px;
color:@iconcolor;
}
#language {
margin-right:10px;
}
/* -----------------------------------------------------
* Clock
* ----------------------------------------------------- */
#clock {
font-size: 14px;
color: @textcolor;
margin: 0px 15px 0px 0px;
}
/* -----------------------------------------------------
* Pulseaudio
* ----------------------------------------------------- */
#pulseaudio {
font-size: 14px;
color: @textcolor;
border-radius: 15px;
margin: 0px 15px 0px 0px;
}
#pulseaudio.muted {
color: @textcolor;
}
/* -----------------------------------------------------
* Network
* ----------------------------------------------------- */
#network {
font-size: 14px;
color: @textcolor;
border-radius: 15px;
margin: 0px 15px 0px 0px;
}
#network.ethernet {
color: @textcolor;
}
#network.wifi {
color: @textcolor;
}
/* -----------------------------------------------------
* Bluetooth
* ----------------------------------------------------- */
#bluetooth, #bluetooth.on, #bluetooth.connected {
font-size: 14px;
color: @textcolor;
border-radius: 15px;
margin: 10px 15px 10px 0px;
}
#bluetooth.off {
background-color: transparent;
padding: 0px;
margin: 0px;
}
/* -----------------------------------------------------
* Battery
* ----------------------------------------------------- */
#battery {
font-size: 14px;
color: @textcolor;
border-radius: 15px;
margin: 10px 15px 10px 0px;
}
#battery.charging, #battery.plugged {
color: @textcolor;
}
@keyframes blink {
to {
background-color: @backgroundlight;
color: @textcolor2;
}
}
#battery.critical:not(.charging) {
color: #f53c3c;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* -----------------------------------------------------
* Tray
* ----------------------------------------------------- */
#tray {
background-color: #2980b9;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
/* -----------------------------------------------------
* Other
* ----------------------------------------------------- */
label:focus {
background-color: #000000;
}
#backlight {
background-color: #90b1b1;
}