Compare commits
8 commits
d6cb5c683f
...
46135086c2
Author | SHA1 | Date | |
---|---|---|---|
46135086c2 | |||
d95e4e5cca | |||
9f1d786097 | |||
10d8bb36c5 | |||
0078672993 | |||
40a81c1040 | |||
c042e9ea1f | |||
51c960f95a |
12 changed files with 591 additions and 431 deletions
42
fastfetch/dot-config/fastfetch/config.jsonc
Normal file
42
fastfetch/dot-config/fastfetch/config.jsonc
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/fastfetch-cli/fastfetch/refs/heads/dev/doc/json_schema.json",
|
||||||
|
"display": {
|
||||||
|
"brightColor": true,
|
||||||
|
"color": "magenta"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
// Weird stuff happens when using an image for logo source, this fixes it
|
||||||
|
"preRun": "echo"
|
||||||
|
},
|
||||||
|
"logo": {
|
||||||
|
"source": "~/.config/fastfetch/nonbinary_cat.png",
|
||||||
|
"width": 20
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"title",
|
||||||
|
"separator",
|
||||||
|
"os",
|
||||||
|
"kernel",
|
||||||
|
"uptime",
|
||||||
|
"packages",
|
||||||
|
"shell",
|
||||||
|
"display",
|
||||||
|
"de",
|
||||||
|
"wm",
|
||||||
|
"wmtheme",
|
||||||
|
"theme",
|
||||||
|
"icons",
|
||||||
|
"font",
|
||||||
|
"cursor",
|
||||||
|
"terminal",
|
||||||
|
"terminalfont",
|
||||||
|
"cpu",
|
||||||
|
"gpu",
|
||||||
|
"memory",
|
||||||
|
"disk",
|
||||||
|
"battery",
|
||||||
|
"poweradapter",
|
||||||
|
"break",
|
||||||
|
"colors"
|
||||||
|
]
|
||||||
|
}
|
BIN
fastfetch/dot-config/fastfetch/nonbinary_cat.png
Normal file
BIN
fastfetch/dot-config/fastfetch/nonbinary_cat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -4,10 +4,10 @@ auto-format = true
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "xml"
|
name = "xml"
|
||||||
file-types = [ "xml", "svg", "xsd", "xslt", "xsl", "ui" ]
|
file-types = ["xml", "svg", "xsd", "xslt", "xsl", "ui"]
|
||||||
auto-format = true
|
auto-format = true
|
||||||
formatter = { command = "xmllint", args = ["--format", "-"] }
|
formatter = { command = "xmllint", args = ["--format", "-"] }
|
||||||
language-servers = [ "xml" ]
|
language-servers = ["xml"]
|
||||||
|
|
||||||
[language-server.xml]
|
[language-server.xml]
|
||||||
command = "lemminx"
|
command = "lemminx"
|
||||||
|
|
14
justfile
14
justfile
|
@ -8,8 +8,10 @@ _echoerror text:
|
||||||
_echowarning text:
|
_echowarning text:
|
||||||
@echo -e "{{ style("warning") }}{{ text }}{{ NORMAL }}"
|
@echo -e "{{ style("warning") }}{{ text }}{{ NORMAL }}"
|
||||||
|
|
||||||
full-auto: packages dev-setup fish-shell helix-editor yazi-file-manager
|
# Full auto installation
|
||||||
|
full-auto: packages dev-setup fish-shell helix-editor yazi-file-manager fastfetch
|
||||||
|
|
||||||
|
# Fuller auto (graphical) installation
|
||||||
full-auto-gui: full-auto kitty-terminal niri-window-manager
|
full-auto-gui: full-auto kitty-terminal niri-window-manager
|
||||||
|
|
||||||
# (Run first unless running full-auto) Setup Flatpak, pacman mirrors, Chaotic AUR, and paru AUR helper
|
# (Run first unless running full-auto) Setup Flatpak, pacman mirrors, Chaotic AUR, and paru AUR helper
|
||||||
|
@ -51,6 +53,14 @@ dev-setup:
|
||||||
@just _echowarning "\n3) Setting git global config"
|
@just _echowarning "\n3) Setting git global config"
|
||||||
git config --global init.defaultBranch "main"
|
git config --global init.defaultBranch "main"
|
||||||
|
|
||||||
|
[group("other")]
|
||||||
|
fastfetch:
|
||||||
|
@just _echowarning "1) Installing fastfetch and dependencies"
|
||||||
|
paru -S fastfetch imagemagick
|
||||||
|
|
||||||
|
@just _echowarning "\n2) Stowing fastfetch config"
|
||||||
|
stow --dotfiles -S fastfetch
|
||||||
|
|
||||||
# fish shell and plugins
|
# fish shell and plugins
|
||||||
[group("essentials")]
|
[group("essentials")]
|
||||||
fish-shell:
|
fish-shell:
|
||||||
|
@ -86,7 +96,7 @@ kitty-terminal:
|
||||||
[group("graphical")]
|
[group("graphical")]
|
||||||
niri-window-manager:
|
niri-window-manager:
|
||||||
@just _echowarning "1) Installing niri and related tools"
|
@just _echowarning "1) Installing niri and related tools"
|
||||||
paru -S cliphist fuzzel gdm gnome-keyring niri-git noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra polkit-kde-agent swayidle swaylock swaync ttf-firacode-nerd ttf-font-awesome waybar wl-clipboard wlsunset wpaperd xdg-desktop-portal-gnome xwayland-satellite-git
|
paru -S cliphist fuzzel gdm gnome-keyring inter-font mako niri-git noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra polkit-kde-agent swayidle swaylock ttf-firacode-nerd ttf-font-awesome waybar wl-clipboard wlsunset wpaperd xdg-desktop-portal-gnome xwayland-satellite-git
|
||||||
|
|
||||||
@just _echowarning "\n2) Stowing niri config"
|
@just _echowarning "\n2) Stowing niri config"
|
||||||
stow --dotfiles -S niri
|
stow --dotfiles -S niri
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# Theme
|
# Theme
|
||||||
include Tokyo Night.conf
|
include Tokyo Night.conf
|
||||||
|
background_opacity 0.9
|
||||||
|
|
||||||
# Fonts
|
# Fonts
|
||||||
font_family FiraCode Nerd Font
|
font_family FiraCode Nerd Font
|
||||||
|
|
14
niri/dot-config/mako/config
Normal file
14
niri/dot-config/mako/config
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
include=~/.config/mako/tokyo_night
|
||||||
|
|
||||||
|
# Binding
|
||||||
|
on-button-right=dismiss-group
|
||||||
|
|
||||||
|
# Style
|
||||||
|
font=Inter 14
|
||||||
|
width=400
|
||||||
|
margin=5
|
||||||
|
padding=4
|
||||||
|
border-size=1
|
||||||
|
border-radius=5
|
||||||
|
default-timeout=30000
|
||||||
|
group-by=app-name,summary
|
3
niri/dot-config/mako/tokyo_night
Normal file
3
niri/dot-config/mako/tokyo_night
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
background-color=#1a1b26e5
|
||||||
|
text-color=#c0caf5
|
||||||
|
border-color=#bb9af7
|
|
@ -1,7 +1,6 @@
|
||||||
debug {
|
debug {
|
||||||
disable-cursor-plane
|
disable-cursor-plane
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
touchpad {
|
touchpad {
|
||||||
tap
|
tap
|
||||||
|
@ -12,58 +11,40 @@ input {
|
||||||
scroll-method "two-finger"
|
scroll-method "two-finger"
|
||||||
disabled-on-external-mouse
|
disabled-on-external-mouse
|
||||||
}
|
}
|
||||||
|
|
||||||
mouse {
|
mouse {
|
||||||
accel-profile "flat"
|
accel-profile "flat"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can configure outputs by their name, which you can find
|
// You can configure outputs by their name, which you can find
|
||||||
// by running `niri msg outputs` while inside a niri instance.
|
// by running `niri msg outputs` while inside a niri instance.
|
||||||
|
|
||||||
output "eDP-1" {
|
output "eDP-1" {
|
||||||
scale 1.5
|
scale 1.5
|
||||||
transform "normal"
|
transform "normal"
|
||||||
// position x=1280 y=0
|
// position x=1280 y=0
|
||||||
}
|
}
|
||||||
|
|
||||||
output "LG Electronics LG ULTRAGEAR 404NTCZ0R931" {
|
output "LG Electronics LG ULTRAGEAR 404NTCZ0R931" {
|
||||||
scale 1.5
|
scale 1.5
|
||||||
variable-refresh-rate on-demand=true
|
variable-refresh-rate on-demand=true
|
||||||
}
|
}
|
||||||
|
|
||||||
layout {
|
layout {
|
||||||
gaps 10
|
gaps 4
|
||||||
|
|
||||||
center-focused-column "on-overflow"
|
|
||||||
always-center-single-column
|
always-center-single-column
|
||||||
|
|
||||||
preset-column-widths {
|
preset-column-widths {
|
||||||
proportion 0.33333
|
proportion 0.33333
|
||||||
proportion 0.5
|
proportion 0.5
|
||||||
proportion 0.66667
|
proportion 0.66667
|
||||||
}
|
}
|
||||||
|
default-column-width {
|
||||||
default-column-width { proportion 0.5; }
|
proportion 0.5
|
||||||
|
}
|
||||||
focus-ring {
|
focus-ring {
|
||||||
off
|
off
|
||||||
}
|
}
|
||||||
|
|
||||||
border {
|
border {
|
||||||
width 2
|
width 2
|
||||||
active-color "#bb9af7"
|
active-color "#bb9af7"
|
||||||
inactive-color "#414868"
|
inactive-color "#414868"
|
||||||
}
|
}
|
||||||
|
|
||||||
shadow {
|
|
||||||
on
|
|
||||||
softness 30
|
|
||||||
spread 5
|
|
||||||
offset x=0 y=5
|
|
||||||
color "#0007"
|
|
||||||
}
|
|
||||||
|
|
||||||
tab-indicator {
|
tab-indicator {
|
||||||
place-within-column
|
place-within-column
|
||||||
gap 4
|
gap 4
|
||||||
|
@ -71,177 +52,147 @@ layout {
|
||||||
gaps-between-tabs 4
|
gaps-between-tabs 4
|
||||||
corner-radius 5
|
corner-radius 5
|
||||||
}
|
}
|
||||||
|
|
||||||
background-color "transparent"
|
background-color "transparent"
|
||||||
}
|
}
|
||||||
|
|
||||||
hotkey-overlay {
|
hotkey-overlay {
|
||||||
skip-at-startup
|
skip-at-startup
|
||||||
}
|
}
|
||||||
|
|
||||||
overview {
|
overview {
|
||||||
workspace-shadow {
|
workspace-shadow {
|
||||||
off
|
off
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"
|
spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"
|
||||||
spawn-at-startup "swayidle" "-w"
|
spawn-at-startup "swayidle" "-w"
|
||||||
spawn-at-startup "wlsunset" "-l" "-27.4" "-L" "153"
|
spawn-at-startup "wlsunset" "-l" "-27.4" "-L" "153"
|
||||||
spawn-at-startup "wpaperd" "-d"
|
spawn-at-startup "wpaperd" "-d"
|
||||||
spawn-at-startup "swaync"
|
|
||||||
spawn-at-startup "waybar"
|
spawn-at-startup "waybar"
|
||||||
spawn-at-startup "udiskie"
|
spawn-at-startup "udiskie"
|
||||||
spawn-at-startup "wl-paste" "--watch" "cliphist" "store"
|
spawn-at-startup "wl-paste" "--watch" "cliphist" "store"
|
||||||
spawn-at-startup "cliphist" "wipe"
|
spawn-at-startup "cliphist" "wipe"
|
||||||
spawn-at-startup "flatpak" "run" "it.mijorus.smile" "--start-hidden"
|
spawn-at-startup "flatpak" "run" "it.mijorus.smile" "--start-hidden"
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
CLIPHIST_MAX_ITEMS "20"
|
CLIPHIST_MAX_ITEMS "20"
|
||||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||||
PROTON_ENABLE_WAYLAND "1"
|
PROTON_ENABLE_WAYLAND "1"
|
||||||
TERMINAL "kitty"
|
TERMINAL "kitty"
|
||||||
}
|
}
|
||||||
|
|
||||||
cursor {
|
cursor {
|
||||||
xcursor-theme "Adwaita"
|
xcursor-theme "Adwaita"
|
||||||
xcursor-size 24
|
xcursor-size 24
|
||||||
}
|
}
|
||||||
|
|
||||||
workspace "web"
|
workspace "web"
|
||||||
workspace "chat"
|
workspace "chat"
|
||||||
workspace "dev"
|
workspace "dev"
|
||||||
workspace "games"
|
workspace "games"
|
||||||
|
|
||||||
prefer-no-csd
|
prefer-no-csd
|
||||||
|
|
||||||
// You can change the path where screenshots are saved.
|
// You can change the path where screenshots are saved.
|
||||||
// A ~ at the front will be expanded to the home directory.
|
// A ~ at the front will be expanded to the home directory.
|
||||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||||
|
|
||||||
// Window rules let you adjust behavior for individual windows.
|
// Window rules let you adjust behavior for individual windows.
|
||||||
// Find more information on the wiki:
|
// Find more information on the wiki:
|
||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
||||||
|
|
||||||
// Make windows open floating
|
// Make windows open floating
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^it\.mijorus\.smile$"#
|
match app-id="^it\\.mijorus\\.smile$"
|
||||||
|
match app-id="^ssh-askpass-sublime$"
|
||||||
open-floating true
|
open-floating true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open the Firefox picture-in-picture player as floating by default.
|
// Open the Firefox picture-in-picture player as floating by default.
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"firefox"# title="^Picture-in-Picture$"
|
match app-id="firefox" title="^Picture-in-Picture$"
|
||||||
|
|
||||||
open-floating true
|
open-floating true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Block out windows from screen capture
|
// Block out windows from screen capture
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"discord"#
|
match app-id="discord"
|
||||||
|
|
||||||
block-out-from "screencast"
|
block-out-from "screencast"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display Steam notifications in corner of the screen
|
// Display Steam notifications in corner of the screen
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
|
match app-id="steam" title="^notificationtoasts_\\d+_desktop$"
|
||||||
|
|
||||||
default-floating-position x=0 y=0 relative-to="bottom-right"
|
default-floating-position x=0 y=0 relative-to="bottom-right"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open windows in web workspace
|
// Open windows in web workspace
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"firefox$"# at-startup=true
|
match app-id="firefox$" at-startup=true
|
||||||
match app-id=r#"thunderbird$"#
|
match app-id="thunderbird$"
|
||||||
|
|
||||||
open-on-workspace "web"
|
open-on-workspace "web"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open windows in chat workspace
|
// Open windows in chat workspace
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="discord"
|
match app-id="discord"
|
||||||
|
|
||||||
open-on-workspace "chat"
|
open-on-workspace "chat"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open windows in games workspace
|
// Open windows in games workspace
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="gamescope"
|
match app-id="gamescope"
|
||||||
match app-id=r#"PrismLauncher$"#
|
match app-id="PrismLauncher$"
|
||||||
match app-id="steam"
|
match app-id="steam"
|
||||||
|
|
||||||
open-on-workspace "games"
|
open-on-workspace "games"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dont auto focus
|
// Dont auto focus
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="steam"
|
match app-id="steam"
|
||||||
|
|
||||||
open-focused false
|
open-focused false
|
||||||
}
|
}
|
||||||
|
|
||||||
// Maximize at startup
|
// Maximize at startup
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"firefox$"# at-startup=true
|
match app-id="firefox$" at-startup=true
|
||||||
match app-id="discord" at-startup=true
|
match app-id="discord" at-startup=true
|
||||||
match app-id="steam" at-startup=true
|
match app-id="steam" at-startup=true
|
||||||
|
|
||||||
open-maximized true
|
open-maximized true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enable rounded corners for all windows.
|
// Enable rounded corners for all windows.
|
||||||
window-rule {
|
window-rule {
|
||||||
geometry-corner-radius 5
|
geometry-corner-radius 5
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Indicate screencasted windows with red colors.
|
// Indicate screencasted windows with red colors.
|
||||||
window-rule {
|
window-rule {
|
||||||
match is-window-cast-target=true
|
match is-window-cast-target=true
|
||||||
|
|
||||||
border {
|
border {
|
||||||
active-color "#ff0000"
|
active-color "#ff0000"
|
||||||
inactive-color "#aa0000"
|
inactive-color "#aa0000"
|
||||||
}
|
}
|
||||||
|
|
||||||
shadow {
|
shadow {
|
||||||
color "#aa0000"
|
color "#aa0000"
|
||||||
}
|
}
|
||||||
|
|
||||||
tab-indicator {
|
tab-indicator {
|
||||||
active-color "#ff0000"
|
active-color "#ff0000"
|
||||||
inactive-color "#aa0000"
|
inactive-color "#aa0000"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
// Enable shadows on launcher and notifications
|
match is-active=false
|
||||||
layer-rule {
|
opacity 0.9
|
||||||
match namespace="^launcher$"
|
draw-border-with-background false
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match is-floating=true
|
||||||
|
shadow {
|
||||||
|
on
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Enable shadows on launcher and notifications
|
||||||
|
layer-rule {
|
||||||
|
match namespace="^launcher$"
|
||||||
shadow {
|
shadow {
|
||||||
on
|
on
|
||||||
}
|
}
|
||||||
|
|
||||||
geometry-corner-radius 5
|
geometry-corner-radius 5
|
||||||
}
|
}
|
||||||
|
|
||||||
layer-rule {
|
layer-rule {
|
||||||
match namespace=r#"^wpaperd-"#
|
match namespace="^wpaperd-"
|
||||||
|
|
||||||
place-within-backdrop true
|
place-within-backdrop true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Block out mako notifications from screencasts.
|
// Block out mako notifications from screencasts.
|
||||||
layer-rule {
|
layer-rule {
|
||||||
match namespace="swaync-notification-window"
|
match namespace="^notifications$"
|
||||||
|
|
||||||
block-out-from "screencast"
|
block-out-from "screencast"
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
binds {
|
||||||
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||||
// in the end. To find an XKB name for a particular key, you may use a program
|
// in the end. To find an XKB name for a particular key, you may use a program
|
||||||
|
@ -249,85 +200,168 @@ binds {
|
||||||
//
|
//
|
||||||
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||||
// when running as a winit window.
|
// when running as a winit window.
|
||||||
|
|
||||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||||
// shows a list of important hotkeys.
|
// shows a list of important hotkeys.
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
Mod+Shift+Slash {
|
||||||
|
show-hotkey-overlay
|
||||||
|
}
|
||||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||||
Mod+Return { spawn "kitty"; }
|
Mod+Return {
|
||||||
Mod+D { spawn "fuzzel"; }
|
spawn "kitty"
|
||||||
Mod+V hotkey-overlay-title="Manage clipboard" { spawn "sh" "-c" "cliphist list | fuzzel --dmenu --placeholder clipboard --with-nth 2 | cliphist decode | wl-copy"; }
|
}
|
||||||
Super+Alt+L { spawn "swaylock"; }
|
Mod+D {
|
||||||
Mod+E { spawn "kitty" "-e" "yazi"; }
|
spawn "fuzzel"
|
||||||
Mod+Shift+E { spawn "nautilus"; }
|
}
|
||||||
Mod+Shift+D { spawn "emacsclient" "--alternate-editor=" "--create-frame"; }
|
Mod+V hotkey-overlay-title="Manage clipboard" {
|
||||||
Mod+Period { spawn "flatpak" "run" "it.mijorus.smile"; }
|
spawn "sh" "-c" "cliphist list | fuzzel --dmenu --placeholder clipboard --with-nth 2 | cliphist decode | wl-copy"
|
||||||
Control+Shift+Escape { spawn "kitty" "-e" "btop"; }
|
}
|
||||||
|
Super+Alt+L {
|
||||||
|
spawn "swaylock"
|
||||||
|
}
|
||||||
|
Mod+E {
|
||||||
|
spawn "kitty" "-e" "yazi"
|
||||||
|
}
|
||||||
|
Mod+Shift+E {
|
||||||
|
spawn "nautilus"
|
||||||
|
}
|
||||||
|
Mod+Shift+D {
|
||||||
|
spawn "emacsclient" "--alternate-editor=" "--create-frame"
|
||||||
|
}
|
||||||
|
Mod+Period {
|
||||||
|
spawn "flatpak" "run" "it.mijorus.smile"
|
||||||
|
}
|
||||||
|
Control+Shift+Escape {
|
||||||
|
spawn "kitty" "-e" "btop"
|
||||||
|
}
|
||||||
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
||||||
// Note: the entire command goes as a single argument in the end.
|
// Note: the entire command goes as a single argument in the end.
|
||||||
// Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
|
// Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
|
||||||
|
|
||||||
// Volume keys mappings for PipeWire & WirePlumber.
|
// Volume keys mappings for PipeWire & WirePlumber.
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
|
XF86AudioRaiseVolume allow-when-locked=true {
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
|
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"
|
||||||
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
}
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
XF86AudioLowerVolume allow-when-locked=true {
|
||||||
|
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"
|
||||||
Alt+F4 { close-window; }
|
}
|
||||||
Mod+Shift+Q { close-window; }
|
XF86AudioMute allow-when-locked=true {
|
||||||
|
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"
|
||||||
Mod+O { toggle-overview; }
|
}
|
||||||
|
XF86AudioMicMute allow-when-locked=true {
|
||||||
Mod+H { focus-column-left; }
|
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"
|
||||||
Mod+J { focus-window-down-or-top; }
|
}
|
||||||
Mod+K { focus-window-up-or-bottom; }
|
Alt+F4 {
|
||||||
Mod+L { focus-column-right; }
|
close-window
|
||||||
|
}
|
||||||
Mod+Shift+H { move-column-left; }
|
Mod+Shift+Q {
|
||||||
Mod+Shift+J { move-window-down; }
|
close-window
|
||||||
Mod+Shift+K { move-window-up; }
|
}
|
||||||
Mod+Shift+L { move-column-right; }
|
Mod+O {
|
||||||
|
toggle-overview
|
||||||
Mod+Home { focus-column-first; }
|
}
|
||||||
Mod+End { focus-column-last; }
|
Mod+H {
|
||||||
Mod+Shift+Home { move-column-to-first; }
|
focus-column-left
|
||||||
Mod+Shift+End { move-column-to-last; }
|
}
|
||||||
|
Mod+J {
|
||||||
Mod+Page_Down { focus-workspace-down; }
|
focus-window-down-or-top
|
||||||
Mod+Page_Up { focus-workspace-up; }
|
}
|
||||||
Mod+U { focus-workspace-down; }
|
Mod+K {
|
||||||
Mod+I { focus-workspace-up; }
|
focus-window-up-or-bottom
|
||||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
}
|
||||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
Mod+L {
|
||||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
focus-column-right
|
||||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
}
|
||||||
|
Mod+Shift+H {
|
||||||
Mod+Shift+Page_Down { move-workspace-down; }
|
move-column-left
|
||||||
Mod+Shift+Page_Up { move-workspace-up; }
|
}
|
||||||
Mod+Shift+U { move-workspace-down; }
|
Mod+Shift+J {
|
||||||
Mod+Shift+I { move-workspace-up; }
|
move-window-down
|
||||||
|
}
|
||||||
|
Mod+Shift+K {
|
||||||
|
move-window-up
|
||||||
|
}
|
||||||
|
Mod+Shift+L {
|
||||||
|
move-column-right
|
||||||
|
}
|
||||||
|
Mod+Home {
|
||||||
|
focus-column-first
|
||||||
|
}
|
||||||
|
Mod+End {
|
||||||
|
focus-column-last
|
||||||
|
}
|
||||||
|
Mod+Shift+Home {
|
||||||
|
move-column-to-first
|
||||||
|
}
|
||||||
|
Mod+Shift+End {
|
||||||
|
move-column-to-last
|
||||||
|
}
|
||||||
|
Mod+Page_Down {
|
||||||
|
focus-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Page_Up {
|
||||||
|
focus-workspace-up
|
||||||
|
}
|
||||||
|
Mod+U {
|
||||||
|
focus-workspace-down
|
||||||
|
}
|
||||||
|
Mod+I {
|
||||||
|
focus-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Ctrl+Page_Down {
|
||||||
|
move-column-to-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Ctrl+Page_Up {
|
||||||
|
move-column-to-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Ctrl+U {
|
||||||
|
move-column-to-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Ctrl+I {
|
||||||
|
move-column-to-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Shift+Page_Down {
|
||||||
|
move-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Shift+Page_Up {
|
||||||
|
move-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Shift+U {
|
||||||
|
move-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Shift+I {
|
||||||
|
move-workspace-up
|
||||||
|
}
|
||||||
// You can bind mouse wheel scroll ticks using the following syntax.
|
// You can bind mouse wheel scroll ticks using the following syntax.
|
||||||
// These binds will change direction based on the natural-scroll setting.
|
// These binds will change direction based on the natural-scroll setting.
|
||||||
//
|
//
|
||||||
// To avoid scrolling through workspaces really fast, you can use
|
// To avoid scrolling through workspaces really fast, you can use
|
||||||
// the cooldown-ms property. The bind will be rate-limited to this value.
|
// the cooldown-ms property. The bind will be rate-limited to this value.
|
||||||
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
Mod+WheelScrollDown cooldown-ms=150 {
|
||||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
focus-workspace-down
|
||||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
}
|
||||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
Mod+WheelScrollUp cooldown-ms=150 {
|
||||||
|
focus-workspace-up
|
||||||
Mod+WheelScrollRight { focus-column-right; }
|
}
|
||||||
Mod+WheelScrollLeft { focus-column-left; }
|
Mod+Ctrl+WheelScrollDown cooldown-ms=150 {
|
||||||
|
move-column-to-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Ctrl+WheelScrollUp cooldown-ms=150 {
|
||||||
|
move-column-to-workspace-up
|
||||||
|
}
|
||||||
|
Mod+WheelScrollRight {
|
||||||
|
focus-column-right
|
||||||
|
}
|
||||||
|
Mod+WheelScrollLeft {
|
||||||
|
focus-column-left
|
||||||
|
}
|
||||||
// Usually scrolling up and down with Shift in applications results in
|
// Usually scrolling up and down with Shift in applications results in
|
||||||
// horizontal scrolling; these binds replicate that.
|
// horizontal scrolling; these binds replicate that.
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
Mod+Shift+WheelScrollDown {
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
focus-column-right
|
||||||
|
}
|
||||||
|
Mod+Shift+WheelScrollUp {
|
||||||
|
focus-column-left
|
||||||
|
}
|
||||||
// Similarly, you can bind touchpad scroll "ticks".
|
// Similarly, you can bind touchpad scroll "ticks".
|
||||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||||
// discrete intervals.
|
// discrete intervals.
|
||||||
|
@ -336,7 +370,6 @@ binds {
|
||||||
// touchpads by default.
|
// touchpads by default.
|
||||||
// Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
// Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
||||||
// Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
// Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
||||||
|
|
||||||
// You can refer to workspaces by index. However, keep in mind that
|
// You can refer to workspaces by index. However, keep in mind that
|
||||||
// niri is a dynamic workspace system, so these commands are kind of
|
// niri is a dynamic workspace system, so these commands are kind of
|
||||||
// "best effort". Trying to refer to a workspace index bigger than
|
// "best effort". Trying to refer to a workspace index bigger than
|
||||||
|
@ -345,56 +378,123 @@ binds {
|
||||||
//
|
//
|
||||||
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||||
// will all refer to the 3rd workspace.
|
// will all refer to the 3rd workspace.
|
||||||
Mod+1 { focus-workspace 1; }
|
Mod+1 {
|
||||||
Mod+2 { focus-workspace 2; }
|
focus-workspace 1
|
||||||
Mod+3 { focus-workspace 3; }
|
}
|
||||||
Mod+4 { focus-workspace 4; }
|
Mod+2 {
|
||||||
Mod+5 { focus-workspace 5; }
|
focus-workspace 2
|
||||||
Mod+6 { focus-workspace 6; }
|
}
|
||||||
Mod+7 { focus-workspace 7; }
|
Mod+3 {
|
||||||
Mod+8 { focus-workspace 8; }
|
focus-workspace 3
|
||||||
Mod+9 { focus-workspace 9; }
|
}
|
||||||
Mod+Shift+1 { move-column-to-workspace 1; }
|
Mod+4 {
|
||||||
Mod+Shift+2 { move-column-to-workspace 2; }
|
focus-workspace 4
|
||||||
Mod+Shift+3 { move-column-to-workspace 3; }
|
}
|
||||||
Mod+Shift+4 { move-column-to-workspace 4; }
|
Mod+5 {
|
||||||
Mod+Shift+5 { move-column-to-workspace 5; }
|
focus-workspace 5
|
||||||
Mod+Shift+6 { move-column-to-workspace 6; }
|
}
|
||||||
Mod+Shift+7 { move-column-to-workspace 7; }
|
Mod+6 {
|
||||||
Mod+Shift+8 { move-column-to-workspace 8; }
|
focus-workspace 6
|
||||||
Mod+Shift+9 { move-column-to-workspace 9; }
|
}
|
||||||
|
Mod+7 {
|
||||||
Mod+Ctrl+1 { move-window-to-workspace 1; }
|
focus-workspace 7
|
||||||
Mod+Ctrl+2 { move-window-to-workspace 2; }
|
}
|
||||||
Mod+Ctrl+3 { move-window-to-workspace 3; }
|
Mod+8 {
|
||||||
Mod+Ctrl+4 { move-window-to-workspace 4; }
|
focus-workspace 8
|
||||||
Mod+Ctrl+5 { move-window-to-workspace 5; }
|
}
|
||||||
Mod+Ctrl+6 { move-window-to-workspace 6; }
|
Mod+9 {
|
||||||
Mod+Ctrl+7 { move-window-to-workspace 7; }
|
focus-workspace 9
|
||||||
Mod+Ctrl+8 { move-window-to-workspace 8; }
|
}
|
||||||
Mod+Ctrl+9 { move-window-to-workspace 9; }
|
Mod+Shift+1 {
|
||||||
|
move-column-to-workspace 1
|
||||||
|
}
|
||||||
|
Mod+Shift+2 {
|
||||||
|
move-column-to-workspace 2
|
||||||
|
}
|
||||||
|
Mod+Shift+3 {
|
||||||
|
move-column-to-workspace 3
|
||||||
|
}
|
||||||
|
Mod+Shift+4 {
|
||||||
|
move-column-to-workspace 4
|
||||||
|
}
|
||||||
|
Mod+Shift+5 {
|
||||||
|
move-column-to-workspace 5
|
||||||
|
}
|
||||||
|
Mod+Shift+6 {
|
||||||
|
move-column-to-workspace 6
|
||||||
|
}
|
||||||
|
Mod+Shift+7 {
|
||||||
|
move-column-to-workspace 7
|
||||||
|
}
|
||||||
|
Mod+Shift+8 {
|
||||||
|
move-column-to-workspace 8
|
||||||
|
}
|
||||||
|
Mod+Shift+9 {
|
||||||
|
move-column-to-workspace 9
|
||||||
|
}
|
||||||
|
Mod+Ctrl+1 {
|
||||||
|
move-window-to-workspace 1
|
||||||
|
}
|
||||||
|
Mod+Ctrl+2 {
|
||||||
|
move-window-to-workspace 2
|
||||||
|
}
|
||||||
|
Mod+Ctrl+3 {
|
||||||
|
move-window-to-workspace 3
|
||||||
|
}
|
||||||
|
Mod+Ctrl+4 {
|
||||||
|
move-window-to-workspace 4
|
||||||
|
}
|
||||||
|
Mod+Ctrl+5 {
|
||||||
|
move-window-to-workspace 5
|
||||||
|
}
|
||||||
|
Mod+Ctrl+6 {
|
||||||
|
move-window-to-workspace 6
|
||||||
|
}
|
||||||
|
Mod+Ctrl+7 {
|
||||||
|
move-window-to-workspace 7
|
||||||
|
}
|
||||||
|
Mod+Ctrl+8 {
|
||||||
|
move-window-to-workspace 8
|
||||||
|
}
|
||||||
|
Mod+Ctrl+9 {
|
||||||
|
move-window-to-workspace 9
|
||||||
|
}
|
||||||
// Switches focus between the current and the previous workspace.
|
// Switches focus between the current and the previous workspace.
|
||||||
Mod+Tab { focus-workspace-previous; }
|
Mod+Tab {
|
||||||
|
focus-workspace-previous
|
||||||
|
}
|
||||||
// The following binds move the focused window in and out of a column.
|
// The following binds move the focused window in and out of a column.
|
||||||
// If the window is alone, they will consume it into the nearby column to the side.
|
// If the window is alone, they will consume it into the nearby column to the side.
|
||||||
// If the window is already in a column, they will expel it out.
|
// If the window is already in a column, they will expel it out.
|
||||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
Mod+BracketLeft {
|
||||||
Mod+BracketRight { consume-or-expel-window-right; }
|
consume-or-expel-window-left
|
||||||
|
}
|
||||||
Mod+R { switch-preset-column-width; }
|
Mod+BracketRight {
|
||||||
Mod+Shift+R { switch-preset-window-height; }
|
consume-or-expel-window-right
|
||||||
Mod+Ctrl+R { reset-window-height; }
|
}
|
||||||
Mod+F { maximize-column; }
|
Mod+R {
|
||||||
Mod+Shift+F { fullscreen-window; }
|
switch-preset-column-width
|
||||||
|
}
|
||||||
|
Mod+Shift+R {
|
||||||
|
switch-preset-window-height
|
||||||
|
}
|
||||||
|
Mod+Ctrl+R {
|
||||||
|
reset-window-height
|
||||||
|
}
|
||||||
|
Mod+F {
|
||||||
|
maximize-column
|
||||||
|
}
|
||||||
|
Mod+Shift+F {
|
||||||
|
fullscreen-window
|
||||||
|
}
|
||||||
// Expand the focused column to space not taken up by other fully visible columns.
|
// Expand the focused column to space not taken up by other fully visible columns.
|
||||||
// Makes the column "fill the rest of the space".
|
// Makes the column "fill the rest of the space".
|
||||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
Mod+Ctrl+F {
|
||||||
|
expand-column-to-available-width
|
||||||
Mod+C { center-column; }
|
}
|
||||||
|
Mod+C {
|
||||||
|
center-column
|
||||||
|
}
|
||||||
// Finer width adjustments.
|
// Finer width adjustments.
|
||||||
// This command can also:
|
// This command can also:
|
||||||
// * set width in pixels: "1000"
|
// * set width in pixels: "1000"
|
||||||
|
@ -403,22 +503,32 @@ binds {
|
||||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
Mod+Minus {
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
set-column-width "-10%"
|
||||||
|
}
|
||||||
|
Mod+Equal {
|
||||||
|
set-column-width "+10%"
|
||||||
|
}
|
||||||
// Finer height adjustments when in column with other windows.
|
// Finer height adjustments when in column with other windows.
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
Mod+Shift+Minus {
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
set-window-height "-10%"
|
||||||
|
}
|
||||||
|
Mod+Shift+Equal {
|
||||||
|
set-window-height "+10%"
|
||||||
|
}
|
||||||
// Move the focused window between the floating and the tiling layout.
|
// Move the focused window between the floating and the tiling layout.
|
||||||
Mod+B { toggle-window-floating; }
|
Mod+B {
|
||||||
Mod+Shift+B { switch-focus-between-floating-and-tiling; }
|
toggle-window-floating
|
||||||
|
}
|
||||||
|
Mod+Shift+B {
|
||||||
|
switch-focus-between-floating-and-tiling
|
||||||
|
}
|
||||||
// Toggle tabbed column display mode.
|
// Toggle tabbed column display mode.
|
||||||
// Windows in this column will appear as vertical tabs,
|
// Windows in this column will appear as vertical tabs,
|
||||||
// rather than stacked on top of each other.
|
// rather than stacked on top of each other.
|
||||||
Mod+W { toggle-column-tabbed-display; }
|
Mod+W {
|
||||||
|
toggle-column-tabbed-display
|
||||||
|
}
|
||||||
// Actions to switch layouts.
|
// Actions to switch layouts.
|
||||||
// Note: if you uncomment these, make sure you do NOT have
|
// Note: if you uncomment these, make sure you do NOT have
|
||||||
// a matching layout switch hotkey configured in xkb options above.
|
// a matching layout switch hotkey configured in xkb options above.
|
||||||
|
@ -426,15 +536,24 @@ binds {
|
||||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||||
// Mod+Space { switch-layout "next"; }
|
// Mod+Space { switch-layout "next"; }
|
||||||
// Mod+Shift+Space { switch-layout "prev"; }
|
// Mod+Shift+Space { switch-layout "prev"; }
|
||||||
|
Print {
|
||||||
Print { screenshot; }
|
screenshot
|
||||||
Shift+Print { screenshot-screen; }
|
}
|
||||||
Alt+Print { screenshot-window; }
|
Shift+Print {
|
||||||
|
screenshot-screen
|
||||||
Mod+Alt+Return { set-dynamic-cast-window; }
|
}
|
||||||
Mod+Alt+Shift+Return { set-dynamic-cast-monitor; }
|
Alt+Print {
|
||||||
Mod+Alt+Shift+Backspace { clear-dynamic-cast-target; }
|
screenshot-window
|
||||||
|
}
|
||||||
|
Mod+Alt+Return {
|
||||||
|
set-dynamic-cast-window
|
||||||
|
}
|
||||||
|
Mod+Alt+Shift+Return {
|
||||||
|
set-dynamic-cast-monitor
|
||||||
|
}
|
||||||
|
Mod+Alt+Shift+Backspace {
|
||||||
|
clear-dynamic-cast-target
|
||||||
|
}
|
||||||
// Applications such as remote-desktop clients and software KVM switches may
|
// Applications such as remote-desktop clients and software KVM switches may
|
||||||
// request that niri stops processing the keyboard shortcuts defined here
|
// request that niri stops processing the keyboard shortcuts defined here
|
||||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||||
|
@ -443,13 +562,20 @@ binds {
|
||||||
//
|
//
|
||||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||||
// which ensures niri always processes them, even when an inhibitor is active.
|
// which ensures niri always processes them, even when an inhibitor is active.
|
||||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
Mod+Escape allow-inhibiting=false {
|
||||||
|
toggle-keyboard-shortcuts-inhibit
|
||||||
|
}
|
||||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||||
Mod+Shift+Escape { quit; }
|
Mod+Shift+Escape {
|
||||||
Ctrl+Alt+Delete { quit; }
|
quit
|
||||||
|
}
|
||||||
|
Ctrl+Alt+Delete {
|
||||||
|
quit
|
||||||
|
}
|
||||||
// Powers off the monitors. To turn them back on, do any input like
|
// Powers off the monitors. To turn them back on, do any input like
|
||||||
// moving the mouse or pressing any other key.
|
// moving the mouse or pressing any other key.
|
||||||
Mod+Shift+P { power-off-monitors; }
|
Mod+Shift+P {
|
||||||
|
power-off-monitors
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"spacing": 8,
|
"spacing": 8,
|
||||||
|
"margin-top": 4,
|
||||||
|
"margin-left": 4,
|
||||||
|
"margin-right": 4,
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"niri/workspaces",
|
"niri/workspaces",
|
||||||
"privacy",
|
"privacy",
|
||||||
|
@ -17,8 +20,7 @@
|
||||||
"power-profiles-daemon",
|
"power-profiles-daemon",
|
||||||
"wireplumber",
|
"wireplumber",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
"network",
|
"network"
|
||||||
"custom/notifications"
|
|
||||||
],
|
],
|
||||||
"niri/workspaces": {
|
"niri/workspaces": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
|
@ -30,7 +32,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"icon-size": 12
|
"icon-size": 12,
|
||||||
|
"icon-spacing": 0
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"format": "{:%a %H:%M}",
|
"format": "{:%a %H:%M}",
|
||||||
|
@ -66,7 +69,11 @@
|
||||||
"wireplumber": {
|
"wireplumber": {
|
||||||
"format": "{icon} {volume}%",
|
"format": "{icon} {volume}%",
|
||||||
"format-muted": " Muted",
|
"format-muted": " Muted",
|
||||||
"format-icons": ["", "", ""]
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"bluetooth": {
|
"bluetooth": {
|
||||||
"format-disabled": "",
|
"format-disabled": "",
|
||||||
|
@ -79,25 +86,5 @@
|
||||||
"tooltip-format-ethernet": "Interface: {ifname}\nIP: {ipaddr}\nGateway: {gwaddr}",
|
"tooltip-format-ethernet": "Interface: {ifname}\nIP: {ipaddr}\nGateway: {gwaddr}",
|
||||||
"tooltip-format-wifi": "{frequency}GHz {signalStrength}%\n\nInterface: {ifname}\nIP: {ipaddr}\nGateway: {gwaddr}",
|
"tooltip-format-wifi": "{frequency}GHz {signalStrength}%\n\nInterface: {ifname}\nIP: {ipaddr}\nGateway: {gwaddr}",
|
||||||
"tooltip-format-disconnected": ""
|
"tooltip-format-disconnected": ""
|
||||||
},
|
|
||||||
"custom/notifications": {
|
|
||||||
"exec": "swaync-client -swb",
|
|
||||||
"exec-if": "which swaync-client",
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"notification": "<span foreground='red'><sup></sup></span>",
|
|
||||||
"none": "",
|
|
||||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
|
||||||
"dnd-none": "",
|
|
||||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
|
||||||
"inhibited-none": "",
|
|
||||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
|
||||||
"dnd-inhibited-none": ""
|
|
||||||
},
|
|
||||||
"on-click": "swaync-client -t -sw",
|
|
||||||
"on-click-right": "swaync-client -d -sw",
|
|
||||||
"tooltip-format": "Notifications",
|
|
||||||
"escape": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,20 +1,38 @@
|
||||||
* {
|
* {
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
font-family: FontAwesome, Inter, sans-serif;
|
font-family: FontAwesome, Inter, sans-serif;
|
||||||
font-size: 12px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: rgba(26, 27, 38, 0.95);
|
background-color: rgba(26, 27, 38, 0.9);
|
||||||
color: #c0caf5;
|
color: #c0caf5;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
transition-duration: .5s;
|
transition-duration: .5s;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: rgba(26, 27, 38, 0.9);
|
||||||
|
border: 1px solid #bb9af7;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #c0caf5;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left,
|
||||||
|
.modules-center,
|
||||||
|
.modules-right {
|
||||||
|
margin: 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
/* Avoid rounded borders under each button name */
|
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 5px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +72,7 @@ button:hover {
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
min-width: 1.5em;
|
min-width: 1.5em;
|
||||||
color: #c0caf5;
|
color: #c0caf5;
|
||||||
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window,
|
#window,
|
||||||
|
@ -61,16 +80,22 @@ button:hover {
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
color: #bb9af7;
|
||||||
|
}
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
.modules-left > widget:first-child > #workspaces {
|
.modules-left>widget:first-child>#workspaces {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.charging, #battery.plugged {
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
background-color: #9ece6a;
|
background-color: #9ece6a;
|
||||||
color: #15161e;
|
color: #15161e;
|
||||||
}
|
}
|
||||||
|
@ -104,11 +129,11 @@ label:focus {
|
||||||
color: #15161e;
|
color: #15161e;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .passive {
|
#tray>.passive {
|
||||||
-gtk-icon-effect: dim;
|
-gtk-icon-effect: dim;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .needs-attention {
|
#tray>.needs-attention {
|
||||||
-gtk-icon-effect: highlight;
|
-gtk-icon-effect: highlight;
|
||||||
background-color: #e0af68;
|
background-color: #e0af68;
|
||||||
color: #15161e;
|
color: #15161e;
|
||||||
|
@ -120,11 +145,12 @@ label:focus {
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy {
|
#privacy {
|
||||||
padding: 0;
|
padding: 0 4px;
|
||||||
|
background-color: #e0af68;
|
||||||
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy-item {
|
#privacy-item {
|
||||||
padding: 0 4px;
|
padding: 0 2px;
|
||||||
background-color: #e0af68;
|
|
||||||
color: #15161e;
|
color: #15161e;
|
||||||
}
|
}
|
|
@ -1,49 +1,49 @@
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "C" ]
|
on = ["g", "C"]
|
||||||
run = "cd ~/config"
|
run = "cd ~/config"
|
||||||
desc = "Go to dotfiles"
|
desc = "Go to dotfiles"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "d" ]
|
on = ["g", "d"]
|
||||||
run = "cd ~/Documents"
|
run = "cd ~/Documents"
|
||||||
desc = "Go to Documents"
|
desc = "Go to Documents"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "D" ]
|
on = ["g", "D"]
|
||||||
run = "cd ~/Downloads"
|
run = "cd ~/Downloads"
|
||||||
desc = "Go to Downloads"
|
desc = "Go to Downloads"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "g", "s" ]
|
on = ["g", "G", "s"]
|
||||||
run = "cd ~/.local/share/Steam/steamapps/common"
|
run = "cd ~/.local/share/Steam/steamapps/common"
|
||||||
desc = "Go to steamapps"
|
desc = "Go to steamapps"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "m" ]
|
on = ["g", "m"]
|
||||||
run = "cd ~/Music"
|
run = "cd ~/Music"
|
||||||
desc = "Go to Music"
|
desc = "Go to Music"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "P" ]
|
on = ["g", "P"]
|
||||||
run = "cd ~/Projects"
|
run = "cd ~/Projects"
|
||||||
desc = "Go to Projects"
|
desc = "Go to Projects"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "p", "p" ]
|
on = ["g", "p", "p"]
|
||||||
run = "cd ~/Pictures"
|
run = "cd ~/Pictures"
|
||||||
desc = "Go to Pictures"
|
desc = "Go to Pictures"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "p", "s" ]
|
on = ["g", "p", "s"]
|
||||||
run = "cd ~/Pictures/Screenshots"
|
run = "cd ~/Pictures/Screenshots"
|
||||||
desc = "Go to Screenshots"
|
desc = "Go to Screenshots"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "v", "v" ]
|
on = ["g", "v", "v"]
|
||||||
run = "cd ~/Videos"
|
run = "cd ~/Videos"
|
||||||
desc = "Go to Videos"
|
desc = "Go to Videos"
|
||||||
|
|
||||||
[[mgr.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "g", "v", "r" ]
|
on = ["g", "v", "r"]
|
||||||
run = "cd ~/Videos/Recording"
|
run = "cd ~/Videos/Recording"
|
||||||
desc = "Go to Recordings"
|
desc = "Go to Recordings"
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "C" ]
|
|
||||||
run = "cd ~/config"
|
|
||||||
desc = "Go to dotfiles"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "d" ]
|
|
||||||
run = "cd ~/Documents"
|
|
||||||
desc = "Go to Documents"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "D" ]
|
|
||||||
run = "cd ~/Downloads"
|
|
||||||
desc = "Go to Downloads"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "g", "s" ]
|
|
||||||
run = "cd ~/.local/share/Steam/steamapps/common"
|
|
||||||
desc = "Go to steamapps"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "m" ]
|
|
||||||
run = "cd ~/Music"
|
|
||||||
desc = "Go to Music"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "P" ]
|
|
||||||
run = "cd ~/Projects"
|
|
||||||
desc = "Go to Projects"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "p", "p" ]
|
|
||||||
run = "cd ~/Pictures"
|
|
||||||
desc = "Go to Pictures"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "p", "s" ]
|
|
||||||
run = "cd ~/Pictures/Screenshots"
|
|
||||||
desc = "Go to Screenshots"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "v", "v" ]
|
|
||||||
run = "cd ~/Videos"
|
|
||||||
desc = "Go to Videos"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "g", "v", "r" ]
|
|
||||||
run = "cd ~/Videos/Recording"
|
|
||||||
desc = "Go to Recordings"
|
|
Loading…
Add table
Reference in a new issue