mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-05-28 18:39:31 +02:00
Compare commits
114 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f93202864 | |||
| 00b9c7e805 | |||
| 0f5568f4ff | |||
| f097312145 | |||
| 68fa7360ff | |||
| 2b47447f0b | |||
| 6942e54b28 | |||
| df9ca7aefa | |||
| 773688a9e5 | |||
| 5e66e8cf2a | |||
| fde21e5039 | |||
| bc0781e97a | |||
| 7ba567b0bd | |||
| a0372eb24c | |||
| cf34ea047c | |||
| a1789eebff | |||
| 07b74cd2e5 | |||
| 2ff2c56fae | |||
| cca62222ef | |||
| a422cfadc0 | |||
| 8ff5b91a0a | |||
| 8b6d3e6034 | |||
| 08895478a4 | |||
| 9f7a56bc37 | |||
| 49f002ca5b | |||
| 30a288bdb3 | |||
| 11af465bd1 | |||
| a02097f7d7 | |||
| 00b6f97ddd | |||
| 482e88613d | |||
| 831fb2dd82 | |||
| e61ed83bf1 | |||
| 3c6d78537b | |||
| 7e402ed9c8 | |||
| b3a7da8301 | |||
| e28c7565d7 | |||
| 0693713e94 | |||
| 1bf67acde9 | |||
| f1a5d419fb | |||
| e8be41f8e1 | |||
| d853036fb1 | |||
| df1f9b0070 | |||
| 4def213b08 | |||
| 35eb6ed5c9 | |||
| 07178984b1 | |||
| eb83e88267 | |||
| 6c8e8111c6 | |||
| 62e96cde7e | |||
| 4bb53d0190 | |||
| 41af2c1444 | |||
| 43db6bcf63 | |||
| e17bc1ec23 | |||
| c9954c009a | |||
| e68a43edce | |||
| 08a6885873 | |||
| 930d8322d1 | |||
| 2363ab59c4 | |||
| 1394e26a59 | |||
| 940367c790 | |||
| cae48ede1b | |||
| 9535c09a33 | |||
| 194c3d9895 | |||
| a8f613ead1 | |||
| 5d69019f60 | |||
| 648021b0ca | |||
| c30730bedd | |||
| e9b502fa5f | |||
| 3e2340aee7 | |||
| 94c8eef2cb | |||
| 2581c9d562 | |||
| 3aaa4c0372 | |||
| c446a693ea | |||
| 9b0c5d7d50 | |||
| 86ee8132b7 | |||
| 2f3d644234 | |||
| 87dfa7669f | |||
| 64dd1fc2f3 | |||
| fc81143c10 | |||
| 5178a3e638 | |||
| b3127a18c9 | |||
| 15e0b150e9 | |||
| 41dc24e350 | |||
| 8c795c7d0d | |||
| b671c05db9 | |||
| 80e0bcf031 | |||
| 64ab375d1f | |||
| 325f82b9cc | |||
| 59a46844a7 | |||
| 5e21effb15 | |||
| 1e7b9697e1 | |||
| 422ec75ec0 | |||
| c059d90b17 | |||
| 880e0ac65e | |||
| ed4a2f00fe | |||
| 7a1788520b | |||
| e86d7a1020 | |||
| 6670c5bd7d | |||
| 0620f199b2 | |||
| e2457e80aa | |||
| 8ffaf4e3ae | |||
| f9d07d92de | |||
| 2b91c6f99d | |||
| fed3bc981b | |||
| d02331c1e0 | |||
| 5ec72c848f | |||
| 5a6ccd8794 | |||
| 3dc7ec1fe8 | |||
| 414a222d19 | |||
| 783d61999c | |||
| 86ec08aecb | |||
| b7b913b444 | |||
| aa0e1d84e0 | |||
| 94e2e17c60 | |||
| 41f4dc6237 |
@@ -3,3 +3,5 @@ result/
|
|||||||
.direnv/
|
.direnv/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.pre-commit-config.yaml
|
.pre-commit-config.yaml
|
||||||
|
logs/
|
||||||
|
core*
|
||||||
|
|||||||
@@ -1,57 +1,85 @@
|
|||||||
# just is a command runner, Justfile is very similar to Makefile, but simpler.
|
# just is a command runner, Justfile is very similar to Makefile, but simpler.
|
||||||
|
|
||||||
# use nushell for shell commands
|
# Use nushell for shell commands
|
||||||
|
# To usage this justfile, you need to enter a shell with just & nushell installed:
|
||||||
|
#
|
||||||
|
# nix shell nixpkgs#just nixpkgs#nushell
|
||||||
set shell := ["nu", "-c"]
|
set shell := ["nu", "-c"]
|
||||||
|
|
||||||
|
utils_nu := absolute_path("utils.nu")
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# Common commands(suitable for all machines)
|
# Common commands(suitable for all machines)
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
# Remote deployment via colmena
|
# List all the just commands
|
||||||
col tag:
|
default:
|
||||||
colmena apply --on '@{{tag}}' --verbose --show-trace
|
@just --list
|
||||||
|
|
||||||
local name mode="default":
|
|
||||||
use utils.nu *; \
|
|
||||||
nixos-switch {{name}} {{mode}}
|
|
||||||
|
|
||||||
# Run eval tests
|
# Run eval tests
|
||||||
|
[group('nix')]
|
||||||
test:
|
test:
|
||||||
nix eval .#evalTests --show-trace --print-build-logs --verbose
|
nix eval .#evalTests --show-trace --print-build-logs --verbose
|
||||||
|
|
||||||
# update all the flake inputs
|
# Update all the flake inputs
|
||||||
|
[group('nix')]
|
||||||
up:
|
up:
|
||||||
nix flake update
|
nix flake update
|
||||||
|
|
||||||
# Update specific input
|
# Update specific input
|
||||||
# Usage: just upp nixpkgs
|
# Usage: just upp nixpkgs
|
||||||
|
[group('nix')]
|
||||||
upp input:
|
upp input:
|
||||||
nix flake update {{input}}
|
nix flake update {{input}}
|
||||||
|
|
||||||
# List all generations of the system profile
|
# List all generations of the system profile
|
||||||
|
[group('nix')]
|
||||||
history:
|
history:
|
||||||
nix profile history --profile /nix/var/nix/profiles/system
|
nix profile history --profile /nix/var/nix/profiles/system
|
||||||
|
|
||||||
# Open a nix shell with the flake
|
# Open a nix shell with the flake
|
||||||
|
[group('nix')]
|
||||||
repl:
|
repl:
|
||||||
nix repl -f flake:nixpkgs
|
nix repl -f flake:nixpkgs
|
||||||
|
|
||||||
# remove all generations older than 7 days
|
# remove all generations older than 7 days
|
||||||
|
# on darwin, you may need to switch to root user to run this command
|
||||||
|
[group('nix')]
|
||||||
clean:
|
clean:
|
||||||
sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 7d
|
sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 7d
|
||||||
|
|
||||||
# Garbage collect all unused nix store entries
|
# Garbage collect all unused nix store entries
|
||||||
|
[group('nix')]
|
||||||
gc:
|
gc:
|
||||||
# garbage collect all unused nix store entries
|
# garbage collect all unused nix store entries(system-wide)
|
||||||
sudo nix store gc --debug
|
sudo nix-collect-garbage --delete-older-than 7d
|
||||||
sudo nix-collect-garbage --delete-old
|
# garbage collect all unused nix store entries(for the user - home-manager)
|
||||||
|
# https://github.com/NixOS/nix/issues/8508
|
||||||
|
nix-collect-garbage --delete-older-than 7d
|
||||||
|
|
||||||
# Remove all reflog entries and prune unreachable objects
|
# Enter a shell session which has all the necessary tools for this flake
|
||||||
gitgc:
|
[linux]
|
||||||
git reflog expire --expire-unreachable=now --all
|
[group('nix')]
|
||||||
git gc --prune=now
|
shell:
|
||||||
|
nix shell nixpkgs#git nixpkgs#neovim nixpkgs#colmena
|
||||||
|
|
||||||
|
# Enter a shell session which has all the necessary tools for this flake
|
||||||
|
[macos]
|
||||||
|
[group('nix')]
|
||||||
|
shell:
|
||||||
|
nix shell nixpkgs#git nixpkgs#neovim
|
||||||
|
|
||||||
|
[group('nix')]
|
||||||
|
fmt:
|
||||||
|
# format the nix files in this repo
|
||||||
|
nix fmt
|
||||||
|
|
||||||
|
# Show all the auto gc roots in the nix store
|
||||||
|
[group('nix')]
|
||||||
|
gcroot:
|
||||||
|
ls -al /nix/var/nix/gcroots/auto/
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
@@ -60,24 +88,17 @@ gitgc:
|
|||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
[linux]
|
[linux]
|
||||||
i3 mode="default":
|
[group('desktop')]
|
||||||
use utils.nu *; \
|
|
||||||
nixos-switch ai-i3 {{mode}}
|
|
||||||
|
|
||||||
[linux]
|
|
||||||
hypr mode="default":
|
hypr mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch ai-hyprland {{mode}}
|
nixos-switch ai-hyprland {{mode}}
|
||||||
|
|
||||||
|
|
||||||
[linux]
|
|
||||||
s-i3 mode="default":
|
|
||||||
use utils.nu *; \
|
|
||||||
nixos-switch shoukei-i3 {{mode}}
|
|
||||||
|
|
||||||
[linux]
|
[linux]
|
||||||
|
[group('desktop')]
|
||||||
s-hypr mode="default":
|
s-hypr mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch shoukei-hyprland {{mode}}
|
nixos-switch shoukei-hyprland {{mode}}
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
@@ -87,31 +108,39 @@ s-hypr mode="default":
|
|||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
[macos]
|
[macos]
|
||||||
|
[group('desktop')]
|
||||||
darwin-set-proxy:
|
darwin-set-proxy:
|
||||||
sudo python3 scripts/darwin_set_proxy.py
|
sudo python3 scripts/darwin_set_proxy.py
|
||||||
sleep 1sec
|
sleep 1sec
|
||||||
|
|
||||||
[macos]
|
[macos]
|
||||||
|
[group('desktop')]
|
||||||
darwin-rollback:
|
darwin-rollback:
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
darwin-rollback
|
darwin-rollback
|
||||||
|
|
||||||
# Deploy to harmonica(macOS host)
|
# Deploy to harmonica(macOS host)
|
||||||
[macos]
|
[macos]
|
||||||
|
[group('desktop')]
|
||||||
ha mode="default":
|
ha mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
darwin-build "harmonica" {{mode}}; \
|
use {{utils_nu}} *;
|
||||||
|
darwin-build "harmonica" {{mode}};
|
||||||
darwin-switch "harmonica" {{mode}}
|
darwin-switch "harmonica" {{mode}}
|
||||||
|
|
||||||
# Depoly to fern(macOS host)
|
# Depoly to fern(macOS host)
|
||||||
[macos]
|
[macos]
|
||||||
|
[group('desktop')]
|
||||||
fe mode="default": darwin-set-proxy
|
fe mode="default": darwin-set-proxy
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
darwin-build "fern" {{mode}}; \
|
use {{utils_nu}} *;
|
||||||
|
darwin-build "fern" {{mode}};
|
||||||
darwin-switch "fern" {{mode}}
|
darwin-switch "fern" {{mode}}
|
||||||
|
|
||||||
# Reload yabai and skhd(macOS)
|
# Reload yabai and skhd(macOS)
|
||||||
[macos]
|
[macos]
|
||||||
|
[group('desktop')]
|
||||||
yabai-reload:
|
yabai-reload:
|
||||||
launchctl kickstart -k "gui/502/org.nixos.yabai";
|
launchctl kickstart -k "gui/502/org.nixos.yabai";
|
||||||
launchctl kickstart -k "gui/502/org.nixos.skhd";
|
launchctl kickstart -k "gui/502/org.nixos.skhd";
|
||||||
@@ -122,34 +151,67 @@ yabai-reload:
|
|||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
|
# Remote deployment via colmena
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
|
col tag:
|
||||||
|
colmena apply --on '@{{tag}}' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
|
local name mode="default":
|
||||||
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
|
nixos-switch {{name}} {{mode}}
|
||||||
|
|
||||||
# Build and upload a vm image
|
# Build and upload a vm image
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
upload-vm name mode="default":
|
upload-vm name mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
upload-vm {{name}} {{mode}}
|
upload-vm {{name}} {{mode}}
|
||||||
|
|
||||||
# Deploy all the KubeVirt nodes(Physical machines running KubeVirt)
|
# Deploy all the KubeVirt nodes(Physical machines running KubeVirt)
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
lab:
|
lab:
|
||||||
colmena apply --on '@virt-*' --verbose --show-trace
|
colmena apply --on '@virt-*' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
shoryu:
|
shoryu:
|
||||||
colmena apply --on '@kubevirt-shoryu' --verbose --show-trace
|
colmena apply --on '@kubevirt-shoryu' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
shoryu-local mode="default":
|
shoryu-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch kubevirt-shoryu {{mode}}
|
nixos-switch kubevirt-shoryu {{mode}}
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
shushou:
|
shushou:
|
||||||
colmena apply --on '@kubevirt-shushou' --verbose --show-trace
|
colmena apply --on '@kubevirt-shushou' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
shushou-local mode="default":
|
shushou-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch kubevirt-shushou {{mode}}
|
nixos-switch kubevirt-shushou {{mode}}
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
youko:
|
youko:
|
||||||
colmena apply --on '@kubevirt-youko' --verbose --show-trace
|
colmena apply --on '@kubevirt-youko' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
youko-local mode="default":
|
youko-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch kubevirt-youko {{mode}}
|
nixos-switch kubevirt-youko {{mode}}
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
@@ -159,31 +221,49 @@ youko-local mode="default":
|
|||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
# Build and upload a vm image
|
# Build and upload a vm image
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
upload-idols mode="default":
|
upload-idols mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
upload-vm aquamarine {{mode}}
|
upload-vm aquamarine {{mode}}
|
||||||
upload-vm ruby {{mode}}
|
upload-vm ruby {{mode}}
|
||||||
upload-vm kana {{mode}}
|
upload-vm kana {{mode}}
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
aqua:
|
aqua:
|
||||||
colmena apply --on '@aqua' --verbose --show-trace
|
colmena apply --on '@aqua' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
aqua-local mode="default":
|
aqua-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch aquamarine {{mode}}
|
nixos-switch aquamarine {{mode}}
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
ruby:
|
ruby:
|
||||||
colmena apply --on '@ruby' --verbose --show-trace
|
colmena apply --on '@ruby' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
ruby-local mode="default":
|
ruby-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch ruby {{mode}}
|
nixos-switch ruby {{mode}}
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
kana:
|
kana:
|
||||||
colmena apply --on '@kana' --verbose --show-trace
|
colmena apply --on '@kana' --verbose --show-trace
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
kana-local mode="default":
|
kana-local mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
|
use {{utils_nu}} *;
|
||||||
nixos-switch kana {{mode}}
|
nixos-switch kana {{mode}}
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
@@ -193,90 +273,49 @@ kana-local mode="default":
|
|||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
# Build and upload a vm image
|
# Build and upload a vm image
|
||||||
upload-k3s mode="default":
|
[linux]
|
||||||
use utils.nu *; \
|
[group('homelab')]
|
||||||
upload-vm k3s-prod-1-master-1 {{mode}}; \
|
upload-k3s-prod mode="default":
|
||||||
upload-vm k3s-prod-1-master-2 {{mode}}; \
|
#!/usr/bin/env nu
|
||||||
upload-vm k3s-prod-1-master-3 {{mode}}; \
|
use {{utils_nu}} *;
|
||||||
upload-vm k3s-prod-1-worker-1 {{mode}}; \
|
upload-vm k3s-prod-1-master-1 {{mode}};
|
||||||
upload-vm k3s-prod-1-worker-2 {{mode}}; \
|
upload-vm k3s-prod-1-master-2 {{mode}};
|
||||||
|
upload-vm k3s-prod-1-master-3 {{mode}};
|
||||||
|
upload-vm k3s-prod-1-worker-1 {{mode}};
|
||||||
|
upload-vm k3s-prod-1-worker-2 {{mode}};
|
||||||
upload-vm k3s-prod-1-worker-3 {{mode}};
|
upload-vm k3s-prod-1-worker-3 {{mode}};
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
upload-k3s-test mode="default":
|
upload-k3s-test mode="default":
|
||||||
use utils.nu *; \
|
#!/usr/bin/env nu
|
||||||
upload-vm k3s-test-1-master-1 {{mode}}; \
|
use {{utils_nu}} *;
|
||||||
upload-vm k3s-test-1-master-2 {{mode}}; \
|
upload-vm k3s-test-1-master-1 {{mode}};
|
||||||
|
upload-vm k3s-test-1-master-2 {{mode}};
|
||||||
upload-vm k3s-test-1-master-3 {{mode}};
|
upload-vm k3s-test-1-master-3 {{mode}};
|
||||||
|
|
||||||
k3s:
|
[linux]
|
||||||
colmena apply --on '@k3s-*' --verbose --show-trace
|
[group('homelab')]
|
||||||
|
k3s-prod:
|
||||||
master:
|
colmena apply --on '@k3s-prod-*' --verbose --show-trace
|
||||||
colmena apply --on '@k3s-prod-1-master-*' --verbose --show-trace
|
|
||||||
|
|
||||||
worker:
|
|
||||||
colmena apply --on '@k3s-prod-1-worker-*' --verbose --show-trace
|
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('homelab')]
|
||||||
k3s-test:
|
k3s-test:
|
||||||
colmena apply --on '@k3s-test-*' --verbose --show-trace
|
colmena apply --on '@k3s-test-*' --verbose --show-trace
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# RISC-V related commands
|
# Neovim related commands
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
riscv:
|
[group('neovim')]
|
||||||
colmena apply --on '@riscv' --verbose --show-trace
|
|
||||||
|
|
||||||
nozomi:
|
|
||||||
colmena apply --on '@nozomi' --verbose --show-trace
|
|
||||||
|
|
||||||
yukina:
|
|
||||||
colmena apply --on '@yukina' --verbose --show-trace
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
#
|
|
||||||
# Aarch64 related commands
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
|
|
||||||
rakushun:
|
|
||||||
colmena apply --on '@rakushun' --build-on-target --verbose --show-trace
|
|
||||||
|
|
||||||
rakushun-local mode="default":
|
|
||||||
use utils.nu *; \
|
|
||||||
nixos-switch rakushun {{mode}}
|
|
||||||
|
|
||||||
suzu-set-proxy:
|
|
||||||
ip route del default via 192.168.5.1
|
|
||||||
ip route add default via 192.168.5.178
|
|
||||||
|
|
||||||
suzu-unset-proxy:
|
|
||||||
ip route del default via 192.168.5.178
|
|
||||||
ip route add default via 192.168.5.1
|
|
||||||
|
|
||||||
suzu-local mode="default":
|
|
||||||
use utils.nu *; \
|
|
||||||
nixos-switch suzu {{mode}}
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
#
|
|
||||||
# Misc, other useful commands
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
|
|
||||||
fmt:
|
|
||||||
# format the nix files in this repo
|
|
||||||
nix fmt
|
|
||||||
|
|
||||||
path:
|
|
||||||
$env.PATH | split row ":"
|
|
||||||
|
|
||||||
nvim-test:
|
nvim-test:
|
||||||
rm -rf $"($env.HOME)/.config/nvim"
|
rm -rf $"($env.HOME)/.config/nvim"
|
||||||
rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/neovim/nvim/ $"($env.HOME)/.config/nvim/"
|
rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/neovim/nvim/ $"($env.HOME)/.config/nvim/"
|
||||||
|
|
||||||
|
[group('neovim')]
|
||||||
nvim-clean:
|
nvim-clean:
|
||||||
rm -rf $"($env.HOME)/.config/nvim"
|
rm -rf $"($env.HOME)/.config/nvim"
|
||||||
|
|
||||||
@@ -284,45 +323,78 @@ nvim-clean:
|
|||||||
# Emacs related commands
|
# Emacs related commands
|
||||||
# =================================================
|
# =================================================
|
||||||
|
|
||||||
emacs-plist-path := "~/Library/LaunchAgents/org.nix-community.home.emacs.plist"
|
[group('emacs')]
|
||||||
|
|
||||||
reload-emacs-cmd := if os() == "macos" {
|
|
||||||
"launchctl unload " + emacs-plist-path
|
|
||||||
+ "\n"
|
|
||||||
+ "launchctl load " + emacs-plist-path
|
|
||||||
+ "\n"
|
|
||||||
+ "tail -f ~/Library/Logs/emacs-daemon.stderr.log"
|
|
||||||
} else {
|
|
||||||
"systemctl --user restart emacs.service"
|
|
||||||
+ "\n"
|
|
||||||
+ "systemctl --user status emacs.service"
|
|
||||||
}
|
|
||||||
|
|
||||||
emacs-test:
|
emacs-test:
|
||||||
rm -rf $"($env.HOME)/.config/doom"
|
rm -rf $"($env.HOME)/.config/doom"
|
||||||
rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/emacs/doom/ $"($env.HOME)/.config/doom/"
|
rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/emacs/doom/ $"($env.HOME)/.config/doom/"
|
||||||
doom clean
|
doom clean
|
||||||
doom sync
|
doom sync
|
||||||
|
|
||||||
|
[group('emacs')]
|
||||||
emacs-clean:
|
emacs-clean:
|
||||||
rm -rf $"($env.HOME)/.config/doom/"
|
rm -rf $"($env.HOME)/.config/doom/"
|
||||||
|
|
||||||
|
[group('emacs')]
|
||||||
emacs-purge:
|
emacs-purge:
|
||||||
doom purge
|
doom purge
|
||||||
doom clean
|
doom clean
|
||||||
doom sync
|
doom sync
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('emacs')]
|
||||||
emacs-reload:
|
emacs-reload:
|
||||||
doom sync
|
doom sync
|
||||||
{{reload-emacs-cmd}}
|
systemctl --user restart emacs.service
|
||||||
|
systemctl --user status emacs.service
|
||||||
|
|
||||||
|
|
||||||
|
emacs-plist-path := "~/Library/LaunchAgents/org.nix-community.home.emacs.plist"
|
||||||
|
|
||||||
|
[macos]
|
||||||
|
[group('emacs')]
|
||||||
|
emacs-reload:
|
||||||
|
doom sync
|
||||||
|
launchctl unload {{emacs-plist-path}}
|
||||||
|
launchctl load {{emacs-plist-path}}
|
||||||
|
tail -f ~/Library/Logs/emacs-daemon.stderr.log
|
||||||
|
|
||||||
# =================================================
|
# =================================================
|
||||||
#
|
#
|
||||||
# Kubernetes related commands
|
# Other useful commands
|
||||||
#
|
#
|
||||||
# =================================================
|
# =================================================
|
||||||
|
|
||||||
|
[group('common')]
|
||||||
|
path:
|
||||||
|
$env.PATH | split row ":"
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('common')]
|
||||||
|
penvof pid:
|
||||||
|
sudo cat $"/proc/($pid)/environ" | tr '\0' '\n'
|
||||||
|
|
||||||
|
# Remove all reflog entries and prune unreachable objects
|
||||||
|
[group('git')]
|
||||||
|
ggc:
|
||||||
|
git reflog expire --expire-unreachable=now --all
|
||||||
|
git gc --prune=now
|
||||||
|
|
||||||
|
# Amend the last commit without changing the commit message
|
||||||
|
[group('git')]
|
||||||
|
game:
|
||||||
|
git commit --amend -a --no-edit
|
||||||
|
|
||||||
|
# Delete all failed pods
|
||||||
|
[group('k8s')]
|
||||||
del-failed:
|
del-failed:
|
||||||
kubectl delete pod --all-namespaces --field-selector="status.phase==Failed"
|
kubectl delete pod --all-namespaces --field-selector="status.phase==Failed"
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('services')]
|
||||||
|
list-inactive:
|
||||||
|
systemctl list-units -all --state=inactive
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[group('services')]
|
||||||
|
list-failed:
|
||||||
|
systemctl list-units -all --state=failed
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
This repository is home to the nix code that builds my systems:
|
This repository is home to the nix code that builds my systems:
|
||||||
|
|
||||||
1. NixOS Desktops: NixOS with home-manager, i3, hyprland, agenix, etc.
|
1. NixOS Desktops: NixOS with home-manager, hyprland, agenix, etc.
|
||||||
2. macOS Desktops: nix-darwin with home-manager, share the same home-manager configuration with
|
2. macOS Desktops: nix-darwin with home-manager, share the same home-manager configuration with
|
||||||
NixOS Desktops.
|
NixOS Desktops.
|
||||||
3. NixOS Servers: virtual machines running on Proxmox/KubeVirt, with various services, such as
|
3. NixOS Servers: virtual machines running on Proxmox/KubeVirt, with various services, such as
|
||||||
@@ -31,6 +31,9 @@ This repository is home to the nix code that builds my systems:
|
|||||||
|
|
||||||
See [./hosts](./hosts) for details of each host.
|
See [./hosts](./hosts) for details of each host.
|
||||||
|
|
||||||
|
See [./Virtual-Machine.md](./Virtual-Machine.md) for details of how to create & manage KubeVirt's
|
||||||
|
Virtual Machine from this flake.
|
||||||
|
|
||||||
## Why NixOS & Flakes?
|
## Why NixOS & Flakes?
|
||||||
|
|
||||||
Nix allows for easy-to-manage, collaborative, reproducible deployments. This means that once
|
Nix allows for easy-to-manage, collaborative, reproducible deployments. This means that once
|
||||||
@@ -51,29 +54,29 @@ You don't have to go through the pain I've experienced again! Check out my
|
|||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
| | NixOS(Wayland) | NixOS(Xorg) |
|
| | NixOS(Wayland) |
|
||||||
| --------------------------- | :------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------ |
|
| --------------------------- | :------------------------------------------------------------------------------------------------------------------ |
|
||||||
| **Window Manager** | [Hyprland][Hyprland] | [i3][i3] |
|
| **Window Manager** | [Hyprland][Hyprland] |
|
||||||
| **Terminal Emulator** | [Zellij][Zellij] + [Kitty][Kitty] | [Zellij][Zellij] + [Kitty][Kitty] |
|
| **Terminal Emulator** | [Zellij][Zellij] + [Kitty][Kitty] |
|
||||||
| **Bar** | [Waybar][Waybar] | [polybar][polybar] |
|
| **Bar** | [Waybar][Waybar] |
|
||||||
| **Application Launcher** | [anyrun][anyrun] | [rofi][rofi] |
|
| **Application Launcher** | [anyrun][anyrun] |
|
||||||
| **Notification Daemon** | [Mako][Mako] | [Dunst][Dunst] |
|
| **Notification Daemon** | [Mako][Mako] |
|
||||||
| **Display Manager** | [GDM][GDM] | [GDM][GDM] |
|
| **Display Manager** | [GDM][GDM] |
|
||||||
| **Color Scheme** | [Catppuccin][Catppuccin] | [Catppuccin][Catppuccin] |
|
| **Color Scheme** | [Catppuccin][Catppuccin] |
|
||||||
| **network management tool** | [NetworkManager][NetworkManager] | [NetworkManager][NetworkManager] |
|
| **network management tool** | [NetworkManager][NetworkManager] |
|
||||||
| **Input method framework** | [Fcitx5][Fcitx5] | [Fcitx5][Fcitx5] |
|
| **Input method framework** | [Fcitx5][Fcitx5] |
|
||||||
| **System resource monitor** | [Btop][Btop] | [Btop][Btop] |
|
| **System resource monitor** | [Btop][Btop] |
|
||||||
| **File Manager** | [Yazi][Yazi] + [thunar][thunar] | [Yazi][Yazi] + [thunar][thunar] |
|
| **File Manager** | [Yazi][Yazi] + [thunar][thunar] |
|
||||||
| **Shell** | [Nushell][Nushell] + [Starship][Starship] | [Nushell][Nushell] + [Starship][Starship] |
|
| **Shell** | [Nushell][Nushell] + [Starship][Starship] |
|
||||||
| **Music Player** | [mpd][mpd], [ncmpcpp][ncmpcpp], [mpc][mpc], [Netease-cloud-music-gtk][netease-cloud-music-gtk] | [Netease-cloud-music-gtk][netease-cloud-music-gtk] |
|
| **Music Player** | [mpd][mpd], [ncmpcpp][ncmpcpp], [mpc][mpc] |
|
||||||
| **Media Player** | [mpv][mpv] | [mpv][mpv] |
|
| **Media Player** | [mpv][mpv] |
|
||||||
| **Text Editor** | [Neovim][Neovim] + [DoomEmacs][DoomEmacs] | [Neovim][Neovim] + [DoomEmacs][DoomEmacs] |
|
| **Text Editor** | [Neovim][Neovim] + [DoomEmacs][DoomEmacs] |
|
||||||
| **Fonts** | [Nerd fonts][Nerd fonts] | [Nerd fonts][Nerd fonts] |
|
| **Fonts** | [Nerd fonts][Nerd fonts] |
|
||||||
| **Image Viewer** | [imv][imv] | [imv][imv] |
|
| **Image Viewer** | [imv][imv] |
|
||||||
| **Screenshot Software** | [flameshot][flameshot] + [grim][grim] | [flameshot][flameshot] |
|
| **Screenshot Software** | [flameshot][flameshot] + [grim][grim] |
|
||||||
| **Screen Recording** | [OBS][OBS] | [OBS][OBS] |
|
| **Screen Recording** | [OBS][OBS] |
|
||||||
| **Filesystem & Encryption** | tmpfs on `/`, [Btrfs][Btrfs] subvolumes on a [LUKS][LUKS] encrypted partition for persistent, unlock via passphrase | tmpfs on `/`, [Btrfs][Btrfs] subvolumes on a [LUKS][LUKS] encrypted partition for persistent, unlock via passphrase |
|
| **Filesystem & Encryption** | tmpfs on `/`, [Btrfs][Btrfs] subvolumes on a [LUKS][LUKS] encrypted partition for persistent, unlock via passphrase |
|
||||||
| **Secure Boot** | [lanzaboote][lanzaboote] | [lanzaboote][lanzaboote] |
|
| **Secure Boot** | [lanzaboote][lanzaboote] |
|
||||||
|
|
||||||
Wallpapers: https://github.com/ryan4yin/wallpapers
|
Wallpapers: https://github.com/ryan4yin/wallpapers
|
||||||
|
|
||||||
@@ -85,10 +88,6 @@ Wallpapers: https://github.com/ryan4yin/wallpapers
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## I3 + AstroNvim
|
|
||||||
|
|
||||||
 
|
|
||||||
|
|
||||||
## Neovim
|
## Neovim
|
||||||
|
|
||||||
See [./home/base/tui/editors/neovim/](./home/base/tui/editors/neovim/) for details.
|
See [./home/base/tui/editors/neovim/](./home/base/tui/editors/neovim/) for details.
|
||||||
@@ -120,15 +119,12 @@ For NixOS:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# deploy one of the configuration based on the hostname
|
# deploy one of the configuration based on the hostname
|
||||||
# sudo nixos-rebuild switch --flake .#ai_i3
|
|
||||||
sudo nixos-rebuild switch --flake .#ai-hyprland
|
sudo nixos-rebuild switch --flake .#ai-hyprland
|
||||||
|
|
||||||
# deploy via `just`(a command runner with similar syntax to make) & Justfile
|
# deploy via `just`(a command runner with similar syntax to make) & Justfile
|
||||||
# just i3 # deploy my pc with i3 window manager
|
|
||||||
just hypr # deploy my pc with hyprland compositor
|
just hypr # deploy my pc with hyprland compositor
|
||||||
|
|
||||||
# or we can deploy with details
|
# or we can deploy with details
|
||||||
# just i3 debug
|
|
||||||
just hypr debug
|
just hypr debug
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -182,17 +178,12 @@ Other dotfiles that inspired me:
|
|||||||
- [HeinzDev/Hyprland-dotfiles](https://github.com/HeinzDev/Hyprland-dotfiles): Refer to the waybar
|
- [HeinzDev/Hyprland-dotfiles](https://github.com/HeinzDev/Hyprland-dotfiles): Refer to the waybar
|
||||||
configuration here.
|
configuration here.
|
||||||
- [linuxmobile/kaku](https://github.com/linuxmobile/kaku)
|
- [linuxmobile/kaku](https://github.com/linuxmobile/kaku)
|
||||||
- I3 Window Manager
|
|
||||||
- [endeavouros-i3wm-setup](https://github.com/endeavouros-team/endeavouros-i3wm-setup): I started
|
|
||||||
using i3 here, and my i3 configuration is also based on it, but made a lot of changes.
|
|
||||||
- [denisse-dev/dotfiles](https://github.com/denisse-dev/dotfiles)
|
|
||||||
- Neovim/AstroNvim
|
- Neovim/AstroNvim
|
||||||
- [maxbrunet/dotfiles](https://github.com/maxbrunet/dotfiles): astronvim with nix flakes.
|
- [maxbrunet/dotfiles](https://github.com/maxbrunet/dotfiles): astronvim with nix flakes.
|
||||||
- Misc
|
- Misc
|
||||||
- [1amSimp1e/dots](https://github.com/1amSimp1e/dots)
|
- [1amSimp1e/dots](https://github.com/1amSimp1e/dots)
|
||||||
|
|
||||||
[Hyprland]: https://github.com/hyprwm/Hyprland
|
[Hyprland]: https://github.com/hyprwm/Hyprland
|
||||||
[i3]: https://github.com/i3/i3
|
|
||||||
[Kitty]: https://github.com/kovidgoyal/kitty
|
[Kitty]: https://github.com/kovidgoyal/kitty
|
||||||
[Nushell]: https://github.com/nushell/nushell
|
[Nushell]: https://github.com/nushell/nushell
|
||||||
[Starship]: https://github.com/starship/starship
|
[Starship]: https://github.com/starship/starship
|
||||||
|
|||||||
+6
-2
@@ -1,13 +1,17 @@
|
|||||||
## How to create & managage KubeVirt's Virtual Machine from this flake?
|
## How to create & managage KubeVirt's Virtual Machine from this flake?
|
||||||
|
|
||||||
Use `aquamarine` as an example, we can create a virtual machine with the following command:
|
Use `aquamarine` as an example, first build and upload the virtual machine's qcow2 image to the file
|
||||||
|
server:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
just upload-vm aquamarine
|
just upload-vm aquamarine
|
||||||
```
|
```
|
||||||
|
|
||||||
Then create the virtual machine by creating a yaml file at
|
Then create the virtual machine by creating a yaml file at
|
||||||
[ryan4yin/k8s-gitops](https://github.com/ryan4yin/k8s-gitops/tree/main/vms)
|
[ryan4yin/k8s-gitops](https://github.com/ryan4yin/k8s-gitops/tree/main/vms), set the
|
||||||
|
`spec.dataVolumeTemplates[0].source.http.url` to the uploaded file's URL, and fluxcd will
|
||||||
|
automatically apply the changes, then a virtual machine named `aquamarine` will be created in the
|
||||||
|
KubeVirt cluster.
|
||||||
|
|
||||||
Once the virtual machine `aquamarine` is created, we can deploy updates to it with the following
|
Once the virtual machine `aquamarine` is created, we can deploy updates to it with the following
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
Generated
+193
-650
File diff suppressed because it is too large
Load Diff
@@ -101,16 +101,13 @@
|
|||||||
|
|
||||||
nuenv.url = "github:DeterminateSystems/nuenv";
|
nuenv.url = "github:DeterminateSystems/nuenv";
|
||||||
|
|
||||||
daeuniverse.url = "github:daeuniverse/flake.nix";
|
|
||||||
# daeuniverse.url = "github:daeuniverse/flake.nix/exp";
|
|
||||||
|
|
||||||
haumea = {
|
haumea = {
|
||||||
url = "github:nix-community/haumea/v0.2.2";
|
url = "github:nix-community/haumea/v0.2.2";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
microvm = {
|
nixpak = {
|
||||||
url = "github:astro/microvm.nix";
|
url = "github:nixpak/nixpak";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -142,16 +139,7 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
nur-ryan4yin = {
|
nur-ryan4yin.url = "github:ryan4yin/nur-packages";
|
||||||
url = "github:ryan4yin/nur-packages";
|
nur-ataraxiasjel.url = "github:AtaraxiaSjel/nur";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# riscv64 SBCs
|
|
||||||
nixos-licheepi4a.url = "github:ryan4yin/nixos-licheepi4a";
|
|
||||||
# nixos-jh7110.url = "github:ryan4yin/nixos-jh7110";
|
|
||||||
|
|
||||||
# aarch64 SBCs
|
|
||||||
nixos-rk3588.url = "github:ryan4yin/nixos-rk3588";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# Linux Hardening
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
- **System Level**: Protect critical files from being accessed by untrusted applications.
|
||||||
|
1. Such as browser cookies, SSH keys, etc.
|
||||||
|
- **Per-App Level**: Prevent untrusted applications(such as closed-source apps) from:
|
||||||
|
1. Accessing files they shouldn't.
|
||||||
|
- Such as a malicious application accessing your browser's cookies, SSH Keys, etc.
|
||||||
|
1. Accessing the network when they don't need to.
|
||||||
|
1. Accessing hardware devices they don't need.
|
||||||
|
|
||||||
|
## Current Status
|
||||||
|
|
||||||
|
1. **System Level**:
|
||||||
|
- [ ] AppArmor
|
||||||
|
- [ ] Kernel & System Hardening
|
||||||
|
1. **Per-App Level**:
|
||||||
|
- Nixpak (Bubblewrap)
|
||||||
|
- [x] QQ
|
||||||
|
- [ ] Firefox (Nvidia GPU support issue)
|
||||||
|
- [ ] Firejail (risk? not enabled yet)
|
||||||
|
|
||||||
|
## Kernel Hardening
|
||||||
|
|
||||||
|
- NixOS Kernel Config:
|
||||||
|
https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/os-specific/linux/kernel/hardened/config.nix
|
||||||
|
|
||||||
|
## System Hardening
|
||||||
|
|
||||||
|
- NixOS Profile:
|
||||||
|
https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/profiles/hardened.nix
|
||||||
|
- Apparmor: [roddhjav/apparmor.d)](https://github.com/roddhjav/apparmor.d)
|
||||||
|
- https://gitlab.com/apparmor/apparmor/-/wikis/Documentation
|
||||||
|
- AppArmor.d is a set of over 1500 AppArmor profiles whose aim is to confine most Linux based
|
||||||
|
applications and processes.
|
||||||
|
- Nix Package:
|
||||||
|
[roddhjav-apparmor-rules](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix#L33)
|
||||||
|
- https://github.com/NixOS/nixpkgs/issues/331645
|
||||||
|
- SELinux: too complex, not recommended for personal use.
|
||||||
|
|
||||||
|
## Application Sandboxing
|
||||||
|
|
||||||
|
- [Firejail](https://github.com/netblue30/firejail/tree/master/etc): A SUID security sandbox with
|
||||||
|
hundreds of security profiles for many common applications in the default installation.
|
||||||
|
- https://wiki.nixos.org/wiki/Firejail
|
||||||
|
- Firejail needs SUID to work, which is considered a security risk -
|
||||||
|
[Does firejail improve the security of my system?](https://github.com/netblue30/firejail/discussions/4601)
|
||||||
|
- [Bubblewrap](https://github.com/containers/bubblewrap):
|
||||||
|
[nixpak](https://github.com/nixpak/nixpak), more secure than firejail, but no batteries included.
|
||||||
|
- NixOS's FHSEnv is implemented using bubblewrap by default.
|
||||||
|
- [Systemd/Hardening](https://wiki.nixos.org/wiki/Systemd/Hardening): Systemd also provides some
|
||||||
|
sandboxing features.
|
||||||
|
|
||||||
|
## NOTE
|
||||||
|
|
||||||
|
**Running untrusted code is never safe, kernel hardening & sandboxing cannot change this**.
|
||||||
|
|
||||||
|
If you want to run untrusted code, please use a VM & an isolated network environment, which will
|
||||||
|
provide a much higher level of security.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Harden your NixOS workstation - dataswamp](https://dataswamp.org/~solene/2022-01-13-nixos-hardened.html)
|
||||||
|
- [Linux Insecurities - Madaidans](https://madaidans-insecurities.github.io/linux.html)
|
||||||
|
- [Sandboxing all programs by default - NixOS Discourse](https://discourse.nixos.org/t/sandboxing-all-programs-by-default/7792)
|
||||||
|
- [在 Firejail 中运行 Steam](https://imbearchild.cyou/archives/2021/11/steam-in-firejail/)
|
||||||
|
- [Firejail - Arch Linux Wiki](https://wiki.archlinux.org/title/Firejail)
|
||||||
|
- nixpak configs:
|
||||||
|
- https://github.com/pokon548/OysterOS/tree/b97604d89953373d6316286b96f6a964af2c398d/desktop/application
|
||||||
|
- https://github.com/segment-tree/my-nixos/tree/ceb6041f73bd9edcb78a8818b27a28f7c629193b/hm/me/apps/nixpak
|
||||||
|
- https://github.com/Keksgesicht/nixos-config/tree/91cc77d8d6b598da7c4dbed143e0009c2dea6940/packages/nixpak
|
||||||
|
- https://github.com/bluskript/nix-config/blob/7ecb6a7254c1ac4969072f4c4febdc19f8b83b30/pkgs/nixpak/default.nix
|
||||||
|
- firejail configs:
|
||||||
|
- https://github.com/stelcodes/nixos-config/blob/f8967c82a5e5f3d128eb1aaf7498b5f918f719ec/packages/overlay.nix#L261
|
||||||
|
- apparmor configs:
|
||||||
|
- https://github.com/sukhmancs/nixos-configs/blob/7fcf737c506ad843113cd5b94796b49d4d4dfad2/modules/shared/security/apparmor/default.nix#L8
|
||||||
|
- https://github.com/zramctl/dotfiles/blob/4fe177f6984154960942bb47d5a375098ec6ed6a/modules/nixos/security/apparmor.nix#L4
|
||||||
|
- Others:
|
||||||
|
- Directly via `buildFHSUserEnvBubblewrap`:
|
||||||
|
https://github.com/xddxdd/nur-packages/blob/master/pkgs/uncategorized/wechat-uos/default.nix
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.dbus.apparmor = "enabled";
|
||||||
|
security.apparmor = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# kill process that are not confined but have apparmor profiles enabled
|
||||||
|
killUnconfinedConfinables = true;
|
||||||
|
packages = with pkgs; [
|
||||||
|
apparmor-utils
|
||||||
|
apparmor-profiles
|
||||||
|
];
|
||||||
|
|
||||||
|
# apparmor policies
|
||||||
|
policies = {
|
||||||
|
"default_deny" = {
|
||||||
|
enforce = false;
|
||||||
|
enable = false;
|
||||||
|
profile = ''
|
||||||
|
profile default_deny /** { }
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
"sudo" = {
|
||||||
|
enforce = false;
|
||||||
|
enable = false;
|
||||||
|
profile = ''
|
||||||
|
${pkgs.sudo}/bin/sudo {
|
||||||
|
file /** rwlkUx,
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
"nix" = {
|
||||||
|
enforce = false;
|
||||||
|
enable = false;
|
||||||
|
profile = ''
|
||||||
|
${config.nix.package}/bin/nix {
|
||||||
|
unconfined,
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
apparmor-bin-utils
|
||||||
|
apparmor-profiles
|
||||||
|
apparmor-parser
|
||||||
|
libapparmor
|
||||||
|
apparmor-kernel-patches
|
||||||
|
apparmor-pam
|
||||||
|
apparmor-utils
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
{pkgs, ...}: let
|
||||||
|
firejailWrapper = import ./firejailWrapper.nix pkgs;
|
||||||
|
in {
|
||||||
|
programs.firejail.enable = true;
|
||||||
|
|
||||||
|
# Add firejailed Apps into nixsuper, and reference them in home-manager or other nixos modules
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(_: super: {
|
||||||
|
firejailed = {
|
||||||
|
steam = firejailWrapper {
|
||||||
|
name = "steam-firejailed";
|
||||||
|
executable = "${super.steam}/bin/steam";
|
||||||
|
profile = "${super.firejail}/etc/firejail/steam.profile";
|
||||||
|
};
|
||||||
|
steam-run = firejailWrapper {
|
||||||
|
name = "steam-run-firejailed";
|
||||||
|
executable = "${super.steam}/bin/steam-run";
|
||||||
|
profile = "${super.firejail}/etc/firejail/steam.profile";
|
||||||
|
};
|
||||||
|
|
||||||
|
# firefox = firejailWrapper {
|
||||||
|
# name = "firefox-firejailed";
|
||||||
|
# executable = "${super.lib.getBin super.firefox-wayland}/bin/firefox";
|
||||||
|
# profile = "${super.firejail}/etc/firejail/firefox.profile";
|
||||||
|
# };
|
||||||
|
# chromium = firejailWrapper {
|
||||||
|
# name = "chromium-firejailed";
|
||||||
|
# executable = "${super.lib.getBin super.ungoogled-chromium}/bin/chromium";
|
||||||
|
# profile = "${super.firejail}/etc/firejail/chromium.profile";
|
||||||
|
# };
|
||||||
|
|
||||||
|
mpv = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.mpv}/bin/mpv";
|
||||||
|
profile = "${super.firejail}/etc/firejail/mpv.profile";
|
||||||
|
};
|
||||||
|
imv = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.imv}/bin/imv";
|
||||||
|
profile = "${super.firejail}/etc/firejail/imv.profile";
|
||||||
|
};
|
||||||
|
zathura = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.zathura}/bin/zathura";
|
||||||
|
profile = "${super.firejail}/etc/firejail/zathura.profile";
|
||||||
|
};
|
||||||
|
discord = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.discord}/bin/discord";
|
||||||
|
profile = "${super.firejail}/etc/firejail/discord.profile";
|
||||||
|
};
|
||||||
|
slack = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.slack}/bin/slack";
|
||||||
|
profile = "${super.firejail}/etc/firejail/slack.profile";
|
||||||
|
};
|
||||||
|
telegram-desktop = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.tdesktop}/bin/telegram-desktop";
|
||||||
|
profile = "${super.firejail}/etc/firejail/telegram-desktop.profile";
|
||||||
|
};
|
||||||
|
brave = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.brave}/bin/brave";
|
||||||
|
profile = "${super.firejail}/etc/firejail/brave.profile";
|
||||||
|
};
|
||||||
|
qutebrowser = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.qutebrowser}/bin/qutebrowser";
|
||||||
|
profile = "${super.firejail}/etc/firejail/qutebrowser.profile";
|
||||||
|
};
|
||||||
|
thunar = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.xfce.thunar}/bin/thunar";
|
||||||
|
profile = "${super.firejail}/etc/firejail/thunar.profile";
|
||||||
|
};
|
||||||
|
vscodium = firejailWrapper {
|
||||||
|
executable = "${super.lib.getBin super.vscodium}/bin/vscodium";
|
||||||
|
profile = "${super.firejail}/etc/firejail/vscodium.profile";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# https://www.reddit.com/r/NixOS/comments/1b56jdx/simple_nix_function_for_wrapping_executables_with/
|
||||||
|
pkgs: {
|
||||||
|
name ? "firejail-wrapper",
|
||||||
|
executable,
|
||||||
|
desktop ? null,
|
||||||
|
profile ? null,
|
||||||
|
extraArgs ? [],
|
||||||
|
}:
|
||||||
|
pkgs.runCommand name
|
||||||
|
{
|
||||||
|
preferLocalBuild = true;
|
||||||
|
allowSubstitutes = false;
|
||||||
|
meta.priority = -1; # take precedence over non-firejailed versions
|
||||||
|
}
|
||||||
|
(
|
||||||
|
let
|
||||||
|
firejailArgs = pkgs.lib.concatStringsSep " " (
|
||||||
|
extraArgs ++ (pkgs.lib.optional (profile != null) "--profile=${toString profile}")
|
||||||
|
);
|
||||||
|
in
|
||||||
|
''
|
||||||
|
command_path="$out/bin/$(basename ${executable})-jailed"
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
cat <<'_EOF' >"$command_path"
|
||||||
|
#! ${pkgs.runtimeShell} -e
|
||||||
|
exec /run/wrappers/bin/firejail ${firejailArgs} -- ${toString executable} "\$@"
|
||||||
|
_EOF
|
||||||
|
chmod 0755 "$command_path"
|
||||||
|
''
|
||||||
|
+ pkgs.lib.optionalString (desktop != null) ''
|
||||||
|
substitute ${desktop} $out/share/applications/$(basename ${desktop}) \
|
||||||
|
--replace ${executable} "$command_path"
|
||||||
|
''
|
||||||
|
)
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
nixpak,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
callArgs = {
|
||||||
|
mkNixPak = nixpak.lib.nixpak {
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
safeBind = sloth: realdir: mapdir: [
|
||||||
|
(sloth.mkdir (sloth.concat' sloth.appDataDir realdir))
|
||||||
|
(sloth.concat' sloth.homeDir mapdir)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
wrapper = _pkgs: path: (_pkgs.callPackage path callArgs).config.script;
|
||||||
|
in {
|
||||||
|
# Add nixpaked Apps into nixpkgs, and reference them in home-manager or other nixos modules
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(_: super: {
|
||||||
|
nixpaks = {
|
||||||
|
qq = wrapper super ./qq.nix;
|
||||||
|
qq-desktop-item = super.callPackage ./qq-desktop-item.nix {};
|
||||||
|
|
||||||
|
firefox = wrapper super ./firefox.nix;
|
||||||
|
firefox-desktop-item = super.callPackage ./firefox-desktop-item.nix {};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{makeDesktopItem}:
|
||||||
|
makeDesktopItem {
|
||||||
|
name = "firefox";
|
||||||
|
desktopName = "firefox";
|
||||||
|
exec = "firefox %U";
|
||||||
|
terminal = false;
|
||||||
|
icon = "firefox";
|
||||||
|
type = "Application";
|
||||||
|
categories = ["Network"];
|
||||||
|
comment = "firefox boxed";
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# Refer:
|
||||||
|
# - Flatpak manifest's docs:
|
||||||
|
# - https://docs.flatpak.org/en/latest/manifests.html
|
||||||
|
# - https://docs.flatpak.org/en/latest/sandbox-permissions.html
|
||||||
|
# - Firefox's flatpak manifest: https://hg.mozilla.org/mozilla-central/file/tip/taskcluster/docker/firefox-flatpak/runme.sh#l151
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
mkNixPak,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
mkNixPak {
|
||||||
|
config = {
|
||||||
|
config,
|
||||||
|
sloth,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
app = {
|
||||||
|
package = pkgs.firefox-wayland;
|
||||||
|
binPath = "bin/firefox";
|
||||||
|
};
|
||||||
|
flatpak.appId = "org.mozilla.firefox";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./modules/gui-base.nix
|
||||||
|
./modules/network.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# list all dbus services:
|
||||||
|
# ls -al /run/current-system/sw/share/dbus-1/services/
|
||||||
|
# ls -al /etc/profiles/per-user/ryan/share/dbus-1/services/
|
||||||
|
dbus.policies = {
|
||||||
|
"org.mozilla.firefox.*" = "own"; # firefox
|
||||||
|
"org.mozilla.firefox_beta.*" = "own"; # firefox beta
|
||||||
|
"org.mpris.MediaPlayer2.firefox.*" = "own";
|
||||||
|
"org.freedesktop.NetworkManager" = "talk";
|
||||||
|
};
|
||||||
|
|
||||||
|
bubblewrap = {
|
||||||
|
bind.rw = [
|
||||||
|
(sloth.concat' sloth.homeDir "/.mozilla")
|
||||||
|
(sloth.concat' sloth.homeDir "/Downloads")
|
||||||
|
|
||||||
|
# ================ for externsions ===============================
|
||||||
|
# required by https://github.com/browserpass/browserpass-extension
|
||||||
|
(sloth.concat' sloth.homeDir "/.local/share/password-store") # pass
|
||||||
|
];
|
||||||
|
bind.ro = [
|
||||||
|
# To actually make Firefox run
|
||||||
|
"/sys/bus/pci"
|
||||||
|
["${config.app.package}/lib/firefox" "/app/etc/firefox"]
|
||||||
|
|
||||||
|
# Unsure
|
||||||
|
(sloth.concat' sloth.xdgConfigHome "/dconf")
|
||||||
|
];
|
||||||
|
|
||||||
|
sockets = {
|
||||||
|
x11 = false;
|
||||||
|
wayland = true;
|
||||||
|
pipewire = true;
|
||||||
|
};
|
||||||
|
bind.dev = [
|
||||||
|
"/dev/shm" # Shared Memory
|
||||||
|
|
||||||
|
# seems required when using nvidia as primary gpu
|
||||||
|
"/dev/nvidia0"
|
||||||
|
"/dev/nvidia-uvm"
|
||||||
|
"/dev/nvidia-modeset"
|
||||||
|
];
|
||||||
|
tmpfs = [
|
||||||
|
"/tmp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# https://github.com/nixpak/pkgs/blob/master/pkgs/modules/gui-base.nix
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
sloth,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
envSuffix = envKey: suffix: sloth.concat' (sloth.env envKey) suffix;
|
||||||
|
# cursor & icon's theme should be the same as the host's one.
|
||||||
|
cursorTheme = pkgs.bibata-cursors;
|
||||||
|
iconTheme = pkgs.papirus-icon-theme;
|
||||||
|
in {
|
||||||
|
config = {
|
||||||
|
dbus.policies = {
|
||||||
|
"${config.flatpak.appId}" = "own";
|
||||||
|
"org.freedesktop.DBus" = "talk";
|
||||||
|
"org.gtk.vfs.*" = "talk";
|
||||||
|
"org.gtk.vfs" = "talk";
|
||||||
|
"ca.desrt.dconf" = "talk";
|
||||||
|
"org.freedesktop.portal.*" = "talk";
|
||||||
|
"org.a11y.Bus" = "talk";
|
||||||
|
};
|
||||||
|
# https://github.com/nixpak/nixpak/blob/master/modules/gpu.nix
|
||||||
|
# 1. bind readonly - /run/opengl-driver
|
||||||
|
# 2. bind device - /dev/dri
|
||||||
|
gpu = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
provider = "nixos";
|
||||||
|
bundlePackage = pkgs.mesa.drivers; # for amd & intel
|
||||||
|
};
|
||||||
|
# https://github.com/nixpak/nixpak/blob/master/modules/gui/fonts.nix
|
||||||
|
# it works not well, bind system's /etc/fonts directly instead
|
||||||
|
fonts.enable = true;
|
||||||
|
# https://github.com/nixpak/nixpak/blob/master/modules/locale.nix
|
||||||
|
locale.enable = true;
|
||||||
|
bubblewrap = {
|
||||||
|
network = lib.mkDefault false;
|
||||||
|
bind.rw = [
|
||||||
|
[
|
||||||
|
(envSuffix "HOME" "/.var/app/${config.flatpak.appId}/cache")
|
||||||
|
sloth.xdgCacheHome
|
||||||
|
]
|
||||||
|
(sloth.concat' sloth.xdgCacheHome "/fontconfig")
|
||||||
|
(sloth.concat' sloth.xdgCacheHome "/mesa_shader_cache")
|
||||||
|
|
||||||
|
(sloth.concat [
|
||||||
|
(sloth.env "XDG_RUNTIME_DIR")
|
||||||
|
"/"
|
||||||
|
(sloth.envOr "WAYLAND_DISPLAY" "no")
|
||||||
|
])
|
||||||
|
|
||||||
|
(envSuffix "XDG_RUNTIME_DIR" "/at-spi/bus")
|
||||||
|
(envSuffix "XDG_RUNTIME_DIR" "/gvfsd")
|
||||||
|
(envSuffix "XDG_RUNTIME_DIR" "/pulse")
|
||||||
|
|
||||||
|
"/run/dbus"
|
||||||
|
];
|
||||||
|
bind.ro = [
|
||||||
|
(envSuffix "XDG_RUNTIME_DIR" "/doc")
|
||||||
|
(sloth.concat' sloth.xdgConfigHome "/gtk-2.0")
|
||||||
|
(sloth.concat' sloth.xdgConfigHome "/gtk-3.0")
|
||||||
|
(sloth.concat' sloth.xdgConfigHome "/gtk-4.0")
|
||||||
|
(sloth.concat' sloth.xdgConfigHome "/fontconfig")
|
||||||
|
|
||||||
|
"/etc/fonts" # for fontconfig
|
||||||
|
"/etc/machine-id"
|
||||||
|
"/etc/localtime"
|
||||||
|
];
|
||||||
|
env = {
|
||||||
|
XDG_DATA_DIRS = lib.mkForce (lib.makeSearchPath "share" [
|
||||||
|
iconTheme
|
||||||
|
cursorTheme
|
||||||
|
pkgs.shared-mime-info
|
||||||
|
]);
|
||||||
|
XCURSOR_PATH = lib.mkForce (lib.concatStringsSep ":" [
|
||||||
|
"${cursorTheme}/share/icons"
|
||||||
|
"${cursorTheme}/share/pixmaps"
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# https://github.com/nixpak/pkgs/blob/master/pkgs/modules/network.nix
|
||||||
|
{
|
||||||
|
etc.sslCertificates.enable = true;
|
||||||
|
bubblewrap = {
|
||||||
|
bind.ro = ["/etc/resolv.conf"];
|
||||||
|
network = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
makeDesktopItem,
|
||||||
|
qq,
|
||||||
|
}:
|
||||||
|
makeDesktopItem {
|
||||||
|
name = "qq";
|
||||||
|
desktopName = "QQ";
|
||||||
|
exec = "qq %U";
|
||||||
|
terminal = false;
|
||||||
|
# icon = "qq";
|
||||||
|
icon = "${qq}/share/icons/hicolor/512x512/apps/qq.png";
|
||||||
|
type = "Application";
|
||||||
|
categories = ["Network"];
|
||||||
|
comment = "QQ boxed";
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Refer:
|
||||||
|
# - Flatpak manifest's docs:
|
||||||
|
# - https://docs.flatpak.org/en/latest/manifests.html
|
||||||
|
# - https://docs.flatpak.org/en/latest/sandbox-permissions.html
|
||||||
|
# - QQ's flatpak manifest: https://github.com/flathub/com.qq.QQ/blob/master/com.qq.QQ.yaml
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
mkNixPak,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
mkNixPak {
|
||||||
|
config = {sloth, ...}: {
|
||||||
|
app = {
|
||||||
|
package = pkgs.qq.override {
|
||||||
|
# fix fcitx5 input method
|
||||||
|
commandLineArgs = lib.concatStringsSep " " ["--enable-wayland-ime"];
|
||||||
|
};
|
||||||
|
binPath = "bin/qq";
|
||||||
|
};
|
||||||
|
flatpak.appId = "com.tencent.qq";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./modules/gui-base.nix
|
||||||
|
./modules/network.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# list all dbus services:
|
||||||
|
# ls -al /run/current-system/sw/share/dbus-1/services/
|
||||||
|
# ls -al /etc/profiles/per-user/ryan/share/dbus-1/services/
|
||||||
|
dbus.policies = {
|
||||||
|
"org.gnome.Shell.Screencast" = "talk";
|
||||||
|
"org.freedesktop.Notifications" = "talk";
|
||||||
|
"org.kde.StatusNotifierWatcher" = "talk";
|
||||||
|
};
|
||||||
|
bubblewrap = {
|
||||||
|
bind.rw = [
|
||||||
|
(sloth.concat [sloth.xdgConfigHome "/QQ"])
|
||||||
|
(sloth.mkdir (sloth.concat [sloth.xdgDownloadDir "/QQ"]))
|
||||||
|
];
|
||||||
|
sockets = {
|
||||||
|
x11 = false;
|
||||||
|
wayland = true;
|
||||||
|
pipewire = true;
|
||||||
|
};
|
||||||
|
bind.dev = [
|
||||||
|
"/dev/shm" # Shared Memory
|
||||||
|
|
||||||
|
# seems required when using nvidia as primary gpu
|
||||||
|
"/dev/nvidia0"
|
||||||
|
"/dev/nvidia-uvm"
|
||||||
|
"/dev/nvidia-modeset"
|
||||||
|
];
|
||||||
|
tmpfs = [
|
||||||
|
"/tmp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{modulesPath, ...}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/hardened.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
# disable coredump that could be exploited later
|
||||||
|
# and also slow down the system when something crash
|
||||||
|
systemd.coredump.enable = false;
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
go-containerregistry # provides `crane` & `gcrane`, it's similar to skopeo
|
go-containerregistry # provides `crane` & `gcrane`, it's similar to skopeo
|
||||||
|
|
||||||
kubectl
|
kubectl
|
||||||
|
kubectx
|
||||||
kubebuilder
|
kubebuilder
|
||||||
istioctl
|
istioctl
|
||||||
clusterctl # for kubernetes cluster-api
|
clusterctl # for kubernetes cluster-api
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
gnupg
|
gnupg
|
||||||
gnumake
|
gnumake
|
||||||
|
|
||||||
# Morden cli tools, replacement of grep/sed/...
|
# Modern cli tools, replacement of grep/sed/...
|
||||||
|
|
||||||
# Interactively filter its input using fuzzy searching, not limit to filenames.
|
# Interactively filter its input using fuzzy searching, not limit to filenames.
|
||||||
fzf
|
fzf
|
||||||
|
|||||||
@@ -11,6 +11,12 @@
|
|||||||
# Changing working directory when exiting Yazi
|
# Changing working directory when exiting Yazi
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
enableNushellIntegration = true;
|
enableNushellIntegration = true;
|
||||||
|
settings = {
|
||||||
|
manager = {
|
||||||
|
show_hidden = true;
|
||||||
|
sort_dir_first = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."yazi/theme.toml".source = "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-yazi}/mocha.toml";
|
xdg.configFile."yazi/theme.toml".source = "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-yazi}/mocha.toml";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
- paredit/[lispy](https://github.com/doomemacs/doomemacs/tree/master/modules/editor/lispy): too
|
- paredit/[lispy](https://github.com/doomemacs/doomemacs/tree/master/modules/editor/lispy): too
|
||||||
complex.
|
complex.
|
||||||
- [evil-cleverparens](https://github.com/emacs-evil/evil-cleverparens): simple and useful.
|
- [evil-cleverparens](https://github.com/emacs-evil/evil-cleverparens): simple and useful.
|
||||||
- [parinfer(par-in-fer)](https://shaunlebron.github.io/parinfer/): morden, simple, elegant and
|
- [parinfer(par-in-fer)](https://shaunlebron.github.io/parinfer/): modern, simple, elegant and
|
||||||
useful, but works not well with some other completion plugins...
|
useful, but works not well with some other completion plugins...
|
||||||
- to make parinfer works, you should disable sexp & smartparens in any lisp mode.
|
- to make parinfer works, you should disable sexp & smartparens in any lisp mode.
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Use `:tutor` in helix to start the tutorial.
|
|||||||
1. Helix: delete 2 word: `2w` then `x`. You can always see what you're selecting before you apply
|
1. Helix: delete 2 word: `2w` then `x`. You can always see what you're selecting before you apply
|
||||||
the action.
|
the action.
|
||||||
2. Neovim: delete 2 word: `d`. then `2w`. No visual feedback before you apply the action.
|
2. Neovim: delete 2 word: `d`. then `2w`. No visual feedback before you apply the action.
|
||||||
1. Helix - Morden builtin features: LSP, tree-sitter, fuzzy finder, multi cursors, surround and
|
1. Helix - Modern builtin features: LSP, tree-sitter, fuzzy finder, multi cursors, surround and
|
||||||
more.
|
more.
|
||||||
1. They're all available in Neovim too, but you need to find and use the right plugins manually,
|
1. They're all available in Neovim too, but you need to find and use the right plugins manually,
|
||||||
which takes time and effort.
|
which takes time and effort.
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ plugin.
|
|||||||
| Show line diagnostics | `gl` |
|
| Show line diagnostics | `gl` |
|
||||||
| Show function/variable info | `K` |
|
| Show function/variable info | `K` |
|
||||||
| References of a symbol | `gr` |
|
| References of a symbol | `gr` |
|
||||||
|
| Next tab | `]b` |
|
||||||
|
| Previous tab | `[b` |
|
||||||
|
|
||||||
### Window Navigation
|
### Window Navigation
|
||||||
|
|
||||||
@@ -94,8 +96,11 @@ plugin.
|
|||||||
|
|
||||||
### Splitting and Buffers
|
### Splitting and Buffers
|
||||||
|
|
||||||
| | Action | Shortcut | | --------------------- | ------------- | | Horizontal Split | `\` | |
|
| Action | Shortcut |
|
||||||
Vertical Split | `\|` | | Close Buffer | `<Space> + c` |
|
| ---------------- | ------------- |
|
||||||
|
| Horizontal Split | `\` |
|
||||||
|
| Vertical Split | `\|` |
|
||||||
|
| Close Buffer | `<Space> + c` |
|
||||||
|
|
||||||
### Editing and Formatting
|
### Editing and Formatting
|
||||||
|
|
||||||
@@ -109,7 +114,18 @@ Vertical Split | `\|` | | Close Buffer | `<Space> + c` |
|
|||||||
| Comment Line(support multiple lines) | `<Space> + /` |
|
| Comment Line(support multiple lines) | `<Space> + /` |
|
||||||
| Open filepath/URL at cursor(neovim's builtin command) | `gx` |
|
| Open filepath/URL at cursor(neovim's builtin command) | `gx` |
|
||||||
| Find files by name (fzf) | `<Space> + ff` |
|
| Find files by name (fzf) | `<Space> + ff` |
|
||||||
|
| Find files by name (include hidden files) | `<Space> + fF` |
|
||||||
| Grep string in files (ripgrep) | `<Space> + fw` |
|
| Grep string in files (ripgrep) | `<Space> + fw` |
|
||||||
|
| Grep string in files (include hidden files) | `<Space> + fW` |
|
||||||
|
|
||||||
|
### Git
|
||||||
|
|
||||||
|
| Action | Shortcut |
|
||||||
|
| -------------------------- | --------------- |
|
||||||
|
| Git Commits (repository) | `:<Space> + gc` |
|
||||||
|
| Git Commits (current file) | `:<Space> + gC` |
|
||||||
|
| Git Branches | `:<Space> + gb` |
|
||||||
|
| Git Status | `:<Space> + gt` |
|
||||||
|
|
||||||
### Sessions
|
### Sessions
|
||||||
|
|
||||||
@@ -163,7 +179,7 @@ Provided by mini.surround plugin.
|
|||||||
| --------------------------------- | --------------- |
|
| --------------------------------- | --------------- |
|
||||||
| Show all Yank History | `:<Space> + yh` |
|
| Show all Yank History | `:<Space> + yh` |
|
||||||
| Show undo history | `:<Space> + uh` |
|
| Show undo history | `:<Space> + uh` |
|
||||||
| Show the path of the current file | `:!echo $%` |
|
| Show the path of the current file | `:!echo $%` |
|
||||||
|
|
||||||
## Additional Resources
|
## Additional Resources
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -25,11 +26,33 @@ in {
|
|||||||
programs = {
|
programs = {
|
||||||
neovim = {
|
neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs-unstable.neovim-unwrapped;
|
||||||
|
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
||||||
|
# These environment variables are needed to build and run binaries
|
||||||
|
# with external package managers like mason.nvim.
|
||||||
|
#
|
||||||
|
# LD_LIBRARY_PATH is also needed to run the non-FHS binaries downloaded by mason.nvim.
|
||||||
|
# it will be set by nix-ld, so we do not need to set it here again.
|
||||||
|
extraWrapperArgs = with pkgs; [
|
||||||
|
# LIBRARY_PATH is used by gcc before compilation to search directories
|
||||||
|
# containing static and shared libraries that need to be linked to your program.
|
||||||
|
"--suffix"
|
||||||
|
"LIBRARY_PATH"
|
||||||
|
":"
|
||||||
|
"${lib.makeLibraryPath [stdenv.cc.cc zlib]}"
|
||||||
|
|
||||||
|
# PKG_CONFIG_PATH is used by pkg-config before compilation to search directories
|
||||||
|
# containing .pc files that describe the libraries that need to be linked to your program.
|
||||||
|
"--suffix"
|
||||||
|
"PKG_CONFIG_PATH"
|
||||||
|
":"
|
||||||
|
"${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [stdenv.cc.cc zlib]}"
|
||||||
|
];
|
||||||
|
|
||||||
# Currently we use lazy.nvim as neovim's package manager, so comment this one.
|
# Currently we use lazy.nvim as neovim's package manager, so comment this one.
|
||||||
#
|
#
|
||||||
# NOTE: These plugins will not be used by astronvim by default!
|
# NOTE: These plugins will not be used by astronvim by default!
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
-- Customize Mason plugins
|
-- Customize Mason plugins
|
||||||
|
--
|
||||||
|
-- NOTE: Issue - mason.nvim does not support NixOS:
|
||||||
|
-- https://github.com/williamboman/mason.nvim/issues/428
|
||||||
|
|
||||||
---@type LazySpec
|
---@type LazySpec
|
||||||
return {
|
return {
|
||||||
@@ -60,4 +63,16 @@ return {
|
|||||||
-- })
|
-- })
|
||||||
-- end,
|
-- end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
opts = function(_, opts)
|
||||||
|
-- Where Mason should put its bin location in your PATH. Can be one of:
|
||||||
|
-- - "prepend" (default, Mason's bin location is put first in PATH)
|
||||||
|
-- - "append" (Mason's bin location is put at the end of PATH)
|
||||||
|
-- - "skip" (doesn't modify PATH)
|
||||||
|
---@type '"prepend"' | '"append"' | '"skip"'
|
||||||
|
opts.PATH = "append" -- use mason's package only when no other package is found
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ return {
|
|||||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
||||||
-- please add only the tree-sitters that are not available in nixpkgs here
|
-- please add only the tree-sitters that are not available in nixpkgs here
|
||||||
|
|
||||||
|
"just",
|
||||||
"kdl",
|
"kdl",
|
||||||
"csv",
|
"csv",
|
||||||
"xml",
|
"xml",
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
programs.npm.npmrc = ''
|
programs.npm.npmrc = ''
|
||||||
prefix = ''${HOME}/.npm-global
|
prefix = ''${HOME}/.npm-global
|
||||||
@@ -138,6 +142,11 @@
|
|||||||
guile
|
guile
|
||||||
racket-minimal
|
racket-minimal
|
||||||
fnlfmt # fennel
|
fnlfmt # fennel
|
||||||
|
(
|
||||||
|
if pkgs.stdenv.isDarwin
|
||||||
|
then pkgs.emptyDirectory
|
||||||
|
else pkgs-unstable.akkuPackages.scheme-langserver
|
||||||
|
)
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
proselint # English prose linter
|
proselint # English prose linter
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ using a Cloud provider for key management.
|
|||||||
Both age, Sops & GnuPG provide asymmetric encryption, which is useful for encrypting files for a
|
Both age, Sops & GnuPG provide asymmetric encryption, which is useful for encrypting files for a
|
||||||
specific user.
|
specific user.
|
||||||
|
|
||||||
For morden use, age is recommended, as it use [AEAD encryption function -
|
For modern use, age is recommended, as it use [AEAD encryption function -
|
||||||
ChaCha20-Poly1305][age Format v1], If you do not want to manage the keys by yourself, Sops is
|
ChaCha20-Poly1305][age Format v1], If you do not want to manage the keys by yourself, Sops is
|
||||||
recommended, as it use KMS for key management.
|
recommended, as it use KMS for key management.
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ one keypair, or a keyring/keychain(which contains multiple sub key-pairs).
|
|||||||
|
|
||||||
Let's generate a keypair interactively:
|
Let's generate a keypair interactively:
|
||||||
|
|
||||||
> Now in 2024, GnuPG 2.4.1 defaults to ECC algorithm (9) and Curve 25519 for ECC, which is morden
|
> Now in 2024, GnuPG 2.4.1 defaults to ECC algorithm (9) and Curve 25519 for ECC, which is modern
|
||||||
> and safe, I would recommend to use these defaults directly.
|
> and safe, I would recommend to use these defaults directly.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -0,0 +1,257 @@
|
|||||||
|
# Place a copy of this config to ~/.aerospace.toml
|
||||||
|
# After that, you can edit ~/.aerospace.toml to your liking
|
||||||
|
|
||||||
|
# It's not necessary to copy all keys to your config.
|
||||||
|
# If the key is missing in your config, "default-config.toml" will serve as a fallback
|
||||||
|
|
||||||
|
# You can use it to add commands that run after login to macOS user session.
|
||||||
|
# 'start-at-login' needs to be 'true' for 'after-login-command' to work
|
||||||
|
# Available commands: https://nikitabobko.github.io/AeroSpace/commands
|
||||||
|
after-login-command = []
|
||||||
|
|
||||||
|
# You can use it to add commands that run after AeroSpace startup.
|
||||||
|
# 'after-startup-command' is run after 'after-login-command'
|
||||||
|
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
|
||||||
|
after-startup-command = [
|
||||||
|
# Highlight focused windows with colored borders
|
||||||
|
#
|
||||||
|
# JankyBorders has a built-in detection of already running process,
|
||||||
|
# so it won't be run twice on AeroSpace restart
|
||||||
|
'exec-and-forget borders active_color=0xffe1e3e4 inactive_color=0xff494d64 width=5.0',
|
||||||
|
]
|
||||||
|
|
||||||
|
# Start AeroSpace at login
|
||||||
|
start-at-login = false
|
||||||
|
|
||||||
|
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
|
||||||
|
enable-normalization-flatten-containers = true
|
||||||
|
enable-normalization-opposite-orientation-for-nested-containers = true
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
|
||||||
|
# The 'accordion-padding' specifies the size of accordion padding
|
||||||
|
# You can set 0 to disable the padding feature
|
||||||
|
accordion-padding = 30
|
||||||
|
|
||||||
|
# Possible values: tiles|accordion
|
||||||
|
default-root-container-layout = 'tiles'
|
||||||
|
|
||||||
|
# Possible values: horizontal|vertical|auto
|
||||||
|
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
|
||||||
|
# tall monitor (anything higher than wide) gets vertical orientation
|
||||||
|
default-root-container-orientation = 'auto'
|
||||||
|
|
||||||
|
# Possible values: (qwerty|dvorak)
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
|
||||||
|
key-mapping.preset = 'qwerty'
|
||||||
|
|
||||||
|
# Mouse follows focus when focused monitor changes
|
||||||
|
# Drop it from your config, if you don't like this behavior
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
|
||||||
|
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
|
||||||
|
|
||||||
|
# Gaps between windows (inner-*) and between monitor edges (outer-*).
|
||||||
|
# Possible values:
|
||||||
|
# - Constant: gaps.outer.top = 8
|
||||||
|
# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
|
||||||
|
# In this example, 24 is a default value when there is no match.
|
||||||
|
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
|
||||||
|
[gaps]
|
||||||
|
inner.horizontal = 5
|
||||||
|
inner.vertical = 5
|
||||||
|
outer.left = 5
|
||||||
|
outer.bottom = 5
|
||||||
|
outer.top = 5
|
||||||
|
outer.right = 5
|
||||||
|
|
||||||
|
[exec]
|
||||||
|
inherit-env-vars = true
|
||||||
|
[exec.env-vars]
|
||||||
|
PATH = '/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}'
|
||||||
|
|
||||||
|
# 'main' binding mode declaration
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
# 'main' binding mode must be always presented
|
||||||
|
[mode.main.binding]
|
||||||
|
|
||||||
|
# All possible keys:
|
||||||
|
# - Letters. a, b, c, ..., z
|
||||||
|
# - Numbers. 0, 1, 2, ..., 9
|
||||||
|
# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9
|
||||||
|
# - F-keys. f1, f2, ..., f20
|
||||||
|
# - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick,
|
||||||
|
# leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab
|
||||||
|
# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual,
|
||||||
|
# keypadMinus, keypadMultiply, keypadPlus
|
||||||
|
# - Arrows. left, down, up, right
|
||||||
|
|
||||||
|
# All possible modifiers: cmd, alt, ctrl, shift
|
||||||
|
|
||||||
|
# All possible commands: https://nikitabobko.github.io/AeroSpace/commands
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
|
||||||
|
# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3)
|
||||||
|
alt-enter = '''exec-and-forget osascript -e '
|
||||||
|
tell application "kitty"
|
||||||
|
do script
|
||||||
|
activate
|
||||||
|
end tell'
|
||||||
|
'''
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
|
||||||
|
alt-slash = 'layout tiles horizontal vertical'
|
||||||
|
alt-comma = 'layout accordion horizontal vertical'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
|
||||||
|
alt-h = 'focus left'
|
||||||
|
alt-j = 'focus down'
|
||||||
|
alt-k = 'focus up'
|
||||||
|
alt-l = 'focus right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move
|
||||||
|
alt-shift-h = 'move left'
|
||||||
|
alt-shift-j = 'move down'
|
||||||
|
alt-shift-k = 'move up'
|
||||||
|
alt-shift-l = 'move right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
|
||||||
|
alt-shift-minus = 'resize smart -50'
|
||||||
|
alt-shift-equal = 'resize smart +50'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
|
||||||
|
alt-1 = 'workspace 1Kitty'
|
||||||
|
alt-2 = 'workspace 2Wez'
|
||||||
|
alt-3 = 'workspace 3Work'
|
||||||
|
alt-4 = 'workspace 4Firefox'
|
||||||
|
alt-5 = 'workspace 5Chrome'
|
||||||
|
alt-6 = 'workspace 6Chat'
|
||||||
|
alt-7 = 'workspace 7Music'
|
||||||
|
alt-8 = 'workspace 8'
|
||||||
|
alt-9 = 'workspace 9'
|
||||||
|
alt-0 = 'workspace 10'
|
||||||
|
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
|
||||||
|
alt-shift-1 = 'move-node-to-workspace 1Kitty'
|
||||||
|
alt-shift-2 = 'move-node-to-workspace 2Wez'
|
||||||
|
alt-shift-3 = 'move-node-to-workspace 3Work'
|
||||||
|
alt-shift-4 = 'move-node-to-workspace 4Firefox'
|
||||||
|
alt-shift-5 = 'move-node-to-workspace 5Chrome'
|
||||||
|
alt-shift-6 = 'move-node-to-workspace 6Chat'
|
||||||
|
alt-shift-7 = 'move-node-to-workspace 7Music'
|
||||||
|
alt-shift-8 = 'move-node-to-workspace 8'
|
||||||
|
alt-shift-9 = 'move-node-to-workspace 9'
|
||||||
|
alt-shift-0 = 'move-node-to-workspace 10'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
|
||||||
|
alt-tab = 'workspace-back-and-forth'
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
|
||||||
|
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
|
||||||
|
alt-shift-semicolon = 'mode service'
|
||||||
|
|
||||||
|
cmd-h = [] # Disable "hide application"
|
||||||
|
cmd-alt-h = [] # Disable "hide others"
|
||||||
|
|
||||||
|
alt-shift-c = 'reload-config'
|
||||||
|
|
||||||
|
alt-r = 'mode resize'
|
||||||
|
|
||||||
|
# Declare 'resize' binding mode
|
||||||
|
[mode.resize.binding]
|
||||||
|
h = 'resize width -50'
|
||||||
|
j = 'resize height +50'
|
||||||
|
k = 'resize height -50'
|
||||||
|
l = 'resize width +50'
|
||||||
|
enter = 'mode main'
|
||||||
|
esc = 'mode main'
|
||||||
|
|
||||||
|
# 'service' binding mode declaration.
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
[mode.service.binding]
|
||||||
|
esc = ['reload-config', 'mode main']
|
||||||
|
r = ['flatten-workspace-tree', 'mode main'] # reset layout
|
||||||
|
#s = ['layout sticky tiling', 'mode main'] # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
|
||||||
|
f = [
|
||||||
|
'layout floating tiling',
|
||||||
|
'mode main',
|
||||||
|
] # Toggle between floating and tiling layout
|
||||||
|
backspace = ['close-all-windows-but-current', 'mode main']
|
||||||
|
|
||||||
|
alt-shift-h = ['join-with left', 'mode main']
|
||||||
|
alt-shift-j = ['join-with down', 'mode main']
|
||||||
|
alt-shift-k = ['join-with up', 'mode main']
|
||||||
|
alt-shift-l = ['join-with right', 'mode main']
|
||||||
|
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
#
|
||||||
|
# Assign apps on particular workspaces
|
||||||
|
#
|
||||||
|
# Use this command to get IDs of running applications:
|
||||||
|
# aerospace list-apps
|
||||||
|
#
|
||||||
|
# =================================================================
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'net.kovidgoyal.kitty'
|
||||||
|
run = 'move-node-to-workspace 1Kitty'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.github.wez.wezterm'
|
||||||
|
run = 'move-node-to-workspace 2Wez'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.tencent.WeWorkMac'
|
||||||
|
run = 'move-node-to-workspace 3Work'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'org.mozilla.firefox'
|
||||||
|
run = 'move-node-to-workspace 4Firefox'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.google.Chrome'
|
||||||
|
run = 'move-node-to-workspace 5Chrome'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'ru.keepcoder.Telegram'
|
||||||
|
run = 'move-node-to-workspace 6Chat'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.tencent.xinWeChat'
|
||||||
|
run = 'move-node-to-workspace 6Chat'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.tencent.qq'
|
||||||
|
run = 'move-node-to-workspace 6Chat'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.tencent.QQMusicMac'
|
||||||
|
run = 'move-node-to-workspace 7Music'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.netease.163music'
|
||||||
|
run = 'move-node-to-workspace 7Music'
|
||||||
|
|
||||||
|
# Make all windows float by default
|
||||||
|
[[on-window-detected]]
|
||||||
|
check-further-callbacks = true
|
||||||
|
run = 'layout floating'
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Multiple monitor configuration
|
||||||
|
# =================================================================
|
||||||
|
|
||||||
|
[workspace-to-monitor-force-assignment]
|
||||||
|
1Kitty = 'secondary' # Non-main monitor in case when there are only two monitors'
|
||||||
|
2Wez = 'main' # "Main" monitor ("main" as in System Settings → Displays → Use as)
|
||||||
|
3Work = 'main'
|
||||||
|
4Firefox = 'main'
|
||||||
|
5Chrome = 'secondary'
|
||||||
|
6Chat = 'main'
|
||||||
|
7Music = 'main'
|
||||||
|
8 = 'main'
|
||||||
|
9 = 'main'
|
||||||
|
0 = 'main'
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
home.file.".aerospace.toml".source = ./aerospace.toml;
|
||||||
|
}
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
3. `base`: all common configurations for all desktops.
|
3. `base`: all common configurations for all desktops.
|
||||||
4. `hyprland`: Hyprland's configuration.
|
4. `hyprland`: Hyprland's configuration.
|
||||||
5. `i3`: i3's configuration.
|
|
||||||
|
|
||||||
## Why install I3/Hyprland in Home Manager instead of a NixOS Module?
|
## Why install I3/Hyprland in Home Manager instead of a NixOS Module?
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# nix-gaming.packages.${pkgs.system}.osu-lazer-bin
|
# nix-gaming.packages.${pkgs.system}.osu-laser-bin
|
||||||
gamescope # SteamOS session compositing window manager
|
gamescope # SteamOS session compositing window manager
|
||||||
prismlauncher # A free, open source launcher for Minecraft
|
prismlauncher # A free, open source launcher for Minecraft
|
||||||
winetricks # A script to install DLLs needed to work around problems in Wine
|
winetricks # A script to install DLLs needed to work around problems in Wine
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
theme = {
|
theme = {
|
||||||
# https://github.com/catppuccin/gtk
|
# https://github.com/catppuccin/gtk
|
||||||
name = "Catppuccin-Macchiato-Compact-Pink-Dark";
|
name = "catppuccin-macchiato-pink-compact";
|
||||||
package = pkgs.catppuccin-gtk.override {
|
package = pkgs.catppuccin-gtk.override {
|
||||||
# https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/data/themes/catppuccin-gtk/default.nix
|
# https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/data/themes/catppuccin-gtk/default.nix
|
||||||
accents = ["pink"];
|
accents = ["pink"];
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
# instant messaging
|
# instant messaging
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
discord
|
discord
|
||||||
pkgs-unstable.qq # https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/networking/instant-messengers/qq
|
|
||||||
|
|
||||||
# remote desktop(rdp connect)
|
# remote desktop(rdp connect)
|
||||||
remmina
|
remmina
|
||||||
@@ -21,6 +20,10 @@
|
|||||||
# misc
|
# misc
|
||||||
flameshot
|
flameshot
|
||||||
ventoy # multi-boot usb creator
|
ventoy # multi-boot usb creator
|
||||||
|
|
||||||
|
# my custom hardened packages
|
||||||
|
pkgs.nixpaks.qq
|
||||||
|
pkgs.nixpaks.qq-desktop-item
|
||||||
];
|
];
|
||||||
|
|
||||||
# GitHub CLI tool
|
# GitHub CLI tool
|
||||||
|
|||||||
@@ -21,6 +21,12 @@
|
|||||||
''
|
''
|
||||||
+ (builtins.readFile "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-foot}/catppuccin-mocha.conf");
|
+ (builtins.readFile "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-foot}/catppuccin-mocha.conf");
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.firefox-wayland
|
||||||
|
# pkgs.nixpaks.firefox
|
||||||
|
# pkgs.nixpaks.firefox-desktop-item
|
||||||
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
# a wayland only terminal emulator
|
# a wayland only terminal emulator
|
||||||
foot = {
|
foot = {
|
||||||
@@ -54,12 +60,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
enableGnomeExtensions = false;
|
|
||||||
package = pkgs.firefox-wayland; # firefox with wayland support
|
|
||||||
};
|
|
||||||
|
|
||||||
vscode = {
|
vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# let vscode sync and update its configuration & extensions across devices, using github account.
|
# let vscode sync and update its configuration & extensions across devices, using github account.
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
xrandr --output DP-2 --brightness $@
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
i3-msg exit
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
xrandr \
|
|
||||||
--output HDMI-0 --mode 1920x1080 --pos 3840x0 --rotate normal \
|
|
||||||
--output DP-0 --off \
|
|
||||||
--output DP-1 --off \
|
|
||||||
--output DP-2 --primary --mode 3840x2160 --pos 0x0 --rotate normal \
|
|
||||||
--output DP-3 --off \
|
|
||||||
--output DP-4 --off \
|
|
||||||
--output DP-5 --off
|
|
||||||
@@ -1,333 +0,0 @@
|
|||||||
# This file is a modified version based on default i3-config-wizard config
|
|
||||||
# Maintainer: ryan4yin [xiaoyin_c@qq.com]
|
|
||||||
|
|
||||||
#######################
|
|
||||||
# config starts here: #
|
|
||||||
#######################
|
|
||||||
|
|
||||||
# Font for window titles.
|
|
||||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
|
||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
|
||||||
font pango: Noto Sans Regular 10
|
|
||||||
|
|
||||||
# set the mod key to the winkey:
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
workspace_layout default
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# extra options for windows: #
|
|
||||||
##############################
|
|
||||||
|
|
||||||
#border indicator on windows:
|
|
||||||
new_window pixel 1
|
|
||||||
|
|
||||||
# Set inner/outer gaps
|
|
||||||
gaps inner 6
|
|
||||||
gaps outer 3
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# switch/iterate between workspaces
|
|
||||||
bindsym $mod+Tab workspace next
|
|
||||||
bindsym $mod+Shift+Tab workspace prev
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace $ws1
|
|
||||||
bindsym $mod+2 workspace $ws2
|
|
||||||
bindsym $mod+3 workspace $ws3
|
|
||||||
bindsym $mod+4 workspace $ws4
|
|
||||||
bindsym $mod+5 workspace $ws5
|
|
||||||
bindsym $mod+6 workspace $ws6
|
|
||||||
bindsym $mod+7 workspace $ws7
|
|
||||||
bindsym $mod+8 workspace $ws8
|
|
||||||
bindsym $mod+9 workspace $ws9
|
|
||||||
bindsym $mod+0 workspace $ws0
|
|
||||||
|
|
||||||
# switch to workspace with numpad keys
|
|
||||||
bindcode $mod+87 workspace 1
|
|
||||||
bindcode $mod+88 workspace 2
|
|
||||||
bindcode $mod+89 workspace 3
|
|
||||||
bindcode $mod+83 workspace 4
|
|
||||||
bindcode $mod+84 workspace 5
|
|
||||||
bindcode $mod+85 workspace 6
|
|
||||||
bindcode $mod+79 workspace 7
|
|
||||||
bindcode $mod+80 workspace 8
|
|
||||||
bindcode $mod+81 workspace 9
|
|
||||||
bindcode $mod+90 workspace 0
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace $ws0
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that):
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# keybindings for different actions: #
|
|
||||||
######################################
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec kitty
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+q kill
|
|
||||||
|
|
||||||
# Lock the system
|
|
||||||
# lock with a picture:
|
|
||||||
#bindsym $mod+l exec i3lock -i ~/.config/i3/i3-lock-screen.png -p default|win -t
|
|
||||||
# lock by blurring the screen:
|
|
||||||
bindsym $mod+l exec ~/.config/i3/scripts/blur-lock
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to update i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
|
|
||||||
# Backlight control
|
|
||||||
bindsym XF86MonBrightnessUp exec xbacklight +10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
|
|
||||||
bindsym XF86MonBrightnessDown exec xbacklight -10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
bindsym $mod+j focus left
|
|
||||||
bindsym $mod+k focus down
|
|
||||||
bindsym $mod+b focus up
|
|
||||||
bindsym $mod+o focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
bindsym $mod+Shift+j move left
|
|
||||||
bindsym $mod+Shift+k move down
|
|
||||||
bindsym $mod+Shift+b move up
|
|
||||||
bindsym $mod+Shift+o move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+g layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# open new empty workspace
|
|
||||||
bindsym $mod+Shift+n exec ~/.config/i3/scripts/empty_workspace
|
|
||||||
|
|
||||||
# Multimedia Keys
|
|
||||||
|
|
||||||
# volume
|
|
||||||
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 polybar
|
|
||||||
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 polybar
|
|
||||||
|
|
||||||
# gradular volume control
|
|
||||||
bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 polybar
|
|
||||||
bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 polybar
|
|
||||||
|
|
||||||
# mute
|
|
||||||
bindsym XF86AudioMute exec amixer sset Master toggle && killall -USR1 polybar
|
|
||||||
|
|
||||||
# audio control
|
|
||||||
bindsym XF86AudioPlay exec playerctl play
|
|
||||||
bindsym XF86AudioPause exec playerctl pause
|
|
||||||
bindsym XF86AudioNext exec playerctl next
|
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
|
||||||
|
|
||||||
# Redirect sound to headphones
|
|
||||||
bindsym $mod+p exec /usr/local/bin/switch-audio-port
|
|
||||||
|
|
||||||
## App shortcuts
|
|
||||||
bindsym $mod+w exec /usr/bin/firefox
|
|
||||||
bindsym $mod+n exec /usr/bin/thunar
|
|
||||||
bindsym Print exec scrot ~/%Y-%m-%d-%T-screenshot.png && notify-send "Screenshot saved to ~/$(date +"%Y-%m-%d-%T")-screenshot.png"
|
|
||||||
|
|
||||||
##########################################
|
|
||||||
# configuration for workspace behaviour: #
|
|
||||||
##########################################
|
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1: "
|
|
||||||
set $ws2 "2: "
|
|
||||||
# visual studio code
|
|
||||||
set $ws3 "3: "
|
|
||||||
set $ws4 "4: "
|
|
||||||
set $ws5 "5: "
|
|
||||||
set $ws6 "6: "
|
|
||||||
set $ws7 "7: "
|
|
||||||
set $ws8 "8:"
|
|
||||||
set $ws9 "9:"
|
|
||||||
set $ws0 "10: "
|
|
||||||
|
|
||||||
# use workspaces on different displays:
|
|
||||||
# where you have to replace VGA-0/HDMI-0 with the names for your displays
|
|
||||||
# you can get from xrandr command
|
|
||||||
workspace $ws1 output DP-2
|
|
||||||
workspace $ws6 output HDMI-0
|
|
||||||
|
|
||||||
# bind program to workspace and focus to them on startup:
|
|
||||||
# assign [class="kitty"] $ws1
|
|
||||||
assign [class="(?i)firefox"] $ws2
|
|
||||||
assign [class="Thunar"] $ws8
|
|
||||||
assign [class="thunderbird"] $ws9
|
|
||||||
assign [class="TelegramDesktop"] $ws5
|
|
||||||
|
|
||||||
# automatic set focus new window if it opens on another workspace than the current:
|
|
||||||
for_window [class=(?i)firefox] focus
|
|
||||||
for_window [class=Thunar] focus
|
|
||||||
for_window [class=Thunderbird] focus
|
|
||||||
for_window [class=TelegramDesktop] focus
|
|
||||||
|
|
||||||
|
|
||||||
##############
|
|
||||||
# compositor #
|
|
||||||
##############
|
|
||||||
|
|
||||||
# transparency
|
|
||||||
# options could need changes, related to used GPU and drivers.
|
|
||||||
# to find the right setting consult the archwiki or ask at the forum.
|
|
||||||
#
|
|
||||||
# picom: https://wiki.archlinux.org/title/Picom
|
|
||||||
# manpage: https://man.archlinux.org/man/picom.1.en
|
|
||||||
# The default configuration is available in /etc/xdg/picom.conf
|
|
||||||
# For modifications, it can be copied to ~/.config/picom/picom.conf or ~/.config/picom.conf
|
|
||||||
# install picom package (yay -S picom)
|
|
||||||
# start using default config
|
|
||||||
exec_always --no-startup-id picom -b
|
|
||||||
#
|
|
||||||
# for custom config:
|
|
||||||
#exec_always --no-startup-id picom --config ~/.config/picom.conf
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# autostart applications/services on login: #
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
# dex execute .desktop files + apps using /etc/xdg/autostart.
|
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
|
||||||
|
|
||||||
# start a script to setup displays
|
|
||||||
# use arandr to setup displays and save the file as monitor
|
|
||||||
exec --no-startup-id ~/.screenlayout/monitor.sh
|
|
||||||
|
|
||||||
# set wallpaper
|
|
||||||
exec --no-startup-id sleep 1 && systemctl --user restart wallpaper.service
|
|
||||||
|
|
||||||
# set powersavings for display:
|
|
||||||
exec --no-startup-id xset s 480 dpms 600 600 600
|
|
||||||
|
|
||||||
# Desktop notifications
|
|
||||||
#exec --no-startup-id /usr/bin/dunst --config ~/.config/dunst/dunstrc
|
|
||||||
exec --no-startup-id /usr/bin/dunst
|
|
||||||
|
|
||||||
# screenshot tool
|
|
||||||
exec --no-startup-id flameshot
|
|
||||||
|
|
||||||
# autotiling script
|
|
||||||
# https://github.com/nwg-piotr/autotiling
|
|
||||||
exec_always --no-startup-id autotiling
|
|
||||||
|
|
||||||
exec --no-startup-id i3-msg "workspace $ws2; exec firefox"
|
|
||||||
|
|
||||||
##################
|
|
||||||
# floating rules #
|
|
||||||
##################
|
|
||||||
|
|
||||||
# set floating (nontiling) for apps needing it
|
|
||||||
for_window [class="Galculator" instance="galculator"] floating enable
|
|
||||||
|
|
||||||
# set floating (nontiling) for special apps
|
|
||||||
for_window [class="Xsane" instance="xsane"] floating enable
|
|
||||||
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
|
|
||||||
for_window [class="qt5ct" instance="qt5ct"] floating enable
|
|
||||||
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
|
|
||||||
for_window [window_role="About"] floating enable
|
|
||||||
|
|
||||||
# set border of floating window
|
|
||||||
for_window [class="urxvt"] border pixel 1
|
|
||||||
|
|
||||||
# set size of floating window
|
|
||||||
#for_window [window_role="(?i)GtkFileChooserDialog"] resize set 640 480 #to set size of file choose dialog
|
|
||||||
#for_window [class=".*"] resize set 640 480 #to change size of all floating windows
|
|
||||||
|
|
||||||
# set position of floating window
|
|
||||||
#for_window [class=".*"] move position center
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# color settings for windows #
|
|
||||||
######################################
|
|
||||||
|
|
||||||
# https://github.com/catppuccin/i3/blob/main/themes/catppuccin-mocha
|
|
||||||
set $rosewater #f5e0dc
|
|
||||||
set $flamingo #f2cdcd
|
|
||||||
set $pink #f5c2e7
|
|
||||||
set $mauve #cba6f7
|
|
||||||
set $red #f38ba8
|
|
||||||
set $maroon #eba0ac
|
|
||||||
set $peach #fab387
|
|
||||||
set $green #a6e3a1
|
|
||||||
set $teal #94e2d5
|
|
||||||
set $sky #89dceb
|
|
||||||
set $sapphire #74c7ec
|
|
||||||
set $blue #89b4fa
|
|
||||||
set $lavender #b4befe
|
|
||||||
set $text #cdd6f4
|
|
||||||
set $subtext1 #bac2de
|
|
||||||
set $subtext0 #a6adc8
|
|
||||||
set $overlay2 #9399b2
|
|
||||||
set $overlay1 #7f849c
|
|
||||||
set $overlay0 #6c7086
|
|
||||||
set $surface2 #585b70
|
|
||||||
set $surface1 #45475a
|
|
||||||
set $surface0 #313244
|
|
||||||
set $base #1e1e2e
|
|
||||||
# use colors in the RGBA format, the last two digits are transparency
|
|
||||||
set $mantle #181825
|
|
||||||
set $crust #11111b
|
|
||||||
|
|
||||||
# target title bg text indicator border
|
|
||||||
client.focused $red $base $text $rosewater $red
|
|
||||||
client.focused_inactive $mauve $base $text $rosewater $mauve
|
|
||||||
client.unfocused $lavender $base $text $rosewater $lavender
|
|
||||||
client.urgent $pink $base $lavender $overlay0 $pink
|
|
||||||
client.placeholder $overlay0 $base $text $overlay0 $overlay0
|
|
||||||
client.background $base
|
|
||||||
|
|
||||||
# Start Polybar
|
|
||||||
exec_always --no-startup-id $HOME/.config/polybar/launch.sh --shapes
|
|
||||||
|
|
||||||
@@ -1,600 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar]
|
|
||||||
fill = ⏽
|
|
||||||
empty = ⏽
|
|
||||||
indicator = ⏽
|
|
||||||
; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛
|
|
||||||
|
|
||||||
[module/volume]
|
|
||||||
type = internal/alsa
|
|
||||||
|
|
||||||
; Soundcard to be used
|
|
||||||
; Usually in the format hw:# where # is the card number
|
|
||||||
; You can find the different card numbers in `/proc/asound/cards`
|
|
||||||
master-soundcard = default
|
|
||||||
speaker-soundcard = default
|
|
||||||
headphone-soundcard = default
|
|
||||||
|
|
||||||
; Name of the master, speaker and headphone mixers
|
|
||||||
; Use the following command to list available mixer controls:
|
|
||||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
|
||||||
; If master, speaker or headphone-soundcard isn't the default,
|
|
||||||
; use `amixer -c # scontrols` instead where # is the number
|
|
||||||
; of the master, speaker or headphone soundcard respectively
|
|
||||||
;
|
|
||||||
; Default: Master
|
|
||||||
master-mixer = Master
|
|
||||||
|
|
||||||
; Optionally define speaker and headphone mixers
|
|
||||||
; Default: none
|
|
||||||
;;speaker-mixer = Speaker
|
|
||||||
; Default: none
|
|
||||||
;;headphone-mixer = Headphone
|
|
||||||
|
|
||||||
; NOTE: This is required if headphone_mixer is defined
|
|
||||||
; Use the following command to list available device controls
|
|
||||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
|
||||||
; You may also need to use `amixer -c # controls` as above for the mixer names
|
|
||||||
; Default: none
|
|
||||||
;;headphone-id = 9
|
|
||||||
|
|
||||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
|
||||||
; Default: false
|
|
||||||
;;mapped = true
|
|
||||||
|
|
||||||
; Interval for volume increase/decrease (in percent points)
|
|
||||||
; Default: 5
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-volume> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-volume = <bar-volume>
|
|
||||||
format-volume-prefix =
|
|
||||||
format-volume-prefix-padding = 1
|
|
||||||
format-volume-prefix-background = ${color.blue}
|
|
||||||
format-volume-prefix-foreground = ${color.foreground}
|
|
||||||
format-volume-background = ${color.background-alt}
|
|
||||||
format-volume-foreground = ${color.foreground}
|
|
||||||
format-volume-overline = ${color.background}
|
|
||||||
format-volume-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-muted> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-muted = <label-muted>
|
|
||||||
format-muted-prefix =
|
|
||||||
format-muted-prefix-padding = 1
|
|
||||||
format-muted-prefix-background = ${color.red}
|
|
||||||
format-muted-overline = ${color.background}
|
|
||||||
format-muted-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-volume = %percentage%%
|
|
||||||
label-volume-background = ${color.background-alt}
|
|
||||||
label-volume-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default
|
|
||||||
label-muted = "Muted"
|
|
||||||
label-muted-foreground = ${color.foreground}
|
|
||||||
label-muted-background = ${color.background-alt}
|
|
||||||
label-muted-padding = 1
|
|
||||||
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-volume-0 =
|
|
||||||
ramp-volume-1 =
|
|
||||||
ramp-volume-2 =
|
|
||||||
ramp-volume-background = ${color.blue}
|
|
||||||
ramp-volume-padding = 1
|
|
||||||
|
|
||||||
; Only applies if <bar-volume> is used
|
|
||||||
bar-volume-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-volume-width = 10
|
|
||||||
bar-volume-gradient = false
|
|
||||||
|
|
||||||
bar-volume-indicator = ${bar.indicator}
|
|
||||||
bar-volume-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-volume-fill = ${bar.fill}
|
|
||||||
bar-volume-foreground-0 = ${color.foreground}
|
|
||||||
bar-volume-foreground-1 = ${color.foreground}
|
|
||||||
bar-volume-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-volume-empty = ${bar.empty}
|
|
||||||
bar-volume-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
; If defined, it will replace <ramp-volume> when
|
|
||||||
; headphones are plugged in to `headphone_control_numid`
|
|
||||||
; If undefined, <ramp-volume> will be used for both
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-headphones-0 =
|
|
||||||
ramp-headphones-background = ${color.blue}
|
|
||||||
ramp-headphones-padding = 1
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/brightness]
|
|
||||||
;type = internal/xbacklight
|
|
||||||
type = internal/backlight
|
|
||||||
|
|
||||||
; Use the following command to list available cards:
|
|
||||||
; $ ls -1 /sys/class/backlight/
|
|
||||||
;card = intel_backlight
|
|
||||||
card = amdgpu_bl0
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <ramp>
|
|
||||||
; <bar>
|
|
||||||
format = <bar>
|
|
||||||
format-prefix =
|
|
||||||
format-prefix-padding = 1
|
|
||||||
format-prefix-background = ${color.lime}
|
|
||||||
format-prefix-foreground = ${color.foreground}
|
|
||||||
format-background = ${color.background-alt}
|
|
||||||
format-foreground = ${color.foreground}
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label = %percentage%%
|
|
||||||
|
|
||||||
; Only applies if <ramp> is used
|
|
||||||
ramp-0 =
|
|
||||||
ramp-1 =
|
|
||||||
ramp-2 =
|
|
||||||
ramp-3 =
|
|
||||||
ramp-4 =
|
|
||||||
|
|
||||||
; Only applies if <bar> is used
|
|
||||||
bar-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-width = 10
|
|
||||||
bar-gradient = false
|
|
||||||
|
|
||||||
bar-indicator = ${bar.indicator}
|
|
||||||
bar-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-fill = ${bar.fill}
|
|
||||||
bar-foreground-0 = ${color.foreground}
|
|
||||||
bar-foreground-1 = ${color.foreground}
|
|
||||||
bar-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-empty = ${bar.empty}
|
|
||||||
bar-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/battery_bar]
|
|
||||||
type = internal/battery
|
|
||||||
|
|
||||||
; This is useful in case the battery never reports 100% charge
|
|
||||||
full-at = 99
|
|
||||||
|
|
||||||
; Use the following command to list batteries and adapters:
|
|
||||||
; $ ls -1 /sys/class/power_supply/
|
|
||||||
battery = BAT1
|
|
||||||
adapter = ACAD
|
|
||||||
|
|
||||||
; If an inotify event haven't been reported in this many
|
|
||||||
; seconds, manually poll for new values.
|
|
||||||
;
|
|
||||||
; Needed as a fallback for systems that don't report events
|
|
||||||
; on sysfs/procfs.
|
|
||||||
;
|
|
||||||
; Disable polling by setting the interval to 0.
|
|
||||||
;
|
|
||||||
; Default: 5
|
|
||||||
poll-interval = 2
|
|
||||||
|
|
||||||
; see "man date" for details on how to format the time string
|
|
||||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
|
||||||
; Default: %H:%M:%S
|
|
||||||
time-format = %H:%M
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-charging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-charging>
|
|
||||||
format-charging = <bar-capacity>
|
|
||||||
format-charging-prefix = ""
|
|
||||||
format-charging-prefix-padding = 1
|
|
||||||
format-charging-prefix-background = ${color.green}
|
|
||||||
format-charging-prefix-foreground = ${color.foreground}
|
|
||||||
format-charging-background = ${color.background-alt}
|
|
||||||
format-charging-foreground = ${color.foreground}
|
|
||||||
format-charging-overline = ${color.background}
|
|
||||||
format-charging-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-discharging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-discharging>
|
|
||||||
format-discharging = <bar-capacity>
|
|
||||||
format-discharging-prefix = ""
|
|
||||||
format-discharging-prefix-padding = 1
|
|
||||||
format-discharging-prefix-background = ${color.pink}
|
|
||||||
format-discharging-prefix-foreground = ${color.foreground}
|
|
||||||
format-discharging-background = ${color.background-alt}
|
|
||||||
format-discharging-foreground = ${color.foreground}
|
|
||||||
format-discharging-overline = ${color.background}
|
|
||||||
format-discharging-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-full> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-full = <label-full>
|
|
||||||
format-full-prefix = ""
|
|
||||||
format-full-prefix-padding = 1
|
|
||||||
format-full-prefix-background = ${color.red}
|
|
||||||
format-full-prefix-foreground = ${color.foreground}
|
|
||||||
format-full-background = ${color.background-alt}
|
|
||||||
format-full-foreground = ${color.foreground}
|
|
||||||
format-full-overline = ${color.background}
|
|
||||||
format-full-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current charge rate in watts)
|
|
||||||
|
|
||||||
label-charging = %percentage%%
|
|
||||||
label-charging-background = ${color.background-alt}
|
|
||||||
label-charging-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current discharge rate in watts)
|
|
||||||
label-discharging = %percentage%%
|
|
||||||
label-discharging-background = ${color.background-alt}
|
|
||||||
label-discharging-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-full = Full
|
|
||||||
label-full-background = ${color.background-alt}
|
|
||||||
label-full-padding = 1
|
|
||||||
|
|
||||||
; Only applies if <bar-capacity> is used
|
|
||||||
bar-capacity-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-capacity-width = 10
|
|
||||||
bar-capacity-gradient = false
|
|
||||||
|
|
||||||
bar-capacity-indicator = ${bar.indicator}
|
|
||||||
bar-capacity-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-capacity-fill = ${bar.fill}
|
|
||||||
bar-capacity-foreground-0 = ${color.foreground}
|
|
||||||
bar-capacity-foreground-1 = ${color.foreground}
|
|
||||||
bar-capacity-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-capacity-empty = ${bar.empty}
|
|
||||||
bar-capacity-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/cpu_bar]
|
|
||||||
type = internal/cpu
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 0.5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-load>
|
|
||||||
; <ramp-load>
|
|
||||||
; <ramp-coreload>
|
|
||||||
;;format = <label> <ramp-coreload>
|
|
||||||
format = <bar-load><label>
|
|
||||||
format-prefix =
|
|
||||||
format-prefix-padding = 1
|
|
||||||
format-prefix-background = ${color.teal}
|
|
||||||
format-prefix-foreground = ${color.foreground}
|
|
||||||
format-background = ${color.background-alt}
|
|
||||||
format-foreground = ${color.foreground}
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default) - total cpu load averaged over all cores
|
|
||||||
; %percentage-sum% - Cumulative load on all cores
|
|
||||||
; %percentage-cores% - load percentage for each core
|
|
||||||
; %percentage-core[1-9]% - load percentage for specific core
|
|
||||||
label = "%percentage%% "
|
|
||||||
|
|
||||||
; Only applies if <bar-load> is used
|
|
||||||
bar-load-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-load-width = 10
|
|
||||||
bar-load-gradient = false
|
|
||||||
|
|
||||||
bar-load-indicator = ${bar.indicator}
|
|
||||||
bar-load-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-load-fill = ${bar.fill}
|
|
||||||
bar-load-foreground-0 = ${color.foreground}
|
|
||||||
bar-load-foreground-1 = ${color.foreground}
|
|
||||||
bar-load-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-load-empty = ${bar.empty}
|
|
||||||
bar-load-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/filesystem_bar]
|
|
||||||
type = internal/fs
|
|
||||||
|
|
||||||
; Mountpoints to display
|
|
||||||
mount-0 = /
|
|
||||||
;;mount-1 = /home
|
|
||||||
;;mount-2 = /var
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 30
|
|
||||||
interval = 30
|
|
||||||
|
|
||||||
; Display fixed precision values
|
|
||||||
; Default: false
|
|
||||||
fixed-values = false
|
|
||||||
|
|
||||||
; Spacing between entries
|
|
||||||
; Default: 2
|
|
||||||
;;spacing = 4
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-mounted> (default)
|
|
||||||
; <bar-free>
|
|
||||||
; <bar-used>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-mounted = <bar-used><label-mounted>
|
|
||||||
format-mounted-prefix =
|
|
||||||
format-mounted-prefix-padding = 1
|
|
||||||
format-mounted-prefix-background = ${color.purple}
|
|
||||||
format-mounted-prefix-foreground = ${color.foreground}
|
|
||||||
format-mounted-background = ${color.background-alt}
|
|
||||||
format-mounted-foreground = ${color.foreground}
|
|
||||||
format-mounted-overline = ${color.background}
|
|
||||||
format-mounted-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-unmounted> (default)
|
|
||||||
format-unmounted = <label-unmounted>
|
|
||||||
format-unmounted-prefix =
|
|
||||||
format-unmounted-prefix-padding = 1
|
|
||||||
format-unmounted-prefix-background = ${color.red}
|
|
||||||
format-unmounted-prefix-foreground = ${color.foreground}
|
|
||||||
format-unmounted-background = ${color.background-alt}
|
|
||||||
format-unmounted-foreground = ${color.foreground}
|
|
||||||
format-unmounted-overline = ${color.background}
|
|
||||||
format-unmounted-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; %type%
|
|
||||||
; %fsname%
|
|
||||||
; %percentage_free%
|
|
||||||
; %percentage_used%
|
|
||||||
; %total%
|
|
||||||
; %free%
|
|
||||||
; %used%
|
|
||||||
; Default: %mountpoint% %percentage_free%%
|
|
||||||
label-mounted = "%used%/%total% "
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; Default: %mountpoint% is not mounted
|
|
||||||
label-unmounted = " %mountpoint%: not mounted "
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-used-width = 10
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.foreground}
|
|
||||||
bar-used-foreground-1 = ${color.foreground}
|
|
||||||
bar-used-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/memory_bar]
|
|
||||||
type = internal/memory
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-used>
|
|
||||||
; <bar-free>
|
|
||||||
; <ramp-used>
|
|
||||||
; <ramp-free>
|
|
||||||
; <bar-swap-used>
|
|
||||||
; <bar-swap-free>
|
|
||||||
; <ramp-swap-used>
|
|
||||||
; <ramp-swap-free>
|
|
||||||
format = <bar-used><label>
|
|
||||||
format-prefix =
|
|
||||||
format-prefix-padding = 1
|
|
||||||
format-prefix-background = ${color.indigo}
|
|
||||||
format-prefix-foreground = ${color.foreground}
|
|
||||||
format-background = ${color.background-alt}
|
|
||||||
format-foreground = ${color.foreground}
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage_used% (default)
|
|
||||||
; %percentage_free%
|
|
||||||
; %gb_used%
|
|
||||||
; %gb_free%
|
|
||||||
; %gb_total%
|
|
||||||
; %mb_used%
|
|
||||||
; %mb_free%
|
|
||||||
; %mb_total%
|
|
||||||
; %percentage_swap_used%
|
|
||||||
; %percentage_swap_free%
|
|
||||||
; %mb_swap_total%
|
|
||||||
; %mb_swap_free%
|
|
||||||
; %mb_swap_used%
|
|
||||||
; %gb_swap_total%
|
|
||||||
; %gb_swap_free%
|
|
||||||
; %gb_swap_used%
|
|
||||||
|
|
||||||
label = "%mb_used% "
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-used-width = 10
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.foreground}
|
|
||||||
bar-used-foreground-1 = ${color.foreground}
|
|
||||||
bar-used-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/mpd_bar]
|
|
||||||
type = internal/mpd
|
|
||||||
|
|
||||||
; Host where mpd is running (either ip or domain name)
|
|
||||||
; Can also be the full path to a unix socket where mpd is running.
|
|
||||||
;;host = 127.0.0.1
|
|
||||||
;;port = 6600
|
|
||||||
;;password = mysecretpassword
|
|
||||||
|
|
||||||
; Seconds to sleep between progressbar/song timer sync
|
|
||||||
; Default: 1
|
|
||||||
interval = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-song> (default)
|
|
||||||
; <label-time>
|
|
||||||
; <bar-progress>
|
|
||||||
; <toggle> - gets replaced with <icon-(pause|play)>
|
|
||||||
; <toggle-stop> - gets replaced with <icon-(stop|play)>
|
|
||||||
; <icon-random>
|
|
||||||
; <icon-repeat>
|
|
||||||
; <icon-repeatone> (deprecated)
|
|
||||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
|
|
||||||
; <icon-consume>
|
|
||||||
; <icon-prev>
|
|
||||||
; <icon-stop>
|
|
||||||
; <icon-play>
|
|
||||||
; <icon-pause>
|
|
||||||
; <icon-next>
|
|
||||||
; <icon-seekb>
|
|
||||||
; <icon-seekf>
|
|
||||||
format-online = <label-song><bar-progress><label-time>
|
|
||||||
format-online-prefix =
|
|
||||||
format-online-prefix-padding = 1
|
|
||||||
format-online-prefix-background = ${color.green}
|
|
||||||
format-online-prefix-foreground = ${color.foreground}
|
|
||||||
format-online-background = ${color.background-alt}
|
|
||||||
format-online-foreground = ${color.foreground}
|
|
||||||
format-online-overline = ${color.background}
|
|
||||||
format-online-underline = ${color.background}
|
|
||||||
|
|
||||||
;format-playing = ${self.format-online}
|
|
||||||
;format-paused = ${self.format-online}
|
|
||||||
;format-stopped = ${self.format-online}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-offline>
|
|
||||||
format-offline = <label-offline>
|
|
||||||
format-offline-prefix =
|
|
||||||
format-offline-prefix-padding = 1
|
|
||||||
format-offline-prefix-background = ${color.red}
|
|
||||||
format-offline-prefix-foreground = ${color.foreground}
|
|
||||||
format-offline-background = ${color.background-alt}
|
|
||||||
format-offline-foreground = ${color.foreground}
|
|
||||||
format-offline-overline = ${color.background}
|
|
||||||
format-offline-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %artist%
|
|
||||||
; %album-artist%
|
|
||||||
; %album%
|
|
||||||
; %date%
|
|
||||||
; %title%
|
|
||||||
; Default: %artist% - %title%
|
|
||||||
label-song = " %artist% - %title%"
|
|
||||||
label-song-maxlen = 25
|
|
||||||
label-song-ellipsis = true
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %elapsed%
|
|
||||||
; %total%
|
|
||||||
; Default: %elapsed% / %total%
|
|
||||||
label-time = "%elapsed% / %total% "
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; None
|
|
||||||
label-offline = " Offline "
|
|
||||||
|
|
||||||
; Only applies if <icon-X> is used
|
|
||||||
icon-play =
|
|
||||||
icon-pause =
|
|
||||||
icon-stop =
|
|
||||||
icon-next =
|
|
||||||
icon-prev =
|
|
||||||
icon-seekf =
|
|
||||||
icon-seekb =
|
|
||||||
icon-random =
|
|
||||||
icon-repeat =
|
|
||||||
icon-repeatone =
|
|
||||||
icon-single =
|
|
||||||
icon-consume =
|
|
||||||
|
|
||||||
; Used to display the state of random/repeat/repeatone/single
|
|
||||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used
|
|
||||||
toggle-on-foreground = ${color.primary}
|
|
||||||
toggle-off-foreground = ${color.secondary}
|
|
||||||
|
|
||||||
; Only applies if <bar-progress> is used
|
|
||||||
bar-progress-format = " %fill%%indicator%%empty% "
|
|
||||||
bar-progress-width = 10
|
|
||||||
bar-progress-gradient = false
|
|
||||||
|
|
||||||
bar-progress-indicator = ${bar.indicator}
|
|
||||||
bar-progress-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-progress-fill = ${bar.fill}
|
|
||||||
bar-progress-foreground-0 = ${color.foreground}
|
|
||||||
bar-progress-foreground-1 = ${color.foreground}
|
|
||||||
bar-progress-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-progress-empty = ${bar.empty}
|
|
||||||
bar-progress-empty-foreground = ${color.gray}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper.
|
|
||||||
|
|
||||||
;; main colors
|
|
||||||
background = #2f343f
|
|
||||||
background-alt = #C4C7C5
|
|
||||||
foreground = #1C1E20
|
|
||||||
foreground-alt = #C4C7C5
|
|
||||||
primary = #B4BC67
|
|
||||||
|
|
||||||
white = #FFFFFF
|
|
||||||
black = #000000
|
|
||||||
red = #EC7875
|
|
||||||
pink = #EC6798
|
|
||||||
purple = #BE78D1
|
|
||||||
blue = #75A4CD
|
|
||||||
cyan = #00C7DF
|
|
||||||
teal = #00B19F
|
|
||||||
green = #61C766
|
|
||||||
lime = #B9C244
|
|
||||||
yellow = #EBD369
|
|
||||||
amber = #EDB83F
|
|
||||||
orange = #E57C46
|
|
||||||
brown = #AC8476
|
|
||||||
gray = #9E9E9E
|
|
||||||
indigo = #6C77BB
|
|
||||||
blue-gray = #6D8895
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,293 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/blocks/bars.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/colors.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/modules.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = false
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 100%
|
|
||||||
height = 34
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0%
|
|
||||||
offset-y = 0%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.background}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
line-size = 5
|
|
||||||
line-color = ${color.background}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-bottom-size = 0
|
|
||||||
border-bottom-color = ${color.primary}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
font-0 = "Iosevka Nerd Font:size=10;4"
|
|
||||||
font-1 = "feather:size=10;3"
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
modules-left = sep launcher sep workspaces sep mpd
|
|
||||||
modules-center = title
|
|
||||||
modules-right = color-switch sep alsa sep battery sep network sep date sep sysmenu sep
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Add this script to your wm startup file.
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/blocks"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the bar
|
|
||||||
polybar -q main -c "$DIR"/config.ini &
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,309 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/blocks/bars.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/colors.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/modules.ini
|
|
||||||
include-file = ~/.config/polybar/blocks/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = false
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 100%
|
|
||||||
height = 34
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0%
|
|
||||||
offset-y = 0%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.background}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
line-size = 5
|
|
||||||
line-color = ${color.background}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-bottom-size = 0
|
|
||||||
border-bottom-color = ${color.primary}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
font-0 = "Iosevka Nerd Font:size=10;4"
|
|
||||||
font-1 = "feather:size=10;3"
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar/top]
|
|
||||||
inherit = bar/main
|
|
||||||
offset-y = 10
|
|
||||||
modules-center = sep launcher sep workspaces sep cpu sep memory sep mpd sep alsa sep battery sep network sep date sep sysmenu sep
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/mid]
|
|
||||||
inherit = bar/main
|
|
||||||
offset-y = 54
|
|
||||||
modules-center = volume sep brightness sep battery_bar sep cpu_bar sep filesystem_bar sep memory_bar sep mpd_bar
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/bottom]
|
|
||||||
inherit = bar/main
|
|
||||||
offset-y = 98
|
|
||||||
modules-center = title sep menu sep term files browser settings sep filesystem sep temperature sep color-switch sep keyboard sep pulseaudio sep backlight sep updates sep powermenu sep
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
;enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/blocks"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the preview bar
|
|
||||||
polybar -q top -c "$DIR"/preview.ini &
|
|
||||||
polybar -q mid -c "$DIR"/preview.ini &
|
|
||||||
polybar -q bottom -c "$DIR"/preview.ini &
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
#
|
|
||||||
# checkupdates: Safely print a list of pending updates.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
declare -r myname='checkupdates'
|
|
||||||
declare -r myver='1.0.0'
|
|
||||||
|
|
||||||
plain() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg2() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
ask() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
warning() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
# check if messages are to be printed using color
|
|
||||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
|
|
||||||
# prefer terminal safe colored and bold text when tput is supported
|
|
||||||
if tput setaf 0 &>/dev/null; then
|
|
||||||
ALL_OFF="$(tput sgr0)"
|
|
||||||
BOLD="$(tput bold)"
|
|
||||||
BLUE="${BOLD}$(tput setaf 4)"
|
|
||||||
GREEN="${BOLD}$(tput setaf 2)"
|
|
||||||
RED="${BOLD}$(tput setaf 1)"
|
|
||||||
YELLOW="${BOLD}$(tput setaf 3)"
|
|
||||||
else
|
|
||||||
ALL_OFF="\e[1;0m"
|
|
||||||
BOLD="\e[1;1m"
|
|
||||||
BLUE="${BOLD}\e[1;34m"
|
|
||||||
GREEN="${BOLD}\e[1;32m"
|
|
||||||
RED="${BOLD}\e[1;31m"
|
|
||||||
YELLOW="${BOLD}\e[1;33m"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
|
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
echo "${myname} v${myver}"
|
|
||||||
echo
|
|
||||||
echo "Safely print a list of pending updates"
|
|
||||||
echo
|
|
||||||
echo "Usage: ${myname}"
|
|
||||||
echo
|
|
||||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.'
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! type -P fakeroot >/dev/null; then
|
|
||||||
error 'Cannot find the fakeroot binary.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $CHECKUPDATES_DB ]]; then
|
|
||||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
|
|
||||||
|
|
||||||
DBPath="$(pacman-conf DBPath)"
|
|
||||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then
|
|
||||||
DBPath="/var/lib/pacman/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$CHECKUPDATES_DB"
|
|
||||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
|
|
||||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
|
|
||||||
error 'Cannot fetch updates'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]'
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# vim: set noet:
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
FILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
# random accent color
|
|
||||||
COLORS=('#EC7875' '#EC6798' '#BE78D1' '#75A4CD' '#00C7DF' '#00B19F' '#61C766' \
|
|
||||||
'#B9C244' '#EBD369' '#EDB83F' '#E57C46' '#AC8476' '#6C77BB' '#6D8895')
|
|
||||||
AC="${COLORS[$(( $RANDOM % 14 ))]}"
|
|
||||||
sed -i -e "s/ac: .*/ac: ${AC}FF;/g" $FILE
|
|
||||||
sed -i -e "s/se: .*/se: ${AC}40;/g" $FILE
|
|
||||||
|
|
||||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/blocks/scripts/rofi/launcher.rasi
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya
|
|
||||||
## Mail : adi1090x@gmail.com
|
|
||||||
## Github : @adi1090x
|
|
||||||
## Twitter : @adi1090x
|
|
||||||
|
|
||||||
dir="~/.config/polybar/blocks/scripts/rofi"
|
|
||||||
uptime=$(uptime -p | sed -e 's/up //g')
|
|
||||||
|
|
||||||
rofi_command="rofi -no-config -theme $dir/powermenu.rasi"
|
|
||||||
|
|
||||||
# Options
|
|
||||||
shutdown=" Shutdown"
|
|
||||||
reboot=" Restart"
|
|
||||||
lock=" Lock"
|
|
||||||
suspend=" Sleep"
|
|
||||||
logout=" Logout"
|
|
||||||
|
|
||||||
# Confirmation
|
|
||||||
confirm_exit() {
|
|
||||||
rofi -dmenu\
|
|
||||||
-no-config\
|
|
||||||
-i\
|
|
||||||
-no-fixed-num-lines\
|
|
||||||
-p "Are You Sure? : "\
|
|
||||||
-theme $dir/confirm.rasi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Message
|
|
||||||
msg() {
|
|
||||||
rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Variable passed to rofi
|
|
||||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown"
|
|
||||||
|
|
||||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)"
|
|
||||||
case $chosen in
|
|
||||||
$shutdown)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl poweroff
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$reboot)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl reboot
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$lock)
|
|
||||||
if [[ -f /usr/bin/i3lock ]]; then
|
|
||||||
i3lock
|
|
||||||
elif [[ -f /usr/bin/betterlockscreen ]]; then
|
|
||||||
betterlockscreen -l
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$suspend)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
mpc -q pause
|
|
||||||
amixer set Master mute
|
|
||||||
systemctl suspend
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$logout)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
|
|
||||||
openbox --exit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
|
|
||||||
bspc quit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
|
|
||||||
i3-msg exit
|
|
||||||
fi
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #2f343fFF;
|
|
||||||
bga: #C4C7C5FF;
|
|
||||||
fga: #C4C7C5FF;
|
|
||||||
fg: #1C1E20FF;
|
|
||||||
ac: #00C7DFFF;
|
|
||||||
se: #00C7DF40;
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/* Confirm Dialog */
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
* {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fga;
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
width: 210px;
|
|
||||||
padding: 25px;
|
|
||||||
border: 0px 0px 4px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
location: center;
|
|
||||||
y-offset: -2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
expand: true;
|
|
||||||
text-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 550px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @ac;
|
|
||||||
text-color: @fg;
|
|
||||||
font: "feather 12";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
placeholder-color: @fg;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 6px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ prompt, entry ];
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 0px;
|
|
||||||
columns: 2;
|
|
||||||
lines: 8;
|
|
||||||
spacing: 6px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 6px;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fga;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @se;
|
|
||||||
text-color: @fga;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/* Confirm Dialog */
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
* {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fga;
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
width: 320px;
|
|
||||||
padding: 25px;
|
|
||||||
border: 0px 0px 4px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
location: center;
|
|
||||||
y-offset: -2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
expand: true;
|
|
||||||
text-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 400px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @ac;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
str: "";
|
|
||||||
font: "feather 12";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
placeholder-color: @fg;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 6px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, prompt ];
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 0px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 8;
|
|
||||||
spacing: 6px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 6px;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fga;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 3px 3px 3px -12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @se;
|
|
||||||
text-color: @fga;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 300px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @ac;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
str: "";
|
|
||||||
font: "feather 12";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
placeholder-color: @fg;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 6px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, prompt ];
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 0px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 5;
|
|
||||||
spacing: 6px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 6px;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fga;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 3px 3px 3px -23px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @se;
|
|
||||||
text-color: @fga;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 300px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 6px 7px 4px 7px;
|
|
||||||
background-color: @ac;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
str: "";
|
|
||||||
font: "feather 12";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
placeholder-color: @fg;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 6px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, entry ];
|
|
||||||
background-color: @bga;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 0px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 5;
|
|
||||||
spacing: 6px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 6px;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fga;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 3px 3px 3px -23px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @se;
|
|
||||||
text-color: @fga;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
SDIR="$HOME/.config/polybar/blocks/scripts"
|
|
||||||
|
|
||||||
# Launch Rofi
|
|
||||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \
|
|
||||||
-theme $SDIR/rofi/styles.rasi \
|
|
||||||
<<< " Default| Nord| Gruvbox| Adapta| Cherry|")"
|
|
||||||
case "$MENU" in
|
|
||||||
*Default) "$SDIR"/styles.sh --default ;;
|
|
||||||
*Nord) "$SDIR"/styles.sh --nord ;;
|
|
||||||
*Gruvbox) "$SDIR"/styles.sh --gruvbox ;;
|
|
||||||
*Adapta) "$SDIR"/styles.sh --adapta ;;
|
|
||||||
*Cherry) "$SDIR"/styles.sh --cherry ;;
|
|
||||||
esac
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/blocks/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE
|
|
||||||
sed -i -e "s/background-alt = #.*/background-alt = $BGA/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE
|
|
||||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: ${BG}FF;
|
|
||||||
bga: ${BGA}FF;
|
|
||||||
fga: ${FGA}FF;
|
|
||||||
fg: ${FG}FF;
|
|
||||||
ac: ${AC}FF;
|
|
||||||
se: ${AC}40;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $1 = "--default" ]]; then
|
|
||||||
BG="#2f343f"
|
|
||||||
BGA="#C4C7C5"
|
|
||||||
FGA="#C4C7C5"
|
|
||||||
FG="#1C1E20"
|
|
||||||
AC="#B4BC67"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--nord" ]]; then
|
|
||||||
BG="#3B4252"
|
|
||||||
BGA="#4C566A"
|
|
||||||
FGA="#E5E9F0"
|
|
||||||
FG="#ECEFF4"
|
|
||||||
AC="#A3BE8C"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--gruvbox" ]]; then
|
|
||||||
BG="#282828"
|
|
||||||
BGA="#EBDBB2"
|
|
||||||
FGA="#EBDBB2"
|
|
||||||
FG="#282828"
|
|
||||||
AC="#CC241D"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--adapta" ]]; then
|
|
||||||
BG="#243035"
|
|
||||||
BGA="#38444A"
|
|
||||||
FGA="#FDF6E3"
|
|
||||||
FG="#FFFFFF"
|
|
||||||
AC="#4DD0E1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--cherry" ]]; then
|
|
||||||
BG="#1F1626"
|
|
||||||
BGA="#423949"
|
|
||||||
FGA="#FFFFFF"
|
|
||||||
FG="#FFFFFF"
|
|
||||||
AC="#D94085"
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
cat <<- _EOF_
|
|
||||||
No option specified, Available options:
|
|
||||||
--default --nord --gruvbox --adapta --cherry
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg
|
|
||||||
|
|
||||||
get_total_updates() { UPDATES=$(~/.config/polybar/blocks/scripts/checkupdates 2>/dev/null | wc -l); }
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
get_total_updates
|
|
||||||
|
|
||||||
# notify user of updates
|
|
||||||
if hash notify-send &>/dev/null; then
|
|
||||||
if (( UPDATES > 50 )); then
|
|
||||||
notify-send -u critical -i $NOTIFY_ICON \
|
|
||||||
"You really need to update!!" "$UPDATES New packages"
|
|
||||||
elif (( UPDATES > 25 )); then
|
|
||||||
notify-send -u normal -i $NOTIFY_ICON \
|
|
||||||
"You should update soon" "$UPDATES New packages"
|
|
||||||
elif (( UPDATES > 2 )); then
|
|
||||||
notify-send -u low -i $NOTIFY_ICON \
|
|
||||||
"$UPDATES New packages"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# when there are updates available
|
|
||||||
# every 10 seconds another check for updates is done
|
|
||||||
while (( UPDATES > 0 )); do
|
|
||||||
if (( UPDATES == 1 )); then
|
|
||||||
echo "$UPDATES"
|
|
||||||
elif (( UPDATES > 1 )); then
|
|
||||||
echo "$UPDATES"
|
|
||||||
else
|
|
||||||
echo "None"
|
|
||||||
fi
|
|
||||||
sleep 10
|
|
||||||
get_total_updates
|
|
||||||
done
|
|
||||||
|
|
||||||
# when no updates are available, use a longer loop, this saves on CPU
|
|
||||||
# and network uptime, only checking once every 30 min for new updates
|
|
||||||
while (( UPDATES == 0 )); do
|
|
||||||
echo "None"
|
|
||||||
sleep 1800
|
|
||||||
get_total_updates
|
|
||||||
done
|
|
||||||
done
|
|
||||||
@@ -1,292 +0,0 @@
|
|||||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/updates]
|
|
||||||
type = custom/script
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; Command to be executed (using "/usr/bin/env sh -c [command]")
|
|
||||||
exec = ~/.config/polybar/blocks/scripts/updates.sh
|
|
||||||
|
|
||||||
; Conditional command that, if defined, needs to exit successfully
|
|
||||||
; before the main exec command is invoked.
|
|
||||||
; Default: ""
|
|
||||||
;;exec-if = ""
|
|
||||||
|
|
||||||
; Will the script output continous content?
|
|
||||||
; Default: false
|
|
||||||
tail = true
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 2 (0 if `tail = true`)
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <output> - deprecated
|
|
||||||
; <label> (default)
|
|
||||||
format = <label>
|
|
||||||
format-prefix =
|
|
||||||
format-prefix-background = ${color.yellow}
|
|
||||||
format-prefix-padding = 1
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %output%
|
|
||||||
; Default: %output%
|
|
||||||
label = %output%
|
|
||||||
label-background = ${color.background-alt}
|
|
||||||
label-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; %pid%
|
|
||||||
;
|
|
||||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]"
|
|
||||||
click-left = exo-open --launch TerminalEmulator &
|
|
||||||
click-right = exo-open --launch TerminalEmulator &
|
|
||||||
;;double-click-left = echo double left %counter%
|
|
||||||
;;double-click-middle = echo double middle %counter%
|
|
||||||
;;double-click-right = echo double right %counter%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; %pid%
|
|
||||||
;
|
|
||||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]"
|
|
||||||
;;scroll-up = echo scroll up %counter%
|
|
||||||
;;scroll-down = echo scroll down %counter%
|
|
||||||
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/launcher]
|
|
||||||
type = custom/text
|
|
||||||
|
|
||||||
content-prefix =
|
|
||||||
content-prefix-background = ${color.teal}
|
|
||||||
content-prefix-padding = 1
|
|
||||||
|
|
||||||
content = " Menu "
|
|
||||||
content-background = ${color.background-alt}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
content-overline = ${color.background}
|
|
||||||
content-underline = ${color.background}
|
|
||||||
|
|
||||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
click-left = ~/.config/polybar/blocks/scripts/launcher.sh &
|
|
||||||
;;click-middle = ~/.config/polybar/blocks/scripts/launcher-full
|
|
||||||
click-right = ~/.config/polybar/blocks/scripts/style-switch.sh &
|
|
||||||
|
|
||||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
;;scroll-up = ~/.config/polybar/blocks/scripts/launcher.sh &
|
|
||||||
;;scroll-down = ~/.config/polybar/blocks/scripts/color-switch.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/sysmenu]
|
|
||||||
type = custom/text
|
|
||||||
|
|
||||||
content-prefix =
|
|
||||||
content-prefix-background = ${color.cyan}
|
|
||||||
content-prefix-padding = 1
|
|
||||||
|
|
||||||
content = " System "
|
|
||||||
content-background = ${color.background-alt}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
content-overline = ${color.background}
|
|
||||||
content-underline = ${color.background}
|
|
||||||
|
|
||||||
click-left = ~/.config/polybar/blocks/scripts/powermenu.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/color-switch]
|
|
||||||
type = custom/text
|
|
||||||
|
|
||||||
content-prefix =
|
|
||||||
content-prefix-background = ${color.orange}
|
|
||||||
content-prefix-padding = 1
|
|
||||||
|
|
||||||
content = " Style "
|
|
||||||
content-background = ${color.background-alt}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
content-overline = ${color.background}
|
|
||||||
content-underline = ${color.background}
|
|
||||||
|
|
||||||
click-left = ~/.config/polybar/blocks/scripts/style-switch.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/sep]
|
|
||||||
type = custom/text
|
|
||||||
content = |
|
|
||||||
|
|
||||||
content-background = ${color.background}
|
|
||||||
content-foreground = ${color.background}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/apps]
|
|
||||||
type = custom/text
|
|
||||||
content-overline = ${color.background}
|
|
||||||
content-underline = ${color.background}
|
|
||||||
content-padding = 1
|
|
||||||
|
|
||||||
[module/term]
|
|
||||||
inherit = module/apps
|
|
||||||
content =
|
|
||||||
content-background = ${color.blue-gray}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
click-left = termite &
|
|
||||||
click-middle = urxvt &
|
|
||||||
click-right = xfce4-terminal &
|
|
||||||
|
|
||||||
[module/files]
|
|
||||||
inherit = module/apps
|
|
||||||
content =
|
|
||||||
content-background = ${color.blue}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
click-left = thunar &
|
|
||||||
click-right = pcmanfm &
|
|
||||||
|
|
||||||
[module/browser]
|
|
||||||
inherit = module/apps
|
|
||||||
content =
|
|
||||||
content-background = ${color.orange}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
click-left = firefox &
|
|
||||||
click-right = chromium &
|
|
||||||
|
|
||||||
[module/settings]
|
|
||||||
inherit = module/apps
|
|
||||||
content =
|
|
||||||
content-background = ${color.teal}
|
|
||||||
content-foreground = ${color.foreground}
|
|
||||||
click-left = xfce4-settings-manager &
|
|
||||||
click-right = lxappearance &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/powermenu]
|
|
||||||
type = custom/menu
|
|
||||||
|
|
||||||
; If true, <label-toggle> will be to the left of the menu items (default).
|
|
||||||
; If false, it will be on the right of all the items.
|
|
||||||
expand-right = true
|
|
||||||
|
|
||||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
|
||||||
; the additional "exec" property
|
|
||||||
;
|
|
||||||
; Available exec commands:
|
|
||||||
; menu-open-LEVEL
|
|
||||||
; menu-close
|
|
||||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
menu-0-0 = " Reboot |"
|
|
||||||
menu-0-0-background = ${color.background-alt}
|
|
||||||
menu-0-0-exec = menu-open-1
|
|
||||||
menu-0-1 = " Shutdown "
|
|
||||||
menu-0-1-background = ${color.background-alt}
|
|
||||||
menu-0-1-exec = menu-open-2
|
|
||||||
|
|
||||||
menu-1-0 = " Back |"
|
|
||||||
menu-1-0-background = ${color.background-alt}
|
|
||||||
menu-1-0-exec = menu-open-0
|
|
||||||
menu-1-1 = " Reboot "
|
|
||||||
menu-1-1-background = ${color.background-alt}
|
|
||||||
menu-1-1-exec = systemctl reboot
|
|
||||||
|
|
||||||
menu-2-0 = " Shutdown |"
|
|
||||||
menu-2-0-background = ${color.background-alt}
|
|
||||||
menu-2-0-exec = systemctl poweroff
|
|
||||||
menu-2-1 = " Back "
|
|
||||||
menu-2-1-background = ${color.background-alt}
|
|
||||||
menu-2-1-exec = menu-open-0
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
|
||||||
; <menu> (default)
|
|
||||||
; Note that if you use <label-toggle> you must also include
|
|
||||||
; the definition for <label-open>
|
|
||||||
|
|
||||||
format = <label-toggle><menu>
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
label-open =
|
|
||||||
label-open-background = ${color.cyan}
|
|
||||||
label-open-padding = 1
|
|
||||||
label-close =
|
|
||||||
label-close-background = ${color.red}
|
|
||||||
label-close-padding = 1
|
|
||||||
|
|
||||||
; Optional item separator
|
|
||||||
; Default: none
|
|
||||||
;label-separator = " | "
|
|
||||||
;label-separator-foreground = ${color.foreground}
|
|
||||||
;label-separator-background = ${color.background-alt}
|
|
||||||
|
|
||||||
;;label-open-foreground = ${color.foreground}
|
|
||||||
;;label-close-foreground = ${color.background}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/menu]
|
|
||||||
type = custom/menu
|
|
||||||
|
|
||||||
; If true, <label-toggle> will be to the left of the menu items (default).
|
|
||||||
; If false, it will be on the right of all the items.
|
|
||||||
expand-right = true
|
|
||||||
|
|
||||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
|
||||||
; the additional "exec" property
|
|
||||||
;
|
|
||||||
; Available exec commands:
|
|
||||||
; menu-open-LEVEL
|
|
||||||
; menu-close
|
|
||||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
menu-0-0 =" Menu | "
|
|
||||||
menu-0-0-background = ${color.background-alt}
|
|
||||||
menu-0-0-exec = ~/.config/polybar/blocks/scripts/launcher.sh &
|
|
||||||
|
|
||||||
menu-0-1 =" Files | "
|
|
||||||
menu-0-1-background = ${color.background-alt}
|
|
||||||
menu-0-1-exec = thunar &
|
|
||||||
|
|
||||||
menu-0-2 =" Terminal | "
|
|
||||||
menu-0-2-background = ${color.background-alt}
|
|
||||||
menu-0-2-exec = termite &
|
|
||||||
|
|
||||||
menu-0-3 =" Browser "
|
|
||||||
menu-0-3-background = ${color.background-alt}
|
|
||||||
menu-0-3-exec = firefox &
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
|
||||||
; <menu> (default)
|
|
||||||
; Note that if you use <label-toggle> you must also include
|
|
||||||
; the definition for <label-open>
|
|
||||||
|
|
||||||
format = <label-toggle><menu>
|
|
||||||
format-overline = ${color.background}
|
|
||||||
format-underline = ${color.background}
|
|
||||||
|
|
||||||
label-open =
|
|
||||||
label-open-background = ${color.yellow}
|
|
||||||
label-open-padding = 1
|
|
||||||
label-close =
|
|
||||||
label-close-background = ${color.red}
|
|
||||||
label-close-padding = 1
|
|
||||||
|
|
||||||
; Optional item separator
|
|
||||||
; Default: none
|
|
||||||
;label-separator = " | "
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,534 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar]
|
|
||||||
fill =
|
|
||||||
empty =
|
|
||||||
indicator = ⏽
|
|
||||||
; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/volume]
|
|
||||||
type = internal/alsa
|
|
||||||
|
|
||||||
; Soundcard to be used
|
|
||||||
; Usually in the format hw:# where # is the card number
|
|
||||||
; You can find the different card numbers in `/proc/asound/cards`
|
|
||||||
master-soundcard = default
|
|
||||||
speaker-soundcard = default
|
|
||||||
headphone-soundcard = default
|
|
||||||
|
|
||||||
; Name of the master, speaker and headphone mixers
|
|
||||||
; Use the following command to list available mixer controls:
|
|
||||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
|
||||||
; If master, speaker or headphone-soundcard isn't the default,
|
|
||||||
; use `amixer -c # scontrols` instead where # is the number
|
|
||||||
; of the master, speaker or headphone soundcard respectively
|
|
||||||
;
|
|
||||||
; Default: Master
|
|
||||||
master-mixer = Master
|
|
||||||
|
|
||||||
; Optionally define speaker and headphone mixers
|
|
||||||
; Default: none
|
|
||||||
;;speaker-mixer = Speaker
|
|
||||||
; Default: none
|
|
||||||
;;headphone-mixer = Headphone
|
|
||||||
|
|
||||||
; NOTE: This is required if headphone_mixer is defined
|
|
||||||
; Use the following command to list available device controls
|
|
||||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
|
||||||
; You may also need to use `amixer -c # controls` as above for the mixer names
|
|
||||||
; Default: none
|
|
||||||
;;headphone-id = 9
|
|
||||||
|
|
||||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
|
||||||
; Default: false
|
|
||||||
;;mapped = true
|
|
||||||
|
|
||||||
; Interval for volume increase/decrease (in percent points)
|
|
||||||
; Default: 5
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-volume> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-volume = <ramp-volume> <bar-volume>
|
|
||||||
format-volume-background = ${color.shade6}
|
|
||||||
format-volume-padding = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-muted> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-muted = <label-muted>
|
|
||||||
format-muted-prefix =
|
|
||||||
format-muted-prefix-font = 2
|
|
||||||
format-muted-background = ${color.shade6}
|
|
||||||
format-muted-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-volume = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default
|
|
||||||
label-muted = " Muted"
|
|
||||||
label-muted-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-volume-0 =
|
|
||||||
ramp-volume-1 =
|
|
||||||
ramp-volume-2 =
|
|
||||||
ramp-volume-font = 2
|
|
||||||
|
|
||||||
; Only applies if <bar-volume> is used
|
|
||||||
bar-volume-width = 10
|
|
||||||
bar-volume-gradient = false
|
|
||||||
|
|
||||||
bar-volume-indicator = ${bar.indicator}
|
|
||||||
bar-volume-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-volume-fill = ${bar.fill}
|
|
||||||
bar-volume-foreground-0 = ${color.foreground}
|
|
||||||
bar-volume-foreground-1 = ${color.foreground}
|
|
||||||
bar-volume-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-volume-empty = ${bar.empty}
|
|
||||||
bar-volume-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; If defined, it will replace <ramp-volume> when
|
|
||||||
; headphones are plugged in to `headphone_control_numid`
|
|
||||||
; If undefined, <ramp-volume> will be used for both
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-headphones-0 =
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/brightness]
|
|
||||||
;type = internal/xbacklight
|
|
||||||
type = internal/backlight
|
|
||||||
|
|
||||||
; Use the following command to list available cards:
|
|
||||||
; $ ls -1 /sys/class/backlight/
|
|
||||||
;card = intel_backlight
|
|
||||||
card = amdgpu_bl0
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <ramp>
|
|
||||||
; <bar>
|
|
||||||
format = <ramp> <bar>
|
|
||||||
format-background = ${color.shade7}
|
|
||||||
format-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label = %percentage%%
|
|
||||||
|
|
||||||
; Only applies if <ramp> is used
|
|
||||||
ramp-0 =
|
|
||||||
ramp-1 =
|
|
||||||
ramp-2 =
|
|
||||||
ramp-3 =
|
|
||||||
ramp-4 =
|
|
||||||
ramp-font = 2
|
|
||||||
|
|
||||||
; Only applies if <bar> is used
|
|
||||||
bar-width = 10
|
|
||||||
bar-gradient = false
|
|
||||||
|
|
||||||
bar-indicator = ${bar.indicator}
|
|
||||||
bar-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-fill = ${bar.fill}
|
|
||||||
bar-foreground-0 = ${color.foreground}
|
|
||||||
bar-foreground-1 = ${color.foreground}
|
|
||||||
bar-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-empty = ${bar.empty}
|
|
||||||
bar-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/battery_bar]
|
|
||||||
type = internal/battery
|
|
||||||
|
|
||||||
; This is useful in case the battery never reports 100% charge
|
|
||||||
full-at = 99
|
|
||||||
|
|
||||||
; Use the following command to list batteries and adapters:
|
|
||||||
; $ ls -1 /sys/class/power_supply/
|
|
||||||
battery = BAT1
|
|
||||||
adapter = ACAD
|
|
||||||
|
|
||||||
; If an inotify event haven't been reported in this many
|
|
||||||
; seconds, manually poll for new values.
|
|
||||||
;
|
|
||||||
; Needed as a fallback for systems that don't report events
|
|
||||||
; on sysfs/procfs.
|
|
||||||
;
|
|
||||||
; Disable polling by setting the interval to 0.
|
|
||||||
;
|
|
||||||
; Default: 5
|
|
||||||
poll-interval = 2
|
|
||||||
|
|
||||||
; see "man date" for details on how to format the time string
|
|
||||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
|
||||||
; Default: %H:%M:%S
|
|
||||||
time-format = %H:%M
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-charging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-charging>
|
|
||||||
format-charging = <bar-capacity>
|
|
||||||
format-charging-prefix = " "
|
|
||||||
format-charging-prefix-font = 2
|
|
||||||
format-charging-background = ${color.shade5}
|
|
||||||
format-charging-padding = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-discharging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-discharging>
|
|
||||||
format-discharging = <bar-capacity>
|
|
||||||
format-discharging-prefix = " "
|
|
||||||
format-discharging-prefix-font = 2
|
|
||||||
format-discharging-background = ${color.shade5}
|
|
||||||
format-discharging-padding = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-full> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-full = <label-full>
|
|
||||||
format-full-prefix = " "
|
|
||||||
format-full-prefix-font = 2
|
|
||||||
format-full-background = ${color.shade5}
|
|
||||||
format-full-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current charge rate in watts)
|
|
||||||
|
|
||||||
label-charging = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current discharge rate in watts)
|
|
||||||
label-discharging = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-full = "Full"
|
|
||||||
|
|
||||||
; Only applies if <bar-capacity> is used
|
|
||||||
bar-capacity-width = 10
|
|
||||||
bar-capacity-gradient = false
|
|
||||||
|
|
||||||
bar-capacity-indicator = ${bar.indicator}
|
|
||||||
bar-capacity-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-capacity-fill = ${bar.fill}
|
|
||||||
bar-capacity-foreground-0 = ${color.foreground}
|
|
||||||
bar-capacity-foreground-1 = ${color.foreground}
|
|
||||||
bar-capacity-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-capacity-empty = ${bar.empty}
|
|
||||||
bar-capacity-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/cpu_bar]
|
|
||||||
type = internal/cpu
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 0.5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-load>
|
|
||||||
; <ramp-load>
|
|
||||||
; <ramp-coreload>
|
|
||||||
;;format = <label> <ramp-coreload>
|
|
||||||
format = <bar-load> <label>
|
|
||||||
format-prefix = " "
|
|
||||||
format-prefix-font = 2
|
|
||||||
format-background = ${color.shade7}
|
|
||||||
format-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default) - total cpu load averaged over all cores
|
|
||||||
; %percentage-sum% - Cumulative load on all cores
|
|
||||||
; %percentage-cores% - load percentage for each core
|
|
||||||
; %percentage-core[1-9]% - load percentage for specific core
|
|
||||||
label = "%percentage%%"
|
|
||||||
|
|
||||||
; Only applies if <bar-load> is used
|
|
||||||
bar-load-width = 10
|
|
||||||
bar-load-gradient = false
|
|
||||||
|
|
||||||
bar-load-indicator = ${bar.indicator}
|
|
||||||
bar-load-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-load-fill = ${bar.fill}
|
|
||||||
bar-load-foreground-0 = ${color.foreground}
|
|
||||||
bar-load-foreground-1 = ${color.foreground}
|
|
||||||
bar-load-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-load-empty = ${bar.empty}
|
|
||||||
bar-load-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/filesystem_bar]
|
|
||||||
type = internal/fs
|
|
||||||
|
|
||||||
; Mountpoints to display
|
|
||||||
mount-0 = /
|
|
||||||
;;mount-1 = /home
|
|
||||||
;;mount-2 = /var
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 30
|
|
||||||
interval = 30
|
|
||||||
|
|
||||||
; Display fixed precision values
|
|
||||||
; Default: false
|
|
||||||
fixed-values = false
|
|
||||||
|
|
||||||
; Spacing between entries
|
|
||||||
; Default: 2
|
|
||||||
;;spacing = 4
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-mounted> (default)
|
|
||||||
; <bar-free>
|
|
||||||
; <bar-used>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-mounted = <bar-used> <label-mounted>
|
|
||||||
format-mounted-prefix = " "
|
|
||||||
format-mounted-prefix-font = 2
|
|
||||||
format-mounted-background = ${color.shade5}
|
|
||||||
format-mounted-padding = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-unmounted> (default)
|
|
||||||
format-unmounted = <label-unmounted>
|
|
||||||
format-unmounted-prefix = " "
|
|
||||||
format-unmounted-prefix-font = 2
|
|
||||||
format-unmounted-background = ${color.shade5}
|
|
||||||
format-unmounted-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; %type%
|
|
||||||
; %fsname%
|
|
||||||
; %percentage_free%
|
|
||||||
; %percentage_used%
|
|
||||||
; %total%
|
|
||||||
; %free%
|
|
||||||
; %used%
|
|
||||||
; Default: %mountpoint% %percentage_free%%
|
|
||||||
label-mounted = %used%/%total%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; Default: %mountpoint% is not mounted
|
|
||||||
label-unmounted = "%mountpoint%: not mounted"
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-width = 10
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.foreground}
|
|
||||||
bar-used-foreground-1 = ${color.foreground}
|
|
||||||
bar-used-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/memory_bar]
|
|
||||||
type = internal/memory
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-used>
|
|
||||||
; <bar-free>
|
|
||||||
; <ramp-used>
|
|
||||||
; <ramp-free>
|
|
||||||
; <bar-swap-used>
|
|
||||||
; <bar-swap-free>
|
|
||||||
; <ramp-swap-used>
|
|
||||||
; <ramp-swap-free>
|
|
||||||
format = <bar-used> <label>
|
|
||||||
format-prefix = " "
|
|
||||||
format-prefix-font = 2
|
|
||||||
format-background = ${color.shade6}
|
|
||||||
format-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage_used% (default)
|
|
||||||
; %percentage_free%
|
|
||||||
; %gb_used%
|
|
||||||
; %gb_free%
|
|
||||||
; %gb_total%
|
|
||||||
; %mb_used%
|
|
||||||
; %mb_free%
|
|
||||||
; %mb_total%
|
|
||||||
; %percentage_swap_used%
|
|
||||||
; %percentage_swap_free%
|
|
||||||
; %mb_swap_total%
|
|
||||||
; %mb_swap_free%
|
|
||||||
; %mb_swap_used%
|
|
||||||
; %gb_swap_total%
|
|
||||||
; %gb_swap_free%
|
|
||||||
; %gb_swap_used%
|
|
||||||
|
|
||||||
label = "%mb_used%"
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-width = 10
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.foreground}
|
|
||||||
bar-used-foreground-1 = ${color.foreground}
|
|
||||||
bar-used-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/mpd_bar]
|
|
||||||
type = internal/mpd
|
|
||||||
|
|
||||||
; Host where mpd is running (either ip or domain name)
|
|
||||||
; Can also be the full path to a unix socket where mpd is running.
|
|
||||||
;;host = 127.0.0.1
|
|
||||||
;;port = 6600
|
|
||||||
;;password = mysecretpassword
|
|
||||||
|
|
||||||
; Seconds to sleep between progressbar/song timer sync
|
|
||||||
; Default: 1
|
|
||||||
interval = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-song> (default)
|
|
||||||
; <label-time>
|
|
||||||
; <bar-progress>
|
|
||||||
; <toggle> - gets replaced with <icon-(pause|play)>
|
|
||||||
; <toggle-stop> - gets replaced with <icon-(stop|play)>
|
|
||||||
; <icon-random>
|
|
||||||
; <icon-repeat>
|
|
||||||
; <icon-repeatone> (deprecated)
|
|
||||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
|
|
||||||
; <icon-consume>
|
|
||||||
; <icon-prev>
|
|
||||||
; <icon-stop>
|
|
||||||
; <icon-play>
|
|
||||||
; <icon-pause>
|
|
||||||
; <icon-next>
|
|
||||||
; <icon-seekb>
|
|
||||||
; <icon-seekf>
|
|
||||||
format-online = <label-song> <bar-progress> <label-time>
|
|
||||||
format-online-prefix = ﱘ
|
|
||||||
format-online-prefix-font = 2
|
|
||||||
format-online-background = ${color.shade4}
|
|
||||||
format-online-padding = 2
|
|
||||||
|
|
||||||
;format-playing = ${self.format-online}
|
|
||||||
;format-paused = ${self.format-online}
|
|
||||||
;format-stopped = ${self.format-online}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-offline>
|
|
||||||
format-offline = <label-offline>
|
|
||||||
format-offline-prefix = ﱘ
|
|
||||||
format-offline-prefix-font = 2
|
|
||||||
format-offline-background = ${color.shade4}
|
|
||||||
format-offline-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %artist%
|
|
||||||
; %album-artist%
|
|
||||||
; %album%
|
|
||||||
; %date%
|
|
||||||
; %title%
|
|
||||||
; Default: %artist% - %title%
|
|
||||||
label-song = " %artist% - %title%"
|
|
||||||
label-song-maxlen = 25
|
|
||||||
label-song-ellipsis = true
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %elapsed%
|
|
||||||
; %total%
|
|
||||||
; Default: %elapsed% / %total%
|
|
||||||
label-time = %elapsed% / %total%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; None
|
|
||||||
label-offline = " Offline"
|
|
||||||
|
|
||||||
; Only applies if <icon-X> is used
|
|
||||||
icon-play = 喇
|
|
||||||
icon-pause =
|
|
||||||
icon-stop =
|
|
||||||
icon-prev =
|
|
||||||
icon-next =
|
|
||||||
icon-seekb =
|
|
||||||
icon-seekf =
|
|
||||||
icon-random =
|
|
||||||
icon-repeat =
|
|
||||||
icon-repeatone =
|
|
||||||
icon-single =
|
|
||||||
icon-consume =
|
|
||||||
|
|
||||||
; Used to display the state of random/repeat/repeatone/single
|
|
||||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used
|
|
||||||
toggle-on-foreground = ${color.foreground}
|
|
||||||
toggle-off-foreground = ${color.background}
|
|
||||||
|
|
||||||
; Only applies if <bar-progress> is used
|
|
||||||
bar-progress-width = 10
|
|
||||||
bar-progress-gradient = false
|
|
||||||
|
|
||||||
bar-progress-indicator = ${bar.indicator}
|
|
||||||
bar-progress-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-progress-fill = ${bar.fill}
|
|
||||||
bar-progress-foreground-0 = ${color.foreground}
|
|
||||||
bar-progress-foreground-1 = ${color.foreground}
|
|
||||||
bar-progress-foreground-2 = ${color.foreground}
|
|
||||||
|
|
||||||
bar-progress-empty = ${bar.empty}
|
|
||||||
bar-progress-empty-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper.
|
|
||||||
|
|
||||||
;; main colors
|
|
||||||
background = #141C21
|
|
||||||
foreground = #F5F5F5
|
|
||||||
foreground-alt = #FFFFFF
|
|
||||||
alpha = #00000000
|
|
||||||
|
|
||||||
;; shades
|
|
||||||
shade1 = #BF360C
|
|
||||||
shade2 = #D84315
|
|
||||||
shade3 = #E64A19
|
|
||||||
shade4 = #F4511E
|
|
||||||
shade5 = #FF5722
|
|
||||||
shade6 = #FF7043
|
|
||||||
shade7 = #FF8A65
|
|
||||||
shade8 = #FFAB91
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,293 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/colorblocks/bars.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/colors.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/modules.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = true
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 99%
|
|
||||||
height = 40
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0.5%
|
|
||||||
offset-y = 1%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.alpha}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
underline-size = 2
|
|
||||||
underline-color = ${color.foreground}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-size = 0
|
|
||||||
border-color = ${color.background}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
font-0 = "Iosevka Nerd Font:pixelsize=10;4"
|
|
||||||
font-1 = "Iosevka Nerd Font:pixelsize=13;4"
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
modules-left = launcher sep workspaces sep mpd
|
|
||||||
modules-center =
|
|
||||||
modules-right = color-switch sep cpu memory alsa battery network date sep sysmenu
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Add this script to your wm startup file.
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/colorblocks"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the bar
|
|
||||||
polybar -q main -c "$DIR"/config.ini &
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,311 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/colorblocks/bars.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/colors.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/modules.ini
|
|
||||||
include-file = ~/.config/polybar/colorblocks/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = true
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 99%
|
|
||||||
height = 40
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0.5%
|
|
||||||
offset-y = 1%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.alpha}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
underline-size = 2
|
|
||||||
underline-color = ${color.foreground}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-size = 0
|
|
||||||
border-color = ${color.background}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
font-0 = "Iosevka Nerd Font:pixelsize=10;4"
|
|
||||||
font-1 = "Iosevka Nerd Font:pixelsize=13;4"
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar/top]
|
|
||||||
inherit = bar/main
|
|
||||||
modules-left = menu sep title sep google github reddit gmail twitter
|
|
||||||
modules-right = updates temperature filesystem keyboard pulseaudio backlight sep powermenu
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/mid]
|
|
||||||
offset-y = 62
|
|
||||||
inherit = bar/main
|
|
||||||
modules-center = cpu_bar sep memory_bar sep filesystem_bar sep mpd_bar sep battery_bar sep volume sep brightness
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/bottom]
|
|
||||||
inherit = bar/main
|
|
||||||
offset-y = 114
|
|
||||||
modules-left = launcher sep workspaces sep mpd
|
|
||||||
modules-center =
|
|
||||||
modules-right = color-switch sep cpu memory alsa battery network date sep sysmenu
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
;enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/colorblocks"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the preview bar
|
|
||||||
polybar -q top -c "$DIR"/preview.ini &
|
|
||||||
polybar -q mid -c "$DIR"/preview.ini &
|
|
||||||
polybar -q bottom -c "$DIR"/preview.ini &
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
#
|
|
||||||
# checkupdates: Safely print a list of pending updates.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
declare -r myname='checkupdates'
|
|
||||||
declare -r myver='1.0.0'
|
|
||||||
|
|
||||||
plain() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg2() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
ask() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
warning() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
# check if messages are to be printed using color
|
|
||||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
|
|
||||||
# prefer terminal safe colored and bold text when tput is supported
|
|
||||||
if tput setaf 0 &>/dev/null; then
|
|
||||||
ALL_OFF="$(tput sgr0)"
|
|
||||||
BOLD="$(tput bold)"
|
|
||||||
BLUE="${BOLD}$(tput setaf 4)"
|
|
||||||
GREEN="${BOLD}$(tput setaf 2)"
|
|
||||||
RED="${BOLD}$(tput setaf 1)"
|
|
||||||
YELLOW="${BOLD}$(tput setaf 3)"
|
|
||||||
else
|
|
||||||
ALL_OFF="\e[1;0m"
|
|
||||||
BOLD="\e[1;1m"
|
|
||||||
BLUE="${BOLD}\e[1;34m"
|
|
||||||
GREEN="${BOLD}\e[1;32m"
|
|
||||||
RED="${BOLD}\e[1;31m"
|
|
||||||
YELLOW="${BOLD}\e[1;33m"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
|
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
echo "${myname} v${myver}"
|
|
||||||
echo
|
|
||||||
echo "Safely print a list of pending updates"
|
|
||||||
echo
|
|
||||||
echo "Usage: ${myname}"
|
|
||||||
echo
|
|
||||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.'
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! type -P fakeroot >/dev/null; then
|
|
||||||
error 'Cannot find the fakeroot binary.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $CHECKUPDATES_DB ]]; then
|
|
||||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
|
|
||||||
|
|
||||||
DBPath="$(pacman-conf DBPath)"
|
|
||||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then
|
|
||||||
DBPath="/var/lib/pacman/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$CHECKUPDATES_DB"
|
|
||||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
|
|
||||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
|
|
||||||
error 'Cannot fetch updates'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]'
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# vim: set noet:
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
SDIR="$HOME/.config/polybar/colorblocks/scripts"
|
|
||||||
|
|
||||||
# Launch Rofi
|
|
||||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \
|
|
||||||
-theme $SDIR/rofi/styles.rasi \
|
|
||||||
<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\
|
|
||||||
♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\
|
|
||||||
♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\
|
|
||||||
♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\
|
|
||||||
♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\
|
|
||||||
♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")"
|
|
||||||
case "$MENU" in
|
|
||||||
## Light Colors
|
|
||||||
*amber) "$SDIR"/colors-light.sh --amber ;;
|
|
||||||
*blue) "$SDIR"/colors-light.sh --blue ;;
|
|
||||||
*blue-gray) "$SDIR"/colors-light.sh --blue-gray ;;
|
|
||||||
*brown) "$SDIR"/colors-light.sh --brown ;;
|
|
||||||
*cyan) "$SDIR"/colors-light.sh --cyan ;;
|
|
||||||
*deep-orange) "$SDIR"/colors-light.sh --deep-orange ;;
|
|
||||||
*deep-purple) "$SDIR"/colors-light.sh --deep-purple ;;
|
|
||||||
*green) "$SDIR"/colors-light.sh --green ;;
|
|
||||||
*gray) "$SDIR"/colors-light.sh --gray ;;
|
|
||||||
*indigo) "$SDIR"/colors-light.sh --indigo ;;
|
|
||||||
*blue-light) "$SDIR"/colors-light.sh --light-blue ;;
|
|
||||||
*green-light) "$SDIR"/colors-light.sh --light-green ;;
|
|
||||||
*lime) "$SDIR"/colors-light.sh --lime ;;
|
|
||||||
*orange) "$SDIR"/colors-light.sh --orange ;;
|
|
||||||
*pink) "$SDIR"/colors-light.sh --pink ;;
|
|
||||||
*purple) "$SDIR"/colors-light.sh --purple ;;
|
|
||||||
*red) "$SDIR"/colors-light.sh --red ;;
|
|
||||||
*teal) "$SDIR"/colors-light.sh --teal ;;
|
|
||||||
*yellow) "$SDIR"/colors-light.sh --yellow ;;
|
|
||||||
## Dark Colors
|
|
||||||
*amber-dark) "$SDIR"/colors-dark.sh --amber ;;
|
|
||||||
*blue-dark) "$SDIR"/colors-dark.sh --blue ;;
|
|
||||||
*blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;;
|
|
||||||
*brown-dark) "$SDIR"/colors-dark.sh --brown ;;
|
|
||||||
*cyan-dark) "$SDIR"/colors-dark.sh --cyan ;;
|
|
||||||
*deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;;
|
|
||||||
*deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;;
|
|
||||||
*green-dark) "$SDIR"/colors-dark.sh --green ;;
|
|
||||||
*gray-dark) "$SDIR"/colors-dark.sh --gray ;;
|
|
||||||
*indigo-dark) "$SDIR"/colors-dark.sh --indigo ;;
|
|
||||||
*blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;;
|
|
||||||
*green-light-dark) "$SDIR"/colors-dark.sh --light-green ;;
|
|
||||||
*lime-dark) "$SDIR"/colors-dark.sh --lime ;;
|
|
||||||
*orange-dark) "$SDIR"/colors-dark.sh --orange ;;
|
|
||||||
*pink-dark) "$SDIR"/colors-dark.sh --pink ;;
|
|
||||||
*purple-dark) "$SDIR"/colors-dark.sh --purple ;;
|
|
||||||
*red-dark) "$SDIR"/colors-dark.sh --red ;;
|
|
||||||
*teal-dark) "$SDIR"/colors-dark.sh --teal ;;
|
|
||||||
*yellow-dark) "$SDIR"/colors-dark.sh --yellow
|
|
||||||
esac
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e 's/background = #.*/background = #141C21/g' $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE
|
|
||||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #FFFFFF/g' $PFILE
|
|
||||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE
|
|
||||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE
|
|
||||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE
|
|
||||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE
|
|
||||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE
|
|
||||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE
|
|
||||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE
|
|
||||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #141C21FF;
|
|
||||||
bg1: ${SH8}FF;
|
|
||||||
bg2: ${SH7}FF;
|
|
||||||
bg3: ${SH6}FF;
|
|
||||||
fg: #FFFFFFFF;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $1 = "--amber" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300"
|
|
||||||
SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5"
|
|
||||||
SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue-gray" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A"
|
|
||||||
SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--brown" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41"
|
|
||||||
SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--cyan" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1"
|
|
||||||
SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-orange" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E"
|
|
||||||
SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-purple" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1"
|
|
||||||
SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--green" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047"
|
|
||||||
SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--gray" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575"
|
|
||||||
SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--indigo" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB"
|
|
||||||
SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-blue" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5"
|
|
||||||
SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-green" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342"
|
|
||||||
SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--lime" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33"
|
|
||||||
SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--orange" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00"
|
|
||||||
SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--pink" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60"
|
|
||||||
SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--purple" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA"
|
|
||||||
SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--red" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935"
|
|
||||||
SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--teal" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B"
|
|
||||||
SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--yellow" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835"
|
|
||||||
SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D"
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
cat <<- _EOF_
|
|
||||||
No option specified, Available options:
|
|
||||||
--amber --blue --blue-gray --brown
|
|
||||||
--cyan --deep-orange --deep-purple --green
|
|
||||||
--gray --indigo --light-blue --light-green
|
|
||||||
--lime --orange --pink --purple
|
|
||||||
--red --teal --yellow
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE
|
|
||||||
sed -i -e 's/foreground-alt = #.*/foreground-alt = #141C21/g' $PFILE
|
|
||||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE
|
|
||||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE
|
|
||||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE
|
|
||||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE
|
|
||||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE
|
|
||||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE
|
|
||||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE
|
|
||||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #FFFFFFFF;
|
|
||||||
bg1: ${SH5}FF;
|
|
||||||
bg2: ${SH4}FF;
|
|
||||||
bg3: ${SH3}FF;
|
|
||||||
fg: #141C21FF;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $1 = "--amber" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300"
|
|
||||||
SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5"
|
|
||||||
SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue-gray" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A"
|
|
||||||
SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--brown" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41"
|
|
||||||
SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--cyan" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1"
|
|
||||||
SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-orange" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E"
|
|
||||||
SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-purple" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1"
|
|
||||||
SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--green" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047"
|
|
||||||
SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--gray" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575"
|
|
||||||
SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--indigo" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB"
|
|
||||||
SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-blue" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5"
|
|
||||||
SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-green" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342"
|
|
||||||
SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--lime" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33"
|
|
||||||
SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--orange" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00"
|
|
||||||
SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--pink" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60"
|
|
||||||
SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--purple" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA"
|
|
||||||
SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--red" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935"
|
|
||||||
SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--teal" ]]; then
|
|
||||||
FG="#F5F5F5"
|
|
||||||
SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B"
|
|
||||||
SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--yellow" ]]; then
|
|
||||||
FG="#141C21"
|
|
||||||
SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835"
|
|
||||||
SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D"
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
cat <<- _EOF_
|
|
||||||
No option specified, Available options:
|
|
||||||
--amber --blue --blue-gray --brown
|
|
||||||
--cyan --deep-orange --deep-purple --green
|
|
||||||
--gray --indigo --light-blue --light-green
|
|
||||||
--lime --orange --pink --purple
|
|
||||||
--red --teal --yellow
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/colorblocks/scripts/rofi/launcher.rasi
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya
|
|
||||||
## Mail : adi1090x@gmail.com
|
|
||||||
## Github : @adi1090x
|
|
||||||
## Twitter : @adi1090x
|
|
||||||
|
|
||||||
dir="~/.config/polybar/colorblocks/scripts/rofi"
|
|
||||||
uptime=$(uptime -p | sed -e 's/up //g')
|
|
||||||
|
|
||||||
rofi_command="rofi -no-config -theme $dir/powermenu.rasi"
|
|
||||||
|
|
||||||
# Options
|
|
||||||
shutdown=" Shutdown"
|
|
||||||
reboot=" Restart"
|
|
||||||
lock=" Lock"
|
|
||||||
suspend=" Sleep"
|
|
||||||
logout=" Logout"
|
|
||||||
|
|
||||||
# Confirmation
|
|
||||||
confirm_exit() {
|
|
||||||
rofi -dmenu\
|
|
||||||
-no-config\
|
|
||||||
-i\
|
|
||||||
-no-fixed-num-lines\
|
|
||||||
-p "Are You Sure? : "\
|
|
||||||
-theme $dir/confirm.rasi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Message
|
|
||||||
msg() {
|
|
||||||
rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Variable passed to rofi
|
|
||||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown"
|
|
||||||
|
|
||||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)"
|
|
||||||
case $chosen in
|
|
||||||
$shutdown)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl poweroff
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$reboot)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl reboot
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$lock)
|
|
||||||
if [[ -f /usr/bin/i3lock ]]; then
|
|
||||||
i3lock
|
|
||||||
elif [[ -f /usr/bin/betterlockscreen ]]; then
|
|
||||||
betterlockscreen -l
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$suspend)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
mpc -q pause
|
|
||||||
amixer set Master mute
|
|
||||||
systemctl suspend
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$logout)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
|
|
||||||
openbox --exit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
|
|
||||||
bspc quit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
|
|
||||||
i3-msg exit
|
|
||||||
fi
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi"
|
|
||||||
WFILE="$HOME/.cache/wal/colors.sh"
|
|
||||||
|
|
||||||
# Get colors
|
|
||||||
pywal_get() {
|
|
||||||
wal -i "$1" -q -t
|
|
||||||
}
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE
|
|
||||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE
|
|
||||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE
|
|
||||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE
|
|
||||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE
|
|
||||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE
|
|
||||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE
|
|
||||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE
|
|
||||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: ${BG}FF;
|
|
||||||
bg1: ${SH8}FF;
|
|
||||||
bg2: ${SH7}FF;
|
|
||||||
bg3: ${SH6}FF;
|
|
||||||
fg: ${FGA}FF;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main
|
|
||||||
if [[ -x "`which wal`" ]]; then
|
|
||||||
if [[ "$1" ]]; then
|
|
||||||
pywal_get "$1"
|
|
||||||
|
|
||||||
# Source the pywal color file
|
|
||||||
if [[ -e "$WFILE" ]]; then
|
|
||||||
. "$WFILE"
|
|
||||||
else
|
|
||||||
echo 'Color file does not exist, exiting...'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
BG=`printf "%s\n" "$background"`
|
|
||||||
FG=`printf "%s\n" "$color0"`
|
|
||||||
FGA=`printf "%s\n" "$color7"`
|
|
||||||
SH1=`printf "%s\n" "$color1"`
|
|
||||||
SH2=`printf "%s\n" "$color2"`
|
|
||||||
SH3=`printf "%s\n" "$color1"`
|
|
||||||
SH4=`printf "%s\n" "$color2"`
|
|
||||||
SH5=`printf "%s\n" "$color1"`
|
|
||||||
SH6=`printf "%s\n" "$color2"`
|
|
||||||
SH7=`printf "%s\n" "$color1"`
|
|
||||||
SH8=`printf "%s\n" "$color2"`
|
|
||||||
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
echo -e "[!] Please enter the path to wallpaper. \n"
|
|
||||||
echo "Usage : ./pywal.sh path/to/image"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "[!] 'pywal' is not installed."
|
|
||||||
fi
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/colorblocks/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = $BG/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE
|
|
||||||
sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE
|
|
||||||
sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE
|
|
||||||
sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE
|
|
||||||
sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE
|
|
||||||
sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE
|
|
||||||
sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE
|
|
||||||
sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE
|
|
||||||
sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #141C21FF;
|
|
||||||
bg1: ${SH8}FF;
|
|
||||||
bg2: ${SH7}FF;
|
|
||||||
bg3: ${SH6}FF;
|
|
||||||
fg: #FFFFFFFF;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
get_random_number() {
|
|
||||||
RNUM=$(( ($RANDOM % $1) + 1 ))
|
|
||||||
}
|
|
||||||
|
|
||||||
get_random_color() {
|
|
||||||
RCOLOR="#"
|
|
||||||
for i in 1 2 3 4 5 6
|
|
||||||
do
|
|
||||||
get_random_number "16"
|
|
||||||
case $RNUM in
|
|
||||||
"1") NEXTDIGIT="1";;
|
|
||||||
"2") NEXTDIGIT="2";;
|
|
||||||
"3") NEXTDIGIT="3";;
|
|
||||||
"4") NEXTDIGIT="4";;
|
|
||||||
"5") NEXTDIGIT="5";;
|
|
||||||
"6") NEXTDIGIT="6";;
|
|
||||||
"7") NEXTDIGIT="7";;
|
|
||||||
"8") NEXTDIGIT="8";;
|
|
||||||
"9") NEXTDIGIT="9";;
|
|
||||||
"10") NEXTDIGIT="A";;
|
|
||||||
"11") NEXTDIGIT="B";;
|
|
||||||
"12") NEXTDIGIT="C";;
|
|
||||||
"13") NEXTDIGIT="D";;
|
|
||||||
"14") NEXTDIGIT="E";;
|
|
||||||
"15") NEXTDIGIT="F";;
|
|
||||||
"16") NEXTDIGIT="0";;
|
|
||||||
esac
|
|
||||||
RCOLOR="$RCOLOR$NEXTDIGIT"
|
|
||||||
done
|
|
||||||
echo $RCOLOR
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main
|
|
||||||
BG='#141C21' # change to light bg
|
|
||||||
FG='#141C21' # change to dark fg
|
|
||||||
FGA='#FFFFFF' # change to gray fg
|
|
||||||
SH1=`get_random_color`
|
|
||||||
SH2=`get_random_color`
|
|
||||||
SH3=`get_random_color`
|
|
||||||
SH4=`get_random_color`
|
|
||||||
SH5=`get_random_color`
|
|
||||||
SH6=`get_random_color`
|
|
||||||
SH7=`get_random_color`
|
|
||||||
SH8=`get_random_color`
|
|
||||||
|
|
||||||
change_color
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #141C21FF;
|
|
||||||
bg1: #FFAB91FF;
|
|
||||||
bg2: #FF8A65FF;
|
|
||||||
bg3: #FF7043FF;
|
|
||||||
fg: #FFFFFFFF;
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/* Confirm Dialog */
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
* {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
width: 225px;
|
|
||||||
padding: 25px;
|
|
||||||
border: 0px 0px 0px 4px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg3;
|
|
||||||
location: center;
|
|
||||||
y-offset: -2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
expand: true;
|
|
||||||
text-color: @bg2;
|
|
||||||
}
|
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px;
|
|
||||||
border-color: @bg1;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 700px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 12px 15px 12px 15px;
|
|
||||||
background-color: @bg1;
|
|
||||||
text-color: @fga;
|
|
||||||
font: "Iosevka Nerd Font 12";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
placeholder-color: @fga;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 15px 0px 0px 15px;
|
|
||||||
margin: 0px 250px 0px 0px;
|
|
||||||
border-radius: 0px 50px 50px 0px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ prompt, entry ];
|
|
||||||
background-color: @bg3;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
spacing: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 10px 10px 10px 10px;
|
|
||||||
columns: 3;
|
|
||||||
lines: 8;
|
|
||||||
spacing: 5px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg4;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @bg3;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg;
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/* Confirm Dialog */
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
* {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
width: 320px;
|
|
||||||
padding: 25px;
|
|
||||||
border: 0px 0px 0px 4px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg3;
|
|
||||||
location: center;
|
|
||||||
y-offset: -2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
expand: true;
|
|
||||||
text-color: @bg2;
|
|
||||||
}
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px;
|
|
||||||
border-color: @bg1;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 400px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 12px 15px 12px 15px;
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 10px 15px 10px 15px;
|
|
||||||
font: "Iosevka Nerd Font 12";
|
|
||||||
background-color: @bg1;
|
|
||||||
text-color: @fga;
|
|
||||||
expand: false;
|
|
||||||
str: "直";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
placeholder-color: @fga;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 15px 0px 0px 15px;
|
|
||||||
margin: 0px 250px 0px 0px;
|
|
||||||
border-radius: 0px 50px 50px 0px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, prompt ];
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
spacing: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 10px 10px 10px 10px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 8;
|
|
||||||
spacing: 5px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg4;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 8px 8px 8px -4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @bg3;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg;
|
|
||||||
}
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px;
|
|
||||||
border-color: @bg1;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 300px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 12px 15px 12px 15px;
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 10px 15px 10px 15px;
|
|
||||||
font: "Iosevka Nerd Font 12";
|
|
||||||
background-color: @bg1;
|
|
||||||
text-color: @fga;
|
|
||||||
expand: false;
|
|
||||||
str: "";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
placeholder-color: @fga;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 15px 0px 0px 15px;
|
|
||||||
margin: 0px 250px 0px 0px;
|
|
||||||
border-radius: 0px 50px 50px 0px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, prompt ];
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
spacing: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 10px 10px 10px 10px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 5;
|
|
||||||
spacing: 5px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg4;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 8px 8px 8px -25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @bg3;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg;
|
|
||||||
}
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya
|
|
||||||
* Mail : adi1090x@gmail.com
|
|
||||||
* Github : @adi1090x
|
|
||||||
* Twitter : @adi1090x
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
disable-history: false;
|
|
||||||
fullscreen: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
sidebar-mode: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "colors.rasi"
|
|
||||||
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @fg;
|
|
||||||
border: 0px;
|
|
||||||
border-color: @bg1;
|
|
||||||
border-radius: 0px;
|
|
||||||
width: 300px;
|
|
||||||
location: center;
|
|
||||||
x-offset: 0;
|
|
||||||
y-offset: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
padding: 12px 15px 12px 15px;
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
padding: 10px 15px 10px 15px;
|
|
||||||
font: "Iosevka Nerd Font 12";
|
|
||||||
background-color: @bg1;
|
|
||||||
text-color: @fga;
|
|
||||||
expand: false;
|
|
||||||
str: "";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fga;
|
|
||||||
placeholder-color: @fga;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
placeholder: "Search...";
|
|
||||||
padding: 10px 15px 10px 15px;
|
|
||||||
margin: 0px 250px 0px 0px;
|
|
||||||
border-radius: 0px 50px 50px 0px;
|
|
||||||
blink: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [ textbox-prompt-colon, entry ];
|
|
||||||
background-color: @bg2;
|
|
||||||
text-color: @fg;
|
|
||||||
expand: false;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @ac;
|
|
||||||
spacing: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
background-color: @al;
|
|
||||||
padding: 10px 10px 10px 10px;
|
|
||||||
columns: 1;
|
|
||||||
lines: 5;
|
|
||||||
spacing: 5px;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
layout: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @al;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg4;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
background-color: @al;
|
|
||||||
text-color: @fg;
|
|
||||||
orientation: horizontal;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 8px 8px 8px -25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 24px;
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
expand: true;
|
|
||||||
horizontal-align: 0;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
margin: 0px 2.5px 0px 2.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @bg;
|
|
||||||
text-color: @bg3;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @bg;
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg
|
|
||||||
|
|
||||||
get_total_updates() { UPDATES=$(~/.config/polybar/colorblocks/scripts/checkupdates 2>/dev/null | wc -l); }
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
get_total_updates
|
|
||||||
|
|
||||||
# notify user of updates
|
|
||||||
if hash notify-send &>/dev/null; then
|
|
||||||
if (( UPDATES > 50 )); then
|
|
||||||
notify-send -u critical -i $NOTIFY_ICON \
|
|
||||||
"You really need to update!!" "$UPDATES New packages"
|
|
||||||
elif (( UPDATES > 25 )); then
|
|
||||||
notify-send -u normal -i $NOTIFY_ICON \
|
|
||||||
"You should update soon" "$UPDATES New packages"
|
|
||||||
elif (( UPDATES > 2 )); then
|
|
||||||
notify-send -u low -i $NOTIFY_ICON \
|
|
||||||
"$UPDATES New packages"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# when there are updates available
|
|
||||||
# every 10 seconds another check for updates is done
|
|
||||||
while (( UPDATES > 0 )); do
|
|
||||||
if (( UPDATES == 1 )); then
|
|
||||||
echo " $UPDATES"
|
|
||||||
elif (( UPDATES > 1 )); then
|
|
||||||
echo " $UPDATES"
|
|
||||||
else
|
|
||||||
echo " None"
|
|
||||||
fi
|
|
||||||
sleep 10
|
|
||||||
get_total_updates
|
|
||||||
done
|
|
||||||
|
|
||||||
# when no updates are available, use a longer loop, this saves on CPU
|
|
||||||
# and network uptime, only checking once every 30 min for new updates
|
|
||||||
while (( UPDATES == 0 )); do
|
|
||||||
echo " None"
|
|
||||||
sleep 1800
|
|
||||||
get_total_updates
|
|
||||||
done
|
|
||||||
done
|
|
||||||
@@ -1,288 +0,0 @@
|
|||||||
;; ┌──────────────────────────────────────────────────────────────────────────────-----┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └──────────────────────────────────────────────────────────────────────────────-----┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/updates]
|
|
||||||
type = custom/script
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; Command to be executed (using "/usr/bin/env sh -c [command]")
|
|
||||||
exec = ~/.config/polybar/colorblocks/scripts/updates.sh
|
|
||||||
|
|
||||||
; Conditional command that, if defined, needs to exit successfully
|
|
||||||
; before the main exec command is invoked.
|
|
||||||
; Default: ""
|
|
||||||
;;exec-if = ""
|
|
||||||
|
|
||||||
; Will the script output continous content?
|
|
||||||
; Default: false
|
|
||||||
tail = true
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 2 (0 if `tail = true`)
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <output> - deprecated
|
|
||||||
; <label> (default)
|
|
||||||
format = <label>
|
|
||||||
format-prefix =
|
|
||||||
format-prefix-font = 2
|
|
||||||
format-background = ${color.shade8}
|
|
||||||
format-foreground = ${color.foreground}
|
|
||||||
format-padding = 2
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %output%
|
|
||||||
; Default: %output%
|
|
||||||
label = %output%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; %pid%
|
|
||||||
;
|
|
||||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]"
|
|
||||||
click-left = exo-open --launch TerminalEmulator &
|
|
||||||
click-right = exo-open --launch TerminalEmulator &
|
|
||||||
;;double-click-left = echo double left %counter%
|
|
||||||
;;double-click-middle = echo double middle %counter%
|
|
||||||
;;double-click-right = echo double right %counter%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %counter%
|
|
||||||
; %pid%
|
|
||||||
;
|
|
||||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]"
|
|
||||||
;;scroll-up = echo scroll up %counter%
|
|
||||||
;;scroll-down = echo scroll down %counter%
|
|
||||||
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/launcher]
|
|
||||||
type = custom/text
|
|
||||||
content =
|
|
||||||
|
|
||||||
; "content" has the same properties as "format-NAME"
|
|
||||||
content-background = ${color.background}
|
|
||||||
content-foreground = ${color.shade4}
|
|
||||||
content-padding = 2
|
|
||||||
|
|
||||||
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
click-left = ~/.config/polybar/colorblocks/scripts/launcher.sh &
|
|
||||||
;;click-middle = ~/.config/polybar/colorblocks/scripts/launcher-full
|
|
||||||
click-right = ~/.config/polybar/colorblocks/scripts/color-switch.sh &
|
|
||||||
|
|
||||||
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
;;scroll-up = ~/.config/polybar/colorblocks/scripts/launcher.sh &
|
|
||||||
;;scroll-down = ~/.config/polybar/colorblocks/scripts/color-switch.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/sysmenu]
|
|
||||||
type = custom/text
|
|
||||||
content =
|
|
||||||
|
|
||||||
content-background = ${color.background}
|
|
||||||
content-foreground = ${color.shade4}
|
|
||||||
content-padding = 2
|
|
||||||
|
|
||||||
click-left = ~/.config/polybar/colorblocks/scripts/powermenu.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/color-switch]
|
|
||||||
type = custom/text
|
|
||||||
content =
|
|
||||||
|
|
||||||
content-background = #FFFFFF
|
|
||||||
content-foreground = #CC6666
|
|
||||||
content-padding = 2
|
|
||||||
|
|
||||||
click-left = ~/.config/polybar/colorblocks/scripts/color-switch.sh &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/sep]
|
|
||||||
type = custom/text
|
|
||||||
content = " "
|
|
||||||
|
|
||||||
content-background = ${color.alpha}
|
|
||||||
content-foreground = ${color.alpha}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/links]
|
|
||||||
type = custom/text
|
|
||||||
content-background = ${color.background}
|
|
||||||
content-padding = 2
|
|
||||||
content-font = 2
|
|
||||||
|
|
||||||
[module/google]
|
|
||||||
inherit = module/links
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.shade7}
|
|
||||||
click-left = exo-open https://www.google.com/ &
|
|
||||||
|
|
||||||
[module/github]
|
|
||||||
inherit = module/links
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.shade6}
|
|
||||||
click-left = exo-open https://www.github.com/ &
|
|
||||||
|
|
||||||
[module/reddit]
|
|
||||||
inherit = module/links
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.shade5}
|
|
||||||
click-left = exo-open https://www.reddit.com/ &
|
|
||||||
|
|
||||||
[module/gmail]
|
|
||||||
inherit = module/links
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.shade4}
|
|
||||||
click-left = exo-open https://mail.google.com/ &
|
|
||||||
|
|
||||||
[module/twitter]
|
|
||||||
inherit = module/links
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.shade3}
|
|
||||||
click-left = exo-open https://www.twitter.com/ &
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/powermenu]
|
|
||||||
type = custom/menu
|
|
||||||
|
|
||||||
; If true, <label-toggle> will be to the left of the menu items (default).
|
|
||||||
; If false, it will be on the right of all the items.
|
|
||||||
expand-right = true
|
|
||||||
|
|
||||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
|
||||||
; the additional "exec" property
|
|
||||||
;
|
|
||||||
; Available exec commands:
|
|
||||||
; menu-open-LEVEL
|
|
||||||
; menu-close
|
|
||||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
menu-0-0 = " Reboot "
|
|
||||||
menu-0-0-background = ${color.background}
|
|
||||||
menu-0-0-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-0-exec = menu-open-1
|
|
||||||
menu-0-1 = " Shutdown "
|
|
||||||
menu-0-1-background = ${color.background}
|
|
||||||
menu-0-1-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-1-exec = menu-open-2
|
|
||||||
|
|
||||||
menu-1-0 = " Back "
|
|
||||||
menu-1-0-background = ${color.background}
|
|
||||||
menu-1-0-foreground = ${color.foreground-alt}
|
|
||||||
menu-1-0-exec = menu-open-0
|
|
||||||
menu-1-1 = " Reboot "
|
|
||||||
menu-1-1-background = ${color.background}
|
|
||||||
menu-1-1-foreground = ${color.foreground-alt}
|
|
||||||
menu-1-1-exec = systemctl reboot
|
|
||||||
|
|
||||||
menu-2-0 = " Shutdown "
|
|
||||||
menu-2-0-background = ${color.background}
|
|
||||||
menu-2-0-foreground = ${color.foreground-alt}
|
|
||||||
menu-2-0-exec = systemctl poweroff
|
|
||||||
menu-2-1 = " Back "
|
|
||||||
menu-2-1-background = ${color.background}
|
|
||||||
menu-2-1-foreground = ${color.foreground-alt}
|
|
||||||
menu-2-1-exec = menu-open-0
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
|
||||||
; <menu> (default)
|
|
||||||
; Note that if you use <label-toggle> you must also include
|
|
||||||
; the definition for <label-open>
|
|
||||||
|
|
||||||
format = <label-toggle><menu>
|
|
||||||
format-background = ${color.background}
|
|
||||||
format-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
label-open =
|
|
||||||
label-open-background = ${color.background}
|
|
||||||
label-open-foreground = ${color.shade4}
|
|
||||||
label-open-padding = 2
|
|
||||||
label-open-font = 1
|
|
||||||
|
|
||||||
label-close =
|
|
||||||
label-close-background = ${color.background}
|
|
||||||
label-close-foreground = ${color.shade4}
|
|
||||||
label-close-padding = 2
|
|
||||||
label-close-font = 2
|
|
||||||
|
|
||||||
; Optional item separator
|
|
||||||
; Default: none
|
|
||||||
label-separator = " | "
|
|
||||||
label-separator-background = ${color.background}
|
|
||||||
label-separator-foreground = ${color.shade4}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/menu]
|
|
||||||
type = custom/menu
|
|
||||||
|
|
||||||
; If true, <label-toggle> will be to the left of the menu items (default).
|
|
||||||
; If false, it will be on the right of all the items.
|
|
||||||
expand-right = true
|
|
||||||
|
|
||||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
|
||||||
; the additional "exec" property
|
|
||||||
;
|
|
||||||
; Available exec commands:
|
|
||||||
; menu-open-LEVEL
|
|
||||||
; menu-close
|
|
||||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
|
||||||
menu-0-0 = Menu
|
|
||||||
menu-0-0-background = ${color.background}
|
|
||||||
menu-0-0-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-0-exec = ~/.config/polybar/colorblocks/scripts/launcher.sh &
|
|
||||||
menu-0-1 = Files
|
|
||||||
menu-0-1-background = ${color.background}
|
|
||||||
menu-0-1-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-1-exec = thunar &
|
|
||||||
menu-0-2 = Terminal
|
|
||||||
menu-0-2-background = ${color.background}
|
|
||||||
menu-0-2-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-2-exec = termite &
|
|
||||||
menu-0-3 =" Browser "
|
|
||||||
menu-0-3-background = ${color.background}
|
|
||||||
menu-0-3-foreground = ${color.foreground-alt}
|
|
||||||
menu-0-3-exec = firefox &
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
|
||||||
; <menu> (default)
|
|
||||||
; Note that if you use <label-toggle> you must also include
|
|
||||||
; the definition for <label-open>
|
|
||||||
|
|
||||||
format = <label-toggle><menu>
|
|
||||||
format-background = ${color.background}
|
|
||||||
|
|
||||||
label-open =
|
|
||||||
label-open-background = ${color.background}
|
|
||||||
label-open-foreground = ${color.shade4}
|
|
||||||
label-open-padding = 2
|
|
||||||
label-open-font = 2
|
|
||||||
|
|
||||||
label-close =
|
|
||||||
label-close-background = ${color.background}
|
|
||||||
label-close-foreground = ${color.shade4}
|
|
||||||
label-close-padding = 2
|
|
||||||
label-close-font = 2
|
|
||||||
|
|
||||||
; Optional item separator
|
|
||||||
; Default: none
|
|
||||||
label-separator = " | "
|
|
||||||
label-separator-background = ${color.background}
|
|
||||||
label-separator-foreground = ${color.shade4}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,542 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar]
|
|
||||||
fill = ﭳ
|
|
||||||
empty = ﭳ
|
|
||||||
indicator =
|
|
||||||
width = 6
|
|
||||||
format = %{T4}%fill%%indicator%%empty%%{F-}%{T-}
|
|
||||||
|
|
||||||
[module/volume]
|
|
||||||
type = internal/alsa
|
|
||||||
|
|
||||||
; Soundcard to be used
|
|
||||||
; Usually in the format hw:# where # is the card number
|
|
||||||
; You can find the different card numbers in `/proc/asound/cards`
|
|
||||||
master-soundcard = default
|
|
||||||
speaker-soundcard = default
|
|
||||||
headphone-soundcard = default
|
|
||||||
|
|
||||||
; Name of the master, speaker and headphone mixers
|
|
||||||
; Use the following command to list available mixer controls:
|
|
||||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
|
||||||
; If master, speaker or headphone-soundcard isn't the default,
|
|
||||||
; use `amixer -c # scontrols` instead where # is the number
|
|
||||||
; of the master, speaker or headphone soundcard respectively
|
|
||||||
;
|
|
||||||
; Default: Master
|
|
||||||
master-mixer = Master
|
|
||||||
|
|
||||||
; Optionally define speaker and headphone mixers
|
|
||||||
; Default: none
|
|
||||||
;;speaker-mixer = Speaker
|
|
||||||
; Default: none
|
|
||||||
;;headphone-mixer = Headphone
|
|
||||||
|
|
||||||
; NOTE: This is required if headphone_mixer is defined
|
|
||||||
; Use the following command to list available device controls
|
|
||||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
|
||||||
; You may also need to use `amixer -c # controls` as above for the mixer names
|
|
||||||
; Default: none
|
|
||||||
;;headphone-id = 9
|
|
||||||
|
|
||||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
|
||||||
; Default: false
|
|
||||||
;;mapped = true
|
|
||||||
|
|
||||||
; Interval for volume increase/decrease (in percent points)
|
|
||||||
; Default: 5
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-volume> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-volume = <ramp-volume> <bar-volume>
|
|
||||||
format-volume-background = ${color.background}
|
|
||||||
format-volume-padding = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-muted> (default)
|
|
||||||
; <ramp-volume>
|
|
||||||
; <bar-volume>
|
|
||||||
format-muted = <label-muted>
|
|
||||||
format-muted-prefix =
|
|
||||||
format-muted-background = ${color.background}
|
|
||||||
format-muted-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-volume = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default
|
|
||||||
label-muted = " Muted"
|
|
||||||
label-muted-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-volume-0 =
|
|
||||||
ramp-volume-1 =
|
|
||||||
ramp-volume-2 =
|
|
||||||
|
|
||||||
; Only applies if <bar-volume> is used
|
|
||||||
bar-volume-format = ${bar.format}
|
|
||||||
bar-volume-width = ${bar.width}
|
|
||||||
bar-volume-gradient = false
|
|
||||||
|
|
||||||
bar-volume-indicator = ${bar.indicator}
|
|
||||||
bar-volume-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-volume-fill = ${bar.fill}
|
|
||||||
bar-volume-foreground-0 = ${color.green}
|
|
||||||
bar-volume-foreground-1 = ${color.green}
|
|
||||||
bar-volume-foreground-2 = ${color.yellow}
|
|
||||||
bar-volume-foreground-3 = ${color.yellow}
|
|
||||||
bar-volume-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-volume-empty = ${bar.empty}
|
|
||||||
bar-volume-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
; If defined, it will replace <ramp-volume> when
|
|
||||||
; headphones are plugged in to `headphone_control_numid`
|
|
||||||
; If undefined, <ramp-volume> will be used for both
|
|
||||||
; Only applies if <ramp-volume> is used
|
|
||||||
ramp-headphones-0 =
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/brightness]
|
|
||||||
;type = internal/xbacklight
|
|
||||||
type = internal/backlight
|
|
||||||
|
|
||||||
; Use the following command to list available cards:
|
|
||||||
; $ ls -1 /sys/class/backlight/
|
|
||||||
;card = intel_backlight
|
|
||||||
card = amdgpu_bl0
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <ramp>
|
|
||||||
; <bar>
|
|
||||||
format = <ramp> <bar>
|
|
||||||
format-background = ${color.background}
|
|
||||||
format-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label = %percentage%%
|
|
||||||
|
|
||||||
; Only applies if <ramp> is used
|
|
||||||
ramp-0 =
|
|
||||||
ramp-1 =
|
|
||||||
ramp-2 =
|
|
||||||
ramp-3 =
|
|
||||||
ramp-4 =
|
|
||||||
|
|
||||||
; Only applies if <bar> is used
|
|
||||||
bar-format = ${bar.format}
|
|
||||||
bar-width = ${bar.width}
|
|
||||||
bar-gradient = false
|
|
||||||
|
|
||||||
bar-indicator = ${bar.indicator}
|
|
||||||
bar-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-fill = ${bar.fill}
|
|
||||||
bar-foreground-0 = ${color.green}
|
|
||||||
bar-foreground-1 = ${color.green}
|
|
||||||
bar-foreground-2 = ${color.yellow}
|
|
||||||
bar-foreground-3 = ${color.yellow}
|
|
||||||
bar-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-empty = ${bar.empty}
|
|
||||||
bar-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/battery_bar]
|
|
||||||
type = internal/battery
|
|
||||||
|
|
||||||
; This is useful in case the battery never reports 100% charge
|
|
||||||
full-at = 99
|
|
||||||
|
|
||||||
; Use the following command to list batteries and adapters:
|
|
||||||
; $ ls -1 /sys/class/power_supply/
|
|
||||||
battery = BAT1
|
|
||||||
adapter = ACAD
|
|
||||||
|
|
||||||
; If an inotify event haven't been reported in this many
|
|
||||||
; seconds, manually poll for new values.
|
|
||||||
;
|
|
||||||
; Needed as a fallback for systems that don't report events
|
|
||||||
; on sysfs/procfs.
|
|
||||||
;
|
|
||||||
; Disable polling by setting the interval to 0.
|
|
||||||
;
|
|
||||||
; Default: 5
|
|
||||||
poll-interval = 2
|
|
||||||
|
|
||||||
; see "man date" for details on how to format the time string
|
|
||||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
|
||||||
; Default: %H:%M:%S
|
|
||||||
time-format = %H:%M
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-charging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-charging>
|
|
||||||
format-charging = <bar-capacity>
|
|
||||||
format-charging-prefix = " "
|
|
||||||
format-charging-background = ${color.background}
|
|
||||||
format-charging-padding = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-discharging> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
; <animation-discharging>
|
|
||||||
format-discharging = <bar-capacity>
|
|
||||||
format-discharging-prefix = " "
|
|
||||||
format-discharging-background = ${color.background}
|
|
||||||
format-discharging-padding = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-full> (default)
|
|
||||||
; <bar-capacity>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-full = <label-full>
|
|
||||||
format-full-prefix = " "
|
|
||||||
format-full-background = ${color.background}
|
|
||||||
format-full-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current charge rate in watts)
|
|
||||||
|
|
||||||
label-charging = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
; %time%
|
|
||||||
; %consumption% (shows current discharge rate in watts)
|
|
||||||
label-discharging = %percentage%%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default)
|
|
||||||
label-full = " Full"
|
|
||||||
|
|
||||||
; Only applies if <bar-capacity> is used
|
|
||||||
bar-capacity-format = ${bar.format}
|
|
||||||
bar-capacity-width = ${bar.width}
|
|
||||||
bar-capacity-gradient = false
|
|
||||||
|
|
||||||
bar-capacity-indicator = ${bar.indicator}
|
|
||||||
bar-capacity-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-capacity-fill = ${bar.fill}
|
|
||||||
bar-capacity-foreground-0 = ${color.green}
|
|
||||||
bar-capacity-foreground-1 = ${color.green}
|
|
||||||
bar-capacity-foreground-2 = ${color.yellow}
|
|
||||||
bar-capacity-foreground-3 = ${color.yellow}
|
|
||||||
bar-capacity-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-capacity-empty = ${bar.empty}
|
|
||||||
bar-capacity-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/cpu_bar]
|
|
||||||
type = internal/cpu
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 0.5
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-load>
|
|
||||||
; <ramp-load>
|
|
||||||
; <ramp-coreload>
|
|
||||||
;;format = <label> <ramp-coreload>
|
|
||||||
format = <bar-load> <label>
|
|
||||||
format-prefix = " "
|
|
||||||
format-background = ${color.background}
|
|
||||||
format-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage% (default) - total cpu load averaged over all cores
|
|
||||||
; %percentage-sum% - Cumulative load on all cores
|
|
||||||
; %percentage-cores% - load percentage for each core
|
|
||||||
; %percentage-core[1-9]% - load percentage for specific core
|
|
||||||
label = "%percentage%%"
|
|
||||||
|
|
||||||
; Only applies if <bar-load> is used
|
|
||||||
bar-load-format = ${bar.format}
|
|
||||||
bar-load-width = ${bar.width}
|
|
||||||
bar-load-gradient = false
|
|
||||||
|
|
||||||
bar-load-indicator = ${bar.indicator}
|
|
||||||
bar-load-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-load-fill = ${bar.fill}
|
|
||||||
bar-load-foreground-0 = ${color.green}
|
|
||||||
bar-load-foreground-1 = ${color.green}
|
|
||||||
bar-load-foreground-2 = ${color.yellow}
|
|
||||||
bar-load-foreground-3 = ${color.yellow}
|
|
||||||
bar-load-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-load-empty = ${bar.empty}
|
|
||||||
bar-load-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/filesystem_bar]
|
|
||||||
type = internal/fs
|
|
||||||
|
|
||||||
; Mountpoints to display
|
|
||||||
mount-0 = /
|
|
||||||
;;mount-1 = /home
|
|
||||||
;;mount-2 = /var
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 30
|
|
||||||
interval = 30
|
|
||||||
|
|
||||||
; Display fixed precision values
|
|
||||||
; Default: false
|
|
||||||
fixed-values = false
|
|
||||||
|
|
||||||
; Spacing between entries
|
|
||||||
; Default: 2
|
|
||||||
;;spacing = 4
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-mounted> (default)
|
|
||||||
; <bar-free>
|
|
||||||
; <bar-used>
|
|
||||||
; <ramp-capacity>
|
|
||||||
format-mounted = <bar-used> <label-mounted>
|
|
||||||
format-mounted-prefix = " "
|
|
||||||
format-mounted-background = ${color.background}
|
|
||||||
format-mounted-padding = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-unmounted> (default)
|
|
||||||
format-unmounted = <label-unmounted>
|
|
||||||
format-unmounted-prefix = " "
|
|
||||||
format-unmounted-background = ${color.background}
|
|
||||||
format-unmounted-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; %type%
|
|
||||||
; %fsname%
|
|
||||||
; %percentage_free%
|
|
||||||
; %percentage_used%
|
|
||||||
; %total%
|
|
||||||
; %free%
|
|
||||||
; %used%
|
|
||||||
; Default: %mountpoint% %percentage_free%%
|
|
||||||
label-mounted = %used%/%total%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %mountpoint%
|
|
||||||
; Default: %mountpoint% is not mounted
|
|
||||||
label-unmounted = "%mountpoint%: not mounted"
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-format = ${bar.format}
|
|
||||||
bar-used-width = ${bar.width}
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.green}
|
|
||||||
bar-used-foreground-1 = ${color.green}
|
|
||||||
bar-used-foreground-2 = ${color.yellow}
|
|
||||||
bar-used-foreground-3 = ${color.yellow}
|
|
||||||
bar-used-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/memory_bar]
|
|
||||||
type = internal/memory
|
|
||||||
|
|
||||||
; Seconds to sleep between updates
|
|
||||||
; Default: 1
|
|
||||||
interval = 2
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label> (default)
|
|
||||||
; <bar-used>
|
|
||||||
; <bar-free>
|
|
||||||
; <ramp-used>
|
|
||||||
; <ramp-free>
|
|
||||||
; <bar-swap-used>
|
|
||||||
; <bar-swap-free>
|
|
||||||
; <ramp-swap-used>
|
|
||||||
; <ramp-swap-free>
|
|
||||||
format = <bar-used> <label>
|
|
||||||
format-prefix = " "
|
|
||||||
format-background = ${color.background}
|
|
||||||
format-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %percentage_used% (default)
|
|
||||||
; %percentage_free%
|
|
||||||
; %gb_used%
|
|
||||||
; %gb_free%
|
|
||||||
; %gb_total%
|
|
||||||
; %mb_used%
|
|
||||||
; %mb_free%
|
|
||||||
; %mb_total%
|
|
||||||
; %percentage_swap_used%
|
|
||||||
; %percentage_swap_free%
|
|
||||||
; %mb_swap_total%
|
|
||||||
; %mb_swap_free%
|
|
||||||
; %mb_swap_used%
|
|
||||||
; %gb_swap_total%
|
|
||||||
; %gb_swap_free%
|
|
||||||
; %gb_swap_used%
|
|
||||||
|
|
||||||
label = "%mb_used%"
|
|
||||||
|
|
||||||
; Only applies if <bar-used> is used
|
|
||||||
bar-used-format = ${bar.format}
|
|
||||||
bar-used-width = ${bar.width}
|
|
||||||
bar-used-gradient = false
|
|
||||||
|
|
||||||
bar-used-indicator = ${bar.indicator}
|
|
||||||
bar-used-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-used-fill = ${bar.fill}
|
|
||||||
bar-used-foreground-0 = ${color.green}
|
|
||||||
bar-used-foreground-1 = ${color.green}
|
|
||||||
bar-used-foreground-2 = ${color.yellow}
|
|
||||||
bar-used-foreground-3 = ${color.yellow}
|
|
||||||
bar-used-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-used-empty = ${bar.empty}
|
|
||||||
bar-used-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/mpd_bar]
|
|
||||||
type = internal/mpd
|
|
||||||
|
|
||||||
; Host where mpd is running (either ip or domain name)
|
|
||||||
; Can also be the full path to a unix socket where mpd is running.
|
|
||||||
;;host = 127.0.0.1
|
|
||||||
;;port = 6600
|
|
||||||
;;password = mysecretpassword
|
|
||||||
|
|
||||||
; Seconds to sleep between progressbar/song timer sync
|
|
||||||
; Default: 1
|
|
||||||
interval = 1
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-song> (default)
|
|
||||||
; <label-time>
|
|
||||||
; <bar-progress>
|
|
||||||
; <toggle> - gets replaced with <icon-(pause|play)>
|
|
||||||
; <toggle-stop> - gets replaced with <icon-(stop|play)>
|
|
||||||
; <icon-random>
|
|
||||||
; <icon-repeat>
|
|
||||||
; <icon-repeatone> (deprecated)
|
|
||||||
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
|
|
||||||
; <icon-consume>
|
|
||||||
; <icon-prev>
|
|
||||||
; <icon-stop>
|
|
||||||
; <icon-play>
|
|
||||||
; <icon-pause>
|
|
||||||
; <icon-next>
|
|
||||||
; <icon-seekb>
|
|
||||||
; <icon-seekf>
|
|
||||||
format-online = <label-song> <bar-progress> <label-time>
|
|
||||||
format-online-prefix =
|
|
||||||
format-online-background = ${color.background}
|
|
||||||
format-online-padding = 1
|
|
||||||
|
|
||||||
;format-playing = ${self.format-online}
|
|
||||||
;format-paused = ${self.format-online}
|
|
||||||
;format-stopped = ${self.format-online}
|
|
||||||
|
|
||||||
; Available tags:
|
|
||||||
; <label-offline>
|
|
||||||
format-offline = <label-offline>
|
|
||||||
format-offline-prefix =
|
|
||||||
format-offline-background = ${color.background}
|
|
||||||
format-offline-padding = 1
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %artist%
|
|
||||||
; %album-artist%
|
|
||||||
; %album%
|
|
||||||
; %date%
|
|
||||||
; %title%
|
|
||||||
; Default: %artist% - %title%
|
|
||||||
label-song = " %artist% - %title%"
|
|
||||||
label-song-maxlen = 25
|
|
||||||
label-song-ellipsis = true
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; %elapsed%
|
|
||||||
; %total%
|
|
||||||
; Default: %elapsed% / %total%
|
|
||||||
label-time = %elapsed% / %total%
|
|
||||||
|
|
||||||
; Available tokens:
|
|
||||||
; None
|
|
||||||
label-offline = " Offline"
|
|
||||||
|
|
||||||
; Only applies if <icon-X> is used
|
|
||||||
icon-play =
|
|
||||||
icon-pause =
|
|
||||||
icon-stop =
|
|
||||||
icon-next =
|
|
||||||
icon-prev =
|
|
||||||
icon-seekf =
|
|
||||||
icon-seekb =
|
|
||||||
icon-random =
|
|
||||||
icon-repeat =
|
|
||||||
icon-repeatone =
|
|
||||||
icon-single =
|
|
||||||
icon-consume =
|
|
||||||
|
|
||||||
; Used to display the state of random/repeat/repeatone/single
|
|
||||||
; Only applies if <icon-[random|repeat|repeatone|single]> is used
|
|
||||||
toggle-on-foreground = ${color.green}
|
|
||||||
toggle-off-foreground = ${color.red}
|
|
||||||
|
|
||||||
; Only applies if <bar-progress> is used
|
|
||||||
bar-progress-format = ${bar.format}
|
|
||||||
bar-progress-width = ${bar.width}
|
|
||||||
bar-progress-gradient = false
|
|
||||||
|
|
||||||
bar-progress-indicator = ${bar.indicator}
|
|
||||||
bar-progress-indicator-foreground = ${color.foreground}
|
|
||||||
|
|
||||||
bar-progress-fill = ${bar.fill}
|
|
||||||
bar-progress-foreground-0 = ${color.green}
|
|
||||||
bar-progress-foreground-1 = ${color.green}
|
|
||||||
bar-progress-foreground-2 = ${color.yellow}
|
|
||||||
bar-progress-foreground-3 = ${color.yellow}
|
|
||||||
bar-progress-foreground-4 = ${color.red}
|
|
||||||
|
|
||||||
bar-progress-empty = ${bar.empty}
|
|
||||||
bar-progress-empty-foreground = ${color.foreground-alt}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper.
|
|
||||||
|
|
||||||
;; main colors
|
|
||||||
background = #0a0a0a
|
|
||||||
background-alt = #8C0a0a0a
|
|
||||||
foreground = #f5f5f5
|
|
||||||
foreground-alt = #33f5f5f5
|
|
||||||
primary = #fdd835
|
|
||||||
red = #FF5250
|
|
||||||
green = #43a047
|
|
||||||
yellow = #fdd835
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,312 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/cuts/bars.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/colors.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/modules.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = false
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 100%
|
|
||||||
height = 28
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0%
|
|
||||||
offset-y = 0%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.background-alt}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
line-size = 2
|
|
||||||
line-color = ${color.primary}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-size = 0
|
|
||||||
border-color = ${color.primary}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
; Text Fonts
|
|
||||||
font-0 = Iosevka Nerd Font:style=Medium:size=10;4
|
|
||||||
; Icons Fonts
|
|
||||||
font-1 = feather:style=Medium:size=12;3
|
|
||||||
; Powerline Glyphs
|
|
||||||
font-2 = Iosevka Nerd Font:style=Medium:size=19;3
|
|
||||||
; Larger font size for bar fill icons
|
|
||||||
font-3 = Iosevka Nerd Font:style=Medium:size=12;4
|
|
||||||
; Smaller font size for shorter spaces
|
|
||||||
font-4 = Iosevka Nerd Font:style=Medium:size=7;4
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar/top]
|
|
||||||
inherit = bar/main
|
|
||||||
modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1
|
|
||||||
modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/bottom]
|
|
||||||
inherit = bar/main
|
|
||||||
bottom = true
|
|
||||||
modules-left = mpd decor3 decor4 cpu memory filesystem decor3
|
|
||||||
modules-right = decor2 network decor1 decor2 volume brightness
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background-alt}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
;enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Add this script to your wm startup file.
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/cuts"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the bar
|
|
||||||
polybar -q top -c "$DIR"/config.ini &
|
|
||||||
polybar -q bottom -c "$DIR"/config.ini &
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,323 +0,0 @@
|
|||||||
;; ┌────────────────────────────────────────────────────────────────────┐
|
|
||||||
;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│
|
|
||||||
;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│
|
|
||||||
;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│
|
|
||||||
;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
|
|
||||||
;; └────────────────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 0
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/polybar/cuts/bars.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/colors.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/modules.ini
|
|
||||||
include-file = ~/.config/polybar/cuts/user_modules.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = false
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 100%
|
|
||||||
height = 28
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0%
|
|
||||||
offset-y = 0%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.background-alt}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.foreground}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
line-size = 2
|
|
||||||
line-color = ${color.primary}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-size = 0
|
|
||||||
border-color = ${color.primary}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = NotoSans-Regular:size=8;2
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
; Text Fonts
|
|
||||||
font-0 = Iosevka Nerd Font:style=Medium:size=10;4
|
|
||||||
; Icons Fonts
|
|
||||||
font-1 = feather:style=Medium:size=12;3
|
|
||||||
; Powerline Glyphs
|
|
||||||
font-2 = Iosevka Nerd Font:style=Medium:size=19;3
|
|
||||||
; Larger font size for bar fill icons
|
|
||||||
font-3 = Iosevka Nerd Font:style=Medium:size=12;4
|
|
||||||
; Smaller font size for shorter spaces
|
|
||||||
font-4 = Iosevka Nerd Font:style=Medium:size=7;4
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbacklight
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[bar/top]
|
|
||||||
inherit = bar/main
|
|
||||||
bottom = true
|
|
||||||
offset-y = 71
|
|
||||||
modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1
|
|
||||||
modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/mid]
|
|
||||||
inherit = bar/main
|
|
||||||
bottom = true
|
|
||||||
offset-y = 38
|
|
||||||
modules-left = menu decor1 decor2 mpd_bar decor1 decor2 term files browser settings decor1 decor2 cpu_bar decor1
|
|
||||||
modules-right = decor4 memory_bar decor3 decor4 alsa backlight decor3 decor4 filesystem_bar decor3 decor4 battery_bar pulseaudio decor3 decor4 powermenu
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
[bar/bottom]
|
|
||||||
inherit = bar/main
|
|
||||||
bottom = true
|
|
||||||
offset-y = 5
|
|
||||||
modules-left = mpd decor3 decor4 cpu memory filesystem decor3
|
|
||||||
modules-right = decor2 network decor1 decor2 volume brightness
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = none
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.background-alt}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
;;wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
;enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
DIR="$HOME/.config/polybar/cuts"
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch the preview bar
|
|
||||||
polybar -q top -c "$DIR"/preview.ini &
|
|
||||||
polybar -q mid -c "$DIR"/preview.ini &
|
|
||||||
polybar -q bottom -c "$DIR"/preview.ini &
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
#
|
|
||||||
# checkupdates: Safely print a list of pending updates.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
declare -r myname='checkupdates'
|
|
||||||
declare -r myver='1.0.0'
|
|
||||||
|
|
||||||
plain() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
msg2() {
|
|
||||||
(( QUIET )) && return
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
ask() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1
|
|
||||||
}
|
|
||||||
|
|
||||||
warning() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
local mesg=$1; shift
|
|
||||||
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
# check if messages are to be printed using color
|
|
||||||
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
|
|
||||||
# prefer terminal safe colored and bold text when tput is supported
|
|
||||||
if tput setaf 0 &>/dev/null; then
|
|
||||||
ALL_OFF="$(tput sgr0)"
|
|
||||||
BOLD="$(tput bold)"
|
|
||||||
BLUE="${BOLD}$(tput setaf 4)"
|
|
||||||
GREEN="${BOLD}$(tput setaf 2)"
|
|
||||||
RED="${BOLD}$(tput setaf 1)"
|
|
||||||
YELLOW="${BOLD}$(tput setaf 3)"
|
|
||||||
else
|
|
||||||
ALL_OFF="\e[1;0m"
|
|
||||||
BOLD="\e[1;1m"
|
|
||||||
BLUE="${BOLD}\e[1;34m"
|
|
||||||
GREEN="${BOLD}\e[1;32m"
|
|
||||||
RED="${BOLD}\e[1;31m"
|
|
||||||
YELLOW="${BOLD}\e[1;33m"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
|
|
||||||
|
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
echo "${myname} v${myver}"
|
|
||||||
echo
|
|
||||||
echo "Safely print a list of pending updates"
|
|
||||||
echo
|
|
||||||
echo "Usage: ${myname}"
|
|
||||||
echo
|
|
||||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.'
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! type -P fakeroot >/dev/null; then
|
|
||||||
error 'Cannot find the fakeroot binary.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $CHECKUPDATES_DB ]]; then
|
|
||||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
|
|
||||||
|
|
||||||
DBPath="$(pacman-conf DBPath)"
|
|
||||||
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then
|
|
||||||
DBPath="/var/lib/pacman/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$CHECKUPDATES_DB"
|
|
||||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
|
|
||||||
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
|
|
||||||
error 'Cannot fetch updates'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]'
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# vim: set noet:
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
SDIR="$HOME/.config/polybar/cuts/scripts"
|
|
||||||
|
|
||||||
# Launch Rofi
|
|
||||||
MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \
|
|
||||||
-theme $SDIR/rofi/styles.rasi \
|
|
||||||
<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\
|
|
||||||
deep-purple| green| gray| indigo| blue-light| green-light|\
|
|
||||||
lime| orange| pink| purple| red| teal| yellow| amber-dark|\
|
|
||||||
blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\
|
|
||||||
deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\
|
|
||||||
green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")"
|
|
||||||
case "$MENU" in
|
|
||||||
## Light Colors
|
|
||||||
*amber) "$SDIR"/colors-light.sh --amber ;;
|
|
||||||
*blue) "$SDIR"/colors-light.sh --blue ;;
|
|
||||||
*blue-gray) "$SDIR"/colors-light.sh --blue-gray ;;
|
|
||||||
*brown) "$SDIR"/colors-light.sh --brown ;;
|
|
||||||
*cyan) "$SDIR"/colors-light.sh --cyan ;;
|
|
||||||
*deep-orange) "$SDIR"/colors-light.sh --deep-orange ;;
|
|
||||||
*deep-purple) "$SDIR"/colors-light.sh --deep-purple ;;
|
|
||||||
*green) "$SDIR"/colors-light.sh --green ;;
|
|
||||||
*gray) "$SDIR"/colors-light.sh --gray ;;
|
|
||||||
*indigo) "$SDIR"/colors-light.sh --indigo ;;
|
|
||||||
*blue-light) "$SDIR"/colors-light.sh --light-blue ;;
|
|
||||||
*green-light) "$SDIR"/colors-light.sh --light-green ;;
|
|
||||||
*lime) "$SDIR"/colors-light.sh --lime ;;
|
|
||||||
*orange) "$SDIR"/colors-light.sh --orange ;;
|
|
||||||
*pink) "$SDIR"/colors-light.sh --pink ;;
|
|
||||||
*purple) "$SDIR"/colors-light.sh --purple ;;
|
|
||||||
*red) "$SDIR"/colors-light.sh --red ;;
|
|
||||||
*teal) "$SDIR"/colors-light.sh --teal ;;
|
|
||||||
*yellow) "$SDIR"/colors-light.sh --yellow ;;
|
|
||||||
## Dark Colors
|
|
||||||
*amber-dark) "$SDIR"/colors-dark.sh --amber ;;
|
|
||||||
*blue-dark) "$SDIR"/colors-dark.sh --blue ;;
|
|
||||||
*blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;;
|
|
||||||
*brown-dark) "$SDIR"/colors-dark.sh --brown ;;
|
|
||||||
*cyan-dark) "$SDIR"/colors-dark.sh --cyan ;;
|
|
||||||
*deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;;
|
|
||||||
*deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;;
|
|
||||||
*green-dark) "$SDIR"/colors-dark.sh --green ;;
|
|
||||||
*gray-dark) "$SDIR"/colors-dark.sh --gray ;;
|
|
||||||
*indigo-dark) "$SDIR"/colors-dark.sh --indigo ;;
|
|
||||||
*blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;;
|
|
||||||
*green-light-dark) "$SDIR"/colors-dark.sh --light-green ;;
|
|
||||||
*lime-dark) "$SDIR"/colors-dark.sh --lime ;;
|
|
||||||
*orange-dark) "$SDIR"/colors-dark.sh --orange ;;
|
|
||||||
*pink-dark) "$SDIR"/colors-dark.sh --pink ;;
|
|
||||||
*purple-dark) "$SDIR"/colors-dark.sh --purple ;;
|
|
||||||
*red-dark) "$SDIR"/colors-dark.sh --red ;;
|
|
||||||
*teal-dark) "$SDIR"/colors-dark.sh --teal ;;
|
|
||||||
*yellow-dark) "$SDIR"/colors-dark.sh --yellow
|
|
||||||
esac
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/cuts/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
BG="0a0a0a"
|
|
||||||
FG="f5f5f5"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #${BG}BF;
|
|
||||||
bga: #${BG}FF;
|
|
||||||
fg: #${FG}FF;
|
|
||||||
ac: ${AC}FF;
|
|
||||||
se: ${AC}1A;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $1 = "--amber" ]]; then
|
|
||||||
AC="#ffb300"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue" ]]; then
|
|
||||||
AC="#1e88e5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue-gray" ]]; then
|
|
||||||
AC="#546e7a"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--brown" ]]; then
|
|
||||||
AC="#6d4c41"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--cyan" ]]; then
|
|
||||||
AC="#00acc1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-orange" ]]; then
|
|
||||||
AC="#f4511e"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-purple" ]]; then
|
|
||||||
AC="#5e35b1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--green" ]]; then
|
|
||||||
AC="#43a047"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--gray" ]]; then
|
|
||||||
AC="#757575"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--indigo" ]]; then
|
|
||||||
AC="#3949ab"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-blue" ]]; then
|
|
||||||
AC="#039be5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-green" ]]; then
|
|
||||||
AC="#7cb342"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--lime" ]]; then
|
|
||||||
AC="#c0ca33"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--orange" ]]; then
|
|
||||||
AC="#fb8c00"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--pink" ]]; then
|
|
||||||
AC="#d81b60"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--purple" ]]; then
|
|
||||||
AC="#8e24aa"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--red" ]]; then
|
|
||||||
AC="#e53935"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--teal" ]]; then
|
|
||||||
AC="#00897b"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--yellow" ]]; then
|
|
||||||
AC="#fdd835"
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
cat <<- _EOF_
|
|
||||||
No option specified, Available options:
|
|
||||||
--amber --blue --blue-gray --brown
|
|
||||||
--cyan --deep-orange --deep-purple --green
|
|
||||||
--gray --indigo --light-blue --light-green
|
|
||||||
--lime --orange --pink --purple
|
|
||||||
--red --teal --yellow
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/cuts/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi"
|
|
||||||
|
|
||||||
BG="FFFFFF"
|
|
||||||
FG="0A0A0A"
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #${BG}BF;
|
|
||||||
bga: #${BG}FF;
|
|
||||||
fg: #${FG}FF;
|
|
||||||
ac: ${AC}FF;
|
|
||||||
se: ${AC}1A;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $1 = "--amber" ]]; then
|
|
||||||
AC="#ffb300"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue" ]]; then
|
|
||||||
AC="#1e88e5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--blue-gray" ]]; then
|
|
||||||
AC="#546e7a"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--brown" ]]; then
|
|
||||||
AC="#6d4c41"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--cyan" ]]; then
|
|
||||||
AC="#00acc1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-orange" ]]; then
|
|
||||||
AC="#f4511e"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--deep-purple" ]]; then
|
|
||||||
AC="#5e35b1"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--green" ]]; then
|
|
||||||
AC="#43a047"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--gray" ]]; then
|
|
||||||
AC="#757575"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--indigo" ]]; then
|
|
||||||
AC="#3949ab"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-blue" ]]; then
|
|
||||||
AC="#039be5"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--light-green" ]]; then
|
|
||||||
AC="#7cb342"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--lime" ]]; then
|
|
||||||
AC="#c0ca33"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--orange" ]]; then
|
|
||||||
AC="#fb8c00"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--pink" ]]; then
|
|
||||||
AC="#d81b60"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--purple" ]]; then
|
|
||||||
AC="#8e24aa"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--red" ]]; then
|
|
||||||
AC="#e53935"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--teal" ]]; then
|
|
||||||
AC="#00897b"
|
|
||||||
change_color
|
|
||||||
elif [[ $1 = "--yellow" ]]; then
|
|
||||||
AC="#fdd835"
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
cat <<- _EOF_
|
|
||||||
No option specified, Available options:
|
|
||||||
--amber --blue --blue-gray --brown
|
|
||||||
--cyan --deep-orange --deep-purple --green
|
|
||||||
--gray --indigo --light-blue --light-green
|
|
||||||
--lime --orange --pink --purple
|
|
||||||
--red --teal --yellow
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/cuts/scripts/rofi/launcher.rasi
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya
|
|
||||||
## Mail : adi1090x@gmail.com
|
|
||||||
## Github : @adi1090x
|
|
||||||
## Twitter : @adi1090x
|
|
||||||
|
|
||||||
dir="~/.config/polybar/cuts/scripts/rofi"
|
|
||||||
uptime=$(uptime -p | sed -e 's/up //g')
|
|
||||||
|
|
||||||
rofi_command="rofi -no-config -theme $dir/powermenu.rasi"
|
|
||||||
|
|
||||||
# Options
|
|
||||||
shutdown=" Shutdown"
|
|
||||||
reboot=" Restart"
|
|
||||||
lock=" Lock"
|
|
||||||
suspend=" Sleep"
|
|
||||||
logout=" Logout"
|
|
||||||
|
|
||||||
# Confirmation
|
|
||||||
confirm_exit() {
|
|
||||||
rofi -dmenu\
|
|
||||||
-no-config\
|
|
||||||
-i\
|
|
||||||
-no-fixed-num-lines\
|
|
||||||
-p "Are You Sure? : "\
|
|
||||||
-theme $dir/confirm.rasi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Message
|
|
||||||
msg() {
|
|
||||||
rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Variable passed to rofi
|
|
||||||
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown"
|
|
||||||
|
|
||||||
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)"
|
|
||||||
case $chosen in
|
|
||||||
$shutdown)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl poweroff
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$reboot)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
systemctl reboot
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$lock)
|
|
||||||
if [[ -f /usr/bin/i3lock ]]; then
|
|
||||||
i3lock
|
|
||||||
elif [[ -f /usr/bin/betterlockscreen ]]; then
|
|
||||||
betterlockscreen -l
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$suspend)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
mpc -q pause
|
|
||||||
amixer set Master mute
|
|
||||||
systemctl suspend
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
$logout)
|
|
||||||
ans=$(confirm_exit &)
|
|
||||||
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
|
||||||
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
|
|
||||||
openbox --exit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
|
|
||||||
bspc quit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
|
|
||||||
i3-msg exit
|
|
||||||
fi
|
|
||||||
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Color files
|
|
||||||
PFILE="$HOME/.config/polybar/cuts/colors.ini"
|
|
||||||
RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi"
|
|
||||||
WFILE="$HOME/.cache/wal/colors.sh"
|
|
||||||
|
|
||||||
# Get colors
|
|
||||||
pywal_get() {
|
|
||||||
wal -i "$1" -q -t
|
|
||||||
}
|
|
||||||
|
|
||||||
# Change colors
|
|
||||||
change_color() {
|
|
||||||
# polybar
|
|
||||||
sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE
|
|
||||||
sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE
|
|
||||||
|
|
||||||
# rofi
|
|
||||||
cat > $RFILE <<- EOF
|
|
||||||
/* colors */
|
|
||||||
|
|
||||||
* {
|
|
||||||
al: #00000000;
|
|
||||||
bg: #${BG}BF;
|
|
||||||
bga: #${BG}FF;
|
|
||||||
fg: #${FG}FF;
|
|
||||||
ac: ${AC}FF;
|
|
||||||
se: ${AC}1A;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
polybar-msg cmd restart
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main
|
|
||||||
if [[ -x "`which wal`" ]]; then
|
|
||||||
if [[ "$1" ]]; then
|
|
||||||
pywal_get "$1"
|
|
||||||
|
|
||||||
# Source the pywal color file
|
|
||||||
if [[ -e "$WFILE" ]]; then
|
|
||||||
. "$WFILE"
|
|
||||||
else
|
|
||||||
echo 'Color file does not exist, exiting...'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
BGC=`printf "%s\n" "$background"`
|
|
||||||
BG=${BGC:1}
|
|
||||||
FGC=`printf "%s\n" "$foreground"`
|
|
||||||
FG=${FGC:1}
|
|
||||||
AC=`printf "%s\n" "$color1"`
|
|
||||||
|
|
||||||
change_color
|
|
||||||
else
|
|
||||||
echo -e "[!] Please enter the path to wallpaper. \n"
|
|
||||||
echo "Usage : ./pywal.sh path/to/image"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "[!] 'pywal' is not installed."
|
|
||||||
fi
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user