Compare commits
23 Commits
e240822532
...
main
Author | SHA1 | Date | |
---|---|---|---|
a1ac6850bb | |||
bd49925080 | |||
f0739adf34 | |||
98bd7c5393 | |||
01f7b4fb8e | |||
6e647070d8 | |||
e45ea11b28 | |||
df361218f9 | |||
ac16d751ce | |||
dc3133cc94 | |||
8eb626164b | |||
bc86670611 | |||
0eb25b77a6 | |||
30b83934d1 | |||
087f199ca0 | |||
e2d9f5ab05 | |||
b0783e09e5 | |||
eb3c74373d | |||
283a649486 | |||
134a0ff79a | |||
6a4f312ec9 | |||
2f7b121bda | |||
52137e5e3b |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -20,3 +20,6 @@
|
||||
!rice-2.png
|
||||
!rice-3.png
|
||||
!btop
|
||||
!wireplumber/
|
||||
!systemd/
|
||||
fish/fish_variables
|
||||
|
24
.gitmodules
vendored
24
.gitmodules
vendored
@@ -1,12 +1,3 @@
|
||||
[submodule "waybar/catppuccin-waybar"]
|
||||
path = waybar/catppuccin-waybar
|
||||
url = https://github.com/catppuccin/waybar.git
|
||||
[submodule "hypr/catppuccin-hyprland"]
|
||||
path = hypr/catppuccin-hyprland
|
||||
url = https://github.com/catppuccin/hyprland.git
|
||||
[submodule "hypr/catppuccin-hyprlock"]
|
||||
path = hypr/catppuccin-hyprlock
|
||||
url = https://github.com/catppuccin/hyprlock.git
|
||||
[submodule "zathura/catppuccin-zathura"]
|
||||
path = zathura/catppuccin-zathura
|
||||
url = https://github.com/catppuccin/zathura.git
|
||||
@@ -16,9 +7,18 @@
|
||||
[submodule "nvim/pack/nvim/start/nvim-lspconfig"]
|
||||
path = nvim/pack/nvim/start/nvim-lspconfig
|
||||
url = https://github.com/neovim/nvim-lspconfig
|
||||
[submodule "btop/catppuccin-btop"]
|
||||
path = btop/catppuccin-btop
|
||||
url = https://github.com/catppuccin/btop.git
|
||||
[submodule "waybar/catppuccin-waybar"]
|
||||
path = waybar/catppuccin-waybar
|
||||
url = https://github.com/catppuccin/waybar.git
|
||||
[submodule "hypr/catppuccin-hyprland"]
|
||||
path = hypr/catppuccin-hyprland
|
||||
url = https://github.com/catppuccin/hyprland.git
|
||||
[submodule "hypr/catppuccin-hyprlock"]
|
||||
path = hypr/catppuccin-hyprlock
|
||||
url = https://github.com/catppuccin/hyprlock.git
|
||||
[submodule "fuzzel/catppuccin-fuzzel"]
|
||||
path = fuzzel/catppuccin-fuzzel
|
||||
url = https://github.com/catppuccin/fuzzel.git
|
||||
[submodule "btop/catppuccin-btop"]
|
||||
path = btop/catppuccin-btop
|
||||
url = https://github.com/catppuccin/btop.git
|
||||
|
@@ -1,4 +1,4 @@
|
||||
--enable-features=AcceleratedVideoDecodeLinuxGL,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE,PlatformHEVCDecoderSupport,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoEncoder
|
||||
--use-angle=vulkan
|
||||
--use-gl=angle
|
||||
--enable-features=AcceleratedVideoDecodeLinuxGL,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE,PlatformHEVCDecoderSupport,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoEncoder
|
||||
--use-angle=vulkan
|
||||
--use-gl=angle
|
||||
--ozone-platform=wayland
|
||||
|
@@ -57,7 +57,7 @@ update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu lazy"
|
||||
proc_sorting = "cpu direct"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
@@ -72,7 +72,7 @@ proc_colors = True
|
||||
proc_gradient = True
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
proc_per_core = True
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
1
btop/catppuccin-btop
Submodule
1
btop/catppuccin-btop
Submodule
Submodule btop/catppuccin-btop added at f437574b60
@@ -1,34 +0,0 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
# go
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
# python
|
||||
[*.{ini,py,py.tpl,rst}]
|
||||
indent_size = 4
|
||||
|
||||
# rust
|
||||
[*.rs]
|
||||
indent_size = 4
|
||||
|
||||
# documentation, utils
|
||||
[*.{md,mdx,diff}]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
# windows shell scripts
|
||||
[*.{cmd,bat,ps1}]
|
||||
end_of_line = crlf
|
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Catppuccin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@@ -1,62 +0,0 @@
|
||||
<h3 align="center">
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
Catppuccin for <a href="https://github.com/aristocratos/btop">Btop</a>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
</h3>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/catppuccin/btop/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/btop?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/btop/issues"><img src="https://img.shields.io/github/issues/catppuccin/btop?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/btop/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/btop?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/screenshot.webp"/>
|
||||
</p>
|
||||
|
||||
## Previews
|
||||
|
||||
<details>
|
||||
<summary>🌻 Latte</summary>
|
||||
<img src="assets/latte.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🪴 Frappé</summary>
|
||||
<img src="assets/frappe.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌺 Macchiato</summary>
|
||||
<img src="assets/macchiato.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌿 Mocha</summary>
|
||||
<img src="assets/mocha.webp"/>
|
||||
</details>
|
||||
|
||||
## Usage
|
||||
|
||||
> [!NOTE]
|
||||
> This theme is also compatible with [Bpytop](https://github.com/aristocratos/bpytop).
|
||||
|
||||
1. Download the [latest release](https://github.com/catppuccin/btop/releases/latest) of the theme.
|
||||
2. Copy the flavor(s) of your choice to `$XDG_CONFIG_HOME/btop/themes/` (or `$XDG_CONFIG_HOME/bpytop/themes/`).
|
||||
|
||||
> [!NOTE]
|
||||
> If `$XDG_CONFIG_HOME` is not set or empty, copy files to `~/.config` instead.
|
||||
|
||||
4. Launch Btop/Bpytop, press <kbd>Esc</kbd>, and select "Options".
|
||||
5. Select your flavor of choice!
|
||||
|
||||
|
||||
## 💝 Thanks to
|
||||
|
||||
- [Lokesh Krishna](https://github.com/lokesh-krishna)
|
||||
- [Kara Zajac](https://github.com/Arkwin)
|
||||
|
||||
|
||||
|
||||
<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
|
||||
<p align="center">Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
||||
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>
|
Binary file not shown.
Before Width: | Height: | Size: 74 KiB |
Binary file not shown.
Before Width: | Height: | Size: 79 KiB |
Binary file not shown.
Before Width: | Height: | Size: 76 KiB |
Binary file not shown.
Before Width: | Height: | Size: 81 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.3 MiB |
@@ -1,91 +0,0 @@
|
||||
---
|
||||
whiskers:
|
||||
version: 2.0.0
|
||||
matrix:
|
||||
- flavor
|
||||
filename: "themes/catppuccin_{{ flavor.identifier }}.theme"
|
||||
---
|
||||
{%- set palette = flavor.colors -%}
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#{{ palette.base.hex }}"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#{{ palette.text.hex }}"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#{{ palette.text.hex }}"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#{{ palette.blue.hex }}"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#{{ palette.surface1.hex }}"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#{{ palette.blue.hex }}"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#{{ palette.overlay1.hex }}"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#{{ palette.rosewater.hex }}"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#{{ palette.surface1.hex }}"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#{{ palette.rosewater.hex }}"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#{{ palette.mauve.hex }}" #Mauve
|
||||
theme[mem_box]="#{{ palette.green.hex }}" #Green
|
||||
theme[net_box]="#{{ palette.maroon.hex }}" #Maroon
|
||||
theme[proc_box]="#{{ palette.blue.hex }}" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#{{ palette.overlay0.hex }}"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#{{ palette.green.hex }}"
|
||||
theme[temp_mid]="#{{ palette.yellow.hex }}"
|
||||
theme[temp_end]="#{{ palette.red.hex }}"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#{{ palette.teal.hex }}"
|
||||
theme[cpu_mid]="#{{ palette.sapphire.hex }}"
|
||||
theme[cpu_end]="#{{ palette.lavender.hex }}"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#{{ palette.mauve.hex }}"
|
||||
theme[free_mid]="#{{ palette.lavender.hex }}"
|
||||
theme[free_end]="#{{ palette.blue.hex }}"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#{{ palette.sapphire.hex }}"
|
||||
theme[cached_mid]="#{{ palette.blue.hex }}"
|
||||
theme[cached_end]="#{{ palette.lavender.hex }}"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#{{ palette.peach.hex }}"
|
||||
theme[available_mid]="#{{ palette.maroon.hex }}"
|
||||
theme[available_end]="#{{ palette.red.hex }}"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#{{ palette.green.hex }}"
|
||||
theme[used_mid]="#{{ palette.teal.hex }}"
|
||||
theme[used_end]="#{{ palette.sky.hex }}"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#{{ palette.peach.hex }}"
|
||||
theme[download_mid]="#{{ palette.maroon.hex }}"
|
||||
theme[download_end]="#{{ palette.red.hex }}"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#{{ palette.green.hex }}"
|
||||
theme[upload_mid]="#{{ palette.teal.hex }}"
|
||||
theme[upload_end]="#{{ palette.sky.hex }}"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#{{ palette.sapphire.hex }}"
|
||||
theme[process_mid]="#{{ palette.lavender.hex }}"
|
||||
theme[process_end]="#{{ palette.mauve.hex }}"
|
@@ -1,5 +0,0 @@
|
||||
_default:
|
||||
@just --list
|
||||
|
||||
build:
|
||||
whiskers btop.tera
|
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"local>catppuccin/renovate-config"
|
||||
]
|
||||
}
|
@@ -1,83 +0,0 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#303446"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#c6d0f5"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#c6d0f5"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#8caaee"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#51576d"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#8caaee"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#838ba7"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#f2d5cf"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#51576d"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#f2d5cf"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#ca9ee6" #Mauve
|
||||
theme[mem_box]="#a6d189" #Green
|
||||
theme[net_box]="#ea999c" #Maroon
|
||||
theme[proc_box]="#8caaee" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#737994"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#a6d189"
|
||||
theme[temp_mid]="#e5c890"
|
||||
theme[temp_end]="#e78284"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#81c8be"
|
||||
theme[cpu_mid]="#85c1dc"
|
||||
theme[cpu_end]="#babbf1"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#ca9ee6"
|
||||
theme[free_mid]="#babbf1"
|
||||
theme[free_end]="#8caaee"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#85c1dc"
|
||||
theme[cached_mid]="#8caaee"
|
||||
theme[cached_end]="#babbf1"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#ef9f76"
|
||||
theme[available_mid]="#ea999c"
|
||||
theme[available_end]="#e78284"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#a6d189"
|
||||
theme[used_mid]="#81c8be"
|
||||
theme[used_end]="#99d1db"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#ef9f76"
|
||||
theme[download_mid]="#ea999c"
|
||||
theme[download_end]="#e78284"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#a6d189"
|
||||
theme[upload_mid]="#81c8be"
|
||||
theme[upload_end]="#99d1db"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#85c1dc"
|
||||
theme[process_mid]="#babbf1"
|
||||
theme[process_end]="#ca9ee6"
|
@@ -1,83 +0,0 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#eff1f5"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#4c4f69"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#4c4f69"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#1e66f5"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#bcc0cc"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#1e66f5"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#8c8fa1"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#dc8a78"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#bcc0cc"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#dc8a78"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#8839ef" #Mauve
|
||||
theme[mem_box]="#40a02b" #Green
|
||||
theme[net_box]="#e64553" #Maroon
|
||||
theme[proc_box]="#1e66f5" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#9ca0b0"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#40a02b"
|
||||
theme[temp_mid]="#df8e1d"
|
||||
theme[temp_end]="#d20f39"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#179299"
|
||||
theme[cpu_mid]="#209fb5"
|
||||
theme[cpu_end]="#7287fd"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#8839ef"
|
||||
theme[free_mid]="#7287fd"
|
||||
theme[free_end]="#1e66f5"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#209fb5"
|
||||
theme[cached_mid]="#1e66f5"
|
||||
theme[cached_end]="#7287fd"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#fe640b"
|
||||
theme[available_mid]="#e64553"
|
||||
theme[available_end]="#d20f39"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#40a02b"
|
||||
theme[used_mid]="#179299"
|
||||
theme[used_end]="#04a5e5"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#fe640b"
|
||||
theme[download_mid]="#e64553"
|
||||
theme[download_end]="#d20f39"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#40a02b"
|
||||
theme[upload_mid]="#179299"
|
||||
theme[upload_end]="#04a5e5"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#209fb5"
|
||||
theme[process_mid]="#7287fd"
|
||||
theme[process_end]="#8839ef"
|
@@ -1,83 +0,0 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#24273a"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#cad3f5"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#cad3f5"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#8aadf4"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#494d64"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#8aadf4"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#8087a2"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#f4dbd6"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#494d64"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#f4dbd6"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#c6a0f6" #Mauve
|
||||
theme[mem_box]="#a6da95" #Green
|
||||
theme[net_box]="#ee99a0" #Maroon
|
||||
theme[proc_box]="#8aadf4" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6e738d"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#a6da95"
|
||||
theme[temp_mid]="#eed49f"
|
||||
theme[temp_end]="#ed8796"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#8bd5ca"
|
||||
theme[cpu_mid]="#7dc4e4"
|
||||
theme[cpu_end]="#b7bdf8"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#c6a0f6"
|
||||
theme[free_mid]="#b7bdf8"
|
||||
theme[free_end]="#8aadf4"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#7dc4e4"
|
||||
theme[cached_mid]="#8aadf4"
|
||||
theme[cached_end]="#b7bdf8"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#f5a97f"
|
||||
theme[available_mid]="#ee99a0"
|
||||
theme[available_end]="#ed8796"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#a6da95"
|
||||
theme[used_mid]="#8bd5ca"
|
||||
theme[used_end]="#91d7e3"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#f5a97f"
|
||||
theme[download_mid]="#ee99a0"
|
||||
theme[download_end]="#ed8796"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#a6da95"
|
||||
theme[upload_mid]="#8bd5ca"
|
||||
theme[upload_end]="#91d7e3"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#7dc4e4"
|
||||
theme[process_mid]="#b7bdf8"
|
||||
theme[process_end]="#c6a0f6"
|
@@ -1,83 +0,0 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#1e1e2e"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#cdd6f4"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#cdd6f4"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#89b4fa"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#45475a"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#89b4fa"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#7f849c"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#f5e0dc"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#45475a"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#f5e0dc"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#cba6f7" #Mauve
|
||||
theme[mem_box]="#a6e3a1" #Green
|
||||
theme[net_box]="#eba0ac" #Maroon
|
||||
theme[proc_box]="#89b4fa" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6c7086"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#a6e3a1"
|
||||
theme[temp_mid]="#f9e2af"
|
||||
theme[temp_end]="#f38ba8"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#94e2d5"
|
||||
theme[cpu_mid]="#74c7ec"
|
||||
theme[cpu_end]="#b4befe"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#cba6f7"
|
||||
theme[free_mid]="#b4befe"
|
||||
theme[free_end]="#89b4fa"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#74c7ec"
|
||||
theme[cached_mid]="#89b4fa"
|
||||
theme[cached_end]="#b4befe"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#fab387"
|
||||
theme[available_mid]="#eba0ac"
|
||||
theme[available_end]="#f38ba8"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#a6e3a1"
|
||||
theme[used_mid]="#94e2d5"
|
||||
theme[used_end]="#89dceb"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#fab387"
|
||||
theme[download_mid]="#eba0ac"
|
||||
theme[download_end]="#f38ba8"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#a6e3a1"
|
||||
theme[upload_mid]="#94e2d5"
|
||||
theme[upload_end]="#89dceb"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#74c7ec"
|
||||
theme[process_mid]="#b4befe"
|
||||
theme[process_end]="#cba6f7"
|
@@ -4,11 +4,6 @@ set fish_cursor_replace_one underscore blink
|
||||
set fish_cursor_visual block
|
||||
fish_vi_key_bindings
|
||||
zoxide init --cmd cd fish | source
|
||||
if not pgrep --full ssh-agent | string collect > /dev/null
|
||||
eval (ssh-agent -c)
|
||||
set -Ux SSH_AGENT_PID $SSH_AGENT_PID
|
||||
set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK
|
||||
end
|
||||
if uwsm check may-start && uwsm select
|
||||
exec uwsm start default
|
||||
end
|
||||
|
@@ -5,8 +5,8 @@ SETUVAR DATABASE_URL:sqlite\x3adatabase\x2esqlite
|
||||
SETUVAR GLFW_IM_MODULE:ibus
|
||||
SETUVAR MANPAGER:sh\x20\x2dc\x20\x27col\x20\x2dbx\x20\x7c\x20bat\x20\x2dl\x20man\x20\x2dp\x27
|
||||
SETUVAR RUST_LOG:debug
|
||||
SETUVAR --export SSH_AGENT_PID:36174
|
||||
SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXVGqONj/agent\x2e36173
|
||||
SETUVAR --export SSH_AGENT_PID:967
|
||||
SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXX7Ck8nI/agent\x2e966
|
||||
SETUVAR SXHKD_SHELL:/usr/bin/bash
|
||||
SETUVAR ZO_CMD:zo
|
||||
SETUVAR Z_CMD:z
|
||||
|
3
fish/functions/convert_discord.fish
Normal file
3
fish/functions/convert_discord.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function convert_discord --wraps='ffmpeg -i <source> -s 1280x720 <source>-discord.mp4' --description 'alias convert_discord=ffmpeg -i <source> -s 1280x720 <source>-discord.mp4'
|
||||
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i $argv[1] -s 1280x720 (string split -r -m1 . $argv[1])[1]-discord.mp4;
|
||||
end
|
@@ -1,5 +1,13 @@
|
||||
include=~/.config/fuzzel/catppuccin-fuzzel/themes/catppuccin-mocha/mauve.ini
|
||||
|
||||
[main]
|
||||
font=FiraCode Nerd Font:size=12
|
||||
font=FiraCode Nerd Font:size=14
|
||||
terminal=alacritty
|
||||
dpi-aware=no
|
||||
prompt="> "
|
||||
icon-theme=Papirus-Dark
|
||||
show-actions=yes
|
||||
|
||||
[border]
|
||||
radius=4
|
||||
width=2
|
||||
|
@@ -1,5 +1,6 @@
|
||||
|
||||
# narls hyprland dotfiles
|
||||
source = ~/.config/hypr/modules/plugins.conf
|
||||
|
||||
source = ~/.config/hypr/modules/monitors.conf
|
||||
|
||||
@@ -16,3 +17,4 @@ source = ~/.config/hypr/modules/input.conf
|
||||
source = ~/.config/hypr/modules/keybinds.conf
|
||||
|
||||
source = ~/.config/hypr/modules/window_rules.conf
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# preload = ~/Pictures/red_moon/red_moon-latte.jpg
|
||||
preload = ~/Pictures/wallpapers/rem-latte.jpg
|
||||
preload = ~/Pictures/wallpapers/rem.jpg
|
||||
# wallpaper = ,~/Pictures/red_moon/red_moon-latte.jpg
|
||||
wallpaper = ,~/Pictures/wallpapers/rem-latte.jpg
|
||||
wallpaper = ,~/Pictures/wallpapers/rem.jpg
|
||||
|
@@ -3,9 +3,13 @@
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = uwsm app -- waybar
|
||||
exec-once = uwsm app -- nm-applet
|
||||
# exec-once = uwsm app -- nextcloud --background
|
||||
exec-once = uwsm app -- rclone mount google_drive: ~/gdrive
|
||||
exec-once = uwsm app -- nm-applet --indicator
|
||||
# exec-once = uwsm app -- rclone mount google_drive: ~/gdrive
|
||||
exec-once = uwsm app -- protonvpn-app
|
||||
exec-once = uwsm app -- hyprpaper
|
||||
exec-once = uwsm app -- sh -c "/usr/bin/discord discord --enable-features=UseOzonePlatform --ozone-platform=wayland --start-minimized &> /dev/null"
|
||||
# exec-once = uwsm app -- /usr/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland --start-minimized &> /dev/null
|
||||
exec-once = sleep 5 && ~/.config/hypr/scripts/replay-ctrl.sh start
|
||||
# exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-hyprland
|
||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
||||
|
@@ -11,3 +11,4 @@ env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
env = LIBVA_DRIVER_NAME,radeonsi
|
||||
env = VDPAU_DRIVER,radeonsi
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||
|
@@ -1,7 +1,13 @@
|
||||
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
bind = , PRINT, exec, gscreenshot -c -s
|
||||
bindr = ALT, m, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
|
||||
bind = , PRINT, exec, grim -g "$(slurp)" - | wl-copy
|
||||
bindr = ALT SHIFT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh save
|
||||
bindr = ALT, z, exec, ~/.config/hypr/scripts/replay-ctrl.sh toggle
|
||||
bindr = ALT SHIFT, c, exec, ~/.config/hypr/scripts/droidcam-ctrl.sh toggle
|
||||
|
||||
# general binds
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod SHIFT, Q, killactive,
|
||||
bind = $mainMod CTRL, L, exec, hyprlock
|
||||
@@ -9,7 +15,7 @@ bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, SPACE, exec, $menu
|
||||
bind = $mainMod, P, exec, ~/.config/hypr/scripts/powermenu.sh &
|
||||
bind = $mainMod, P, exec, ~/.config/hypr/scripts/powermenu.sh
|
||||
bind = $mainMod, t, togglesplit, # dwindle
|
||||
bind = $mainMod, n, togglegroup
|
||||
|
||||
|
@@ -1,6 +1,5 @@
|
||||
|
||||
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@240, 0x0, 1, bitdepth, 10, cm, wide
|
||||
monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@240, 0x0, 1, bitdepth, 10
|
||||
monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@240, 0x0, 1
|
||||
# monitorv2 {
|
||||
# desc = Samsung Electric Company LC27G7xT H4ZRA00734
|
||||
# mode = 2560x1440@240
|
||||
|
38
hypr/modules/plugins.conf
Normal file
38
hypr/modules/plugins.conf
Normal file
@@ -0,0 +1,38 @@
|
||||
exec-once = hyprpm reload -n
|
||||
|
||||
# plugin:hyprfocus {
|
||||
# enabled = yes
|
||||
# animate_floating = yes
|
||||
# animate_workspacechange = yes
|
||||
# focus_animation = shrink
|
||||
# # Beziers for focus animations
|
||||
# bezier = bezIn, 0.5,0.0,1.0,0.5
|
||||
# bezier = bezOut, 0.0,0.5,0.5,1.0
|
||||
# bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
# bezier = smoothOut, 0.36, 0, 0.66, -0.56
|
||||
# bezier = smoothIn, 0.25, 1, 0.5, 1
|
||||
# bezier = realsmooth, 0.28,0.29,.69,1.08
|
||||
# # Flash settings
|
||||
# flash {
|
||||
# flash_opacity = 0.95
|
||||
# in_bezier = realsmooth
|
||||
# in_speed = 0.5
|
||||
# out_bezier = realsmooth
|
||||
# out_speed = 3
|
||||
# }
|
||||
# # Shrink settings
|
||||
# shrink {
|
||||
# shrink_percentage = 0.95
|
||||
# in_bezier = realsmooth
|
||||
# in_speed = 1
|
||||
# out_bezier = realsmooth
|
||||
# out_speed = 2
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# plugin:csgo-vulkan-fix {
|
||||
# res_w = 1280
|
||||
# res_h = 960
|
||||
# class = gamescope
|
||||
# fix_mouse = true
|
||||
# }
|
@@ -13,7 +13,7 @@ general {
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
# col.active_border = rgba(cba6f7ee) rgba(f38ba8ee) 45deg
|
||||
col.active_border = rgb($mauveAlpha) rgb($tealAlpha) 30deg
|
||||
col.active_border = rgb($mauveAlpha) rgb($blueAlpha) 30deg
|
||||
col.inactive_border = rgb($surface2Alpha)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
|
@@ -11,56 +11,76 @@ windowrulev2=noblur,class:^()$,title:^()$
|
||||
|
||||
|
||||
# games for tearing add the immediate rule
|
||||
windowrule = immediate, class:^(cs2)$
|
||||
windowrule = immediate, class:^(gamescope)$
|
||||
|
||||
# Float Windows
|
||||
windowrule=float,title:^(Open File)$
|
||||
windowrule=float,title:^(Select a File)$
|
||||
windowrule=float,title:^(Choose a file)$
|
||||
windowrule=float,title:^(Save As)$
|
||||
windowrule=float,title:^(Save File)$
|
||||
windowrule=float,title:^(branchdialog)$
|
||||
windowrule=float,title:^(pinentry-gtk-2)$
|
||||
windowrule=float,title:^(Confirm to replace files)$
|
||||
windowrule=float,title:^(File Operation Progress)$
|
||||
windowrule=float,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrulev2=float,title:^(Open File)$
|
||||
windowrulev2=float,title:^(Select a File)$
|
||||
windowrulev2=float,title:^(Select Folder)$
|
||||
windowrulev2=float,title:^(Choose a file)$
|
||||
windowrulev2=float,title:^(Save As)$
|
||||
windowrulev2=float,title:^(Save File)$
|
||||
windowrulev2=float,title:^(branchdialog)$
|
||||
windowrulev2=float,title:^(pinentry-gtk-2)$
|
||||
windowrulev2=float,title:^(Confirm to replace files)$
|
||||
windowrulev2=float,title:^(File Operation Progress)$
|
||||
windowrulev2=float,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
|
||||
# Center and Resize Windows
|
||||
windowrule=size 800 600,title:^(Open File)$
|
||||
windowrule=size 800 600,title:^(Select a File)$
|
||||
windowrule=size 800 600,title:^(Choose a file)$
|
||||
windowrule=size 800 600,title:^(Save As)$
|
||||
windowrule=size 800 600,title:^(Save File)$
|
||||
windowrule=size 800 600,title:^(branchdialog)$
|
||||
windowrule=size 800 600,title:^(pinentry-gtk-2)$
|
||||
windowrule=size 800 600,title:^(Confirm to replace files)$
|
||||
windowrule=size 800 600,title:^(File Operation Progress)$
|
||||
windowrule=size 800 600,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrule=center,title:^(Open File)$
|
||||
windowrule=center,title:^(Select a File)$
|
||||
windowrule=center,title:^(Choose a file)$
|
||||
windowrule=center,title:^(Save As)$
|
||||
windowrule=center,title:^(Save File)$
|
||||
windowrule=center,title:^(branchdialog)$
|
||||
windowrule=center,title:^(pinentry-gtk-2)$
|
||||
windowrule=center,title:^(Confirm to replace files)$
|
||||
windowrule=center,title:^(File Operation Progress)$
|
||||
windowrule=center,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrule=noblur,title:^(Open File)$
|
||||
windowrule=noblur,title:^(Select a File)$
|
||||
windowrule=noblur,title:^(Choose a file)$
|
||||
windowrule=noblur,title:^(Save As)$
|
||||
windowrule=noblur,title:^(Save File)$
|
||||
windowrule=noblur,title:^(branchdialog)$
|
||||
windowrule=noblur,title:^(pinentry-gtk-2)$
|
||||
windowrule=noblur,title:^(Confirm to replace files)$
|
||||
windowrule=noblur,title:^(File Operation Progress)$
|
||||
windowrule=noblur,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrulev2=size 800 600,title:^(Open File)$
|
||||
windowrulev2=size 800 600,title:^(Select a File)$
|
||||
windowrulev2=size 800 600,title:^(Choose a file)$
|
||||
windowrulev2=size 800 600,title:^(Save As)$
|
||||
windowrulev2=size 800 600,title:^(Save File)$
|
||||
windowrulev2=size 800 600,title:^(branchdialog)$
|
||||
windowrulev2=size 800 600,title:^(pinentry-gtk-2)$
|
||||
windowrulev2=size 800 600,title:^(Confirm to replace files)$
|
||||
windowrulev2=size 800 600,title:^(File Operation Progress)$
|
||||
windowrulev2=size 800 600,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrulev2=center,title:^(Open File)$
|
||||
windowrulev2=center,title:^(Select a File)$
|
||||
windowrulev2=center,title:^(Choose a file)$
|
||||
windowrulev2=center,title:^(Save As)$
|
||||
windowrulev2=center,title:^(Save File)$
|
||||
windowrulev2=center,title:^(branchdialog)$
|
||||
windowrulev2=center,title:^(pinentry-gtk-2)$
|
||||
windowrulev2=center,title:^(Confirm to replace files)$
|
||||
windowrulev2=center,title:^(File Operation Progress)$
|
||||
windowrulev2=center,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
windowrulev2=noblur,title:^(Open File)$
|
||||
windowrulev2=noblur,title:^(Select a File)$
|
||||
windowrulev2=noblur,title:^(Choose a file)$
|
||||
windowrulev2=noblur,title:^(Save As)$
|
||||
windowrulev2=noblur,title:^(Save File)$
|
||||
windowrulev2=noblur,title:^(branchdialog)$
|
||||
windowrulev2=noblur,title:^(pinentry-gtk-2)$
|
||||
windowrulev2=noblur,title:^(Confirm to replace files)$
|
||||
windowrulev2=noblur,title:^(File Operation Progress)$
|
||||
windowrulev2=noblur,class:^(pavucontrol|blueman-manager|nm-connection-editor)$
|
||||
|
||||
# Workspace Rules
|
||||
# windowrule=workspace 1,class:^(firefox)$
|
||||
# windowrule=workspace 2,class:^(kitty)$
|
||||
# windowrule=workspace 3,class:^(Code)$
|
||||
# windowrule=workspace 4,class:^(steam)$
|
||||
# windowrule=workspace 5,class:^(discord)$
|
||||
|
||||
|
||||
windowrulev2=workspace special:magic silent,class:^(Spotify)$
|
||||
windowrulev2=workspace special:magic silent,class:^(spotify)$
|
||||
windowrulev2=workspace special:magic silent,class:^(discord|vesktop)$
|
||||
|
||||
# steam rules
|
||||
|
||||
windowrulev2=workspace 3 silent, class:^(steam)$, title:^(Steam)$
|
||||
windowrulev2=workspace 4, class:^(gamescope)$
|
||||
|
||||
# fixed sizes for different windows
|
||||
windowrulev2=size 400 800,title:^(Friends List)$ class:^(steam)$
|
||||
windowrulev2=size 1000 800,title:^(Steam Settings)$ class:^(steam)$
|
||||
windowrulev2=size 1000 800,title:^(Add Non-Steam Game)$ class:^(steam)$
|
||||
|
||||
# float windows that arent the main steam window
|
||||
windowrulev2 = float, class:^(steam)$, title:negative:^(Steam)$
|
||||
windowrulev2 = noblur, class:^(steam)$, title:negative:^(Steam)$
|
||||
# windowrulev2 = center, class:^(steam)$, title:negative:^(Steam)$
|
||||
|
||||
# allow tearing for games started with gamescope
|
||||
windowrulev2 = immediate, class:^(gamescope)$
|
||||
|
74
hypr/scripts/droidcam-ctrl.sh
Executable file
74
hypr/scripts/droidcam-ctrl.sh
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROGRAM_NAME="droidcam-cli"
|
||||
PID_FILE="/tmp/droidcam.pid"
|
||||
ANDROID_SERIAL=988e5035584a354b4430
|
||||
|
||||
start() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is already active."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is starting ..."
|
||||
|
||||
ANDROID_SERIAL=$ANDROID_SERIAL droidcam-cli -a -v -size=1920x1080 adb 4747 &> /dev/null &
|
||||
PID=$!
|
||||
sleep 1
|
||||
if ! ps -p "$PID" > /dev/null; then
|
||||
notify-send -u critical "$PROGRAM_NAME" "$PROGRAM_NAME did not start"
|
||||
exit 1
|
||||
fi
|
||||
echo "$PID" > "$PID_FILE"
|
||||
}
|
||||
|
||||
|
||||
stop() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
kill "$PID"
|
||||
rm "$PID_FILE"
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME has been stopped."
|
||||
else
|
||||
rm "$PID_FILE" # Stale PID file
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
else
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
stop
|
||||
else
|
||||
rm "$PID_FILE" # Stale PID file
|
||||
start
|
||||
fi
|
||||
else
|
||||
start
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
toggle)
|
||||
toggle
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|save}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
104
hypr/scripts/replay-ctrl.sh
Executable file
104
hypr/scripts/replay-ctrl.sh
Executable file
@@ -0,0 +1,104 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROGRAM_NAME="gpu-screen-recorder"
|
||||
PID_FILE="/tmp/gpu-screen-recorder.pid"
|
||||
|
||||
start() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is already active."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
video_path="$HOME/Videos/replay/"
|
||||
mkdir -p "$video_path"
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is starting ..."
|
||||
gpu-screen-recorder \
|
||||
-w screen \
|
||||
-f 60 \
|
||||
-a "default_input|default_output" \
|
||||
-fm vfr \
|
||||
-c mkv \
|
||||
-encoder gpu \
|
||||
-bm qp \
|
||||
-cr full \
|
||||
-tune quality \
|
||||
-k av1 \
|
||||
-q high \
|
||||
-r 120 \
|
||||
-replay-storage ram \
|
||||
-ab 320 \
|
||||
-cursor yes \
|
||||
-sc "$HOME/.config/hypr/scripts/replay-notification.sh" \
|
||||
-o "$video_path" &> /dev/null &
|
||||
echo $! > "$PID_FILE"
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
kill "$PID"
|
||||
rm "$PID_FILE"
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME has been stopped."
|
||||
else
|
||||
rm "$PID_FILE" # Stale PID file
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
else
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
stop
|
||||
else
|
||||
rm "$PID_FILE" # Stale PID file
|
||||
start
|
||||
fi
|
||||
else
|
||||
start
|
||||
fi
|
||||
}
|
||||
|
||||
save() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
pkill -SIGUSR1 -f gpu-screen-recorder
|
||||
else
|
||||
# The process is not running, but the PID file exists.
|
||||
# This can happen if the process crashed.
|
||||
# We'll remove the stale PID file.
|
||||
rm "$PID_FILE"
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
else
|
||||
notify-send -u low "$PROGRAM_NAME" "$PROGRAM_NAME is not running."
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
save)
|
||||
save
|
||||
;;
|
||||
toggle)
|
||||
toggle
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|save}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
17
hypr/scripts/replay-notification.sh
Executable file
17
hypr/scripts/replay-notification.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROGRAM_NAME="gpu-screen-recorder"
|
||||
|
||||
case "$2" in
|
||||
replay)
|
||||
notify-send -u low "$PROGRAM_NAME" "Replay saved: $1"
|
||||
;;
|
||||
regular)
|
||||
notify-send -u low "$PROGRAM_NAME" "Stream/Video saved: $1"
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {saved_file} {replay|regular}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
7
hypr/scripts/restart_xdg-desktop-portal-hyprland.sh
Executable file
7
hypr/scripts/restart_xdg-desktop-portal-hyprland.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
sleep 1
|
||||
killall -e xdg-desktop-portal-hyprland
|
||||
killall xdg-desktop-portal
|
||||
/usr/lib/xdg-desktop-portal-hyprland &
|
||||
sleep 2
|
||||
/usr/lib/xdg-desktop-portal &
|
4
hypr/scripts/start_droidcam.sh
Executable file
4
hypr/scripts/start_droidcam.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
scrcpy -d
|
||||
ANDROID_SERIAL=988e5035584a354b4430 droidcam-cli -a -v -size=1920x1080 adb 4747
|
@@ -6,6 +6,9 @@ vim.o.smartcase = true
|
||||
vim.o.ignorecase = true
|
||||
vim.o.hlsearch = false
|
||||
vim.o.signcolumn = 'yes'
|
||||
vim.o.clipboard = 'unnamedplus'
|
||||
vim.o.undofile = true
|
||||
vim.o.undodir = '/home/narl/.cache/nvim-undodir'
|
||||
|
||||
vim.g.mapleader = ','
|
||||
|
||||
@@ -26,10 +29,6 @@ add({
|
||||
source = 'williamboman/mason-lspconfig.nvim'
|
||||
})
|
||||
|
||||
add({
|
||||
source = 'mhartington/formatter.nvim'
|
||||
})
|
||||
|
||||
add({
|
||||
source = 'mfussenegger/nvim-lint'
|
||||
})
|
||||
@@ -62,10 +61,6 @@ add({
|
||||
hooks = { post_checkout = function() vim.cmd('TSUpdate') end },
|
||||
})
|
||||
|
||||
add({
|
||||
source = 'simrat39/rust-tools.nvim'
|
||||
})
|
||||
|
||||
add({
|
||||
-- Completion framework:
|
||||
source = 'hrsh7th/nvim-cmp',
|
||||
@@ -103,8 +98,8 @@ imap_expr('<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]])
|
||||
_G.cr_action = function()
|
||||
-- If there is selected item in popup, accept it with <C-y>
|
||||
if vim.fn.complete_info()['selected'] ~= -1 then return '\25' end
|
||||
-- Fall back to plain `<CR>`. You might want to customize according
|
||||
-- to other plugins. For example if 'mini.pairs' is set up, replace
|
||||
-- Fall back to plain `<CR>`. You might want to customize this
|
||||
-- according to other plugins. For example if 'mini.pairs' is set up, replace
|
||||
-- next line with `return MiniPairs.cr()`
|
||||
return '\r'
|
||||
end
|
||||
@@ -161,28 +156,6 @@ vim.lsp.config('rust_analyzer', {
|
||||
['rust-analyzer'] = {},
|
||||
},
|
||||
})
|
||||
-- local mason_registry = require("mason-registry")
|
||||
-- local cmd = {}
|
||||
-- local roslyn_package = mason_registry.get_package("roslyn")
|
||||
-- local rzls_package = mason_registry.get_package("rzls")
|
||||
-- vim.list_extend(cmd, {
|
||||
-- "dotnet",
|
||||
-- vim.fs.joinpath(roslyn_package:get_install_path(), "libexec", "Microsoft.CodeAnalysis.LanguageServer.dll"),
|
||||
-- "--stdio",
|
||||
-- "--logLevel=Information",
|
||||
-- "--extensionLogDirectory=" .. vim.fs.dirname(vim.lsp.get_log_path()),
|
||||
-- })
|
||||
--
|
||||
-- local rzls_path = vim.fs.joinpath(rzls_package:get_install_path(), "libexec")
|
||||
-- table.insert(
|
||||
-- cmd,
|
||||
-- "--razorSourceGenerator=" .. vim.fs.joinpath(rzls_path, "Microsoft.CodeAnalysis.Razor.Compiler.dll")
|
||||
-- )
|
||||
-- table.insert(
|
||||
-- cmd,
|
||||
-- "--razorDesignTimePath="
|
||||
-- .. vim.fs.joinpath(rzls_path, "Targets", "Microsoft.NET.Sdk.Razor.DesignTime.targets")
|
||||
-- )
|
||||
|
||||
require('roslyn').setup({
|
||||
config = {
|
||||
@@ -190,9 +163,6 @@ require('roslyn').setup({
|
||||
handlers = require("rzls.roslyn_handlers"),
|
||||
},
|
||||
})
|
||||
require('nvim-treesitter.configs').setup({
|
||||
highlight = { enable = true },
|
||||
})
|
||||
|
||||
require("catppuccin").setup({
|
||||
flavour = "auto", -- latte, frappe, macchiato, mocha
|
||||
@@ -289,19 +259,16 @@ vim.diagnostic.config({
|
||||
},
|
||||
})
|
||||
|
||||
vim.cmd([[
|
||||
set signcolumn=yes
|
||||
autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
|
||||
]])
|
||||
|
||||
-- setup must be called before loading
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
vim.keymap.set('n', '<leader>w', '<cmd>write<cr>', {desc = 'Save file'})
|
||||
vim.keymap.set('n', '<leader>q', '<cmd>quitall<cr>', {desc = 'Exit vim'})
|
||||
|
||||
vim.keymap.set({'n', 'x', 'o'}, 'gy', '"+y', {desc = 'Copy to clipboard'})
|
||||
vim.keymap.set({'n', 'x', 'o'}, 'gp', '"+p', {desc = 'Paste clipboard text'})
|
||||
-- Simplified clipboard mappings
|
||||
-- vim.keymap.set({'n', 'x', 'o'}, '<leader>y', '"+y', {desc = 'Copy to clipboard'})
|
||||
-- vim.keymap.set({'n', 'x'}, '<leader>p', '"+p', {desc = 'Paste from clipboard'})
|
||||
|
||||
vim.keymap.set('n', '<leader>e', '<cmd>lua MiniFiles.open()<cr>', {desc = 'File explorer'})
|
||||
vim.keymap.set('n', '<leader><space>', '<cmd>Pick buffers<cr>', {desc = 'Search open files'})
|
||||
vim.keymap.set('n', '<leader>ff', '<cmd>Pick files<cr>', {desc = 'Search all files'})
|
||||
@@ -313,20 +280,6 @@ vim.keymap.set('n', '<leader>j', '<cmd>wincmd j<cr>')
|
||||
vim.keymap.set('n', '<leader>k', '<cmd>wincmd k<cr>')
|
||||
|
||||
-- Rust
|
||||
--
|
||||
|
||||
local rt = require("rust-tools")
|
||||
|
||||
rt.setup({
|
||||
server = {
|
||||
on_attach = function(_, bufnr)
|
||||
-- Hover actions
|
||||
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
|
||||
-- Code action groups
|
||||
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
local cmp = require'cmp'
|
||||
cmp.setup({
|
||||
|
1
systemd/user/default.target.wants/gamemoded.service
Symbolic link
1
systemd/user/default.target.wants/gamemoded.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/gamemoded.service
|
1
systemd/user/default.target.wants/gcr-ssh-agent.service
Symbolic link
1
systemd/user/default.target.wants/gcr-ssh-agent.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/gcr-ssh-agent.service
|
1
systemd/user/default.target.wants/gdrive-mount.service
Symbolic link
1
systemd/user/default.target.wants/gdrive-mount.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/narl/.config/systemd/user/gdrive-mount.service
|
1
systemd/user/default.target.wants/gnome-keyring-daemon.service
Symbolic link
1
systemd/user/default.target.wants/gnome-keyring-daemon.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/gnome-keyring-daemon.service
|
1
systemd/user/default.target.wants/pipewire-pulse.service
Symbolic link
1
systemd/user/default.target.wants/pipewire-pulse.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire-pulse.service
|
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire.service
|
24
systemd/user/gdrive-mount.service
Normal file
24
systemd/user/gdrive-mount.service
Normal file
@@ -0,0 +1,24 @@
|
||||
# ~/.config/systemd/user/rclone-mount.service
|
||||
|
||||
[Unit]
|
||||
Description=Rclone Mount for google drive
|
||||
# This ensures your network is ready before it tries to mount
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
# The command to start the mount.
|
||||
# Replace "my-remote:" and "/path/to/local/mount" accordingly.
|
||||
# The flags below are highly recommended for a good experience.
|
||||
ExecStart=rclone mount google_drive: %h/gdrive \
|
||||
--vfs-cache-mode writes \
|
||||
--log-file /tmp/rclone.log \
|
||||
--log-level INFO
|
||||
|
||||
# The command to unmount gracefully.
|
||||
ExecStop=fusermount -u %h/gdrive
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
# This tells systemd to start the service at user login.
|
||||
WantedBy=default.target
|
1
systemd/user/graphical-session.target.wants/hyprpaper.service
Symbolic link
1
systemd/user/graphical-session.target.wants/hyprpaper.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/hyprpaper.service
|
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/hyprpolkitagent.service
|
1
systemd/user/graphical-session.target.wants/openrgb.service
Symbolic link
1
systemd/user/graphical-session.target.wants/openrgb.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/narl/.config/systemd/user/openrgb.service
|
1
systemd/user/graphical-session.target.wants/waybar.service
Symbolic link
1
systemd/user/graphical-session.target.wants/waybar.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/waybar.service
|
10
systemd/user/openrgb.service
Normal file
10
systemd/user/openrgb.service
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=OpenRGB Autostart
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/openrgb --profile white_static
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
1
systemd/user/pipewire-session-manager.service
Symbolic link
1
systemd/user/pipewire-session-manager.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
1
systemd/user/pulseaudio.service
Symbolic link
1
systemd/user/pulseaudio.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/dev/null
|
1
systemd/user/sockets.target.wants/gnome-keyring-daemon.socket
Symbolic link
1
systemd/user/sockets.target.wants/gnome-keyring-daemon.socket
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/gnome-keyring-daemon.socket
|
1
systemd/user/sockets.target.wants/pipewire-pulse.socket
Symbolic link
1
systemd/user/sockets.target.wants/pipewire-pulse.socket
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire-pulse.socket
|
1
systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
1
systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire.socket
|
@@ -2,22 +2,30 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 35,
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": [],
|
||||
"modules-right": ["tray",
|
||||
"wireplumber",
|
||||
"custom/audio-output",
|
||||
"custom/pixelbuds",
|
||||
"custom/anc",
|
||||
"network",
|
||||
"cpu",
|
||||
"memory",
|
||||
"clock",
|
||||
"custom/gamemode",
|
||||
"custom/power"
|
||||
"height": 36,
|
||||
"modules-left": [
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
"modules-center": [
|
||||
],
|
||||
"modules-right": [
|
||||
// "custom/bluetooth-audio",
|
||||
// "custom/pixelbuds_pro",
|
||||
"custom/mem",
|
||||
"custom/cpu",
|
||||
"custom/gpu",
|
||||
"custom/disk-root",
|
||||
"custom/disk-gdrive",
|
||||
"custom/disk-data",
|
||||
"custom/disk-games",
|
||||
// "network",
|
||||
"custom/audio-output",
|
||||
"wireplumber",
|
||||
"tray",
|
||||
"custom/gpu-screen-recorder",
|
||||
"custom/gamemode",
|
||||
"clock"
|
||||
],
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"format": "{icon}",
|
||||
"on-click": "activate"
|
||||
@@ -27,16 +35,19 @@
|
||||
"max-length": 35
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%a, %b %d}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
"format": "{:%a %d %b %H:%M}",
|
||||
"format-alt": false,
|
||||
"on-click-right": "xdg-open https://calendar.proton.me/u/0/month &> /dev/null & disown",
|
||||
"tooltip": false,
|
||||
},
|
||||
"cpu": {
|
||||
"format": "CPU: {usage}%",
|
||||
"tooltip": true
|
||||
"tooltip": true,
|
||||
"interval": 1
|
||||
},
|
||||
"memory": {
|
||||
"format": "MEM: {}%"
|
||||
"format": "MEM: {used}/{total}GB",
|
||||
"interval": 3
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": "{essid} ({signalStrength}%): {ipaddr}",
|
||||
@@ -46,16 +57,26 @@
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-muted": "Muted ",
|
||||
"format-muted": "--- ",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"default": ["", ""]
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
||||
"on-click-right": "~/.config/waybar/scripts/audio.sh cycle",
|
||||
"on-click-middle": "pavucontrol",
|
||||
"scroll-step": 1
|
||||
},
|
||||
|
||||
"custom/bluetooth-audio": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/bluetooth_audio.sh",
|
||||
"interval": 3,
|
||||
"on-click": "~/.config/waybar/scripts/bluetooth_audio.sh disconnect & disown"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": " Muted",
|
||||
@@ -68,7 +89,7 @@
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
"on-click": "pavucontrol & disown"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
@@ -77,7 +98,7 @@
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/hypr/scripts/powermenu.sh"
|
||||
"on-click": "~/.config/hypr/scripts/powermenu.sh & disown"
|
||||
},
|
||||
"custom/tlp": {
|
||||
"format": "{}",
|
||||
@@ -97,30 +118,85 @@
|
||||
"format-full": "{capacity}%",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"custom/pixelbuds": {
|
||||
"custom/pixelbuds_pro": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/pixelbuds.sh",
|
||||
"exec": "~/.config/waybar/scripts/pixelbuds_pro_control.sh",
|
||||
"interval": 5,
|
||||
"on-click": "bluetoothctl disconnect B4:23:A2:09:D3:53"
|
||||
},
|
||||
"custom/anc": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/anc_control.sh",
|
||||
"interval": 5,
|
||||
"on-click": "~/.config/waybar/scripts/anc_control.sh off",
|
||||
"on-click-right": "~/.config/waybar/scripts/anc_control.sh cycle"
|
||||
"on-click": "~/.config/waybar/scripts/pixelbuds_pro_control.sh connect & disown",
|
||||
"on-click-right": "~/.config/waybar/scripts/pixelbuds_pro_control.sh cycle_anc & disown"
|
||||
},
|
||||
"custom/audio-output": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "/home/narl/.config/waybar/scripts/get_audio_output.sh",
|
||||
"on-click": "/home/narl/.config/waybar/scripts/cycle_audio_output.sh",
|
||||
"exec": "/home/narl/.config/waybar/scripts/audio.sh show",
|
||||
"on-click": "/home/narl/.config/waybar/scripts/audio.sh cycle & disown",
|
||||
"interval": 1
|
||||
},
|
||||
"custom/gamemode": {
|
||||
"format": "",
|
||||
"on-click": "~/.config/hypr/scripts/gamemode.sh"
|
||||
}
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/gamemode_status.sh",
|
||||
"on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
|
||||
"interval": 1
|
||||
},
|
||||
"custom/gpu-screen-recorder": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/gpu-screen-recorder-status.sh",
|
||||
"on-click-right": "~/.config/hypr/scripts/replay-ctrl.sh save & disown",
|
||||
"on-click-middle": "nautilus ~/Videos/replay & disown",
|
||||
"on-click": "~/.config/waybar/scripts/toggle-replay.sh & disown",
|
||||
"interval": 1
|
||||
},
|
||||
"custom/gpu": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/gpu_info.sh",
|
||||
"on-click": "lact gui & disown",
|
||||
"interval": 3
|
||||
},
|
||||
"custom/cpu": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/cpu_info.sh",
|
||||
"on-click": "zenmonitor & disown",
|
||||
"interval": 3
|
||||
},
|
||||
"custom/mem": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/memory.sh",
|
||||
"interval": 3
|
||||
},
|
||||
"custom/btrfs": {
|
||||
"format": "{}",
|
||||
"exec": "~/.config/waybar/scripts/btrfs.sh",
|
||||
"return-type": "json",
|
||||
"interval": 30
|
||||
},
|
||||
"custom/disk-root": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/disk_info.sh /",
|
||||
"interval": 30
|
||||
},
|
||||
"custom/disk-gdrive": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/disk_info.sh ~/gdrive",
|
||||
"interval": 30
|
||||
},
|
||||
"custom/disk-data": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/disk_info.sh ~/data",
|
||||
"interval": 30
|
||||
},
|
||||
"custom/disk-games": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/disk_info.sh ~/games",
|
||||
"interval": 30
|
||||
}
|
||||
}
|
||||
|
@@ -1,73 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
# Your Pixel Buds Pro's MAC Address
|
||||
MAC_ADDRESS="B4:23:A2:09:D3:53"
|
||||
# --- END CONFIGURATION ---
|
||||
|
||||
# First, check if the device is connected using bluetoothctl.
|
||||
if bluetoothctl info "$MAC_ADDRESS" | grep -q "Connected: yes"; then
|
||||
# --- DEVICE IS CONNECTED ---
|
||||
|
||||
# This function gets the current ANC status and formats it for Waybar.
|
||||
get_status() {
|
||||
# Get the mode from pbpctrl. Redirect errors to null in case of a temporary glitch.
|
||||
current_mode=$(pbpctrl get anc 2>/dev/null)
|
||||
|
||||
# Fallback: If pbpctrl fails or returns 'unknown', hide the module.
|
||||
# This handles cases where buds are connected but not fully ready.
|
||||
if [[ $? -ne 0 || "$current_mode" == "unknown (0)"* || -z "$current_mode" ]]; then
|
||||
echo "{}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Set icon and tooltip based on the current mode.
|
||||
case "$current_mode" in
|
||||
"active")
|
||||
icon="ANC: Active"
|
||||
class="anc-active"
|
||||
;;
|
||||
"aware")
|
||||
icon="ANC: Aware"
|
||||
class="anc-aware"
|
||||
;;
|
||||
"off")
|
||||
icon="ANC: Off"
|
||||
class="anc-off"
|
||||
;;
|
||||
*)
|
||||
# Failsafe to hide the module if the mode is unrecognized.
|
||||
echo "{}"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
echo "{\"text\":\"$icon\", \"class\":\"$class\"}"
|
||||
}
|
||||
|
||||
# Handle click actions passed from Waybar.
|
||||
case "$1" in
|
||||
# Right-click: Cycle between active and aware modes.
|
||||
cycle)
|
||||
current_mode=$(pbpctrl get anc 2>/dev/null)
|
||||
if [[ "$current_mode" == "active" ]]; then
|
||||
pbpctrl set anc aware
|
||||
else
|
||||
pbpctrl set anc active
|
||||
fi
|
||||
sleep 0.1 # Brief pause for the state to update.
|
||||
;;
|
||||
# Left-click: Turn ANC off.
|
||||
off)
|
||||
pbpctrl set anc off
|
||||
sleep 0.1 # Brief pause for the state to update.
|
||||
;;
|
||||
esac
|
||||
|
||||
# Always display the current status after any action or on a scheduled interval.
|
||||
get_status
|
||||
|
||||
else
|
||||
# --- DEVICE IS NOT CONNECTED ---
|
||||
# Output an empty JSON object to completely hide the Waybar module.
|
||||
echo "{}"
|
||||
fi
|
40
waybar/scripts/audio.sh
Executable file
40
waybar/scripts/audio.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
DEFAULT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
|
||||
DESCRIPTION=$(pactl list sinks | grep -A2 "Name: $DEFAULT_SINK" | grep "Description:" | cut -d ' ' -f2-)
|
||||
|
||||
|
||||
case $1 in
|
||||
cycle)
|
||||
SINKS=($(pactl list short sinks | awk '{print $2}'))
|
||||
NUM_SINKS=${#SINKS[@]}
|
||||
CURRENT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
|
||||
|
||||
for i in "${!SINKS[@]}"; do
|
||||
if [[ "${SINKS[$i]}" == "$CURRENT_SINK" ]]; then
|
||||
NEXT_INDEX=$(( (i + 1) % NUM_SINKS ))
|
||||
pactl set-default-sink "${SINKS[$NEXT_INDEX]}"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
;;
|
||||
show)
|
||||
TEXT=$(echo "$DESCRIPTION" | cut -c -20)
|
||||
if [ -z "$DESCRIPTION" ]; then
|
||||
DESCRIPTION=$DEFAULT_SINK
|
||||
fi
|
||||
CLASS=""
|
||||
case $(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}') in
|
||||
yes)
|
||||
CLASS="muted"
|
||||
;;
|
||||
no)
|
||||
CLASS="unmuted"
|
||||
;;
|
||||
esac
|
||||
|
||||
printf '{"text": "%s", "tooltip": "%s", "class": "%s"}' "$TEXT" "$DESCRIPTION" "$CLASS"
|
||||
;;
|
||||
*)
|
||||
echo "usage audio.sh {cycle|show}"
|
||||
;;
|
||||
esac
|
118
waybar/scripts/bluetooth_audio.sh
Executable file
118
waybar/scripts/bluetooth_audio.sh
Executable file
@@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
|
||||
bt-audio-info() {
|
||||
# Check if a MAC address was provided as the first argument.
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 <MAC_ADDRESS>"
|
||||
echo "Example: $0 00:11:22:33:AA:BB"
|
||||
exit 1
|
||||
fi
|
||||
MAC_ADDRESS="$1"
|
||||
|
||||
# --- Main Logic ---
|
||||
|
||||
# Construct the PipeWire sink name from the MAC address.
|
||||
# The format is typically: bluez_output.XX_XX_XX_XX_XX_XX.a2dp_sink
|
||||
# We replace colons with underscores for the format.
|
||||
SINK_IDENTIFIER="bluez_output.$(echo "$MAC_ADDRESS" | tr ':' '_')"
|
||||
|
||||
# Use pactl to get the full details for all sinks, then find the one
|
||||
# that contains our device's identifier. We use awk to print the
|
||||
# entire block of text for that specific sink.
|
||||
# We check for a partial match on the sink identifier because the profile
|
||||
# (e.g., .a2dp_sink) can change.
|
||||
sink_info=$(pactl list sinks | awk -v id="$SINK_IDENTIFIER" '/Sink #/ {p=0} $0 ~ "Name: " id {p=1} p')
|
||||
|
||||
# If sink_info is empty, the device might not be an audio sink or isn't connected.
|
||||
if [ -z "$sink_info" ]; then
|
||||
echo "Error: Could not find an active audio sink for MAC ${MAC_ADDRESS}"
|
||||
echo "Please ensure the device is connected and is an audio output device."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the full block of info for the device from bluetoothctl.
|
||||
device_info=$(bluetoothctl info "$MAC_ADDRESS")
|
||||
|
||||
# --- Parse Information ---
|
||||
|
||||
# Parse bluetoothctl output for general device details.
|
||||
alias=$(echo "$device_info" | rg "Alias:" | cut -d ' ' -f 2-)
|
||||
trusted=$(echo "$device_info" | rg "Trusted:" | awk '{print $2}')
|
||||
battery_raw=$(echo "$device_info" | rg "Battery Percentage:" | awk -F'[()]' '{print $2}')
|
||||
|
||||
# Parse pactl output for audio-specific details.
|
||||
volume=$(echo "$sink_info" | rg "Volume:" | head -n1 | awk '{print $5}')
|
||||
codec=$(echo "$sink_info" | rg -e 'bluetooth.codec|api.bluez5.codec' | awk -F'"' '{print $2}')
|
||||
|
||||
# --- Build and Display Compact Output ---
|
||||
|
||||
# Build the output string with all the information.
|
||||
output_string="${alias} | MAC: ${MAC_ADDRESS}\n"
|
||||
output_string+="Trusted: ${trusted}"
|
||||
|
||||
# Append battery info if available, otherwise show N/A.
|
||||
if [ -n "$battery_raw" ]; then
|
||||
output_string+=" | Bat: ${battery_raw}%"
|
||||
else
|
||||
output_string+=" | Bat: N/A"
|
||||
fi
|
||||
|
||||
output_string+=" | Vol: ${volume} | Codec: ${codec:-N/A}"
|
||||
|
||||
# Print the final, single-line string.
|
||||
echo "$output_string"
|
||||
}
|
||||
|
||||
# Find the MAC address of the first connected device that is an audio sink
|
||||
find_audio_device() {
|
||||
default_sink_name=$(pactl get-default-sink)
|
||||
|
||||
# Check if the default sink is a Bluetooth device. Their names typically
|
||||
# start with "bluez_output.". If not, print a message and exit.
|
||||
if [[ "$default_sink_name" == bluez_output* ]]; then
|
||||
# Extract the MAC address from the sink name.
|
||||
# The format is bluez_output.XX_XX_XX_XX_XX_XX.profile
|
||||
# We extract the middle part and replace underscores with colons.
|
||||
mac_with_underscores=$(echo "$default_sink_name" | cut -d '.' -f 2)
|
||||
mac=$(echo "$mac_with_underscores" | tr '_' ':')
|
||||
echo "$mac"
|
||||
return
|
||||
fi
|
||||
|
||||
# else look for the first bluetooth device that provides a sink
|
||||
bluetoothctl devices Connected | rg '^Device ' | awk '{print $2}' | while read -r mac;
|
||||
do
|
||||
# Check if the device provides the "Audio Sink" service
|
||||
if bluetoothctl info "$mac" | rg -q "0000110b-0000-1000-8000-00805f9b34fb"; then
|
||||
echo "$mac"
|
||||
# If you only want the first audio device found, you can 'break' or 'exit' here.
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# If the script is called with "disconnect"
|
||||
if [ "$1" == "disconnect" ]; then
|
||||
device_mac=$(find_audio_device)
|
||||
if [ -n "$device_mac" ]; then
|
||||
bluetoothctl disconnect "$device_mac"
|
||||
fi
|
||||
echo "{}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Main logic to display the device name
|
||||
device_mac=$(find_audio_device)
|
||||
|
||||
if [ -n "$device_mac" ]; then
|
||||
# Get the device alias (name)
|
||||
device_name=$(bluetoothctl info "$device_mac" | rg "Alias:" | cut -d ' ' -f 2-)
|
||||
# Output in Waybar's JSON format
|
||||
tooltip=$(bt-audio-info $device_mac)
|
||||
echo "{\"text\": \"$device_name <span size='large'></span>\", \"tooltip\": \"$tooltip\"}"
|
||||
else
|
||||
# Output empty string when no device is connected
|
||||
echo "{}"
|
||||
fi
|
||||
|
||||
|
45
waybar/scripts/btrfs.sh
Executable file
45
waybar/scripts/btrfs.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get BTRFS filesystems
|
||||
btrfs_filesystems=$(df -hT | grep btrfs)
|
||||
|
||||
# Initialize variables
|
||||
total_used=0
|
||||
total_size=0
|
||||
|
||||
# Process each BTRFS filesystem
|
||||
while read -r line; do
|
||||
size_str=$(echo "$line" | awk '{print $3}')
|
||||
used_str=$(echo "$line" | awk '{print $4}')
|
||||
|
||||
size=$(echo "$size_str" | sed 's/[GT]//')
|
||||
used=$(echo "$used_str" | sed 's/[GT]//')
|
||||
|
||||
if [[ $size_str == *T ]]; then
|
||||
size=$(awk -v s="$size" 'BEGIN {print s*1024}')
|
||||
fi
|
||||
if [[ $used_str == *T ]]; then
|
||||
used=$(awk -v u="$used" 'BEGIN {print u*1024}')
|
||||
fi
|
||||
|
||||
total_size=$(awk -v total="$total_size" -v size="$size" 'BEGIN {print total+size}')
|
||||
total_used=$(awk -v total="$total_used" -v used="$used" 'BEGIN {print total+used}')
|
||||
|
||||
done <<< "$btrfs_filesystems"
|
||||
|
||||
# Calculate usage percentage
|
||||
usage_percentage=$(awk -v used="$total_used" -v total="$total_size" 'BEGIN {printf "%.0f", (used/total)*100}')
|
||||
|
||||
# Set class based on usage
|
||||
if [ "$usage_percentage" -gt 95 ]; then
|
||||
class="max"
|
||||
elif [ "$usage_percentage" -gt 80 ]; then
|
||||
class="high"
|
||||
else
|
||||
class="normal"
|
||||
fi
|
||||
|
||||
text="$(printf "%.0f" $total_used)G / $(printf "%.0f" $total_size)G"
|
||||
|
||||
# Manually construct the JSON output
|
||||
echo "{\"text\": \"$text\", \"tooltip\": \"\", \"class\": \"$class\"}"
|
22
waybar/scripts/cpu_info.sh
Executable file
22
waybar/scripts/cpu_info.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
USAGE=$(mpstat 1 1 | awk '/Average:/ {print 100 - $12}')
|
||||
TEMP=$(cat /sys/class/hwmon/hwmon3/temp1_input)
|
||||
TEXT="$(printf "%.1f" $(echo "$USAGE"))% $(printf "%.1f" $(echo "scale=2; $TEMP"/1000 | bc -l))C"
|
||||
CPU=$(lscpu | grep 'Model name' | awk -F': ' '{print $2}' | sed 's/^[ \t]*//')
|
||||
# TOOLTIP=$(ps -eo %cpu,comm --sort=-%cpu | head -n 6 | sed '1d' | awk '{output = output sprintf("%.1f%%\t%s\\n", $1, $2)} END {printf "%s", output}')
|
||||
# TOOLTIP=$(ps -eo %cpu,comm --sort=-%cpu | head -n 6 | sed '1d' | awk -v ncores=$(nproc) '{printf "%.1f%%\t%s\n", $1/ncores, $2}')
|
||||
# TOOLTIP=$(ps -eo %cpu,comm --sort=-%cpu | head -n 6 | sed '1d' | awk -v ncores=$(nproc) '{printf "%.1f%%\t%s\\n", $1/ncores, $2}')
|
||||
# TOOLTIP=$(top -b -n 1 | sed '1,7d' | head -n 5 | awk '{output = output sprintf("%.1f%%\t%s\\n", $9, $12)} END {printf "%s", output}')
|
||||
|
||||
CLASS=""
|
||||
|
||||
if (( $(echo "$USAGE > 95" | bc -l) )); then
|
||||
CLASS="max"
|
||||
elif (( $(echo "$USAGE > 75" | bc -l) )); then
|
||||
CLASS="high"
|
||||
else
|
||||
CLASS="normal"
|
||||
fi
|
||||
|
||||
# echo "{\"text\":\"CPU: $TEXT\", \"tooltip\": \"$TOOLTIP\", \"class\":\"$CLASS\"}"
|
||||
echo "{\"text\":\"CPU: $TEXT\", \"class\":\"$CLASS\"}"
|
@@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
SINKS=($(pactl list short sinks | awk '{print $2}'))
|
||||
CURRENT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
|
||||
NUM_SINKS=${#SINKS[@]}
|
||||
|
||||
for i in "${!SINKS[@]}"; do
|
||||
if [[ "${SINKS[$i]}" == "$CURRENT_SINK" ]]; then
|
||||
NEXT_INDEX=$(( (i + 1) % NUM_SINKS ))
|
||||
pactl set-default-sink "${SINKS[$NEXT_INDEX]}"
|
||||
break
|
||||
fi
|
||||
done
|
31
waybar/scripts/disk_info.sh
Executable file
31
waybar/scripts/disk_info.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 <mountpoint>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MOUNTPOINT=$1
|
||||
|
||||
# Get disk usage info
|
||||
USED=$(df -h --output=used "$MOUNTPOINT" | sed '1d' | awk '{print $1}')
|
||||
TOTAL=$(df -h --output=size "$MOUNTPOINT" | sed '1d' | awk '{print $1}')
|
||||
PERCENTAGE=$(df --output=pcent "$MOUNTPOINT" | sed '1d' | tr -d '%' | awk '{print $1}')
|
||||
|
||||
# Set class based on usage
|
||||
CLASS="normal"
|
||||
if [ "$PERCENTAGE" -gt 95 ]; then
|
||||
CLASS="max"
|
||||
elif [ "$PERCENTAGE" -gt 80 ]; then
|
||||
CLASS="high"
|
||||
fi
|
||||
|
||||
# Create tooltip with more details
|
||||
TOOLTIP=$(df -h "$MOUNTPOINT" | sed '1d' | awk '{printf "Used: %s\nTotal: %s\nFree: %s", $3, $2, $4}')
|
||||
|
||||
# Output JSON for Waybar using jq
|
||||
jq -n -c \
|
||||
--arg text "$1 $USED/$TOTAL" \
|
||||
--arg tooltip "$TOOLTIP" \
|
||||
--arg class "$CLASS" \
|
||||
'{"text": $text, "tooltip": $tooltip, "class": $class}'
|
10
waybar/scripts/gamemode_status.sh
Executable file
10
waybar/scripts/gamemode_status.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
FORMAT_ACTIVATED="<span size='large'></span>"
|
||||
FORMAT_DEACTIVATED="<span size='large'></span>"
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
printf "{\"text\": \"$FORMAT_DEACTIVATED\", \"tooltip\": \"Gamemode deactivated\"}"
|
||||
else
|
||||
printf "{\"text\": \"$FORMAT_ACTIVATED\", \"tooltip\": \"Gamemode activated\", \"class\": \"active\"}"
|
||||
fi
|
@@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
DEFAULT_SINK=$(pactl info | grep 'Default Sink' | cut -d ' ' -f3)
|
||||
DESCRIPTION=$(pactl list sinks | grep -A2 "Name: $DEFAULT_SINK" | grep "Description:" | cut -d ' ' -f2-)
|
||||
|
||||
if [ -z "$DESCRIPTION" ]; then
|
||||
DESCRIPTION=$DEFAULT_SINK
|
||||
fi
|
||||
|
||||
TEXT=$(echo "$DESCRIPTION" | cut -c -20)
|
||||
|
||||
printf '{"text": "%s", "tooltip": "%s"}
|
||||
' "$TEXT" "$DESCRIPTION"
|
20
waybar/scripts/gpu-screen-recorder-status.sh
Executable file
20
waybar/scripts/gpu-screen-recorder-status.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
PID_FILE="/tmp/gpu-screen-recorder.pid"
|
||||
FORMAT_RECORDING="<span size='large'></span>"
|
||||
FORMAT_STOPPED="<span size='large'></span>"
|
||||
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null; then
|
||||
echo "{\"text\": \"$FORMAT_RECORDING\", \"tooltip\": \"Replay running\", \"class\": \"recording\"}"
|
||||
else
|
||||
# The process is not running, but the PID file exists.
|
||||
# This can happen if the process crashed.
|
||||
# We'll remove the stale PID file.
|
||||
rm "$PID_FILE"
|
||||
echo "{\"text\": \"$FORMAT_STOPPED\", \"tooltip\": \"Replay paused\"}"
|
||||
fi
|
||||
else
|
||||
echo "{\"text\": \"$FORMAT_STOPPED\", \"tooltip\": \"Replay paused\"}"
|
||||
fi
|
22
waybar/scripts/gpu_info.sh
Executable file
22
waybar/scripts/gpu_info.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
USAGE=$(cat /sys/class/drm/card1/device/gpu_busy_percent)
|
||||
MEM_USED=$(cat /sys/class/drm/card1/device/mem_info_vram_used)
|
||||
MEM_TOTAL=$(cat /sys/class/drm/card1/device/mem_info_vram_total)
|
||||
EDGE_TEMP=$(cat /sys/class/drm/card1/device/hwmon/hwmon2/temp1_input)
|
||||
JUNC_TEMP=$(cat /sys/class/drm/card1/device/hwmon/hwmon2/temp2_input)
|
||||
MEM_TEMP=$(cat /sys/class/drm/card1/device/hwmon/hwmon2/temp3_input)
|
||||
GPU=$(/opt/rocm/bin/rocm-smi --showproductname | grep "Card Series" | awk -F':' '{print $3}' | xargs)
|
||||
TEXT="$USAGE% $(printf "%.1f" $(echo "scale=2; $MEM_USED/1024/1024/1024" | bc -l))/$(printf "%.1f" $(echo "scale=2; $MEM_TOTAL/1024/1024/1024" | bc -l))GB $(printf "%.1f" $(echo "scale=2; $EDGE_TEMP/1000" | bc -l))/$(printf "%.1f" $(echo "scale=2; $MEM_TEMP/1000" | bc -l))C"
|
||||
RATIO=$(echo "$MEM_USED/ $MEM_TOTAL" | bc -l)
|
||||
|
||||
CLASS=""
|
||||
|
||||
if (( $(echo "$USAGE > 95" | bc -l) )); then
|
||||
CLASS="max"
|
||||
elif (( $(echo "$USAGE > 75" | bc -l) )); then
|
||||
CLASS="high"
|
||||
else
|
||||
CLASS="normal"
|
||||
fi
|
||||
|
||||
echo "{\"text\":\"GPU: $TEXT\", \"tooltip\": \"$GPU\", \"class\":\"$CLASS\"}"
|
19
waybar/scripts/memory.sh
Executable file
19
waybar/scripts/memory.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
# TOOLTIP=$(ps -eo rss,comm --sort=-rss | head -n 6 | sed '1d' | awk '{output = output sprintf("%.2f GB\t%s\\n", $1/1024/1024, $2)} END {printf "%s", output}')
|
||||
TOTAL=$(awk '/MemTotal/ {printf "%.2f\n", $2/1024/1024}' /proc/meminfo)
|
||||
USED=$(awk '/MemTotal/ {total=$2} /MemAvailable/ {available=$2} END {printf "%.2f\n", (total-available)/1024/1024}' /proc/meminfo)
|
||||
RATIO=$(echo "$USED/ $TOTAL" | bc -l)
|
||||
|
||||
CLASS=""
|
||||
|
||||
if (( $(echo "$RATIO> 95" | bc -l) )); then
|
||||
CLASS="max"
|
||||
elif (( $(echo "$RATIO> 75" | bc -l) )); then
|
||||
CLASS="high"
|
||||
else
|
||||
CLASS="normal"
|
||||
fi
|
||||
|
||||
# printf '{"text": "%s/%sGB", "tooltip": "%s", "class": "%s"}' "$USED" "$TOTAL" "$TOOLTIP" "$CLASS"
|
||||
printf '{"text": "%s/%sGB", "class": "%s"}' "$USED" "$TOTAL" "$CLASS"
|
@@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
# Your Pixel Buds Pro's MAC Address
|
||||
MAC_ADDRESS="B4:23:A2:09:D3:53"
|
||||
# --- END CONFIGURATION ---
|
||||
|
||||
# Check if the device is connected using bluetoothctl.
|
||||
if bluetoothctl info "$MAC_ADDRESS" | grep -q "Connected: yes"; then
|
||||
|
||||
# If connected, get battery info from pbpctrl.
|
||||
if battery_output=$(pbpctrl show battery); then
|
||||
# Use awk to grab the third field, which is the percentage or "unknown".
|
||||
left_bud=$(echo "$battery_output" | grep "left bud:" | awk '{print $3}')
|
||||
right_bud=$(echo "$battery_output" | grep "right bud:" | awk '{print $3}')
|
||||
|
||||
# If both buds are unknown (e.g., case is closed and buds are out of range),
|
||||
# or if the command output is empty, hide the module.
|
||||
if ([[ "$left_bud" == "unknown" ]] && [[ "$right_bud" == "unknown" ]]) || \
|
||||
[[ -z "$left_bud" && -z "$right_bud" ]]; then
|
||||
echo "{}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Prepare the display string for the left bud.
|
||||
if [[ "$left_bud" == "unknown" ]]; then
|
||||
left_display="L: ---"
|
||||
else
|
||||
left_display="L: $left_bud"
|
||||
fi
|
||||
|
||||
# Prepare the display string for the right bud.
|
||||
if [[ "$right_bud" == "unknown" ]]; then
|
||||
right_display="R: ---"
|
||||
else
|
||||
right_display="R: $right_bud"
|
||||
fi
|
||||
|
||||
# Format the final output for Waybar as JSON.
|
||||
printf '{"text": "%s | %s", "tooltip": "Pixel Buds Pro 2", "class": "connected"}\n' "$left_display" "$right_display"
|
||||
|
||||
else
|
||||
# pbpctrl failed to run, so hide the module.
|
||||
echo "{}"
|
||||
fi
|
||||
else
|
||||
# Not connected, output an empty JSON object to hide the module.
|
||||
echo "{}"
|
||||
fi
|
126
waybar/scripts/pixelbuds_pro_control.sh
Executable file
126
waybar/scripts/pixelbuds_pro_control.sh
Executable file
@@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
# Your Pixel Buds Pro's MAC Address
|
||||
MAC_ADDRESS="B4:23:A2:09:D3:53"
|
||||
# --- END CONFIGURATION ---
|
||||
|
||||
not_connected() {
|
||||
printf "{\"text\": \"<span size='large'></span>\", \"tooltip\": \"Pixel Buds Pro 2 not connected\", \"class\": \"disconnected\"}\n"
|
||||
exit
|
||||
}
|
||||
|
||||
# This function gets the current status and formats it for Waybar.
|
||||
get_status() {
|
||||
# Get all info from pbpctrl in one go. Redirect errors to null.
|
||||
battery_output=$(pbpctrl show battery 2>/dev/null)
|
||||
|
||||
# Fallback: If pbpctrl fails or returns 'unknown', hide the module.
|
||||
if [[ $? -ne 0 || -z "$battery_output" ]]; then
|
||||
not_connected
|
||||
fi
|
||||
|
||||
# --- PARSE BATTERY INFO ---
|
||||
left_bud=$(echo "$battery_output" | grep "left bud:" | awk '{print $3}')
|
||||
right_bud=$(echo "$battery_output" | grep "right bud:" | awk '{print $3}')
|
||||
|
||||
if ([[ "$left_bud" == "unknown" ]] && [[ "$right_bud" == "unknown" ]]) || \
|
||||
[[ -z "$left_bud" && -z "$right_bud" ]]; then
|
||||
echo "{}"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$left_bud" == "unknown" ]]; then
|
||||
left_display="L: ---"
|
||||
else
|
||||
left_display="L: $left_bud"
|
||||
fi
|
||||
|
||||
if [[ "$right_bud" == "unknown" ]]; then
|
||||
right_display="R: ---"
|
||||
else
|
||||
right_display="R: $right_bud"
|
||||
fi
|
||||
|
||||
# --- PARSE ANC INFO ---
|
||||
current_mode=$(pbpctrl get anc 2>/dev/null)
|
||||
|
||||
case "$current_mode" in
|
||||
"active")
|
||||
anc_icon="ANC"
|
||||
class="anc-active"
|
||||
;;
|
||||
"aware")
|
||||
anc_icon="Aware"
|
||||
class="anc-aware"
|
||||
;;
|
||||
"off")
|
||||
anc_icon="Off"
|
||||
class="anc-off"
|
||||
;;
|
||||
*)
|
||||
anc_icon="?"
|
||||
class="anc-unknown"
|
||||
;;
|
||||
esac
|
||||
|
||||
# --- FORMAT OUTPUT ---
|
||||
printf '{"text": "%s | %s | %s", "tooltip": "Pixel Buds Pro 2", "class": "%s"}\n' \
|
||||
"$left_display" "$right_display" "$anc_icon" "$class"
|
||||
exit
|
||||
}
|
||||
|
||||
status() {
|
||||
# First, check if the device is connected using bluetoothctl.
|
||||
if bluetoothctl info "$MAC_ADDRESS" | grep -q "Connected: yes"; then
|
||||
# --- DEVICE IS CONNECTED ---
|
||||
get_status
|
||||
else
|
||||
# --- DEVICE IS NOT CONNECTED ---
|
||||
not_connected
|
||||
fi
|
||||
}
|
||||
|
||||
# Handle click actions passed from Waybar.
|
||||
case "$1" in
|
||||
cycle_anc)
|
||||
current_mode=$(pbpctrl get anc 2>/dev/null)
|
||||
next_mode="active"
|
||||
case "$current_mode" in
|
||||
active)
|
||||
next_mode="aware"
|
||||
;;
|
||||
aware)
|
||||
next_mode="off"
|
||||
;;
|
||||
off)
|
||||
next_mode="active"
|
||||
;;
|
||||
esac
|
||||
pbpctrl set anc "$next_mode"
|
||||
sleep 0.1
|
||||
exit
|
||||
;;
|
||||
connect)
|
||||
if bluetoothctl info "$MAC_ADDRESS" | grep -q "Connected: yes"; then
|
||||
notify-send "Pixel Buds Pro 2 are already connected"
|
||||
exit
|
||||
else
|
||||
bluetoothctl connect "$MAC_ADDRESS"
|
||||
exit
|
||||
fi
|
||||
;;
|
||||
disconnect)
|
||||
if bluetoothctl info "$MAC_ADDRESS" | grep -q "Connected: yes"; then
|
||||
bluetoothctl disconnect "$MAC_ADDRESS"
|
||||
exit
|
||||
else
|
||||
notify-send "Pixel Buds Pro 2 aren't connected"
|
||||
exit
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
status
|
||||
exit
|
||||
;;
|
||||
esac
|
@@ -1,54 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to manage and display system76-power profiles for Waybar
|
||||
|
||||
# Define the available power profiles
|
||||
PROFILES=("Performance" "Balanced" "Battery")
|
||||
|
||||
# Get the current power profile
|
||||
CURRENT_PROFILE=$(system76-power profile | awk '/Power Profile/ {print $3}')
|
||||
|
||||
# Function to switch to the next profile
|
||||
switch_next_profile() {
|
||||
# Find the index of the current profile
|
||||
for i in "${!PROFILES[@]}"; do
|
||||
if [[ "${PROFILES[$i]}" == "$CURRENT_PROFILE" ]]; then
|
||||
current_index=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Calculate the index of the next profile
|
||||
next_index=$(((current_index + 1) % ${#PROFILES[@]}))
|
||||
NEXT_PROFILE=${PROFILES[$next_index]}
|
||||
|
||||
# Switch to the next profile
|
||||
system76-power profile "$NEXT_PROFILE"
|
||||
}
|
||||
|
||||
# If the script is called with "next", switch the profile
|
||||
if [[ "$1" == "next" ]]; then
|
||||
switch_next_profile
|
||||
# After switching, get the new current profile
|
||||
CURRENT_PROFILE=$(system76-power profile | awk '/Power Profile/ {print $3}')
|
||||
fi
|
||||
|
||||
# Set an icon based on the current profile
|
||||
case $CURRENT_PROFILE in
|
||||
"Performance")
|
||||
ICON="🚀"
|
||||
;;
|
||||
"Balanced")
|
||||
ICON="⚖️"
|
||||
;;
|
||||
"Battery")
|
||||
ICON="🔋"
|
||||
;;
|
||||
*)
|
||||
ICON="❓"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Output in JSON format for Waybar
|
||||
printf '{"text": "%s", "tooltip": "Power Profile: %s", "class": "%s"}\n' "$ICON" "$CURRENT_PROFILE" "$(echo $CURRENT_PROFILE | tr '[:upper:]' '[:lower:]')"
|
||||
|
@@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
wlogout -p layer-shell
|
@@ -51,4 +51,4 @@ else # Fallback for "fully-charged", "pending-charge", etc.
|
||||
fi
|
||||
|
||||
# Output JSON for Waybar
|
||||
printf '{"text": "%s %s%%", "tooltip": "%s", "class": "%s"}\n' "$icon" "$percentage" "$tooltip" "$class"
|
||||
printf '{"text": "%s%% %s", "tooltip": "%s", "class": "%s"}\n' "$percentage" "$icon" "$tooltip" "$class"
|
||||
|
9
waybar/scripts/toggle-replay.sh
Executable file
9
waybar/scripts/toggle-replay.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
PID_FILE="/tmp/gpu-screen-recorder.pid"
|
||||
|
||||
if [ -f "$PID_FILE" ] && ps -p "$(cat "$PID_FILE")" > /dev/null; then
|
||||
$HOME/.config/hypr/scripts/replay-ctrl.sh stop
|
||||
else
|
||||
$HOME/.config/hypr/scripts/replay-ctrl.sh start
|
||||
fi
|
182
waybar/style.css
182
waybar/style.css
@@ -10,7 +10,7 @@
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: alpha(@base, 0.6);
|
||||
background-color: alpha(@base, 0.4);
|
||||
padding: 10px;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
@@ -21,9 +21,6 @@ window#waybar.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
/* Remove GTK theme values (waybar #1351) */
|
||||
@@ -32,29 +29,33 @@ window#waybar.hidden {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
padding: 6px 18px;
|
||||
margin: 6px 3px;
|
||||
border-radius: 3px;
|
||||
background-color: alpha(@base, 0.9);
|
||||
color: @text;
|
||||
margin: 0px 3px;
|
||||
border-radius: 10px;
|
||||
background-color: @base;
|
||||
color: @subtext0;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
border-bottom: 3px solid @green;
|
||||
color: @text;
|
||||
border-bottom: 3px solid @blue;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
background-color: @teal;
|
||||
color: @base;
|
||||
background-color: @surface0;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-bottom: 3px solid @red;
|
||||
border-bottom: 3px solid @maroon;
|
||||
}
|
||||
|
||||
#memory,
|
||||
#cpu,
|
||||
#custom-gpu,
|
||||
#custom-cpu,
|
||||
#custom-mem,
|
||||
#custom-power,
|
||||
#custom-gamemode,
|
||||
#custom-tlp,
|
||||
@@ -64,38 +65,79 @@ window#waybar.hidden {
|
||||
#network,
|
||||
#clock,
|
||||
#tray,
|
||||
#custom-pixelbuds,
|
||||
#custom-anc,
|
||||
#custom-audio-output {
|
||||
border-radius: 4px;
|
||||
margin: 6px 3px;
|
||||
#custom-disk-root,
|
||||
#custom-disk-gdrive,
|
||||
#custom-disk-games,
|
||||
#custom-disk-data,
|
||||
#custom-pixelbuds_pro,
|
||||
#custom-bluetooth-audio,
|
||||
#custom-audio-output,
|
||||
#custom-btrfs,
|
||||
#custom-gpu-screen-recorder {
|
||||
border-radius: 10px;
|
||||
margin: 0px 3px;
|
||||
padding: 6px 12px;
|
||||
background-color: @base;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#custom-anc.anc-active {
|
||||
color: @teal;
|
||||
border-bottom: 3px solid @teal;
|
||||
#wireplumber.muted, #custom-pixelbuds_pro, #custom-audio-output.muted {
|
||||
background-color: @base;
|
||||
color: @subtext1;
|
||||
border-bottom: 3px solid @subtext1;
|
||||
}
|
||||
|
||||
#custom-anc.anc-aware {
|
||||
color: @yellow;
|
||||
border-bottom: 3px solid @yellow;
|
||||
#custom-pixelbuds_pro.disconnected {
|
||||
padding-right: 16px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
#custom-anc.anc-off {
|
||||
color: @text;
|
||||
border-bottom: 3px solid @text;
|
||||
#custom-gpu-screen-recorder,
|
||||
#custom-gpu-screen-recorder.recording {
|
||||
padding-right: 18px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
#custom-anc.disconnected {
|
||||
}
|
||||
|
||||
#custom-power,
|
||||
#custom-gamemode {
|
||||
color: @red;
|
||||
padding: 6px 12px 6px 10px;
|
||||
padding-right: 15px;
|
||||
padding-left: 11px;
|
||||
}
|
||||
|
||||
#custom-pixelbuds_pro.anc-active {
|
||||
color: @sapphire;
|
||||
border-bottom: 3px solid @sapphire;
|
||||
}
|
||||
|
||||
#custom-bluetooth-audio {
|
||||
color: @sapphire;
|
||||
border-bottom: 3px solid @sapphire;
|
||||
}
|
||||
|
||||
#custom-pixelbuds_pro.anc-aware {
|
||||
color: @sapphire;
|
||||
border-bottom: 3px solid @sapphire;
|
||||
}
|
||||
|
||||
#custom-pixelbuds_pro.anc-off {
|
||||
color: @text;
|
||||
border-bottom: 3px solid @text;
|
||||
}
|
||||
|
||||
#custom-gpu-screen-recorder,
|
||||
#custom-gamemode {
|
||||
background-color: @base;
|
||||
color: @subtext1;
|
||||
border-bottom: 3px solid @subtext1;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
#custom-gpu-screen-recorder.recording,
|
||||
#custom-gamemode.active {
|
||||
color: @maroon;
|
||||
border-bottom: 3px solid @maroon;
|
||||
}
|
||||
|
||||
#custom-tlp {
|
||||
@@ -105,22 +147,22 @@ window#waybar.hidden {
|
||||
|
||||
#custom-tlp.charging {
|
||||
color: @teal;
|
||||
border-bottom: 3px solid @teal;
|
||||
border-bottom: 3px solid @teal;
|
||||
}
|
||||
|
||||
#custom-tlp.bat {
|
||||
color: @sapphire;
|
||||
border-bottom: 3px solid @sapphire;
|
||||
border-bottom: 3px solid @sapphire;
|
||||
}
|
||||
|
||||
#custom-tlp.warning {
|
||||
color: @yellow;
|
||||
border-bottom: 3px solid @yellow;
|
||||
border-bottom: 3px solid @yellow;
|
||||
}
|
||||
|
||||
#custom-tlp.critical {
|
||||
color: @red;
|
||||
border-bottom: 3px solid @red;
|
||||
border-bottom: 3px solid @red;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
@@ -131,15 +173,48 @@ window#waybar.hidden {
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: @yellow;
|
||||
border-bottom: 3px solid @yellow;
|
||||
border-bottom: 3px solid @yellow;
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
|
||||
#memory,
|
||||
#cpu {
|
||||
#custom-gpu.max,
|
||||
#custom-cpu.max,
|
||||
#custom-mem.max,
|
||||
#custom-btrfs.max,
|
||||
#custom-disk-root.max,
|
||||
#custom-disk-gdrive.max,
|
||||
#custom-disk-games.max,
|
||||
#custom-disk-data.max {
|
||||
color: @maroon;
|
||||
border-bottom: 3px solid @maroon;
|
||||
/* border-bottom: 3px solid @maroon; */
|
||||
}
|
||||
|
||||
#custom-gpu.high,
|
||||
#custom-gpu.high,
|
||||
#custom-mem.high,
|
||||
#custom-btrfs.high,
|
||||
#custom-disk-root.high,
|
||||
#custom-disk-gdrive.high,
|
||||
#custom-disk-games.high,
|
||||
#custom-disk-data.high {
|
||||
color: @yellow;
|
||||
/* border-bottom: 3px solid @yellow; */
|
||||
}
|
||||
|
||||
#memory,
|
||||
#cpu,
|
||||
#disk,
|
||||
#custom-gpu.normal,
|
||||
#custom-cpu.normal,
|
||||
#custom-mem.normal,
|
||||
#custom-btrfs.normal,
|
||||
#custom-disk-root.normal,
|
||||
#custom-disk-gdrive.normal,
|
||||
#custom-disk-games.normal,
|
||||
#custom-disk-data.normal {
|
||||
color: @blue;
|
||||
/* border-bottom: 3px solid @mauve; */
|
||||
}
|
||||
|
||||
|
||||
@@ -148,28 +223,28 @@ window#waybar.hidden {
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
color: @mauve;
|
||||
padding-right: 15px;
|
||||
border-bottom: 3px solid @mauve;
|
||||
}
|
||||
|
||||
#custom-audio-output {
|
||||
color: @mauve;
|
||||
border-bottom: 3px solid @mauve;
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
#custom-audio-output.unmuted, #wireplumber {
|
||||
color: @mauve;
|
||||
padding-right: 15px;
|
||||
border-bottom: 3px solid @mauve;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#network {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
border-radius: 8px;
|
||||
border-radius: 10px;
|
||||
padding: 15px;
|
||||
background-color: @base;
|
||||
}
|
||||
@@ -178,8 +253,3 @@ tooltip label {
|
||||
padding: 5px;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#custom-pixelbuds.connected {
|
||||
color: @teal; /* A pleasant green */
|
||||
border-bottom: 3px solid @teal;
|
||||
}
|
||||
|
@@ -1,157 +0,0 @@
|
||||
|
||||
/* ~/.config/waybar/style.css */
|
||||
@import "./catppuccin-waybar/themes/mocha.css";
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: alpha(@base, 0.6);
|
||||
margin: 10px;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
/* Remove GTK theme values (waybar #1351) */
|
||||
min-width: 0;
|
||||
/* Fix weird spacing in materia (waybar #450) */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
padding: 6px 18px;
|
||||
margin: 6px 3px;
|
||||
border-radius: 3px;
|
||||
background-color: alpha(@base, 0.9);
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
border-bottom: 3px solid @green;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
background-color: @teal;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-bottom: 3px solid @red;
|
||||
}
|
||||
|
||||
#memory,
|
||||
#cpu,
|
||||
#custom-power,
|
||||
#custom-tlp,
|
||||
#battery,
|
||||
#backlight,
|
||||
#wireplumber,
|
||||
#network,
|
||||
#clock,
|
||||
#tray {
|
||||
border-radius: 4px;
|
||||
margin: 6px 3px;
|
||||
padding: 6px 12px;
|
||||
background-color: @base;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @red;
|
||||
padding: 6px 12px 6px 10px;
|
||||
}
|
||||
|
||||
#custom-tlp {
|
||||
padding: 0 10px;
|
||||
padding-right: 10px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#custom-tlp.ac {
|
||||
color: @green; /* Catppuccin Green for AC power */
|
||||
}
|
||||
|
||||
#custom-tlp.bat {
|
||||
color: @yellow; /* Catppuccin Yellow for Battery power */
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: @text;
|
||||
padding: 0 10px;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @red;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: @text;
|
||||
}
|
||||
}
|
||||
|
||||
#memory,
|
||||
#cpu {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
|
||||
#backlight {
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
color: @mauve;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @mauve;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
border-radius: 8px;
|
||||
padding: 15px;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
padding: 5px;
|
||||
background-color: @base;
|
||||
}
|
@@ -1,81 +0,0 @@
|
||||
/* ~/.config/waybar/style.css */
|
||||
@import "./catppuccin-waybar/themes/mocha.css";
|
||||
|
||||
* {
|
||||
font-family: "0xProto Nerd Font", FontAwesome, sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: alpha(@base, 0.9);
|
||||
border-bottom: 3px solid @mauve;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: @surface2;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @mauve;
|
||||
border-bottom: 3px solid @pink;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @surface0;
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @red;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#custom-tlp {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#custom-tlp.ac {
|
||||
color: @green; /* Catppuccin Green for AC power */
|
||||
}
|
||||
|
||||
#custom-tlp.bat {
|
||||
color: @yellow; /* Catppuccin Yellow for Battery power */
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: @text;
|
||||
padding: 0 10px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @red;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: @text;
|
||||
}
|
||||
}
|
29
wireplumber/wireplumber.conf.d/60-specific-device-rates.conf
Normal file
29
wireplumber/wireplumber.conf.d/60-specific-device-rates.conf
Normal file
@@ -0,0 +1,29 @@
|
||||
monitor.alsa.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
node.name = "alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0003-00.analog-stereo"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
audio.format = "S32_LE"
|
||||
audio.rate = 96000
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
node.name = "alsa_output.hw_U192k_0"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
audio.format = "S32_LE"
|
||||
audio.rate = 96000
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
37
zathura/catppuccin-mocha
Normal file
37
zathura/catppuccin-mocha
Normal file
@@ -0,0 +1,37 @@
|
||||
set default-fg rgba(205,214,244,1)
|
||||
set default-bg rgba(30,30,46,1)
|
||||
|
||||
set completion-bg rgba(49,50,68,1)
|
||||
set completion-fg rgba(205,214,244,1)
|
||||
set completion-highlight-bg rgba(203,166,247,1)
|
||||
set completion-highlight-fg rgba(30,30,46,1)
|
||||
set completion-group-bg rgba(24,24,37,1)
|
||||
set completion-group-fg rgba(205,214,244,1)
|
||||
|
||||
set statusbar-fg rgba(205,214,244,1)
|
||||
set statusbar-bg rgba(17,17,27,1)
|
||||
set inputbar-fg rgba(205,214,244,1)
|
||||
set inputbar-bg rgba(30,30,46,1)
|
||||
|
||||
set notification-bg rgba(30,30,46,1)
|
||||
set notification-fg rgba(205,214,244,1)
|
||||
set notification-error-bg rgba(30,30,46,1)
|
||||
set notification-error-fg rgba(243,139,168,1)
|
||||
set notification-warning-bg rgba(30,30,46,1)
|
||||
set notification-warning-fg rgba(249,226,175,1)
|
||||
|
||||
set recolor "true"
|
||||
set recolor-lightcolor rgba(30,30,46,1)
|
||||
set recolor-darkcolor rgba(205,214,244,1)
|
||||
|
||||
set index-fg rgba(205,214,244,1)
|
||||
set index-bg rgba(30,30,46,1)
|
||||
set index-active-fg rgba(205,214,244,1)
|
||||
set index-active-bg rgba(49,50,68,1)
|
||||
|
||||
set render-loading-bg rgba(30,30,46,1)
|
||||
set render-loading-fg rgba(205,214,244,1)
|
||||
|
||||
set highlight-color rgba(147,153,178,0.3)
|
||||
set highlight-fg rgba(205,214,244,1)
|
||||
set highlight-active-color rgba(203,166,247,0.3)
|
1
zathura/catppuccin-zathura
Submodule
1
zathura/catppuccin-zathura
Submodule
Submodule zathura/catppuccin-zathura added at 9f29c2c162
Reference in New Issue
Block a user