Compare commits

..

43 Commits

Author SHA1 Message Date
nevaforget fde1f0b76d merge latest 2025-12-09 13:14:53 +01:00
nevaforget 626c676b92 home/config/waybar/config aktualisiert 2025-12-09 13:12:20 +01:00
nevaforget 104d96d51b home/config/niri/config.kdl aktualisiert 2025-12-09 13:11:43 +01:00
nevaforget b56eef9c00 add niri modules to waybar styles 2025-11-26 13:05:34 +01:00
nevaforget 449fd75f66 add niri modules to waybar 2025-11-26 13:02:38 +01:00
nevaforget 0c78015dc9 Add niri config 2025-11-26 13:01:43 +01:00
nevaforget 6cc2363c2b new simple zshrc without p10k 2025-10-27 16:53:50 +01:00
nevaforget 28155823a0 fix general issues like outdated hypr configs 2025-09-27 17:09:21 +02:00
nevaforget e4c64cb6e1 fix some basic bugs found while testing 2025-09-27 12:26:12 +02:00
nevaforget b07d286a48 replace polkit-gnome by hyprpolkitagent 2025-09-01 11:19:31 +02:00
nevaforget ef6d7ee1bb merge 2025-08-22 11:23:57 +02:00
nevaforget 792137af5e improve qt theming 2025-08-22 11:21:50 +02:00
nevaforget 4ffad97212 add fzf-git script from junegunn 2025-02-17 15:05:14 +01:00
nevaforget 73f62be250 stower.sh aktualisiert 2025-01-16 14:28:24 +01:00
nevaforget b05dacbe21 stower.sh aktualisiert 2025-01-16 14:14:03 +01:00
nevaforget fcd38777a8 stower.sh aktualisiert 2024-12-26 21:44:20 +01:00
nevaforget b05596e7f7 stower.sh aktualisiert 2024-12-26 21:16:55 +01:00
nevaforget 138cdc676b stower.sh aktualisiert 2024-12-26 21:11:53 +01:00
nevaforget 067f9febf9 stower.sh aktualisiert 2024-12-26 21:09:02 +01:00
nevaforget 4ea0d79be5 README.md aktualisiert 2024-12-26 21:01:22 +01:00
nevaforget 2b36a77ecc stower.sh aktualisiert 2024-12-26 21:00:45 +01:00
nevaforget c0bfdca612 stower.sh aktualisiert 2024-12-26 20:59:15 +01:00
nevaforget 41fb5644e3 stower.sh aktualisiert 2024-12-26 20:58:13 +01:00
nevaforget bcd6488e92 stower.sh aktualisiert 2024-12-26 20:54:33 +01:00
nevaforget 6a1d36eace stower.sh aktualisiert 2024-12-26 20:43:50 +01:00
nevaforget 6d52aa4f51 stower.sh aktualisiert 2024-12-26 20:33:30 +01:00
nevaforget 3055163f1c fix sddm theme 2024-12-20 00:16:13 +01:00
nevaforget f5ab1d95f5 minor improvements 2024-12-20 00:11:53 +01:00
nevaforget 4b71b58a9f fix mkdir 2024-12-20 00:02:25 +01:00
nevaforget 6fab05f7b8 fix log 2024-12-20 00:00:53 +01:00
nevaforget b49228a855 lovely wallpaper 2024-12-19 23:58:38 +01:00
nevaforget e492bae84c add missing packages 2024-12-19 23:58:31 +01:00
nevaforget 6f259a5142 add thinkpad display to hyprland config 2024-12-19 23:46:13 +01:00
nevaforget f782da73f0 remove sddm theme 2024-12-19 23:39:20 +01:00
nevaforget ac51a31675 that's a bunch of cool new stuff 2024-12-19 23:32:30 +01:00
nevaforget ae3d29b0ee latest hypr conf 2024-11-12 20:24:12 +01:00
nevaforget 3068b245eb fix sddm theme dependencies 2024-10-10 09:30:51 +02:00
nevaforget 43621c8201 latest user files 2024-10-10 08:27:07 +02:00
nevaforget 9a37e67d11 launch rofi on empty hyprland workspaces 2024-09-13 14:43:26 +02:00
nevaforget 2f402fe686 latest user config 2024-09-13 14:28:50 +02:00
nevaforget cdcaee5943 new apps and setup fixes
- added hypr-empty
- fixed a lot in the setup script
- new settings menu entries
2024-04-10 16:56:50 +02:00
nevaforget 9269a63f80 fix zsh/ohmyzsh plugins 2024-04-03 16:05:44 +02:00
nevaforget d2eef21911 forgot ohmyzsh 2024-04-03 15:54:26 +02:00
97 changed files with 5014 additions and 1357 deletions
+2 -2
View File
@@ -19,9 +19,9 @@ This is basically per user!
```bash ```bash
$ sudo pacman -Syu git $ sudo pacman -Syu git
$ git clone --depth 1 https://gitea.nevaforget.de/dom/monarchos ~/.monarchos $ git clone --depth 1 https://gitea.moonarch.de/nevaforget/hyprmoonarch ~/.monarchos
$ cd ~/.monarchos $ cd ~/.monarchos
$ ./setup.sh $ ./stower.sh
``` ```
## Installation Stages ## Installation Stages
+5
View File
@@ -0,0 +1,5 @@
- move volnote / capsnote to usr
- move rofi from ~/.config/rofi to /usr/share/rofi
- https://wiki.archlinux.de/title/Cpupower
- load kernel modul based on architecture
+50
View File
@@ -0,0 +1,50 @@
[General]
HaltCommand=/usr/bin/systemctl poweroff
InputMethod=
Namespaces=
Numlock=none
RebootCommand=/usr/bin/systemctl reboot
[Autologin]
Relogin=false
Session=
User=
[Theme]
Current=moonarch-sddm
CursorTheme=Sweet-cursors
DisableAvatarsThreshold=7
EnableAvatars=true
FacesDir=/usr/share/sddm/faces
Font=JetBrainsMono Nerd Font
ThemeDir=/usr/share/sddm/themes
[Users]
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
HideShells=
HideUsers=
MaximumUid=60513
MinimumUid=1000
RememberLastSession=true
RememberLastUser=true
ReuseSession=true
[Wayland]
EnableHiDPI=true
SessionCommand=/usr/share/sddm/scripts/wayland-session
SessionDir=/usr/share/wayland-sessions
SessionLogFile=.local/share/sddm/wayland-session.log
[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
EnableHiDPI=true
MinimumVT=1
ServerArguments=-nolisten tcp
ServerPath=/usr/bin/X
SessionCommand=/usr/share/sddm/scripts/Xsession
SessionDir=/usr/share/xsessions
SessionLogFile=.local/share/sddm/xorg-session.log
UserAuthFile=.Xauthority
XauthPath=/usr/bin/xauth
XephyrPath=/usr/bin/Xephyr
+1 -1
View File
@@ -10,7 +10,7 @@
#PS1="\W:\$ " #PS1="\W:\$ "
export PS1="󰣇 \[$(tput setaf 6)\]\W \[$(tput sgr0)\] " export PS1="󰣇 \[$(tput setaf 6)\]\W \[$(tput sgr0)\] "
export SUDO_EDITOR=/usr/bin/nvim export SUDO_EDITOR="subl -w"
bind 'set show-all-if-ambiguous on' bind 'set show-all-if-ambiguous on'
bind 'TAB:menu-complete' bind 'TAB:menu-complete'
+69 -77
View File
@@ -1,94 +1,86 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Lines configured by zsh-newuser-install
# Initialization code that may require console input (password prompts, [y/n] HISTFILE=~/.histfile
# confirmations, etc.) must go above this block; everything else may go below. HISTSIZE=1000
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then SAVEHIST=1000
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" setopt autocd nomatch notify appendhistory sharehistory hist_ignore_space hist_ignore_all_dups hist_save_no_dups hist_find_no_dups
unsetopt beep extendedglob
bindkey -e
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/dom/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
parse_git_branch() {
local branch=""
branch=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
local git_status=$(git status --porcelain 2>/dev/null)
local color=green
if echo "$git_status" | grep -q "^ M"; then
color=yellow
branch="${branch}*"
fi
if echo "$git_status" | grep -qE "^ A|^\?\?"; then
color=yellow
branch="${branch}+"
fi
if echo "$git_status" | grep -q "^ D"; then
color=yellow
branch="${branch}-"
fi fi
if [[ -n "$branch" ]]; then
branch=[%F{${color}}${branch}%F{reset}]
fi
echo " $branch"
}
precmd() {
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. print ""
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh print -rP "%F{#b4befe}%B%n@%m%b %2~%F{#f5e0dc}$(parse_git_branch)%f"
}
# PS1="%F{#008000}%B%n@%m%b %K{#3a3a3a}%1~%k:%f"
export LANG=de_DE.UTF-8 PROMPT="%B%F{#b4befe}$%f%b "
export EDITOR="nvim" RPROMPT="%F{241}%B%T%b%f"
export SUDO_EDITOR="nvim"
export MOZ_ENABLE_WAYLAND=1
# set PATH so it includes user's private ~/.local/bin if it exists # set PATH so it includes user's private ~/.local/bin if it exists
if [ -d "$HOME/.local/bin" ] ; then if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH" PATH="$HOME/.local/bin:$PATH"
fi fi
HISTFILE=~/.histfile # Key bindings
HISTSIZE=1000
SAVEHIST=1000
TERM_ID=(ps -o 'ppid=' -p $$)
TERM_NAME=(ps -o 'cmd=' -p $TERM_ID)
if [[ "$TERM_NAME" = "kitty" ]]; then
alias ssh="kitty +kitten ssh"
else
alias ssh="TERM=xterm-256color ssh"
fi
alias l="lsd -l --group-dirs first --size short --config-file ~/.config/lsd/config.yaml"
alias ls="lsd"
alias orphans='[[ -n $(pacman -Qdt) ]] && sudo pacman -Rs $(pacman -Qdtq) || echo "no orphans to remove"'
#alias web=""
web() {
xdg-open "https://search.moonarch.de/search?q=$@"
}
f() {
fff "$@"
cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/fff/.fff_d")"
}
bindkey "^[[3~" delete-char bindkey "^[[3~" delete-char
bindkey "^[[H" beginning-of-line bindkey "^[[H" beginning-of-line
bindkey "^[[F" end-of-line bindkey "^[[F" end-of-line
bindkey "^[[1;5C" forward-word bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word bindkey "^[[1;5D" backward-word
# Aliases
alias ssh="TERM=xterm-256color ssh"
#alias fl='lsd -l -h -1 --group-dirs first -X --config-file ~/.config/lsd/config.yaml'
alias orphans='[[ -n $(pacman -Qdt) ]] && sudo pacman -Rs $(pacman -Qdtq) || echo "no orphans to remove"'
alias ls='exa --icons --color=always --group-directories-first'
alias ll='exa -alF --icons --color=always --group-directories-first'
alias la='exa -a --icons --color=always --group-directories-first'
alias l='exa -F --icons --color=always --group-directories-first'
# FZF
plugins=(zsh-interactive-cd git aliases docker archlinux sudo vscode)
# autoload -Uz compinit vcs_info promptinit colors && colors
# compinit
# promptinit
# # This will set the default prompt theme
# prompt redhat
# # git info
# precmd_vcs_info() { vcs_info }
# precmd_functions+=( precmd_vcs_info )
# setopt prompt_subst
# RPROMPT='${vcs_info_msg_0_}'
# # PROMPT='${vcs_info_msg_0_}%# '
# zstyle ':vcs_info:git:*' formats '%b'
# PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
source /usr/share/oh-my-zsh/oh-my-zsh.sh
source $HOME/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme
source $HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source $HOME/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
eval "$(fzf --zsh)" eval "$(fzf --zsh)"
export FZF_DEFAULT_COMMAND="fd --hidden --strip-cwd-prefix --exclude .git"
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="fd --type=d --hidden --strip-cwd-prefix --exclude .git"
export FZF_DEFAULT_OPTS="--height 50% --layout=default --border --color=hl:#2dd4bf"
# FZF Previews
export FZF_CTRL_T_OPTS="--preview 'bat --color=always -n --line-range :500 {}'"
export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'"
# Plugins
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
export SUDOEDITOR="vim"
export EDITOR="vim"
Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

+36
View File
@@ -0,0 +1,36 @@
{
"window.menuBarVisibility": "toggle",
"workbench.iconTheme": "catppuccin-mocha",
"workbench.colorTheme": "Catppuccin Mocha",
"workbench.startupEditor": "none",
"php.validate.run": "onSave",
"php.validate.executablePath": "/usr/bin/php",
"editor.fontFamily": "'JetBrainsMono Nerd Font', 'monospace', monospace",
"editor.tabSize": 2,
"diffEditor.ignoreTrimWhitespace": false,
"security.workspace.trust.untrustedFiles": "open",
"editor.fontLigatures": true,
"editor.fontSize": 12,
"workbench.externalBrowser": "firefox",
"typescript.updateImportsOnFileMove.enabled": "always",
"editor.minimap.enabled": false,
"indentRainbow.colors": [
"rgba(17,17,17,0.1)",
"rgba(17,17,17,0.2)",
"rgba(17,17,17,0.3)",
"rgba(17,17,17,0.4)",
"rgba(17,17,17,0.5)",
"rgba(17,17,17,0.6)",
"rgba(17,17,17,0.7)",
"rgba(17,17,17,0.8)",
"rgba(17,17,17,0.9)",
"rgba(17,17,17,1.0)"
],
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"workbench.tree.renderIndentGuides": "always",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
alacritty --config-file $HOME/.config/alacritty/alacritty-bg.toml --class "alacritty-bg" -e /home/dom/.config/alacritty/cava
+4
View File
@@ -0,0 +1,4 @@
[window]
decorations = "None"
dynamic_padding = false
opacity = 0.0
+17 -10
View File
@@ -1,35 +1,42 @@
import = [
"~/.config/alacritty/catppuccin-mocha.toml"
]
[window] [window]
padding.x = 10
padding.y = 10
decorations = "None" decorations = "None"
dynamic_padding = false dynamic_padding = true
opacity = 0.8 opacity = 0.8
startup_mode = "Windowed" startup_mode = "Windowed"
dynamic_title = true dynamic_title = true
[font] [font]
size = 11.0 size = 11.0
[font.bold] [font.bold]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Bold" style = "Bold"
[font.bold_italic] [font.bold_italic]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Bold Italic" style = "Bold Italic"
[font.italic] [font.italic]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Italic" style = "Italic"
[font.normal] [font.normal]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Regular" style = "Regular"
[keyboard] [keyboard]
bindings = [ bindings = [
{ key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" } #ctrl + shift + enter = open new instance in same dir { key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" }, #ctrl + shift + enter = open new instance in same dir
] ]
[cursor]
style = "Block"
[mouse]
hide_when_typing = false
[general]
import = ["~/.config/alacritty/catppuccin-mocha.toml"]
+1 -1
View File
@@ -1,6 +1,6 @@
#https://github.com/catppuccin/alacritty/raw/main/catppuccin-mocha.toml #https://github.com/catppuccin/alacritty/raw/main/catppuccin-mocha.toml
[colors.primary] [colors.primary]
background = "#1E1E2E" background = "#181825"
foreground = "#CDD6F4" foreground = "#CDD6F4"
dim_foreground = "#CDD6F4" dim_foreground = "#CDD6F4"
bright_foreground = "#CDD6F4" bright_foreground = "#CDD6F4"
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
sleep 1 && cava
+2 -2
View File
@@ -50,7 +50,7 @@ graph_symbol_net = "default"
graph_symbol_proc = "default" graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc" shown_boxes = "cpu proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000 update_ms = 2000
@@ -110,7 +110,7 @@ cpu_invert_lower = True
cpu_single_graph = False cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top. #* Show cpu box at bottom of screen instead of top.
cpu_bottom = False cpu_bottom = True
#* Shows the system uptime in the CPU box. #* Shows the system uptime in the CPU box.
show_uptime = True show_uptime = True
+4 -4
View File
@@ -48,10 +48,10 @@ xinerama_head = 2,
--Textual --Textual
format_human_readable = true, -- KiB, MiB rather then number of bytes format_human_readable = true, -- KiB, MiB rather then number of bytes
font = 'Hack Nerd Font:normal:size=10', -- the default font used font = 'JetBrainsMono Nerd Font:normal:size=10', -- the default font used
font2 = 'Hack Nerd Font:bold:size=24', -- font for the time font2 = 'JetBrainsMono Nerd Font:bold:size=24', -- font for the time
font3 = 'Hack Nerd Font:size=14', -- font for the date font3 = 'JetBrainsMono Nerd Font:size=14', -- font for the date
font4 = 'Hack Nerd Font:bold:size=9', -- font for the keybindings heading font4 = 'JetBrainsMono Nerd Font:bold:size=9', -- font for the keybindings heading
font5 = 'MonarchOS:bold:size=16', -- font for the keybindings heading font5 = 'MonarchOS:bold:size=16', -- font for the keybindings heading
max_text_width = 0, -- 0 will make sure line does not get broken if width too smal max_text_width = 0, -- 0 will make sure line does not get broken if width too smal
max_user_text = 16384, -- max text in conky default 16384 max_user_text = 16384, -- max text in conky default 16384
+12 -12
View File
@@ -32,10 +32,10 @@
#height = 300 #height = 300
# Position the notification in the top right corner # Position the notification in the top right corner
origin = top-center origin = top-right
# Offset from the origin # Offset from the origin
offset = 20x40 offset = 15x15
# Scale factor. It is auto-detected if value is 0. # Scale factor. It is auto-detected if value is 0.
scale = 0 scale = 0
@@ -93,7 +93,7 @@
frame_width = 2 frame_width = 2
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#11111b" frame_color = "#b4befe"
# Size of gap to display between notifications - requires a compositor. # Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border # If value is greater than 0, separator_height will be ignored and a border
@@ -121,7 +121,7 @@
### Text ### ### Text ###
font = Hack Nerd Font 10 font = JetBrainsMono Nerd Font 10
# The spacing between lines. If the height is smaller than the # The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height. # font height, it will get raised to the font height.
@@ -199,7 +199,7 @@
enable_recursive_icon_lookup = true enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup) # Set icon theme (only used for recursive icon lookup)
icon_theme = "Flatery-Dark" icon_theme = "Tela-purple-dark"
# You can also set multiple icon themes, with the leftmost one being used first. # You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze" # icon_theme = "Adwaita, breeze"
@@ -215,7 +215,7 @@
max_icon_size = 64 max_icon_size = 64
# Paths to default icons (only neccesary when not using recursive icon lookup) # Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/Flatery-Dark/16x16/status/:/usr/share/icons/Flatery-Dark/16x16/devices/ #icon_path = /usr/share/icons/Tela-purple-dark/16x16/status/:/usr/share/icons/Tela-purple-dark/16x16/devices/
### History ### ### History ###
@@ -261,7 +261,7 @@
# Uncomment this if you want to let notications appear under fullscreen # Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay) # applications (default: overlay)
layer = top layer = overlay
# Set this to true to use X11 output on Wayland. # Set this to true to use X11 output on Wayland.
force_xwayland = false force_xwayland = false
@@ -311,21 +311,21 @@
[urgency_low] [urgency_low]
# IMPORTANT: colors have to be defined in quotation marks. # IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment. # Otherwise the "#" and following would be interpreted as a comment.
background = "#181825" background = "#1e1e2e"
foreground = "#CDD6F4" foreground = "#eff1f5"
timeout = 10 timeout = 10
# Icon for notifications with low urgency, uncomment to enable # Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon
[urgency_normal] [urgency_normal]
background = "#181825" background = "#1e1e2e"
foreground = "#CDD6F4" foreground = "#eff1f5"
timeout = 10 timeout = 10
# Icon for notifications with normal urgency, uncomment to enable # Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon
[urgency_critical] [urgency_critical]
background = "#181825" background = "#313244"
foreground = "#CDD6F4" foreground = "#CDD6F4"
frame_color = "#eba0ac" frame_color = "#eba0ac"
timeout = 60 timeout = 60
+136
View File
@@ -0,0 +1,136 @@
// Load with --load-config examples/2.jsonc
// Note that you must replace the image path to an existing image to display it.
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "none"
},
"display": {
"separator": " -> ",
"constants": [
"──────────────────────────────"
],
"key": {
"paddingLeft": 2
}
},
"modules": [
{
"type": "custom",
"format": "┌{$1}{$1}┐",
"outputColor": "90"
},
{
"type": "title",
"keyWidth": 10
},
{
"type": "custom",
"format": "└{$1}{$1}┘",
"outputColor": "90"
},
{
"type": "custom",
"format": " {#90} {#31} {#32} {#33} {#34} {#35} {#36} {#37} {#38} {#39}  {#38} {#37} {#36} {#35} {#34} {#33} {#32} {#31} {#90}"
},
{
"type": "custom",
"format": "┌{$1}{$1}┐",
"outputColor": "90"
},
{
"type": "os",
"key": "{icon} OS",
"keyColor": "yellow"
},
{
"type": "kernel",
"key": "│ ├",
"keyColor": "yellow"
},
{
"type": "packages",
"key": "│ ├󰏖",
"keyColor": "yellow"
},
{
"type": "shell",
"key": "│ └",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " DE/WM",
"keyColor": "blue"
},
{
"type": "wmtheme",
"key": "│ ├󰉼",
"keyColor": "blue"
},
{
"type": "terminal",
"key": "│ ├",
"keyColor": "blue"
},
{
"type": "wallpaper",
"key": "│ └󰸉",
"keyColor": "blue"
},
{
"type": "host",
"key": "󰌢 PC",
"keyColor": "green"
},
{
"type": "cpu",
"key": "│ ├󰻠",
"keyColor": "magenta"
},
{
"type": "gpu",
"key": "│ ├󰍛",
"keyColor": "magenta"
},
{
"type": "disk",
"key": "│ ├",
"keyColor": "green"
},
{
"type": "memory",
"key": "│ ├󰑭",
"keyColor": "green"
},
{
"type": "uptime",
"key": "│ ├󰅐",
"keyColor": "green"
},
{
"type": "sound",
"key": " SND",
"keyColor": "cyan"
},
{
"type": "player",
"key": "│ ├󰥠",
"keyColor": "cyan"
},
{
"type": "media",
"key": "│ └󰝚",
"keyColor": "cyan"
},
{
"type": "custom",
"format": "└{$1}{$1}┘",
"outputColor": "90"
}
]
}
+15
View File
@@ -0,0 +1,15 @@
* {
text-shadow: none;
}
/* remove window title from Client-Side Decorations */
.solid-csd headerbar .title {
font-size: 0;
}
/* hide extra window decorations/double border */
window decoration {
margin: 0;
border: none;
padding: 0;
}
+2 -2
View File
@@ -1,6 +1,6 @@
[Settings] [Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Lavender-Dark gtk-theme-name=catppuccin-mocha-lavender-standard+default
gtk-icon-theme-name=Flatery-Dark gtk-icon-theme-name=Newaita-reborn-dracula-dark
gtk-font-name=Hack Nerd Font 11 gtk-font-name=Hack Nerd Font 11
gtk-cursor-theme-name=Sweet-cursors gtk-cursor-theme-name=Sweet-cursors
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
+4
View File
@@ -0,0 +1,4 @@
[[components]]
workspaces = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ]
command = "rofi"
args = ["-show", "drun", "-theme", "~/.config/rofi/launcher/launcher.rasi"]
+10
View File
@@ -0,0 +1,10 @@
// blank shader
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
gl_FragColor = pixColor;
}
+16
View File
@@ -0,0 +1,16 @@
//
// Example blue light filter shader.
//
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
pixColor[2] *= 0.8;
gl_FragColor = pixColor;
}
+7
View File
@@ -4,6 +4,13 @@ bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = smoothOut, 0.36, 0, 0.66, -0.56 bezier = smoothOut, 0.36, 0, 0.66, -0.56
bezier = smoothIn, 0.25, 1, 0.5, 1 bezier = smoothIn, 0.25, 1, 0.5, 1
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animations { animations {
enabled=1 enabled=1
animation = windows,1,5,overshot,slide # slide or popin animation = windows,1,5,overshot,slide # slide or popin
+14 -5
View File
@@ -3,21 +3,30 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
exec-once = hyprctl plugin load /usr/lib/libhycov.so #exec-once = hyprctl plugin load /usr/lib/libhycov.so
#exec-once = hyprpm reload -n
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = ~/.config/hypr/xdg-portal-hyprland exec-once = ~/.config/hypr/xdg-portal-hyprland
exec-once = lxpolkit
#exec-once = lxpolkit
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waypaper --restore exec-once = waypaper --restore
#exec-once = hyprpanel
exec-once = waybar exec-once = waybar
# exec-once = dunst exec-once = dunst
exec-once = swayosd-server # exec-once = swayosd-server
exec-once = swaync # exec-once = swaync
exec-once = wl-paste --watch cliphist store #Stores only text data exec-once = wl-paste --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data exec-once = wl-paste --type image --watch cliphist store #Stores only image data
exec-once = hypridle exec-once = hypridle
exec = hyprshade off
# exec-once = sway-audio-idle-inhibit
exec-once = xdg-mime default pcmanfm.desktop inode/directory exec-once = xdg-mime default pcmanfm.desktop inode/directory
exec-once = hyprctl setcursor Sweet-cursors 24
+10 -26
View File
@@ -1,18 +1,7 @@
# █▀▄ █▀▀ █▀▀ █▀█ █▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▄▀ ██▄ █▄▄ █▄█ █▀▄ █▀█ ░█░ █ █▄█ █░▀█
decoration { decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 5 rounding = 4
# █▄▄ █░░ █░█ █▀█
# █▄█ █▄▄ █▄█ █▀▄
#blur = true
#blur_size = 3
#blur_passes = 1
#blur_new_optimizations = true
blur { blur {
enabled = true enabled = true
@@ -24,24 +13,19 @@ decoration {
noise = 0.0117 noise = 0.0117
contrast = 0.8916 contrast = 0.8916
brightness = 0.8172 brightness = 0.8172
#vibrancy = 0.1696
# vibrancy_darkness = 0
special = false special = false
} }
# █▀█ █▀█ ▄▀█ █▀▀ █ ▀█▀ █▄█
# █▄█ █▀▀ █▀█ █▄▄ █ ░█░ ░█░
active_opacity=1.00 active_opacity=1.00
inactive_opacity=1.00 inactive_opacity=1.00
#fullscreen_opacity=1.05
#dim_inactive=0
#dim_strength=0.2
# dim_around=0.5
# █▀ █░█ ▄▀█ █▀▄ █▀█ █░█░█ #drop_shadow = true
# ▄█ █▀█ █▀█ █▄▀ █▄█ ▀▄▀▄▀ #shadow_range = 10
drop_shadow = true #shadow_render_power = 3
shadow_range = 4 #col.shadow = rgba(18182540)
shadow_render_power = 3
col.shadow = rgba(1a1a1aee) dim_inactive = true
dim_strength = 0.2
} }
+12 -10
View File
@@ -1,15 +1,17 @@
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=HDMI-A-1,2560x1440@144,0x0,1 monitor=HDMI-A-1,2560x1440@144,0x0,1
monitor=DP-2,preferred,2560x0,1 monitor=DP-3,preferred,2560x0,1
# monitor=eDP-1,1920x1200@60,0x0,1
# monitor=DP-3, disabled
monitor=,preferred,auto,1 monitor=,preferred,auto,1
workspace = HDMI-A-1, 1 workspace=1, monitor:HDMI-A-1
workspace = HDMI-A-1, 2 workspace=2, monitor:HDMI-A-1
workspace = HDMI-A-1, 3 workspace=3, monitor:HDMI-A-1
workspace = DP-2, 4 workspace=4, monitor:DP-3
workspace = DP-2, 5 workspace=5, monitor:DP-3
workspace = DP-2, 6 workspace=6, monitor:DP-3
workspace = , on-created-empty:pkill rofi || ~/.config/rofi/launcher/launcher.sh
+23
View File
@@ -0,0 +1,23 @@
env = GDK_BACKEND,wayland,x11,*
env = QT_QPA_PLATFORM,wayland
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
#env = XCURSOR_THEME,Sweet Cursors”
#env = XCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = WINDOW_MANAGER,Hyprland
#env = GTK_THEME,Catppuccin-Mocha-Standard-Lavender-Dark
env = LANG,de_DE.UTF-8
env = EDITOR,"subl"
env = SUDO_EDITOR,"subl -w"
env = MOZ_ENABLE_WAYLAND,1
+5 -7
View File
@@ -1,18 +1,16 @@
# █▀▀ █▀▀ █▄░█ █▀▀ █▀█ ▄▀█ █░░
# █▄█ ██▄ █░▀█ ██▄ █▀▄ █▀█ █▄▄
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 4 gaps_in = 4
gaps_out = 8 gaps_out = 8
border_size = 2 border_size = 1
col.active_border = rgba(7f849cFF) col.active_border = rgba(7f849c80)
col.inactive_border = rgba(1e1e2eFF) col.inactive_border = rgba(1e1e2e80)
layout = dwindle layout = dwindle
resize_on_border = true resize_on_border = true
no_cursor_warps = true #no_cursor_warps = true
} }
+1 -6
View File
@@ -1,5 +1,3 @@
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
kb_layout = de kb_layout = de
@@ -21,12 +19,9 @@ input {
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
} }
# █▀▀ █▀▀ █▀ ▀█▀ █░█ █▀█ █▀▀ █▀
# █▄█ ██▄ ▄█ ░█░ █▄█ █▀▄ ██▄ ▄█
gestures { gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false # workspace_swipe = false
} }
# Example per-device config # Example per-device config
+36 -44
View File
@@ -1,13 +1,10 @@
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
#bind = $mainMod, RETURN, exec, kitty #bind = $mainMod, RETURN, exec, alacritty
bind = $mainMod, RETURN, exec, alacritty bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, TAB, cyclenext #bind = $mainMod, TAB, cyclenext
bind = $mainMod SHIFT, TAB, cyclenext, prev bind = $mainMod SHIFT, TAB, cyclenext, prev
#bind = $mainMod, M, exit, #bind = $mainMod, M, exit,
bind = $mainMod, A, exec, pkill rofi || ~/.config/rofi/volume/volume.sh bind = $mainMod, A, exec, pkill rofi || ~/.config/rofi/volume/volume.sh
@@ -21,20 +18,20 @@ bind = $mainMod, N, exec, pkill rofi || ~/.config/rofi/nm-vpn/nm-vpn.sh
bind = $mainMod, R, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh run bind = $mainMod, R, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh run
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, Q, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, S, exec, pkill rofi || rofi -show "ssh"
bind = $mainMod, T, exec, pkill rofi || rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
bind = $mainMod, U, exec, $HOME/.config/conky/conkytoggler bind = $mainMod, U, exec, $HOME/.config/conky/conkytoggler
bind = $mainMod, V, togglefloating, bind = $mainMod, V, togglefloating,
bind = $mainMod, SPACE, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh bind = $mainMod, SPACE, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh
# bind = $mainMod, T, exec, pkill rofi || ~/.config/rofi/settings-menu/settings-menu.sh # bind = $mainMod, T, exec, pkill rofi || ~/.config/rofi/settings-menu/settings-menu.sh
bind = $mainMod, T, exec, pkill rofi || rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
bind = $mainMod, F4, exec, wlogout -P 1 -s -r 10 -c 10 bind = $mainMod, F4, exec, wlogout -P 1 -s -r 10 -c 10
bind = $mainMod, escape, exec, killall -SIGUSR1 waybar bind = $mainMod, escape, exec, killall -SIGUSR1
# Move focus with mainMod # Move focus with mainMod
bind = $mainMod, H, movefocus, l # bind = $mainMod, H, movefocus, l
bind = $mainMod, J, movefocus, d # bind = $mainMod, J, movefocus, d
bind = $mainMod, K, movefocus, u # bind = $mainMod, K, movefocus, u
bind = $mainMod, L, movefocus, r # bind = $mainMod, L, movefocus, r
# Move window with mainMod + arrow keys # Move window with mainMod + arrow keys
bind = $mainMod, left, movewindow, l bind = $mainMod, left, movewindow, l
@@ -76,26 +73,21 @@ bindm = $mainMod, mouse:273, resizewindow
#bind = ALT, TAB, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh window #bind = ALT, TAB, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh window
bind = ALT,W, exec, killall waybar && waybar & bind = ALT,W, exec, killall waybar && waybar &
#bind = ALT,tab,hycov:toggleoverview #bind = $mainMod,tab,hycov:toggleoverview
bind = ALT,tab,exec, pkill rofi || rofi -show window -theme $HOME/.config/rofi/app-switcher/app-switcher.rasi bind = $mainMod,tab, exec, hyprnome
#bind = $mainMod,tab,exec, pkill rofi || rofi -show window -theme $HOME/.config/rofi/app-switcher/app-switcher.rasi
#bind = $mainMod, L, exec, swaync-client -t -sw #bind = $mainMod, L, exec, swaync-client -t -sw
#bind = $mainMod, K, exec, xkill #bind = $mainMod, K, exec, xkill
bind=,PRINT,exec, hyprm-screenshot bind=,PRINT,exec, hyprm-screenshot
#bind=,PRINT,exec, pkill rofi || ~/.config/rofi/screenshot/screenshot.sh #bind=,PRINT,exec, pkill rofi || ~/.config/rofi/screenshot/screenshot.sh
bind = CTRL ALT, DELETE, exec, alacritty -t "BTOP" -e btop -p 1 bind = CTRL ALT, DELETE, exec, alacritty -t "BTOP" -e btop -p 1
#bind = CTRL ALT, DELETE, exec, sysmontask
#bind = CTRL ALT, DELETE, exec, env GTK_THEME=Adwaita:dark resources #bind = CTRL ALT, DELETE, exec, env GTK_THEME=Adwaita:dark resources
#bind = $mainMod, F4, exec, ~/.config/rofi/powermenu/powermenu.sh #ind = $mainMod, O, exec, ~/.config/rofi/powermenu/powermenu.sh
@@ -106,35 +98,35 @@ bind = CTRL ALT, DELETE, exec, alacritty -t "BTOP" -e btop -p 1
# SPECIAL MODKEYS # SPECIAL MODKEYS
# binde = ,XF86AudioRaiseVolume, exec, /home/dom/.local/bin/volnote up binde = ,XF86AudioRaiseVolume, exec, /home/dom/.local/bin/volnote up
# binde = $mainMod, KP_Add, exec, /home/dom/.local/bin/volnote up binde = $mainMod, Page_Up, exec, /home/dom/.local/bin/volnote up
# binde = $mainMod, Page_Up, exec, /home/dom/.local/bin/volnote up
# binde = ,XF86AudioLowerVolume, exec, /home/dom/.local/bin/volnote down binde = ,XF86AudioLowerVolume, exec, /home/dom/.local/bin/volnote down
# binde = $mainMod, KP_Subtract, exec, /home/dom/.local/bin/volnote down binde = $mainMod, Page_Down, exec, /home/dom/.local/bin/volnote down
# binde = $mainMod, Page_Down, exec, /home/dom/.local/bin/volnote down
binde = ,XF86AudioMute, exec, /home/dom/.local/bin/volnote mute
binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
# binde = ,XF86AudioMute, exec, /home/dom/.local/bin/volnote mute
# binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
# binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
binde = ,XF86AudioPlay, exec, /home/dom/.local/bin/volnote toggle binde = ,XF86AudioPlay, exec, /home/dom/.local/bin/volnote toggle
binde = ,XF86AudioStop, exec, playerctl stop binde = ,XF86AudioStop, exec, playerctl stop
binde = ,XF86AudioPrev, exec, playerctl prev binde = ,XF86AudioPrev, exec, playerctl prev
binde = ,XF86AudioNext, exec, playerctl next binde = ,XF86AudioNext, exec, playerctl next
bindr = CAPS, Caps_Lock, exec, /home/dom/.local/bin/capsnote
# OSD (swayosd) # OSD (swayosd)
binde = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise # binde = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
binde = $mainMod, KP_Add, exec, swayosd-client --output-volume raise # binde = $mainMod, KP_Add, exec, swayosd-client --output-volume raise
binde = $mainMod, Page_Up, exec, swayosd-client --output-volume raise # binde = $mainMod, Page_Up, exec, swayosd-client --output-volume raise
binde = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower # binde = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
binde = $mainMod, KP_Subtract, exec, swayosd-client --output-volume lower # binde = $mainMod, KP_Subtract, exec, swayosd-client --output-volume lower
binde = $mainMod, Page_Down, exec, swayosd-client --output-volume lower # binde = $mainMod, Page_Down, exec, swayosd-client --output-volume lower
binde = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle # binde = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise # binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower # binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
bindr = CAPS, Caps_Lock, exec, swayosd --caps-lock # bindr = CAPS, Caps_Lock, exec, swayosd --caps-lock
+2 -4
View File
@@ -1,13 +1,11 @@
# █▀▄ █░█░█ █ █▄░█ █▀▄ █░░ █▀▀
# █▄▀ ▀▄▀▄▀ █ █░▀█ █▄▀ █▄▄ ██▄
dwindle { dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this preserve_split = true # you probably want this
no_gaps_when_only = 0 # monocle layout #no_gaps_when_only = 0 # monocle layout
} }
master { master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true #new_is_master = true
} }
-3
View File
@@ -1,6 +1,3 @@
# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄
misc { misc {
disable_hyprland_logo=true disable_hyprland_logo=true
disable_splash_rendering=false disable_splash_rendering=false
+21 -1
View File
@@ -16,10 +16,30 @@ plugin {
only_active_workspace = 0 # only overview the active workspace only_active_workspace = 0 # only overview the active workspace
only_active_monitor = 0 # only overview the active monitor only_active_monitor = 0 # only overview the active monitor
enable_alt_release_exit = 1 # alt swith mode arg,see readme for detail enable_alt_release_exit = 1 # alt swith mode arg,see readme for detail
alt_replace_key = Alt_L # alt swith mode arg,see readme for detail alt_replace_key = Super_L # alt swith mode arg,see readme for detail
alt_toggle_auto_next = 1 # auto focus next window when toggle overview in alt swith mode alt_toggle_auto_next = 1 # auto focus next window when toggle overview in alt swith mode
click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window. click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window.
hight_of_titlebar = 0 # height deviation of title bar hight hight_of_titlebar = 0 # height deviation of title bar hight
} }
hyprbars {
# example config
bar_height = 30
bar_text_size = 9
# example buttons (R -> L)
# hyprbars-button = color, size, on-click
hyprbars-button = rgb(7f849c), 16, 󰖭, hyprctl dispatch killactive
bar_precedence_over_border = false
}
hyprexpo {
columns = 3
gap_size = 10
bg_col = rgb(111111)
workspace_method = first 1# [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
} }
+64 -25
View File
@@ -1,11 +1,16 @@
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# Example windowrule v1 # Example windowrule v1
# windowrule = float, ^(kitty)$ # windowrule = float, ^(kitty)$
# Example windowrule v2 # Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = noshadow, floating:0
windowrule = dimaround,class:^(polkit)$
windowrule = idleinhibit fullscreen,class:^(.*)$
windowrule = idleinhibit focus, class:mpv
windowrule = idleinhibit focus, class:^(.*celluloid.*)$
# firefox Picture-in-Picture # firefox Picture-in-Picture
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
@@ -23,36 +28,41 @@ windowrule = float,title:^(Choose Files)$
windowrule = float,title:^(Save As)$ windowrule = float,title:^(Save As)$
windowrule = float,title:^(Confirm to replace files)$ windowrule = float,title:^(Confirm to replace files)$
windowrule = float,title:^(Ersetzung bestätigen)$ windowrule = float,title:^(Ersetzung bestätigen)$
windowrule = float,title:^(Kopieren von Dateien)$
windowrule = float,title:^(Anrufe)$ windowrule = float,title:^(Anrufe)$
windowrule = float,title:^(Datei ausführen)$ windowrule = float,title:^(Datei ausführen)$
windowrule = float,title:^(File Operation Progress)$ windowrule = float,title:^(File Operation Progress)$
windowrule = float,title:^(Teilen-Hinweis)$ windowrule = float,title:^(Teilen-Hinweis)$
windowrule = float,title:^(Lxpolkit)$ windowrule = float,title:^(Lxpolkit)$
windowrule = float,title:^(Timeshift-gtk)$ windowrule = float,title:^(Timeshift-gtk)$
windowrule = float,title:^(galculator)$
windowrule = float,title:^(Dateien entpacken)$
windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(sddm-conf)$ windowrulev2 = float,class:^(sddm-conf)$
windowrule = float, mpv windowrule = float, class:mpv
windowrule = float, Vlc windowrule = float, class:Vlc
windowrule = float, file_progress windowrule = float, class:file_progress
windowrule = float, confirm windowrule = float, class:confirm
windowrule = float, dialog windowrule = float, class:dialog
windowrule = float, download windowrule = float, class:download
windowrule = float, notification windowrule = float, class:notification
windowrule = float, error windowrule = float, class:error
windowrule = float, splash windowrule = float, class:splash
windowrule = float, confirmreset windowrule = float, class:confirmreset
windowrule = float, title:Open File windowrule = float, title:Open File
windowrule = float, title:branchdialog windowrule = float, title:branchdialog
windowrule = float, Lxappearance windowrule = float, class:Lxappearance
windowrule = float, Resources windowrule = float, class:Resources
windowrule = float, Rofi windowrule = float, class:Rofi
windowrule = float,viewnior windowrule = float, class:Viewnior
windowrule = float,feh windowrule = float, class:feh
windowrule = float, pavucontrol-qt windowrule = float, class:pavucontrol-qt
windowrule = float, pavucontrol windowrule = float, class:pavucontrol
windowrule = float, file-roller windowrule = float, class:file-roller
windowrule = idleinhibit focus, mpv windowrule = float, class:xarchiver
windowrule = idleinhibit fullscreen, firefox windowrule = float, class:mpv
windowrulev2 = stayfocused, class:^(pinentry-) # fix pinentry losing focus
windowrule = float, title:^(Media viewer)$ windowrule = float, title:^(Media viewer)$
windowrule = float, title:^(Volume Control)$ windowrule = float, title:^(Volume Control)$
@@ -60,23 +70,32 @@ windowrule = float, title:^(BTOP)$
#windowrule = size 1024 768, title:^(BTOP)$ #windowrule = size 1024 768, title:^(BTOP)$
windowrule = center, title:^(BTOP)$ windowrule = center, title:^(BTOP)$
windowrule = float, title:^(sysmontask)$
windowrule = size 1024 768, title:^(sysmontask)$
windowrule = center, title:^(sysmontask)$
windowrule = float, title:^(missioncenter)$
windowrule = size 1024 768, title:^(missioncenter)$
windowrule = center, title:^(missioncenter)$
windowrule = float, title:^(Picture-in-Picture)$ windowrule = float, title:^(Picture-in-Picture)$
windowrule = size 800 600, title:^(Volume Control)$ windowrule = size 800 600, title:^(Volume Control)$
windowrule = move 75 44%, title:^(Volume Control)$ windowrule = move 75 44%, title:^(Volume Control)$
windowrulev2 = opacity 0.3 override 0.3 override 0.3 override,class:^(alacritty-bg)$
windowrulev2 = float,class:^(Conky)$ windowrulev2 = float,class:^(Conky)$
windowrulev2 = nofocus,class:^(Conky)$ windowrulev2 = nofocus,class:^(Conky)$
windowrulev2 = pin,class:^(Conky)$ windowrulev2 = pin,class:^(Conky)$
windowrulev2 = move 100 100,class:^(Conky)$ windowrulev2 = move 100 100,class:^(Conky)$
# Audio Mixer # Audio Mixer
windowrule = float,pavucontrol windowrule = float,class:pavucontrol
windowrule = center,pavucontrol windowrule = center,class:pavucontrol
windowrule = float,title:^(NoiseTorch)$ windowrule = float,title:^(NoiseTorch)$
windowrule = float,title:^(Waydroid)$ windowrule = float,title:^(Waydroid)$
# Nemo File Roller # Nemo File Roller
windowrule = float,file-roller windowrule = float,class:file-roller
windowrule = float,title:(Properties)$ windowrule = float,title:(Properties)$
# VPN Connection Dialog # VPN Connection Dialog
@@ -100,3 +119,23 @@ windowrule = fullscreen,title:^(Default - Wine desktop)$
#layerrule = blur,rofi #layerrule = blur,rofi
#windowrule = blur, title:^(kitty)$ #windowrule = blur, title:^(kitty)$
windowrule = float, title:^(Alacritty)$
windowrule = center, title:^(Alacritty)$
windowrule = float, title:^(kitty)$
windowrule = center, title:^(kitty)$
windowrule = size 800 600, title:^(kitty)
windowrule = float, title:^(FontManager)$
windowrule = center, title:^(FontManager)$
windowrule = float, title:^(Celluloid)$
windowrule = center, title:^(Celluloid)$
layerrule = blur, waybar
layerrule = blur, rofi
layerrule = dimaround, rofi
+2
View File
@@ -1,7 +1,9 @@
general { general {
lock_cmd = hyprlock lock_cmd = hyprlock
unlock_cmd = notify-send "Welcome back!"
before_sleep_cmd = hyprctl dispatch dpms on before_sleep_cmd = hyprctl dispatch dpms on
after_sleep_cmd = hyprctl dispatch dpms off after_sleep_cmd = hyprctl dispatch dpms off
ignore_dbus_inhibit = false
} }
listener { listener {
+2 -9
View File
@@ -1,16 +1,9 @@
# Set programs that you use # Set programs that you use
$terminal = alacritty $terminal = alacritty
$fileManager = pcmanfm
$menu = rofi
#env = XCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = WINDOW_MANAGER,Hyprland
env = XDG_SESSION_TYPE,wayland
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
#env = GTK_THEME,Catppuccin-Mocha-Standard-Lavender-Dark
source = ~/.config/hypr/hl-env.conf
source = ~/.config/hypr/hl-displays.conf source = ~/.config/hypr/hl-displays.conf
source = ~/.config/hypr/hl-autostart.conf source = ~/.config/hypr/hl-autostart.conf
source = ~/.config/hypr/hl-general.conf source = ~/.config/hypr/hl-general.conf
+32 -8
View File
@@ -1,6 +1,9 @@
general { general {
ignore_empty_input = true
hide_cursor = true
grace = 1
font_family = JetBrainsMono Nerd Font
} }
background { background {
@@ -18,31 +21,50 @@ background {
xray = false xray = false
noise = 0.0117 noise = 0.0117
contrast = 0.8916 contrast = 0.8916
brightness = 0.8172 brightness = 0.4172
# vibrancy = 0.1696 # vibrancy = 0.1696
# vibrancy_darkness = 0 # vibrancy_darkness = 0
special = false }
image {
monitor =
path = $HOME/.face
size = 100 # lesser side if not 1:1 ratio
rounding = -1 # negative values mean circle
border_size = 2
border_color = rgba(186, 194, 222, 1)
rotate = 0 # degrees, counter-clockwise
reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2
reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
position = 0, 200
halign = center
valign = center
} }
label { label {
monitor = monitor =
text = $TIME text = cmd[update:1000] echo $TIME
color = rgba(200, 200, 200, 1.0) color = rgba(180, 190, 254, 1.0)
font_size = 25 font_size = 25
font_family = Hack Nerd Font font_family = JetBrainsMono Nerd Font
position = 0, 80 position = 0, 80
halign = center halign = center
valign = center valign = center
shadow_passes = 0
shadow_size = 3
shadow_color = rgb(0,0,0)
shadow_boost = 1.2
} }
input-field { input-field {
monitor = monitor =
size = 200, 50 size = 200, 50
outline_thickness = 3 outline_thickness = 2
dots_size = 0.24 # Scale of input-field height, 0.2 - 0.8 dots_size = 0.24 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.12 # Scale of dots' absolute size, 0.0 - 1.0 dots_spacing = 0.5 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true dots_center = true
outer_color = rgb(313244) outer_color = rgb(313244)
inner_color = rgb(30, 30, 46) inner_color = rgb(30, 30, 46)
@@ -54,4 +76,6 @@ input-field {
position = 0, 0 position = 0, 0
halign = center halign = center
valign = center valign = center
rounding = 0.1
} }
View File
+80
View File
@@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin-Mocha
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #CDD6F4
background #1E1E2E
selection_foreground #1E1E2E
selection_background #F5E0DC
# Cursor colors
cursor #F5E0DC
cursor_text_color #1E1E2E
# URL underline color when hovering with mouse
url_color #F5E0DC
# Kitty window border colors
active_border_color #B4BEFE
inactive_border_color #6C7086
bell_border_color #F9E2AF
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111B
active_tab_background #CBA6F7
inactive_tab_foreground #CDD6F4
inactive_tab_background #181825
tab_bar_background #11111B
# Colors for marks (marked text in the terminal)
mark1_foreground #1E1E2E
mark1_background #B4BEFE
mark2_foreground #1E1E2E
mark2_background #CBA6F7
mark3_foreground #1E1E2E
mark3_background #74C7EC
# The 16 terminal colors
# black
color0 #45475A
color8 #585B70
# red
color1 #F38BA8
color9 #F38BA8
# green
color2 #A6E3A1
color10 #A6E3A1
# yellow
color3 #F9E2AF
color11 #F9E2AF
# blue
color4 #89B4FA
color12 #89B4FA
# magenta
color5 #F5C2E7
color13 #F5C2E7
# cyan
color6 #94E2D5
color14 #94E2D5
# white
color7 #BAC2DE
color15 #A6ADC8
+2
View File
@@ -3,6 +3,8 @@
# - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192 # - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192
# - https://github.com/arcticicestudio/nord-hyper # - https://github.com/arcticicestudio/nord-hyper
background_opacity 0.9 background_opacity 0.9
foreground #D8DEE9 foreground #D8DEE9
background #24273a background #24273a
+68
View File
@@ -0,0 +1,68 @@
# https://draculatheme.com/kitty
#
# Installation instructions:
#
# cp dracula.conf ~/.config/kitty/
# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf
#
# Then reload kitty for the config to take affect.
# Alternatively copy paste below directly into kitty.conf
background_opacity 0.9
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a
url_color #8be9fd
# black
color0 #21222c
color8 #6272a4
# red
color1 #ff5555
color9 #ff6e6e
# green
color2 #50fa7b
color10 #69ff94
# yellow
color3 #f1fa8c
color11 #ffffa5
# blue
color4 #bd93f9
color12 #d6acff
# magenta
color5 #ff79c6
color13 #ff92df
# cyan
color6 #8be9fd
color14 #a4ffff
# white
color7 #f8f8f2
color15 #ffffff
# Cursor colors
cursor #f8f8f2
cursor_text_color background
# Tab bar colors
active_tab_foreground #282a36
active_tab_background #f8f8f2
inactive_tab_foreground #282a36
inactive_tab_background #6272a4
# Marks
mark1_foreground #282a36
mark1_background #ff5555
# Splits/Windows
active_border_color #f8f8f2
inactive_border_color #6272a4
+23 -9
View File
@@ -1,15 +1,15 @@
font_family Hack Nerd Font # font_family JetBrainsMono Nerd Font
bold_font auto # bold_font auto
italic_font auto # italic_font auto
bold_italic_font auto # bold_italic_font auto
font_size 10.0 font_size 10.0
disable_ligatures never disable_ligatures cursor
cursor_shape beam cursor_shape beam
enable_audio_bell no enable_audio_bell no
window_padding_width 10 10 #window_padding_width 10 10
open_url_with firefox open_url_with firefox
@@ -24,12 +24,13 @@ tab_title_template " {index}: {title[title.rfind('/')+1:]}"
editor nvim editor nvim
set-window-title "kitty"
sync_to_monitor yes sync_to_monitor yes
background_opacity 0.8
include ./custom.conf allow_remote_control yes
#include ./custom.conf
# Key mapping # Key mapping
@@ -88,3 +89,16 @@ map ctrl+shift+, move_tab_backward
map ctrl+shift+up increase_font_size map ctrl+shift+up increase_font_size
map ctrl+shift+down decrease_font_size map ctrl+shift+down decrease_font_size
map ctrl+shift+backspace restore_font_size map ctrl+shift+backspace restore_font_size
# BEGIN_KITTY_FONTS
font_family family="JetBrainsMono Nerd Font Mono"
bold_font auto
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS
# BEGIN_KITTY_THEME
# Catppuccin-Mocha
include current-theme.conf
# END_KITTY_THEME
+94
View File
@@ -0,0 +1,94 @@
# font_family JetBrainsMono Nerd Font
# bold_font auto
# italic_font auto
# bold_italic_font auto
font_size 10.0
disable_ligatures cursor
cursor_shape beam
enable_audio_bell no
window_padding_width 10 10
open_url_with firefox
copy_on_select true
update_check_interval 0
confirm_os_window_close 0
tab_bar_style separator
tab_title_template " {index}: {title[title.rfind('/')+1:]}"
editor nvim
sync_to_monitor yes
#include ./custom.conf
# Key mapping
# For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html
# For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
# You can use the special action no_op to unmap a keyboard shortcut that is
# assigned in the default configuration.
# Clipboard
map super+v paste_from_clipboard
map ctrl+shift+s paste_from_selection
map super+c copy_to_clipboard
map shift+insert paste_from_selection
# Scrolling
map ctrl+shift+up scroll_line_up
map ctrl+shift+down scroll_line_down
map ctrl+shift+k scroll_line_up
map ctrl+shift+j scroll_line_down
map ctrl+shift+page_up scroll_page_up
map ctrl+shift+page_down scroll_page_down
map ctrl+shift+home scroll_home
map ctrl+shift+end scroll_end
map ctrl+shift+h show_scrollback
# Window management
map super+n new_os_window
map super+w close_window
map ctrl+shift+enter new_window
map ctrl+shift+] next_window
map ctrl+shift+[ previous_window
map ctrl+shift+f move_window_forward
map ctrl+shift+b move_window_backward
map ctrl+shift+` move_window_to_top
map ctrl+shift+1 first_window
map ctrl+shift+2 second_window
map ctrl+shift+3 third_window
map ctrl+shift+4 fourth_window
map ctrl+shift+5 fifth_window
map ctrl+shift+6 sixth_window
map ctrl+shift+7 seventh_window
map ctrl+shift+8 eighth_window
map ctrl+shift+9 ninth_window
map ctrl+shift+0 tenth_window
# Tab management
map ctrl+shift+right next_tab
map ctrl+shift+left previous_tab
map ctrl+shift+t new_tab
map ctrl+shift+q close_tab
map ctrl+shift+l next_layout
map ctrl+shift+. move_tab_forward
map ctrl+shift+, move_tab_backward
# Miscellaneous
map ctrl+shift+up increase_font_size
map ctrl+shift+down decrease_font_size
map ctrl+shift+backspace restore_font_size
# BEGIN_KITTY_FONTS
font_family family="JetBrainsMono Nerd Font Mono"
bold_font auto
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS
+44
View File
@@ -0,0 +1,44 @@
# Nord Colorscheme for Kitty
# Based on:
# - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192
# - https://github.com/arcticicestudio/nord-hyper
background_opacity 0.9
foreground #D8DEE9
background #2E3440
selection_foreground #000000
selection_background #FFFACD
url_color #0087BD
cursor #81A1C1
# black
color0 #3B4252
color8 #4C566A
# red
color1 #BF616A
color9 #BF616A
# green
color2 #A3BE8C
color10 #A3BE8C
# yellow
color3 #EBCB8B
color11 #EBCB8B
# blue
color4 #81A1C1
color12 #81A1C1
# magenta
color5 #B48EAD
color13 #B48EAD
# cyan
color6 #88C0D0
color14 #8FBCBB
# white
color7 #E5E9F0
color15 #ECEFF4
+7
View File
@@ -1,3 +1,10 @@
blocks:
- permission
- user
- group
- size
- date
- name
permission: octal permission: octal
total-size: true total-size: true
date: '+%d.%m.%Y %X' date: '+%d.%m.%Y %X'
+28 -58
View File
@@ -1,54 +1,26 @@
# See this wiki page for more info: # See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
#
# Colour config is here and in .zshrc
#
print_info() { print_info() {
info title info title
info underline info underline
prin "$(color 12)╭──────────── $(color 10)Software$(color 12) ────────────" info "OS" distro
info "$(color 12)│ $(color 14)OS" distro info "Host" model
info "$(color 12)│ $(color 14)Kernel" kernel info "Kernel" kernel
info "$(color 12)│ $(color 14)Packages" packages info "Uptime" uptime
info "$(color 12)│ $(color 14)Shell" shell info "Packages" packages
info "$(color 12)│ $(color 14)DE" de info "Shell" shell
info "$(color 12)│ $(color 14)WM" wm info "Resolution" resolution
info "$(color 12)│ $(color 14)Terminal" term info "DE" de
info "$(color 12)│ $(color 14)Local IP" local_ip info "WM" wm
info "$(color 12)│ $(color 14)Locale" locale info "WM Theme" wm_theme
prin "$(color 12)├──────────── $(color 10)Hardware$(color 12) ────────────" info "Theme" theme
info "$(color 12)│ $(color 14)Host" model info "Icons" icons
info "$(color 12)│ $(color 14)CPU" cpu info "Terminal" term
info "$(color 12)│ $(color 14)GPU" gpu info "Terminal Font" term_font
info "$(color 12)│ $(color 14)Memory" memory info "CPU" cpu
info "$(color 12)│ $(color 14)Disk" disk info "GPU" gpu
prin "$(color 12)├───────────── $(color 10)Uptime$(color 12) ─────────────" info "Memory" memory
info "$(color 12)│" uptime
prin "$(color 12)╰──────────────────────────────────"
prin "$(color 02) MonArchOS v1.0.0"
info cols
# Defaults
# info "OS" distro
# info "Host" model
# info "Kernel" kernel
# info "Uptime" uptime
# info "Packages" packages
# info "Shell" shell
# info "Resolution" resolution
# info "DE" de
# info "WM" wm
# info "WM Theme" wm_theme
# info "Theme" theme
# info "Icons" icons
# info "Terminal" term
# info "Terminal Font" term_font
# info "CPU" cpu
# info "GPU" gpu
# info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only # info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage # info "CPU Usage" cpu_usage
@@ -62,8 +34,7 @@ print_info() {
# info "Users" users # info "Users" users
# info "Locale" locale # This only works on glibc systems. # info "Locale" locale # This only works on glibc systems.
# info cols info cols
} }
# Title # Title
@@ -90,7 +61,7 @@ title_fqdn="off"
# Example: # Example:
# on: '4.8.9-1-ARCH' # on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH' # off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="off" kernel_shorthand="on"
# Distro # Distro
@@ -130,7 +101,7 @@ os_arch="on"
# on: '2 days, 10 hours, 3 mins' # on: '2 days, 10 hours, 3 mins'
# tiny: '2d 10h 3m' # tiny: '2d 10h 3m'
# off: '2 days, 10 hours, 3 minutes' # off: '2 days, 10 hours, 3 minutes'
uptime_shorthand="off" uptime_shorthand="on"
# Memory # Memory
@@ -224,7 +195,7 @@ speed_type="bios_limit"
# Example: # Example:
# on: 'i7-6500U (4) @ 3.1GHz' # on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz' # off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="on" speed_shorthand="off"
# Enable/Disable CPU brand in output. # Enable/Disable CPU brand in output.
# #
@@ -327,7 +298,7 @@ gpu_type="all"
# Example: # Example:
# on: '1920x1080 @ 60Hz' # on: '1920x1080 @ 60Hz'
# off: '1920x1080' # off: '1920x1080'
refresh_rate="on" refresh_rate="off"
# Gtk Theme / Icons / Font # Gtk Theme / Icons / Font
@@ -342,7 +313,7 @@ refresh_rate="on"
# Example: # Example:
# on: 'Numix, Adwaita' # on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]' # off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="on" gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font # Enable/Disable gtk2 Theme / Icons / Font
@@ -416,7 +387,7 @@ de_version="on"
# disk_show=('/'): # disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)' # 'Disk (/): 74G / 118G (66%)'
# #
disk_show=('/' '/mnt/Storage') disk_show=('/')
# Disk subtitle. # Disk subtitle.
# What to append to the Disk subtitle. # What to append to the Disk subtitle.
@@ -440,7 +411,7 @@ disk_show=('/' '/mnt/Storage')
# none: 'Disk: 74G / 118G (66%)' # none: 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)'
disk_subtitle="dir" disk_subtitle="mount"
# Disk percent. # Disk percent.
# Show/Hide disk percent. # Show/Hide disk percent.
@@ -517,7 +488,7 @@ music_player="auto"
# #
# Example: # Example:
# default: 'Song: Jet - Get Born - Sgt Major' # default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %title%" song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines # Print the Artist, Album and Title on separate lines
# #
@@ -580,7 +551,7 @@ underline_enabled="on"
# Default: '-' # Default: '-'
# Values: 'string' # Values: 'string'
# Flag: --underline_char # Flag: --underline_char
underline_char="¨" underline_char="-"
# Info Separator # Info Separator
@@ -592,7 +563,7 @@ underline_char="¨"
# Example: # Example:
# separator="->": 'Shell-> bash' # separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm' # separator=" =": 'WM = dwm'
separator="" separator=":"
# Color Blocks # Color Blocks
@@ -891,4 +862,3 @@ background_color=
# Default: 'off' # Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
stdout="off" stdout="off"
+643
View File
@@ -0,0 +1,643 @@
// https://yalter.github.io/niri/Configuration:-Introduction
cursor {
xcursor-theme "Sweet-cursors"
hide-when-typing
hide-after-inactive-ms 1000
}
// https://yalter.github.io/niri/Configuration:-Input
input {
mod-key "Super"
keyboard {
xkb {
// You can set rules, model, layout, variant and options.
// For more information, see xkeyboard-config(7).
// For example:
// layout "de"
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
// If this section is empty, niri will fetch xkb settings
// from org.freedesktop.locale1. You can control these using
// localectl set-x11-keymap.
}
// Enable numlock on startup, omitting this setting disables it.
numlock
}
// Next sections include libinput settings.
// Omitting settings disables them, or leaves them at their default values.
// All commented-out settings here are examples, not defaults.
touchpad {
off
tap
// dwta
// dwtp
// drag false
// drag-lock
natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "two-finger"
// disabled-on-external-mouse
}
mouse {
// off
// natural-scroll
// accel-speed 0.2
accel-profile "flat"
// scroll-method "no-scroll"
}
trackpoint {
off
// natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "on-button-down"
// scroll-button 273
// scroll-button-lock
// middle-emulation
}
// Uncomment this to make the mouse warp to the center of newly focused windows.
// warp-mouse-to-focus
// Focus windows and outputs automatically when moving the mouse into them.
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
focus-follows-mouse max-scroll-amount="0%"
}
// You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
/-output "eDP-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080@120.030"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 2
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=1280 y=0
}
output "HDMI-A-1" {
mode "2560x1440@119.998"
}
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Layout
layout {
// Set gaps around windows in logical pixels.
gaps 8
// When to center a column when changing focus, options are:
// - "never", default behavior, focusing an off-screen column will keep at the left
// or right edge of the screen.
// - "always", the focused column will always be centered.
// - "on-overflow", focusing a column will center it if it doesn't fit
// together with the previously focused column.
center-focused-column "never"
// always-center-single-column
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
preset-column-widths {
// Proportion sets the width as a fraction of the output width, taking gaps into account.
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
proportion 0.33333
proportion 0.5
proportion 0.66667
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
// You can change the default width of the new windows.
default-column-width { proportion 0.5; }
// If you leave the brackets empty, the windows themselves will decide their initial width.
// default-column-width {}
// By default focus ring and border are rendered as a solid background rectangle
// behind windows. That is, they will show up through semitransparent windows.
// This is because windows using client-side decorations can have an arbitrary shape.
//
// If you don't like that, you should uncomment `prefer-no-csd` below.
// Niri will draw focus ring and border *around* windows that agree to omit their
// client-side decorations.
//
// Alternatively, you can override it with a window rule called
// `draw-border-with-background`.
// You can change how the focus ring looks.
focus-ring {
// Uncomment this line to disable the focus ring.
// off
// How many logical pixels the ring extends out from the windows.
width 1
// Colors can be set in a variety of ways:
// - CSS named colors: "red"
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
// Color of the ring on the active monitor.
active-color "#7f849c80"
// Color of the ring on inactive monitors.
//
// The focus ring only draws around the active window, so the only place
// where you can see its inactive-color is on other monitors.
inactive-color "#1e1e2e80"
// You can also use gradients. They take precedence over solid colors.
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
// The angle is the same as in linear-gradient, and is optional,
// defaulting to 180 (top-to-bottom gradient).
// You can use any CSS linear-gradient tool on the web to set these up.
// Changing the color space is also supported, check the wiki for more info.
//
// active-gradient from="#80c8ff" to="#c7ff7f" angle=45
// You can also color the gradient relative to the entire view
// of the workspace, rather than relative to just the window itself.
// To do that, set relative-to="workspace-view".
//
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
}
// You can also add a border. It's similar to the focus ring, but always visible.
border {
// The settings are the same as for the focus ring.
// If you enable the border, you probably want to disable the focus ring.
off
width 2
active-color "#ffc87f"
inactive-color "#505050"
// Color of the border around windows that request your attention.
urgent-color "#9b0000"
// Gradients can use a few different interpolation color spaces.
// For example, this is a pastel rainbow gradient via in="oklch longer hue".
//
// active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
}
// You can enable drop shadows for windows.
shadow {
// Uncomment the next line to enable shadows.
// on
// By default, the shadow draws only around its window, and not behind it.
// Uncomment this setting to make the shadow draw behind its window.
//
// Note that niri has no way of knowing about the CSD window corner
// radius. It has to assume that windows have square corners, leading to
// shadow artifacts inside the CSD rounded corners. This setting fixes
// those artifacts.
//
// However, instead you may want to set prefer-no-csd and/or
// geometry-corner-radius. Then, niri will know the corner radius and
// draw the shadow correctly, without having to draw it behind the
// window. These will also remove client-side shadows if the window
// draws any.
//
// draw-behind-window true
// You can change how shadows look. The values below are in logical
// pixels and match the CSS box-shadow properties.
// Softness controls the shadow blur radius.
softness 30
// Spread expands the shadow.
spread 2
// Offset moves the shadow relative to the window.
offset x=0 y=5
// You can also change the shadow color and opacity.
color "#0007"
}
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
// You can think of them as a kind of outer gaps. They are set in logical pixels.
// Left and right struts will cause the next window to the side to always be visible.
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
// layer-shell panels and regular gaps.
struts {
// left 64
// right 64
// top 64
// bottom 64
}
}
// Add lines like this to spawn processes at startup.
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
spawn-at-startup "waybar"
spawn-at-startup "xwayland-satellite"
spawn-at-startup "dunst"
spawn-sh-at-startup "waypaper --restore"
spawn-sh-at-startup "foot --server"
spawn-sh-at-startup "wl-paste --watch cliphist store"
spawn-sh-at-startup "wl-paste --type image --watch cliphist store"
spawn-at-startup "niri-switch-daemon"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
hotkey-overlay {
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
// skip-at-startup
hide-not-bound
}
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
// If the client will specifically ask for CSD, the request will be honored.
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
// This option will also fix border/focus ring drawing behind some semitransparent windows.
// After enabling or disabling this, you need to restart the apps for this to take effect.
prefer-no-csd
// You can change the path where screenshots are saved.
// 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.
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
// You can also set this to null to disable saving screenshots to disk.
// screenshot-path null
// Animation settings.
// The wiki explains how to configure individual animations:
// https://yalter.github.io/niri/Configuration:-Animations
animations {
// Uncomment to turn off all animations.
// off
// Slow down all animations by this factor. Values below 1 speed them up instead.
// slowdown 3.0
}
// Window rules let you adjust behavior for individual windows.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Window-Rules
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule {
// This regular expression is intentionally made as specific as possible,
// since this is the default config, and we want no false positives.
// You can get away with just app-id="wezterm" if you want.
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
// This app-id regular expression will work for both:
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true
}
// Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
match app-id=r#"^org\.gnome\.World\.Secrets$"#
block-out-from "screen-capture"
// Use this instead if you want them visible on third-party screenshot tools.
// block-out-from "screencast"
}
// Example: enable rounded corners for all windows.
// (This example rule is commented out with a "/-" in front.)
window-rule {
geometry-corner-radius 4
clip-to-geometry true
}
binds {
// 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
// like wev.
//
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
// when running as a winit window.
//
// Most actions that you can bind here can also be invoked programmatically with
// `niri msg action do-something`.
// Mod-Shift-/, which is usually the same as Mod-?,
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
Mod+C hotkey-overlay-title=null { spawn-sh "cliphist list | rofi -dmenu | cliphist decode | wl-copy"; }
Alt+W { spawn-sh "killall waybar && waybar &"; }
Mod+A { spawn-sh "pkill rofi || ~/.config/rofi/volume/volume.sh"; }
Mod+E { spawn-sh "xdg-open ~"; }
Mod+T { spawn-sh "pkill rofi || rofi -show fb -modes \"fb:~/.config/rofi/settings-menu/setmen.sh\" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi"; }
Mod+Tab { spawn "niri-switch"; }
Mod+Shift+Tab { spawn "niri-switch" "--previous"; }
Mod+Return hotkey-overlay-title="Open a Terminal: foot" { spawn "foot"; }
Mod+Space hotkey-overlay-title="Run an Application: rofi" { spawn-sh "pkill rofi || ~/.config/rofi/launcher/launcher.sh"; }
Mod+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn-sh "wlogout -P 1 -s -r 10 -c 10"; }
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
// For example, this is a standard bind to toggle the screen reader (orca).
// Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
// Using spawn-sh allows to pass multiple arguments together with the command.
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
// Example brightness key mappings for brightnessctl.
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
// but you need to manually put each argument in separate "" quotes.
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
// Open/close the Overview: a zoomed-out view of workspaces and windows.
// You can also move the mouse into the top-left hot corner,
// or do a four-finger swipe up on a touchpad.
Mod+O repeat=false { toggle-overview; }
// Mod+Tab repeat=false { toggle-overview; }
Mod+Q repeat=false { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+Left { move-column-left; }
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
// Alternative commands that move across workspaces when reaching
// the first or last window in a column.
// Mod+J { focus-window-or-workspace-down; }
// Mod+K { focus-window-or-workspace-up; }
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
Mod+Ctrl+Home { move-column-to-first; }
Mod+Ctrl+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// Alternatively, there are commands to move just a single window:
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
// ...
// And you can also move a whole workspace to another monitor:
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
// ...
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; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
// ...
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.
// These binds will change direction based on the natural-scroll setting.
//
// To avoid scrolling through workspaces really fast, you can use
// 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.
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
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; }
Mod+Ctrl+WheelScrollRight { move-column-right; }
Mod+Ctrl+WheelScrollLeft { move-column-left; }
// Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that.
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
// Similarly, you can bind touchpad scroll "ticks".
// Touchpad scrolling is continuous, so for these binds it is split into
// discrete intervals.
// These binds are also affected by touchpad's natural-scroll, so these
// example binds are "inverted", since we have natural-scroll enabled for
// touchpads by default.
// Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
// Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
// You can refer to workspaces by index. However, keep in mind that
// niri is a dynamic workspace system, so these commands are kind of
// "best effort". Trying to refer to a workspace index bigger than
// the current workspace count will instead refer to the bottommost
// (empty) workspace.
//
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
// will all refer to the 3rd workspace.
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
// Switches focus between the current and the previous workspace.
// Mod+Tab { focus-workspace-previous; }
// 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 already in a column, they will expel it out.
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
// Consume one window from the right to the bottom of the focused column.
Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
// Cycling through the presets in reverse order is also possible.
// Mod+R { switch-preset-column-width-back; }
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.
// Makes the column "fill the rest of the space".
Mod+Ctrl+F { expand-column-to-available-width; }
// Mod+C { center-column; }
// Center all fully visible columns on screen.
Mod+Ctrl+C { center-visible-columns; }
// Finer width adjustments.
// This command can also:
// * set width in pixels: "1000"
// * adjust width in pixels: "-5" or "+5"
// * set width as a percentage of screen width: "25%"
// * 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,
// set-column-width "100" will make the column occupy 200 physical screen pixels.
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
// Finer height adjustments when in column with other windows.
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
Mod+V { toggle-window-floating; }
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
// Toggle tabbed column display mode.
// Windows in this column will appear as vertical tabs,
// rather than stacked on top of each other.
Mod+W { toggle-column-tabbed-display; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
// a matching layout switch hotkey configured in xkb options above.
// Having both at once on the same hotkey will break the switching,
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
// Mod+Space { switch-layout "next"; }
// Mod+Shift+Space { switch-layout "prev"; }
Print { screenshot; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
// Applications such as remote-desktop clients and software KVM switches may
// 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.
// It's a good idea to bind an escape hatch to toggle the inhibitor,
// so a buggy application can't hold your session hostage.
//
// 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.
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key.
Mod+Shift+P { power-off-monitors; }
}
+464
View File
@@ -0,0 +1,464 @@
;==========================================================
;
; THIS IS AN EXAMPLE CONFIGURATION FILE!
; IT IS NOT SUPPOSED TO WORK OUT OF THE BOX SINCE IS CONTAINS
; SETTINGS THAT ARE SPECIFIC TO THE MACHINE WHICH WAS USED
; TO GENERATE IT.
; Please refer to the web documentation hosted at:
; https://github.com/polybar/polybar#configuration
; and
; https://github.com/polybar/polybar/wiki/Configuration
; if you want to automatically generate one for you.
;
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/leftmon]
bottom = false
monitor = ${env:MONITOR:DP-3}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = FiraCode Nerd font:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
modules-left = bspwm xwindow
modules-center =
modules-right = alsa pulseaudio wlan date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
; Only show workspaced on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 2
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
; Separator in between workspaces
; label-separator = |
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp6s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp9s0
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/alsa]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <animation-discharging> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-foreground = ${colors.foreground-alt}
animation-discharging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[bar/rightmon]
bottom = false
monitor = ${env:MONITOR:DP-3}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = FiraCode Nerd font:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
modules-left = bspwm xwindow
modules-center =
modules-right = alsa pulseaudio wlan date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini
+3 -3
View File
@@ -17,10 +17,10 @@ scroll-down = prev
enable-ipc = true enable-ipc = true
background = ${colors.bg} background = ${colors.bg}
foreground = ${colors.fg} foreground = ${colors.fg}
font-0 = "Hack Nerd Font:style=Bold:size=10;2" font-0 = "JetBrainsMono Nerd Font:style=Bold:size=10;2"
font-1 = "MonarchOS:size=11;2" font-1 = "MonarchOS:size=11;2"
font-2 = "Hack Nerd Font:style=Regular:size=11;2" font-2 = "JetBrainsMono Nerd Font:style=Regular:size=11;2"
font-3 = "Hack Nerd Font:style=Regular:size=20;5" font-3 = "JetBrainsMono Nerd Font:style=Regular:size=20;5"
radius = 0 radius = 0
tray-position = none tray-position = none
tray-padding = 5 tray-padding = 5
@@ -1,6 +1,9 @@
@import "../config.rasi" @import "../config.rasi"
@import "../colors.rasi" @import "../colors.rasi"
window {
width: 800px;
}
listview { listview {
columns: 1; columns: 1;
-15
View File
@@ -1,15 +0,0 @@
/**
* @author Dominik Kressler
* @package rofi-archer
* @version 1.0.0
**/
* {
background: #4c4f69;
background-alt: #404552;
foreground: #acb0d0;
selected: #4c566a;
border: #313244;
active: #98C37988;
urgent: #E06C75FF;
}
+16 -16
View File
@@ -6,13 +6,13 @@
* { * {
background: #1e1e2e; background: #1e1e2e;
background-alt: #ffffff80; background-alt: #eff1f580;
foreground: #ffffff; foreground: #eff1f5;
selected: #4c566a; selected: #4c566a;
border: #ffffff; border: #eff1f5;
active: #98C37988; active: #98C37988;
urgent: var(error-color); urgent: var(error-color);
@@ -34,8 +34,8 @@
blue: #89b4fa; blue: #89b4fa;
lavender: #b4befe; lavender: #b4befe;
text: #ffffff; text: #eff1f5;
subtext1: #ffffff80; subtext1: #eff1f580;
subtext0: #a6adc8; subtext0: #a6adc8;
overlay0: #6c7086; overlay0: #6c7086;
@@ -53,8 +53,8 @@
/* GTK THEME VARS*/ /* GTK THEME VARS*/
theme-fg-color: #ffffff; theme-fg-color: #eff1f5;
theme-text-color: #ffffff; theme-text-color: #eff1f5;
theme-bg-color: #1e1e2e; theme-bg-color: #1e1e2e;
theme-base-color: #1e1e2e; theme-base-color: #1e1e2e;
@@ -63,20 +63,20 @@
theme-bg-color-shade-3: #1e1e2eC9; theme-bg-color-shade-3: #1e1e2eC9;
theme-selected-bg-color: #b4befe; theme-selected-bg-color: #b4befe;
theme-selected-fg-color: #000000; theme-selected-fg-color: #11111b;
theme-unfocused-fg-color: #ffffff; theme-unfocused-fg-color: #eff1f5;
theme-unfocused-text-color: #ffffff; theme-unfocused-text-color: #eff1f5;
theme-unfocused-bg-color: #1e1e2e; theme-unfocused-bg-color: #1e1e2e;
theme-unfocused-base-color: #1e1e2e; theme-unfocused-base-color: #1e1e2e;
theme-unfocused-selected-bg-color: #b4befe; theme-unfocused-selected-bg-color: #b4befe;
theme-unfocused-selected-fg-color: #000000; theme-unfocused-selected-fg-color: #11111b;
unfocused-insensitive-color: #ffffff; unfocused-insensitive-color: #eff1f5;
borders: #b4befe30; borders: #b4befe30;
unfocused-borders: #ffffff; unfocused-borders: #eff1f5;
warning-color: #fbc02d; warning-color: #f9e2af;
error-color: #f44336; error-color: #f38ba8;
success-color: #66bb6a; success-color: #a6e3a1;
} }
+22 -20
View File
@@ -22,6 +22,7 @@ configuration {
sidebar-mode: true; sidebar-mode: true;
threads: 0; threads: 0;
scroll-method: 0; scroll-method: 0;
ssh-command: "sshfs_connect {host}";
} }
/*****----- Global Properties -----*****/ /*****----- Global Properties -----*****/
@@ -51,9 +52,9 @@ configuration {
alternate-active-background: var(active); alternate-active-background: var(active);
alternate-active-foreground: var(background); alternate-active-foreground: var(background);
font: "Hack Nerd Font 10"; font: "JetBrainsMono Nerd Font 11";
border-radius: 10px; border-radius: 4px;
frame-border: 2px solid; frame-border: 1px solid;
} }
@@ -79,7 +80,7 @@ window {
border-color: var(borders); border-color: var(borders);
cursor: "default"; cursor: "default";
background-color: @theme-bg-color; background-color: @theme-bg-color-shade-3;
} }
@@ -183,7 +184,7 @@ listview {
scrollbar { scrollbar {
handle-width: 5px; handle-width: 5px;
handle-color: @handle-colour; handle-color: @handle-colour;
border-radius: 10px; border-radius: var(border-radius);
background-color: transparent; background-color: transparent;
} }
@@ -194,7 +195,7 @@ element {
margin: 0px; margin: 0px;
padding: 5px 10px; padding: 5px 10px;
border: 0px solid; border: 0px solid;
border-radius: 10px; border-radius: var(border-radius);
border-color: @borders; border-color: @borders;
background-color: transparent; background-color: transparent;
text-color: var(theme-text-color); text-color: var(theme-text-color);
@@ -212,19 +213,19 @@ element normal.urgent {
} }
element normal.active { element normal.active {
background-color: var(normal-foreground); background-color: var(normal-foreground);
text-color: var(normal-background); text-color: var(theme-bg-color-shade-1);
} }
element selected.normal { element selected.normal {
background-color: var(theme-selected-bg-color); background-color: var(theme-selected-fg-color);
text-color: var(theme-selected-fg-color); text-color: var(theme-selected-bg-color);
} }
element selected.urgent { element selected.urgent {
background-color: var(theme-selected-bg-color); background-color: var(theme-bg-color-shade-1);
text-color: var(normal-background); text-color: var(theme-text-color);
} }
element selected.active { element selected.active {
background-color: var(error-color); background-color: var(error-color);
text-color: var(normal-background); text-color: var(theme-text-color);
} }
element-icon { element-icon {
@@ -257,15 +258,15 @@ mode-switcher{
button { button {
padding: 2px 14px 2px 9px; padding: 2px 14px 2px 9px;
border: 0px solid; border: 0px solid;
border-radius: 10px; border-radius: var(border-radius);
border-color: @borders; border-color: @borders;
background-color: @theme-selected-bg-color; background-color: @theme-bg-color-shade-1;
text-color: var(theme-base-color); text-color: var(theme-selected-bg-color);
cursor: pointer; cursor: pointer;
} }
button selected { button selected {
background-color: var(selected-normal-background); background-color: var(theme-selected-fg-color);
text-color: var(selected-normal-foreground); text-color: var(theme-selected-bg-color);
} }
/*****----- Message -----*****/ /*****----- Message -----*****/
@@ -282,10 +283,11 @@ message {
textbox { textbox {
padding: 30px 10px 0 10px; padding: 30px 10px 0 10px;
border: 0px solid; border: 0px solid;
border-radius: 10px 10px 0 0; /*border-radius: 10px 10px 0 0;*/
border-radius: 0 0 0 0;
border-color: @borders; border-color: @borders;
background-color: transparent; background-color: transparent;
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
text-color: var(theme-text-color); text-color: var(theme-text-color);
horizontal-align: 0.5; horizontal-align: 0.5;
highlight: none; highlight: none;
@@ -296,7 +298,7 @@ textbox {
error-message { error-message {
padding: 10px; padding: 10px;
border: 2px solid; border: 2px solid;
border-radius: 10px; border-radius: var(border-radius);
border-color: @borders; border-color: @borders;
background-color: @background; background-color: @background;
text-color: var(theme-text-color); text-color: var(theme-text-color);
+1 -1
View File
@@ -1 +1 @@
GTK_THEME=Catppuccin-Mocha-Standard-Lavender-Dark GTK_THEME=catppuccin-mocha-lavender-standard+default
+1
View File
@@ -35,4 +35,5 @@ esac
## Run ## Run
rofi \ rofi \
-show $showmode \ -show $showmode \
-click-to-exit \
-theme ~/.config/rofi/launcher/launcher.rasi -theme ~/.config/rofi/launcher/launcher.rasi
+3 -6
View File
@@ -54,14 +54,11 @@ function toggle_vpn_connection() {
if [[ $result = ${ACTIVE_PREFIX}* ]]; then if [[ $result = ${ACTIVE_PREFIX}* ]]; then
feedback=$(nmcli connection down "$connection") feedback=$(nmcli connection down "$connection")
dunstify "VPN Status '$connection'" "$feedback" --replace=553 notify-send "VPN Status '$connection'" "$feedback"
# hyprctl notify 1 5000 0 " VPN Status '$connection' "
else else
kitty --class "kitty-vpn" --title "VPN Connection" nmcli connection --ask up "$connection" alacritty --class "vpn-prompt" --title "VPN Connection" -e nmcli connection --ask up "$connection"
#feedback=$(nmcli connection up "$connection") #feedback=$(nmcli connection up "$connection")
dunstify "VPN Status '$connection'" "" --replace=553 notify-send "VPN Status '$connection'" "Trying to connect"
#hyprctl notify 1 5000 0 " VPN Status '$connection' "
fi fi
} }
+2 -2
View File
@@ -30,7 +30,7 @@ textbox {
placeholder-color: var(theme-text-color); placeholder-color: var(theme-text-color);
font: "Hack Nerd Font Bold 12"; font: "JetBrainsMono Nerd Font Bold 12";
} }
error-message { error-message {
padding: 12px; padding: 12px;
@@ -64,7 +64,7 @@ element-text {
cursor: inherit; cursor: inherit;
horizontal-align: 0.5; horizontal-align: 0.5;
vertical-align:0; vertical-align:0;
font: "Hack Nerd Font 18"; font: "JetBrainsMono Nerd Font 18";
} }
element selected.normal { element selected.normal {
@@ -55,7 +55,7 @@ textbox-prompt-colon {
background-color: var(theme-selected-bg-color); background-color: var(theme-selected-bg-color);
text-color: @theme-selected-fg-color; text-color: @theme-selected-fg-color;
vertical-align: 0.5; vertical-align: 0.5;
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
} }
prompt { prompt {
enabled: true; enabled: true;
@@ -64,7 +64,7 @@ prompt {
background-color: var(theme-text-color); background-color: var(theme-text-color);
text-color: var(theme-bg-color); text-color: var(theme-bg-color);
vertical-align: 0.5; vertical-align: 0.5;
font: "Hack Nerd Font 9"; font: "JetBrainsMono Nerd Font 9";
} }
dummy { dummy {
@@ -104,7 +104,7 @@ element {
cursor: "pointer"; cursor: "pointer";
} }
element-text { element-text {
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
background-color: transparent; background-color: transparent;
text-color: var(text); text-color: var(text);
cursor: inherit; cursor: inherit;
+25 -42
View File
@@ -2,67 +2,49 @@ configuration {
show-icons: false; show-icons: false;
} }
@import "../colors.rasi" @import "../config.rasi"
window { window {
transparency: "real"; fullscreen: true;
location: center; border: none;
anchor: center; border-radius: 0;
fullscreen: false;
x-offset: 0px;
y-offset: 60px;
width: 635px;
border: 2px solid;
border-radius: 10px;
border-color: var(borders);
cursor: "default";
background-color: var(theme-bg-color);
} }
mainbox { mainbox {
enabled: true; enabled: true;
spacing: 15px; spacing: 15px;
margin: 0px; margin: 0px;
padding: 30px; padding: 200px;
border: 0px solid;
border-radius: 0px;
border-color: var(borders);
background-color: transparent; background-color: transparent;
children: ["inputbar", "listview" ]; children: ["inputbar", "listview" ];
expand: true;
} }
inputbar { inputbar {
enabled: true; enabled: true;
spacing: 15px; spacing: 10px;
margin: 0px; margin: 0px;
padding: 0px; padding: 12px 19px 12px 16px;
background-color: transparent; border-radius: 10px;
text-color: var(theme-text-color); text-color: var(theme-selected-bg-color);
children: ["textbox-prompt-colon", "prompt"]; children: ["textbox-prompt-colon", "prompt"];
background-color: var(theme-selected-fg-color);
expand: false;
} }
textbox-prompt-colon { textbox-prompt-colon {
enabled: true; enabled: true;
expand: false; expand: false;
font: "MonarchOS 10"; str: "󰣇";
str: ""; margin: 0;
padding: 12px 16px; padding: 0 4px 0 0;
border-radius: 100%; font: "JetBrainsMono Nerd Font 16";
background-color: var(theme-selected-bg-color);
text-color: @theme-selected-fg-color;
} }
prompt { prompt {
enabled: true; padding: 4px 0 0 0;
padding: 12px;
border-radius: 100%;
background-color: var(theme-text-color);
text-color: var(theme-bg-color);
} }
dummy { dummy {
@@ -72,12 +54,12 @@ dummy {
listview { listview {
enabled: true; enabled: true;
layout: horizontal;
columns: 2; columns: 2;
lines: 5; lines: 5;
cycle: true; cycle: true;
dynamic: false; dynamic: false;
scrollbar: false; scrollbar: false;
layout: horizontal;
reverse: false; reverse: false;
fixed-height: true; fixed-height: true;
fixed-columns: true; fixed-columns: true;
@@ -87,6 +69,8 @@ listview {
background-color: transparent; background-color: transparent;
text-color: var(theme-text-color); text-color: var(theme-text-color);
cursor: "default"; cursor: "default";
padding: 0;
margin:0 ;
} }
element { element {
@@ -95,21 +79,20 @@ element {
margin: 0px; margin: 0px;
border: 0px solid; border: 0px solid;
border-radius: 100%; border-radius: 10px;
background-color: transparent; background-color: transparent;
cursor: "pointer"; cursor: "pointer";
} }
element-text { element-text {
font: "Hack Nerd Font 28"; font: "JetBrainsMono Nerd Font 28";
background-color: transparent; background-color: transparent;
text-color: var(text); text-color: var(text);
cursor: inherit; cursor: inherit;
vertical-align: 0.5; vertical-align: 0;
horizontal-align: 0.5; horizontal-align: 1;
padding: 10px 40px; padding: 0 10px;
horizontal-align: 0;
} }
element selected.normal { element selected.normal {
background-color: var(theme-selected-bg-color); background-color: var(theme-selected-bg-color);
+2 -1
View File
@@ -8,7 +8,7 @@
# CMDs # CMDs
uptime="`uptime -p | sed -e 's/up //g'`" uptime="`uptime -p | sed -e 's/up //g'`"
host=`hostname` host="$USER@"`hostname`
# Options # Options
shutdown='󰤆' shutdown='󰤆'
@@ -31,6 +31,7 @@ rofi_cmd() {
confirm_cmd() { confirm_cmd() {
rofi -dmenu \ rofi -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-normal-window \
-mesg 'Confirm '${chosen} \ -mesg 'Confirm '${chosen} \
-theme ~/.config/rofi/powermenu/confirm.rasi -theme ~/.config/rofi/powermenu/confirm.rasi
} }
+10 -3
View File
@@ -1,5 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
####
# @author moonarch.de (nevaforget)
# script used with rofi to list desktop files of specific dir
# dir: /usr/share/settings-menu/
# @example rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
# @dependencies glib >= 2.67.2
####
function get_name { function get_name {
local lang=$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1) local lang=$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1)
local find="Name\[$lang\]=" local find="Name\[$lang\]="
@@ -19,15 +27,14 @@ if [ "$ROFI_RETV" = "1" ]
then then
for deskfile in /usr/share/settings-menu/* for deskfile in /usr/share/settings-menu/*
do do
match=$(grep "^Name" $deskfile | grep "$@" ) match=$(grep "^Name" $deskfile | grep "$@" )
if [ -n "$match" ] if [ -n "$match" ]
then then
#$(gtk-launch "$deskfile") #gio launch $deskfile
# old way
app=$(grep '^Exec' $deskfile | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g') app=$(grep '^Exec' $deskfile | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
coproc ( $app > /dev/null 2>&1 ) coproc ( $app > /dev/null 2>&1 )
break break
@@ -22,4 +22,5 @@ element-icon {
element-text { element-text {
vertical-align: 0.5; vertical-align: 0.5;
horizontal-align: 0.5; horizontal-align: 0.5;
font: "JetBrainsMono Nerd Font 9";
} }
+71 -59
View File
@@ -1,81 +1,93 @@
{ {
"$schema": "/etc/xdg/swaync/configSchema.json", "$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "right", "control-center-height": 300,
"positionY": "top", "control-center-layer": "overlay",
"control-center-margin-top": 10, "control-center-margin-bottom": 20,
"control-center-margin-bottom": 10, "control-center-margin-left": 0,
"control-center-margin-right": 10, "control-center-margin-right": 10,
"notification-icon-size": 24, "control-center-margin-top": 20,
"control-center-width": 500,
"cssPriority": "application",
"control-center-positionX":"right",
"control-center-positionY":"none",
"fit-to-screen": true,
"hide-on-action": false,
"hide-on-clear": true,
"image-visibility": "when-available",
"keyboard-shortcuts": true,
"layer": "overlay",
"notification-body-image-height": 100, "notification-body-image-height": 100,
"notification-body-image-width": 200, "notification-body-image-width": 200,
"timeout": 10, "notification-icon-size": 40,
"timeout-low": 5, "notification-inline-replies": true,
"timeout-critical": 0, "notification-visibility": {},
"fit-to-screen": false, "notification-window-width": 400,
"control-center-width": 500, "positionX": "right",
"control-center-height": 800, "positionY": "top",
"notification-window-width": 500,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true, "script-fail-notify": true,
"widgets": ["title", "dnd", "volume", "backlight", "notifications", "mpris", "buttons-grid"], "scripts": {},
"timeout": 10,
"timeout-critical": 0,
"timeout-low": 5,
"transition-time": 100,
"widget-config": { "widget-config": {
"title": {
"text": "Notification Center",
"clear-all-button": true,
"button-text": "󰆴 Clear All"
},
"dnd": {
"text": "Do Not Disturb"
},
"label": {
"max-lines": 1,
"text": "Notification Center"
},
"mpris": {
"image-size": 96,
"image-radius": 7
},
"volume": {
"label": "󰕾"
},
"backlight": {
"label": "󰃟"
},
"buttons-grid": { "buttons-grid": {
"actions": [ "actions": [
{ {
"label": "󰐥", "active": false,
"command": "wlogout -P 1 -s -r 10 -c 10" "command": "notify-send 'hey'",
"label": "󰤄",
"type": "toggle",
"update_command": "notify-send 'Hi'"
}, },
{ {
"label": "󰕾", "active": false,
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle" "command": "swaync-client -d",
"label": "",
"type": "toggle"
}, },
{ {
"label": "󰍬", "active":false,
"command": "pactl set-source-mute @DEFAULT_SOURCE@ toggle" "command":"obs",
"label":"󰄀",
"type": "button"
}, },
{ {
"label": "󰖩", "active":false,
"command": "iwgtk" "command":"obs",
"label":"󰕧",
"type": "button"
}, },
{ {
"label": "󰂯", "active": false,
"command": "blueberry" "command": "swaync-client -t",
}, "label": "",
{ "type": "toggle"
"label": "",
"command": "rofi -show fb -modes 'fb:~/.config/rofi/settings-menu/setmen.sh' -theme ~/.config/rofi/settings-menu/settings-menu.rasi"
},
{
"label": "󱓞",
"command": "rofi -show drun -theme ~/.config/rofi/launcher/launcher.rasi"
} }
] ]
},
"mpris": {
"image-radius": 12,
"image-size": 96
},
"title": {
"text": "Notifications",
"button-text": "󰎟 Clear",
"clear-all-button": true
},
"volume": {
"label": "",
"show-per-app": true,
"show-per-app-icon": true,
"show-per-app-label":true
} }
} },
"widgets": [
"title",
"notifications",
"buttons-grid",
"mpris",
"volume"
]
} }
+579
View File
@@ -0,0 +1,579 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SwayNotificationCenter JSON schema",
"type": "object",
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"description": "Pointer to the schema against which this document should be validated."
},
"positionX": {
"type": "string",
"description": "Horizontal position of control center and notification window",
"default": "right",
"enum": [
"right",
"left",
"center"
]
},
"layer": {
"type": "string",
"description": "Layer of control center window",
"default": "top",
"enum": [
"background",
"bottom",
"top",
"overlay"
]
},
"cssPriority": {
"type": "string",
"description": "Which GTK priority to use when loading the default and user CSS files. Pick \"user\" to override XDG_CONFIG_HOME/gtk-3.0/gtk.css",
"default": "application",
"enum": [
"application",
"user"
]
},
"positionY": {
"type": "string",
"description": "Vertical position of control center and notification window",
"default": "top",
"enum": [
"top",
"bottom"
]
},
"control-center-positionX": {
"type": "string",
"description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`",
"default": "none",
"enum": [
"right",
"left",
"center",
"none"
]
},
"control-center-positionY": {
"type": "string",
"description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`",
"default": "none",
"enum": [
"top",
"bottom",
"none"
]
},
"control-center-margin-top": {
"type": "integer",
"description": "The margin (in pixels) at the top of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-bottom": {
"type": "integer",
"description": "The margin (in pixels) at the bottom of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-right": {
"type": "integer",
"description": "The margin (in pixels) at the right of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-left": {
"type": "integer",
"description": "The margin (in pixels) at the left of the notification center. 0 to disable",
"default": 0
},
"notification-icon-size": {
"type": "integer",
"description": "The notification icon size (in pixels)",
"default": 64,
"minimum": 16
},
"notification-body-image-height": {
"type": "integer",
"description": "The notification body image height (in pixels)",
"default": 100,
"minimum": 100
},
"notification-body-image-width": {
"type": "integer",
"description": "The notification body image width (in pixels)",
"default": 200,
"minimum": 200
},
"timeout": {
"type": "integer",
"description": "The notification timeout for notifications with normal priority",
"default": 10
},
"timeout-low": {
"type": "integer",
"description": "The notification timeout for notifications with low priority",
"default": 5
},
"timeout-critical": {
"type": "integer",
"description": "The notification timeout for notifications with critical priority. 0 to disable",
"default": 0
},
"notification-window-width": {
"type": "integer",
"description": "Width of the notification in pixels",
"default": 500
},
"fit-to-screen": {
"type": "boolean",
"description": "If the control center should expand to both edges of the screen",
"default": true
},
"control-center-height": {
"type": "integer",
"description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'",
"default": 600,
"minimum": 300
},
"control-center-width": {
"type": "integer",
"description": "Width of the control center in pixels",
"default": 500,
"minimum": 300
},
"keyboard-shortcuts": {
"type": "boolean",
"description": "If control center should use keyboard shortcuts",
"default": true
},
"image-visibility": {
"type": "string",
"description": "An explanation about the purpose of this instance.",
"default": "when-available",
"enum": [
"always",
"when-available",
"never"
]
},
"transition-time": {
"type": "integer",
"description": "The notification animation duration. 0 to disable",
"default": 200
},
"hide-on-clear": {
"type": "boolean",
"description": "Hides the control center after pressing \"Clear All\"",
"default": false
},
"hide-on-action": {
"type": "boolean",
"description": "Hides the control center when clicking on notification action",
"default": true
},
"script-fail-notify": {
"type": "boolean",
"description": "Sends a notification if a script fails to run",
"default": true
},
"scripts": {
"type": "object",
"description": "Which scripts to check and potentially run for every notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for exec) use regex. If all properties match the given notification, the script will be run. Only the first matching script will be run.",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^.{1,}$": {
"type": "object",
"description": "Your script object.",
"required": [
"exec"
],
"minProperties": 2,
"additionalProperties": false,
"properties": {
"exec": {
"type": "string",
"description": "The script to run. Can also run regular shell commands."
},
"app-name": {
"type": "string",
"description": "The app-name. Uses Regex."
},
"desktop-entry": {
"type": "string",
"description": "The desktop-entry. Uses Regex."
},
"summary": {
"type": "string",
"description": "The summary of the notification. Uses Regex."
},
"body": {
"type": "string",
"description": "The body of the notification. Uses Regex."
},
"urgency": {
"type": "string",
"description": "The urgency of the notification.",
"default": "Normal",
"enum": [
"Low",
"Normal",
"Critical"
]
},
"category": {
"type": "string",
"description": "Which category the notification belongs to. Uses Regex."
},
"run-on": {
"type": "string",
"description": "Whether to run the script on an action being activated, or when the notification is received.",
"enum": [
"action",
"receive"
],
"default": "receive"
}
}
}
}
},
"notification-visibility": {
"type": "object",
"description": "Set the visibility of each incoming notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for state) use regex. If all properties match the given notification, the notification will be follow the provided state. Only the first matching object will be used.",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^.{1,}$": {
"type": "object",
"description": "Your script object.",
"required": [
"state"
],
"minProperties": 2,
"additionalProperties": false,
"properties": {
"state": {
"type": "string",
"description": "The notification visibility state.",
"default": "enabled",
"enum": [
"ignored",
"muted",
"enabled",
"transient"
]
},
"app-name": {
"type": "string",
"description": "The app-name. Uses Regex."
},
"desktop-entry": {
"type": "string",
"description": "The desktop-entry. Uses Regex."
},
"summary": {
"type": "string",
"description": "The summary of the notification. Uses Regex."
},
"body": {
"type": "string",
"description": "The body of the notification. Uses Regex."
},
"urgency": {
"type": "string",
"description": "The urgency of the notification.",
"default": "Normal",
"enum": [
"Low",
"Normal",
"Critical"
]
},
"override-urgency": {
"type": "string",
"description": "The new urgency of the notification (optional)",
"default": "unset",
"enum": [
"unset",
"low",
"normal",
"critical"
]
},
"category": {
"type": "string",
"description": "Which category the notification belongs to. Uses Regex."
}
}
}
}
},
"widgets": {
"type": "array",
"description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.",
"default": [
"inhibitors",
"title",
"dnd",
"notifications"
],
"items": {
"type": "string",
// Sadly can't use regex and enums at the same time. Fix in the future?
"pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$"
}
},
"widget-config": {
"type": "object",
"description": "Configure specific widget properties.",
"additionalProperties": false,
"patternProperties": {
// New widgets go here
"^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
// References the widget structure from "widgets" below
"$ref": "#/widgets/title"
},
"^dnd(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/dnd"
},
"^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/label"
},
"^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/mpris"
},
"^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/buttons-grid"
},
"^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/menubar"
},
"^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/volume"
},
"^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/backlight"
},
"^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
// References the widget structure from "widgets" below
"$ref": "#/widgets/inhibitors"
}
}
}
},
"widgets": {
// New widgets go here
"title": {
"type": "object",
"description": "Control Center Title Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Notifications"
},
"clear-all-button": {
"type": "boolean",
"description": "Wether to display a \"Clear All\" button",
"default": true
},
"button-text": {
"type": "string",
"description": "\"Clear All\" button text",
"default": "Clear All"
}
}
},
"dnd": {
"type": "object",
"description": "Control Center Do Not Disturb Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Do Not Disturb"
}
}
},
"label": {
"type": "object",
"description": "A generic widget that allows the user to add custom text",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The text content of the widget",
"default": "Label Text"
},
"max-lines": {
"type": "integer",
"description": "The maximum lines",
"default": 5
}
}
},
"mpris": {
"type": "object",
"description": "A widget that displays multiple music players",
"additionalProperties": false,
"properties": {
"image-size": {
"type": "integer",
"description": "The size of the album art",
"default": 96
},
"image-radius": {
"type": "integer",
"description": "The border radius of the album art",
"default": 12
}
}
},
"buttons-grid": {
"type": "object",
"description": "A widget to add a grid of buttons that execute shell commands",
"additionalProperties": false,
"properties": {
"actions": {
"type": "array",
"description": "A list of actions containing a label and a command",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Text to be displayed in button",
"default": "label"
},
"command": {
"type": "string",
"description": "Command to be executed on click",
"default": ""
}
}
}
}
}
},
"menubar": {
"type": "object",
"description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons",
"additionalProperties": false,
"patternProperties": {
"^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"type": "object",
"description": "A button that opens a dropdown with action-buttons",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text to be displayed in button",
"default": "Menu"
},
"position": {
"type": "string",
"description": "Horizontal position of the button in the bar",
"default": "right",
"enum": [
"right",
"left"
]
},
"actions": {
"$ref": "#/widgets/buttons-grid/properties/actions"
}
}
},
"^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"type": "object",
"description": "A list of action-buttons to be displayed in the topbar",
"additionalProperties": false,
"properties": {
"position": {
"type": "string",
"description": "Horizontal position of the button in the bar",
"default": "right",
"enum": [
"right",
"left"
]
},
"actions": {
"$ref": "#/widgets/buttons-grid/properties/actions"
}
}
}
}
},
"volume": {
"type": "object",
"description": "Slider to control pulse volume",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text displayed in front of the volume slider",
"default": "Volume"
}
}
},
"backlight": {
"type": "object",
"description": "Slider to control monitor brightness",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text displayed in front of the backlight slider",
"default": "Brightness"
},
"device": {
"type": "string",
"description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)",
"default": "intel_backlight"
},
"subsystem": {
"type": "string",
"description": "Kernel subsystem for brightness control",
"default": "backlight",
"enum": [
"backlight",
"leds"
]
},
"min": {
"type": "integer",
"default": 0,
"description": "Lowest possible value for brightness"
}
}
},
"inhibitors": {
"type": "object",
"description": "Control Center Inhibitors Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Inhibitors"
},
"clear-all-button": {
"type": "boolean",
"description": "Wether to display a \"Clear All\" button",
"default": true
},
"button-text": {
"type": "string",
"description": "\"Clear All\" button text",
"default": "Clear All"
}
}
}
}
}
+230 -250
View File
@@ -1,323 +1,303 @@
@import url("/usr/share/themes/Catppuccin-Mocha-Standard-Lavender-Dark/gtk-3.0/gtk.css");
@define-color cc-bg rgba(26, 27, 38, .95);
@define-color noti-border-color rgba(255, 255, 255, 0.15);
@define-color noti-bg rgb(17, 17, 27);
@define-color noti-bg-darker rgba(43, 43, 57,.5);
@define-color noti-bg-hover rgb(27, 27, 43);
@define-color noti-bg-focus rgba(27, 27, 27, 0.6);
@define-color noti-close-bg rgba(255, 255, 255, 0.1);
@define-color noti-close-bg-hover rgba(255, 255, 255, 0.15);
@define-color text-color-disabled rgb(150, 150, 150);
@define-color bg-selected rgb(0, 128, 255);
* { * {
font-family: Hack Nerd Font;
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @noti-bg-darker;
}
.notification-row {
outline: none;
margin: 0px;
padding: 0px;
}
.notification {
background: @theme_base_color;
border: 2px solid rgba(180,190,254, 0.1);
border-radius: 10px;
margin: 3px -2px 3px 0px;
padding:10px;
box-shadow: none;
}
.notification-content {
background: @theme_base_color;
}
.summary {
margin-bottom:5px;
}
.notification-content .body {
font-size: 14px; font-size: 14px;
font-family: "JetBrainsMono Nerd Font";
transition: 100ms;
box-shadow: unset;
} }
.notification-default-action { .control-center .notification-row {
margin: 0; background-color: unset;
padding: 0; }
.control-center .notification-row .notification-background .notification,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification,
.floating-notifications.background .notification-background .notification .notification-content {
margin-bottom: unset;
}
.control-center .notification-row .notification-background .notification {
margin-top: 0.150rem;
}
.control-center .notification-row .notification-background .notification box,
.control-center .notification-row .notification-background .notification widget,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification box,
.floating-notifications .notification-row .notification-background .notification widget,
.floating-notifications.background .notification-background .notification .notification-content {
border: unset;
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
} }
.close-button { .floating-notifications.background .notification-background .notification .notification-content,
background: #f7768e; .control-center .notification-background .notification .notification-content {
color: @theme_base_color; /* border-top: 1px solid rgba(164, 162, 167, 0.15);
text-shadow: none; border-left: 1px solid rgba(164, 162, 167, 0.15);
padding: 0px; border-right: 1px solid rgba(128, 127, 132, 0.15);
border-radius: 10px; border-bottom: 1px solid rgba(128, 127, 132, 0.15);*/
margin-top: 5px; background-color: #1D1D22;
margin-right: 0px; padding: 0.818rem;
padding-right: unset;
margin-right: unset;
} }
.close-button:hover { .control-center .notification-row .notification-background .notification.low .notification-content label,
box-shadow: none; .control-center .notification-row .notification-background .notification.normal .notification-content label,
background: #f7768e; .floating-notifications.background .notification-background .notification.low .notification-content label,
transition: all 0.15s ease-in-out; .floating-notifications.background .notification-background .notification.normal .notification-content label {
border: none; color: #c7c5d0;
} }
.notification-action { .control-center .notification-row .notification-background .notification..notification-content image,
border: 2px solid rgba(180,190,254, 0.5); .control-center .notification-row .notification-background .notification.normal .notification-content image,
border-top: none; .floating-notifications.background .notification-background .notification.low .notification-content image,
border-radius: 10px; .floating-notifications.background .notification-background .notification.normal .notification-content image {
background-color: unset;
color: #e2e0f9;
} }
.notification-default-action:hover, .control-center .notification-row .notification-background .notification.low .notification-content .body,
.notification-action:hover { .control-center .notification-row .notification-background .notification.normal .notification-content .body,
color: rgba(180,190,254, 0.6); .floating-notifications.background .notification-background .notification.low .notification-content .body,
background: @theme_base_color; .floating-notifications.background .notification-background .notification.normal .notification-content .body {
color: #92919a;
} }
.notification-default-action { .control-center .notification-row .notification-background .notification.critical .notification-content,
border-radius: 10px; .floating-notifications.background .notification-background .notification.critical .notification-content {
margin: 0px; background-color: #ffb4a9;
} }
.notification-default-action:not(:only-child) { .control-center .notification-row .notification-background .notification.critical .notification-content image,
border-bottom-left-radius: 7px; .floating-notifications.background .notification-background .notification.critical .notification-content image{
border-bottom-right-radius: 7px; background-color: unset;
color: #ffb4a9;
} }
.notification-action:first-child { .control-center .notification-row .notification-background .notification.critical .notification-content label,
border-bottom-left-radius: 10px; .floating-notifications.background .notification-background .notification.critical .notification-content label {
background: #1b1b2b; color: #680003;
} }
.notification-action:last-child { .control-center .notification-row .notification-background .notification .notification-content .summary,
border-bottom-right-radius: 10px; .floating-notifications.background .notification-background .notification .notification-content .summary {
background: #1b1b2b; font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 0.9909rem;
font-weight: 500;
} }
.inline-reply { .control-center .notification-row .notification-background .notification .notification-content .time,
margin-top: 8px; .floating-notifications.background .notification-background .notification .notification-content .time {
font-family: 'Geist', 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', 'Ubuntu', sans-serif;
font-size: 0.8291rem;
font-weight: 500;
margin-right: 1rem;
padding-right: unset;
} }
.inline-reply-entry { .control-center .notification-row .notification-background .notification .notification-content .body,
background: @noti-bg-darker; .floating-notifications.background .notification-background .notification .notification-content .body {
color: @theme_text_color; font-family: 'Noto Sans', sans-serif;
caret-color: @theme_text_color; font-size: 0.8891rem;
border: 1px solid @noti-border-color;
border-radius: 10px;
}
.inline-reply-button {
margin-left: 4px;
background: @noti-bg;
border: 1px solid @noti-border-color;
border-radius: 10px;
color: @theme_text_color;
}
.inline-reply-button:disabled {
background: initial;
color: @text-color-disabled;
border: 1px solid transparent;
}
.inline-reply-button:hover {
background: @noti-bg-hover;
}
.image {
border-radius: 10px;
margin-right: 10px;
}
.summary {
font-size: 16px;
font-weight: 700;
background: transparent;
color: @theme_text_color;
text-shadow: none;
}
.time {
font-size: 16px;
font-weight: 700;
background: transparent;
color: @theme_text_color;
text-shadow: none;
margin-right: 18px;
}
.body {
font-size: 15px;
font-weight: 400; font-weight: 400;
background: transparent; margin-top: 0.310rem;
color: @theme_text_color; padding-right: unset;
margin-right: unset;
}
.control-center .notification-row .close-button,
.floating-notifications.background .close-button {
background-color: unset;
border-radius: 100%;
border: none;
box-shadow: none;
margin-right: 13px;
margin-top: 6px;
margin-bottom: unset;
padding-bottom: unset;
min-height: 20px;
min-width: 20px;
text-shadow: none; text-shadow: none;
} }
.control-center .notification-row .close-button:hover,
.floating-notifications.background .close-button:hover {
background-color: rgba(255, 255, 255, 0.15);
}
.control-center { .control-center {
background: @theme_base_color;
border: 2px solid rgba(180,190,254, 0.2);
border-radius:10px; border-radius:10px;
-gtk-outline-radius:10px;
border-top: 1px solid rgba(164, 162, 167, 0.19);
border-left: 1px solid rgba(164, 162, 167, 0.19);
border-right: 1px solid rgba(128, 127, 132, 0.145);
border-bottom: 1px solid rgba(128, 127, 132, 0.145);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px;
background-color: #14141B;
padding: 1.023rem;
} }
.control-center-list { .control-center trough {
background: transparent; background-color: #45475a;
border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.545rem;
background-color: transparent;
} }
.control-center-list-placeholder { .control-center slider {
opacity: 0.5; border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.273rem;
min-height: 2.045rem;
background-color: rgba(199, 197, 208, 0.31);
} }
.floating-notifications { .control-center slider:hover {
background: transparent; background-color: rgba(199, 197, 208, 0.448);
} }
.blank-window { .control-center slider:active {
background: alpha(black, 0.1); background-color: #77767e;
} }
/* title widget */
.widget-title { .widget-title {
color: #fff; padding: 0.341rem;
background: @noti-bg-darker; margin: unset;
padding: 5px 10px; }
margin: 10px 10px 5px 10px;
font-size: 1.1rem; .widget-title label {
font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 1.364rem;
color: #e4e1e6;
margin-left: 0.941rem;
}
.widget-title button {
border: unset;
background-color: unset;
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
padding: 0.141rem 0.141rem;
margin-right: 0.841rem;
} }
.widget-title>button { .widget-title button label {
font-size: 0.9rem; font-family: 'Gabarito', sans-serif;
color: @theme_text_color; font-size: 1.0409rem;
text-shadow: none; color: #e4e1e6;
background: @noti-bg; margin-right: 0.841rem;
box-shadow: none; }
.widget-title button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-title button:active {
background-color: rgba(128, 128, 128, 0.7);
}
/* Buttons widget */
.widget-buttons-grid {
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
padding: 0.341rem;
background-color: rgba(28, 28, 34, 0.35);
padding: unset;
} }
.widget-title>button:hover { .widget-buttons-grid>flowbox {
background: #f7768e; padding: unset;
color: @theme_base_color;
} }
.widget-dnd { .widget-buttons-grid>flowbox>flowboxchild>button:first-child {
background: @noti-bg-darker; margin-left:unset ;
padding: 5px 10px; }
margin: 5px 10px;
.widget-buttons-grid>flowbox>flowboxchild>button {
border:none;
background-color: unset;
border-radius: 9999px;
min-width: 5.522rem;
min-height: 2.927rem;
padding: unset;
margin: unset;
}
.widget-buttons-grid>flowbox>flowboxchild>button label {
font-family: "Materials Symbol Rounded";
font-size: 1.3027rem;
color: #e4e1e6;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked {
/* OnePlus McClaren edition Orange accent */
background-color: #ff9f34;
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked label {
color: #14141B;
}
/* Volume widget */
.widget-volume {
background-color: rgba(28, 28, 34, 0.35);
padding: 8px;
margin: 8px;
border-radius: 10px; border-radius: 10px;
font-size: 1rem; -gtk-outline-radius: 10px;
color: #fff;
} }
.widget-dnd>switch { .widget-volume trough {
border-radius: 10px; /* OnePlus McClaren edition Orange accent */
background: rgba(180,190,254, 0.7); border:unset;
background-color: rgba(128, 128, 128, 0.4);
} }
.widget-dnd>switch:checked {
background: #f7768e; .widget-volume trough slider {
border: 1px solid #f7768e; /* OnePlus McClaren edition Orange accent */
color:unset;
background-color: #ff9f34;
border-radius: 100%;
min-height: 1.25rem;
min-width: 1.25rem;
} }
.widget-dnd>switch slider {
background: @theme_base_color;
border-radius: 10px;
}
.widget-dnd>switch:checked slider { /* Mpris widget */
background: @theme_base_color;
border-radius: 10px;
}
.widget-label {
margin: 10px 10px 5px 10px;
}
.widget-label>label {
font-size: 1rem;
color: @theme_text_color;
}
.widget-mpris { .widget-mpris {
color: @theme_text_color; background-color: rgba(28, 28, 34, 0.35);
background: @noti-bg-darker; padding: 8px;
padding: 5px 10px; margin: 8px;
margin: 5px 10px 5px 10px;
border-radius: 10px;
box-shadow:none;
}
.widget-mpris>box>button {
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
} }
.widget-mpris-player { .widget-mpris-player {
padding: 5px 10px; padding: 8px;
margin: 10px; margin: 8px;
box-shadow: none;
} }
.widget-mpris-title { .widget-mpris-title {
font-weight: 700; font-weight: bold;
font-size: 1.25rem; font-size: 1.25rem;
} }
.widget-mpris-subtitle { .widget-mpris-subtitle {
font-size: 1.1rem; font-size: 1.1rem;
} }
.widget-buttons-grid {
font-size: x-large;
padding: 5px;
margin: 5px 10px 10px 10px;
border-radius: 10px;
background: @noti-bg-darker;
}
.widget-buttons-grid>flowbox>flowboxchild>button {
margin: 3px;
background: @theme_base_color;
border-radius: 10px;
color: @theme_text_color;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background: rgba(180,190,254, 1);
color: @theme_base_color;
}
.widget-menubar>box>.menu-button-bar>button {
border: none;
background: transparent;
}
.topbar-buttons>button {
border: none;
background: transparent;
}
.widget-volume {
background: @noti-bg-darker;
padding: 5px 10px 5px 12px;
margin: 5px 10px;
border-radius: 10px;
font-size: 1.5rem;
color: #fff;
}
.widget-backlight {
background: @noti-bg-darker;
padding: 5px;
margin: 5px 10px;
border-radius: 10px;
font-size: 2rem;
color: #fff;
}
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
case $1 in
vol)
case $2 in
up)
/home/dom/.local/bin/volnote up
;;
down)
/home/dom/.local/bin/volnote down
;;
esac
;;
caps)
status=$(xset -q | sed -n 's/^.*Caps Lock:\s*\(\S*\).*$/\1/p')
notify-send -u low -e "Caps Lock $status" -h boolean:value:true -r 555
;;
esac
sleep 2
swaync-client --hide-latest
+149 -48
View File
@@ -1,14 +1,33 @@
{ {
"layer": "top", "layer": "top",
"margin-top": 5, "margin-top": 0,
"spacing": 5, "spacing": 5,
"modules-left": ["group/sys", "tray", "hyprland/workspaces"], "modules-left": [
"modules-center": ["mpris", "wlr/taskbar"], "group/sys",
"modules-right": ["group/stats", "group/net", "group/sound", "cava", "battery", "group/indicators", "custom/notification"], "niri/workspaces",
"tray",
"wlr/taskbar",
"niri/window"
],
"modules-center": [
],
"modules-right": [
"mpris",
"custom/cpugov",
"group/net",
"group/sound",
"group/indicators"
],
"group/indicators": { "group/indicators": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"gamemode", "privacy", "custom/updates", "idle_inhibitor" "gamemode",
"custom/updates",
"idle_inhibitor",
"custom/screenshader",
"privacy"
] ]
}, },
"group/net": { "group/net": {
@@ -35,7 +54,8 @@
"group/sound": { "group/sound": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"pulseaudio", "pulseaudio/slider" "pulseaudio",
"pulseaudio/slider"
], ],
"drawer": { "drawer": {
"transition-duration": 500, "transition-duration": 500,
@@ -45,7 +65,8 @@
"group/sys": { "group/sys": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"custom/power", "clock" "custom/power",
"clock"
] ]
}, },
"network": { "network": {
@@ -56,9 +77,13 @@
"tooltip-format-wifi": " WiFi {essid} ({signalStrength}%)", "tooltip-format-wifi": " WiFi {essid} ({signalStrength}%)",
"tooltip-format-ethernet": "󰱔 {ifname}", "tooltip-format-ethernet": "󰱔 {ifname}",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
"max-length": 50, "on-click": "nm-connection-editor",
"on-click": "nm-applet --indicator", "format-icons": [
"format-icons": ["󱛅", "󱛂", "󱛃", "󱚽"], "󱛅",
"󱛂",
"󱛃",
"󱚽"
],
"max-length": 5 "max-length": 5
}, },
"tray": { "tray": {
@@ -67,8 +92,9 @@
}, },
"clock": { "clock": {
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "<b>{:%d.%m.%Y}</b>", "format-alt": "<b>{:%d.%m.%Y %H:%M}</b>",
"format": "<b>{:%H:%M}</b>", "format": "<b>{:%d.%m. %H:%M}</b>",
"timezone": "DE",
"calendar": { "calendar": {
"mode": "month", "mode": "month",
"mode-mon-col": 3, "mode-mon-col": 3,
@@ -96,8 +122,6 @@
"user": { "user": {
"format": "{user}", "format": "{user}",
"interval": 240, "interval": 240,
"height": 30,
"width": 30,
"icon": false, "icon": false,
"height": 16, "height": 16,
"width": 16, "width": 16,
@@ -117,7 +141,11 @@
"phone": "", "phone": "",
"portable": "", "portable": "",
"car": "", "car": "",
"default": ["", "", "󰕾"] "default": [
"",
"",
"󰕾"
]
}, },
"on-click": "$HOME/.config/rofi/audio/rofi-sink-switcher.sh &", "on-click": "$HOME/.config/rofi/audio/rofi-sink-switcher.sh &",
"on-click-right": "pavucontrol", "on-click-right": "pavucontrol",
@@ -136,7 +164,8 @@
"default": "⏸", "default": "⏸",
"mpv": "🎵", "mpv": "🎵",
"spotify": "", "spotify": "",
"firefox": "󰈹" "firefox": "󰈹",
"mercury": "󰈹"
}, },
"status-icons": { "status-icons": {
"paused": "⏸" "paused": "⏸"
@@ -144,7 +173,16 @@
}, },
"custom/power": { "custom/power": {
"format": "󰣇", "format": "󰣇",
"on-click": "wlogout -P 1 -s -r 10 -c 10" "menu": "on-click",
"menu-file": "~/.config/waybar/session_menu.xml",
"menu-actions": {
"lock": "hyprlock",
"logout": "hyprctl dispatch exit",
"hibernate": "systemctl hibernate",
"reboot": "systemctl reboot",
"suspend": "systemctl suspend",
"shutdown": "systemctl poweroff"
}
}, },
"gamemode": { "gamemode": {
"format": "{glyph}<small>{count}</small>", "format": "{glyph}<small>{count}</small>",
@@ -160,24 +198,28 @@
}, },
"wlr/taskbar": { "wlr/taskbar": {
"markup": true, "markup": true,
"format": "{icon} {title:.10}", "format": "{icon}",
"icon-size": 16, "icon-size": 20,
"tooltip-format": "{title:.100}", "tooltip-format": "{title:.100}",
"sort-by-app-id": true, // "sort-by-app-id": true,
"on-click": "activate", "on-click": "activate",
"on-click-middle": "close", "on-click-middle": "close",
"on-right-middle": "minimize-raise", "on-right-middle": "minimize-raise",
"active-first": false, "active-first": false,
"ignore-list": [ "ignore-list": ["title<>"],
],
"app_ids-mapping": { "app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition" "firefoxdeveloperedition": "firefox-developer-edition"
}, },
"rewrite": { "rewrite": {
"Mozilla Firefox": "Firefox", "Mozilla Firefox": "Firefox",
"Visual Studio Code": "Code", "firefox": "Firefox",
"Alacritty": "Terminal" "VSCodium": "Code",
} "codium": "Code",
"Alacritty": "Terminal",
},
"squash-list": [
"firefox"
]
}, },
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{name} {windows}", "format": "{name} {windows}",
@@ -193,6 +235,7 @@
}, },
"window-rewrite": { "window-rewrite": {
"firefox": "", "firefox": "",
"mercury-default": "",
"LibreWolf": "", "LibreWolf": "",
"celluloid": "", "celluloid": "",
"videostream": "", "videostream": "",
@@ -224,19 +267,16 @@
"foot": "", "foot": "",
"code": "󰨞", "code": "󰨞",
"codium": "󰅨", "codium": "󰅨",
"subl": " " "subl": "",
"title<>": ""
}, },
"sort-by-number": true "sort-by-number": true
}, },
"hyprland/window": { "hyprland/window": {
"format": "{}", "format": "{title}",
"rewrite": { "icon": false,
"(.*) — firefox": "🌎 $1", "icon-size": 16,
"(.*) - zsh": "> [$1]", "separate-outputs": true
"(.*) - kitty": "> [$1]",
"(.*) - alacritty": "> [$1]"
},
"separate-outputs": false
}, },
"custom/updates": { "custom/updates": {
"format": "{icon}", "format": "{icon}",
@@ -247,7 +287,28 @@
}, },
"exec-if": "which waybar-module-pacman-updates", "exec-if": "which waybar-module-pacman-updates",
"exec": "waybar-module-pacman-updates", "exec": "waybar-module-pacman-updates",
"on-click": "paru" "on-click": "alacritty paru"
},
"custom/dnd": {
"format": " {} ",
"exec": "hyprm-dnd",
"return-type": "json",
"on-click": "dunstctl set-paused toggle",
"restart-interval": 1,
},
"custom/screenshader": {
"format": " {} ",
"menu": "on-click",
"menu-file": "~/.config/waybar/screenshader.xml",
"menu-actions": {
"blue-light-heavy": "hyprctl hyprsunset temperature 5000",
"blue-light-soft": "hyprctl hyprsunset temperature 5500",
"off": "hyprctl hyprsunset identity"
},
"exec-if": "hyprshade",
"exec": "hyprshade-waybar",
"return-type": "json",
"restart-interval": 1000
}, },
"custom/notification": { "custom/notification": {
"tooltip": false, "tooltip": false,
@@ -263,7 +324,7 @@
"dnd-inhibited-none": "󰂛" "dnd-inhibited-none": "󰂛"
}, },
"return-type": "json", "return-type": "json",
"exec-if": "which swaync-client", "exec-if": "which sync-client",
"exec": "swaync-client -swb", "exec": "swaync-client -swb",
"on-click": "sh -c 'sleep 0.1s; swaync-client -t -sw; sleep 0.1s'", "on-click": "sh -c 'sleep 0.1s; swaync-client -t -sw; sleep 0.1s'",
"on-click-right": "swaync-client -d -sw", "on-click-right": "swaync-client -d -sw",
@@ -288,7 +349,16 @@
"noise_reduction": 0.77, "noise_reduction": 0.77,
"input_delay": 2, "input_delay": 2,
"sleep_timer": 5, "sleep_timer": 5,
"format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], "format-icons": [
"▁",
"▂",
"▃",
"▄",
"▅",
"▆",
"▇",
"█"
],
"actions": { "actions": {
"on-click-right": "mode" "on-click-right": "mode"
} }
@@ -325,15 +395,13 @@
] ]
}, },
"custom/cpugov": { "custom/cpugov": {
"exec": "$HOME/.config/waybar/waybar-cpugov", "exec": "hyprm-waybar-cpugov",
"return-type": "json", "return-type": "json",
"restart-interval": 10, "restart-interval": 10,
"on-click": "$HOME/.config/rofi/cpugov/rofi-cpugov.sh", "on-click": "$HOME/.config/rofi/cpugov/rofi-cpugov.sh"
"on-click-right": "env GTK_THEME=Adwaita:dark resources"
}, },
"custom/gpu-usage": { "custom/gpu-usage": {
"exec": "$HOME/.config/waybar/waybar-gpustat", "exec": "hyprm-waybar-gpustat",
"return-type": "json", "return-type": "json",
"restart-interval": 10 "restart-interval": 10
}, },
@@ -344,7 +412,13 @@
"critical": 15 "critical": 15
}, },
"format": "{capacity}% {icon}", "format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""], "format-icons": [
"",
"",
"",
"",
""
],
"max-length": 25 "max-length": 25
}, },
"bluetooth": { "bluetooth": {
@@ -361,10 +435,10 @@
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"activated": "󱎴", "activated": "󱎴",
"deactivated": "󱩛" "deactivated": "󰷛"
}, },
"tooltip-format-activated": "󱎴 Active: No Lockscreen on idle", "tooltip-format-activated": "󱎴 No Lockscreen on idle",
"tooltip-format-deactivated": "󱩛 Active: Lockscreen on idle" "tooltip-format-deactivated": "󰷛 Lockscreen on idle"
}, },
"custom/vpn": { "custom/vpn": {
"format": "󰖂", "format": "󰖂",
@@ -405,6 +479,33 @@
"tooltip-icon-size": 12 "tooltip-icon-size": 12
} }
] ]
} },
} "custom/weather": {
"exec": "hyprm-waybar-weather NRW+Germany",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 3600
},
"niri/workspaces": {
"format": "{icon}",
"format-icons": {
// Named workspaces
// (you need to configure them in niri)
"browser": "",
"discord": "",
"chat": "<b></b>",
// Icons by state
"active": "",
"default": ""
}
},
"niri/window": {
"format": "{}",
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - zsh": "> [$1]"
}
}
}
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="blue-light-heavy">
<property name="label"> Blue Light Heavy</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="blue-light-soft">
<property name="label"> Blue Light Soft</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="off">
<property name="label"> Off</property>
</object>
</child>
</object>
</interface>
+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="lock">
<property name="label"> Lock</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="logout">
<property name="label">󰗽 Logout</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">󰤄 Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">󰑐 Reboot</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label"> Shutdown</property>
</object>
</child>
</object>
</interface>
-232
View File
@@ -1,232 +0,0 @@
* {
border: none;
font-family: "Hack Nerd Font", sans-serif;
font-size: 13px;
color:alpha(@theme_text_color, 0.8);
}
window#waybar {
background: @theme_bg_color;
}
/*-----main groups----*/
.modules-right {
margin: 0 0 0 0;
background-color:alpha(@theme_selected_bg_color, 0.15);
}
.modules-center {
margin: 0 0 0 0;
}
.modules-left {
margin: 0 0 0 0;
background-color:alpha(@theme_selected_bg_color, 0.15);
}
/**
## ALL MODULES
**/
#clock,
#battery,
#backlight,
#cpu,
#memory,
#bluetooth,
#temperature,
#network,
#pulseaudio,
#tray,
#mode,
#idle_inhibitor,
#workspaces,
#custom-power,
#custom-menu,
#custom-media,
#custom-notification,
#custom-updates,
#custom-pacman,
#user,
#cava,
#custom-gpu-usage,
#custom-cpugov,
#custom-vpn.connected{
padding:0px 10px;
}
/**
* GROUPS
**/
#sys, #stats, #net, #sound {
margin: 0;
padding:2px 5px 1px 5px;
border-radius:0;
color:alpha(@theme_text_color, 0.5);
}
/**
* SYS
**/
#sys {
background-color:alpha(@theme_selected_bg_color, 0.1);
}
#custom-power {
margin-left:0;
margin-right:0;
}
#user {
padding-left:0;
font-weight:bold;
}
#stats .drawer-child {
padding-left: 10px;
padding-right: 10px;
}
#tray {
padding-right:0
}
/**
* SOUND
**/
#cava {
background-color: transparent;
padding-left: 0;
}
#pulseaudio-slider {
padding-left: 10px;
padding-right: 10px;
}
#pulseaudio-slider slider {
min-height: 0px;
min-width: 0px;
opacity: 0;
background-image: none;
border: none;
box-shadow: none;
background-color: @insensitive_bg_color;
border:2px solid @theme_selected_bg_color;
}
#pulseaudio-slider trough {
min-height: 4px;
min-width: 80px;
border-radius: 5px;
background-color: #11111b;
}
#pulseaudio-slider highlight {
min-width: 5px;
border-radius: 5px;
background-color: #6c7086;
}
#custom-updates {
background-color:alpha(@theme_selected_bg_color, 0.2);
padding-right:12px
}
/**
* MISC
**/
#mpris {
background-color: rgba(172,176,208, .3);
border-radius:20px;
margin: 8px 10px 8px 0px;
padding:0 10px;
}
/**
* WORKSPACES
**/
#workspaces {
padding:0 10px 0 10px;
}
#workspaces button {
padding: 0px 10px;
background-color: transparent;
outline:none;
border-radius: 20px;
margin: 8px 5px 8px 0px;
}
#workspaces button:last-child {
margin-right: 0;
}
#workspaces button.empty {
color:inherit;
}
#workspaces button.active {
background-color: transparent;
}
#workspaces button.visible {
background-color:alpha(@theme_selected_bg_color, 0.3);
}
#workspaces button.urgent {
color: #cc3436;
}
#workspaces button:hover {
background-color:alpha(@theme_selected_bg_color, 0.4);
box-shadow: inherit;
text-shadow: inherit;
}
/**
## INDICATORS
**/
#pulseaudio.muted {
color: #cc3436;
}
#battery.charging {
color: #2dcc36;
}
#battery.warning:not(.charging) {
color: #e6e600;
}
#battery.critical:not(.charging) {
color: #cc3436;
}
#temperature.critical {
color: #cc3436;
}
#idle_inhibitor {
padding-right: 14px;
background-color:alpha(@theme_selected_bg_color, 0.2);
}
#idle_inhibitor.activated {
color:alpha(@theme_selected_bg_color, 0.9);
}
/**
* TASKBAR
**/
#taskbar {
font-size:8px;
background: transparent;
opacity: 1;
padding:0;
}
#taskbar button {
border-bottom: 2px solid alpha(@borders, 0.9);
padding:6px 10px 3px 10px;
background: transparent;
transition:100ms border ease-in-out;
margin-left:4px;
border-radius:0;
font-size:8px;
}
#taskbar button:first-child {
margin-left:0;
}
#taskbar button:hover {
background-color:alpha(@theme_selected_bg_color, 0.2);
}
#taskbar button.active {
background-color:alpha(@theme_selected_bg_color, 0.1);
border-bottom: 2px solid @borders;
opacity:1;
}
+140 -56
View File
@@ -1,31 +1,34 @@
* { * {
border: none; border: none;
font-family: "Hack Nerd Font", sans-serif; font-family: "Ubuntu Nerd Font", sans-serif;
font-size: 13px; font-size: 13px;
color: alpha(@theme_text_color, 0.8); color: alpha(@theme_text_color, 0.8);
} }
window#waybar {
background: transparent;
window#waybar {
/*background: transparent;*/
background: alpha(@theme_selected_fg_color, 0.2);
} }
/*-----main groups----*/ /*-----main groups----*/
.modules-right { .modules-right {
margin: 0 5px 0 0; margin: 0;
padding-left: 5px; padding-left: 5px;
padding-right:10px; padding-right: 0;
border-radius: 10px; border-radius: 0;
/* background-color:alpha(@theme_selected_bg_color, 0.15); */
background: @theme_bg_color
} }
.modules-center { .modules-center {
margin: 0 0 0 0; margin: 0;
border-radius: 10px; border-radius: 0;
} }
.modules-left { .modules-left {
margin: 0 0 0 5px; margin: 0 0 0 5px;
/* background-color:alpha(@theme_selected_bg_color, 0.15); /* background-color:alpha(@theme_selected_bg_color, 0.15);
background: @theme_bg_color */ background: @theme_bg_color */
border-radius: 10px; border-radius: 0;
margin-left: 5px; margin-left: 5px;
} }
@@ -58,20 +61,21 @@ window#waybar {
#custom-vpn.connected, #custom-vpn.connected,
#power-profiles-daemon, #power-profiles-daemon,
#privacy, #privacy,
#gamemode{ #gamemode,
#taskbar,
#window {
padding: 0px 10px; padding: 0px 10px;
} }
/** /**
* GROUPS * GROUPS
**/ **/
#sys, #stats, #net, #sound { #sys,
#stats,
#net,
#sound {
margin: 0; margin: 0;
border-radius:10px;
color: alpha(@theme_text_color, 0.5); color: alpha(@theme_text_color, 0.5);
background-color: @theme_bg_color;
} }
@@ -79,17 +83,24 @@ window#waybar {
* SYS * SYS
**/ **/
#sys { #sys {
padding:0 10px 0 10px; padding: 0 0px 0 10px;
} }
#custom-power { #custom-power {
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
padding-left: 0;
} }
#user { #user {
padding-left: 0; padding-left: 0;
font-weight: bold; font-weight: bold;
} }
#custom-weather {
padding-left: 5px;
}
#stats .drawer-child { #stats .drawer-child {
padding-left: 10px; padding-left: 10px;
@@ -97,9 +108,14 @@ window#waybar {
} }
#tray { #tray {
background-color: @theme_bg_color; border-radius: 4px;
border-radius:10px; padding: 0px 8px 0px 8px;
margin: 0; margin: 8px 0px 8px 0px;
background-color: alpha(@theme_selected_bg_color, 0.1);
}
#custom-notification {
padding-right: 0
} }
/** /**
@@ -110,10 +126,12 @@ window#waybar {
background-color: transparent; background-color: transparent;
padding-left: 0; padding-left: 0;
} }
#pulseaudio-slider { #pulseaudio-slider {
padding-left: 0px; padding-left: 10px;
padding-right: 10px; padding-right: 10px;
} }
#pulseaudio-slider slider { #pulseaudio-slider slider {
min-height: 0px; min-height: 0px;
min-width: 0px; min-width: 0px;
@@ -122,14 +140,16 @@ window#waybar {
border: none; border: none;
box-shadow: none; box-shadow: none;
background-color: @insensitive_bg_color; background-color: @insensitive_bg_color;
border:2px solid @theme_selected_bg_color; border: 1px solid alpha(@theme_selected_bg_color, 0.1);
} }
#pulseaudio-slider trough { #pulseaudio-slider trough {
min-height: 4px; min-height: 4px;
min-width: 80px; min-width: 80px;
border-radius: 5px; border-radius: 5px;
background-color: #11111b; background-color: alpha(@theme_selected_bg_color, 0.3);
} }
#pulseaudio-slider highlight { #pulseaudio-slider highlight {
min-width: 5px; min-width: 5px;
@@ -138,7 +158,8 @@ window#waybar {
} }
#custom-updates { #custom-updates {
padding-right:12px padding-right: 5px;
padding-left: 5px;
} }
@@ -146,8 +167,7 @@ window#waybar {
* MISC * MISC
**/ **/
#mpris { #mpris {
background-color: rgba(172,176,208, .3); border-radius: 0;
border-radius:20px;
margin: 8px 10px 8px 0px; margin: 8px 10px 8px 0px;
padding: 0 10px; padding: 0 10px;
} }
@@ -155,34 +175,83 @@ window#waybar {
/** /**
* WORKSPACES * WORKSPACES
**/ **/
#workspaces { /*#workspaces {
padding:0 10px 0 0px; padding: 0;
border-radius:10px border-radius: 0
} }
#workspaces button { #workspaces button {
padding: 0px 10px; padding: 0px 10px 0px 8px;
background-color: shade(@theme_bg_color, 1); margin: 8px 2px 8px 0px;
outline: none; outline: none;
border-radius: 10px; border-radius: 4px;
margin: 8px 5px 8px 0px; background-color: alpha(@theme_selected_bg_color, 0.05);
} }
#workspaces button:last-child { #workspaces button:last-child {
margin-right: 0; margin-right: 0;
} }
#workspaces button.empty {
#workspaces button.empty,
#workspaces button.active.empty {
color: inherit; color: inherit;
padding: 0px 0px 0px 8px;
} }
#workspaces button.active { #workspaces button.active {
background-color: transparent; background-color: transparent;
padding: 0px 10px 0px 8px;
} }
#workspaces button.visible { #workspaces button.visible {
background-color: shade(@theme_bg_color, 1.5); background-color: alpha(@theme_selected_bg_color, 0.1);
} }
#workspaces button.urgent { #workspaces button.urgent {
color: #cc3436; color: #cc3436;
} }
#workspaces button:hover { #workspaces button:hover {
background-color:alpha(@theme_selected_bg_color, 0.4); background-color: alpha(@theme_selected_bg_color, 0.05);
box-shadow: inherit;
text-shadow: inherit;
}*/
#workspaces {
padding: 0;
border-radius: 0;
}
#workspaces button {
margin: 8px 2px 8px 0px;
padding: 0;
outline: none;
border-radius: 4px;
background-color: alpha(@theme_selected_bg_color, 0.05);
}
#workspaces button:last-child {
margin-right: 0;
}
#workspaces button.empty,
#workspaces button.active.empty {
color: inherit;
}
#workspaces button.active {}
#workspaces button.visible {
background-color: alpha(@theme_selected_bg_color, 0.1);
}
#workspaces button.urgent {
color: #cc3436;
}
#workspaces button:hover {
background-color: alpha(@theme_selected_bg_color, 0.05);
box-shadow: inherit; box-shadow: inherit;
text-shadow: inherit; text-shadow: inherit;
} }
@@ -194,15 +263,19 @@ window#waybar {
#pulseaudio.muted { #pulseaudio.muted {
color: #cc3436; color: #cc3436;
} }
#battery.charging { #battery.charging {
color: #2dcc36; color: #2dcc36;
} }
#battery.warning:not(.charging) { #battery.warning:not(.charging) {
color: #e6e600; color: #e6e600;
} }
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
color: #cc3436; color: #cc3436;
} }
#temperature.critical { #temperature.critical {
color: #cc3436; color: #cc3436;
} }
@@ -214,9 +287,7 @@ window#waybar {
#indicators { #indicators {
padding-right: 5px; padding-right: 5px;
padding-left: 5px; padding-left: 5px;
background-color:shade(@theme_bg_color, 1.5); border-radius: 0;
border-radius:10px;
margin:10px 0;
} }
@@ -225,40 +296,53 @@ window#waybar {
**/ **/
#taskbar { #taskbar {
font-size: 8px; font-size: 8px;
background: transparent; margin: 0 0 0 5px;
opacity: 1; opacity: 1;
padding: 0; padding: 0;
border-radius:10px; border-radius: 0;
background: @theme_bg_color;
} }
#taskbar.empty { #taskbar.empty {
background: transparent; opacity: 0;
} }
#taskbar button { #taskbar button {
padding: 3px 10px 3px 10px; padding: 3px 10px 3px 10px;
transition: 100ms border ease-in-out; transition: 100ms border ease-in-out;
border-radius:10px; border-radius: 0;
font-size: 8px; font-size: 8px;
} }
#taskbar button:not(:first-child) { #taskbar button:not(:first-child) {
border-radius: 0px; border-radius: 0px;
} }
#taskbar button:first-child {
border-radius: 10px 0 0 10px; #taskbar button:first-child {}
}
#taskbar button:last-child { #taskbar button:last-child {}
border-radius: 0 10px 10px 0;
} #taskbar button:last-child:first-child {}
#taskbar button:last-child:first-child {
border-radius: 10px; #taskbar button.empty {
opacity: 0;
} }
#taskbar button:hover { #taskbar button:hover {
background-color:alpha(@theme_selected_bg_color, 0.2);
}
#taskbar button.active {
background-color: alpha(@theme_selected_bg_color, 0.1); background-color: alpha(@theme_selected_bg_color, 0.1);
}
#taskbar button.active {
background-color: alpha(@theme_selected_bg_color, 0.05);
opacity: 1; opacity: 1;
} }
menu {
border-radius: 4px;
}
menuitem {
border-radius: 4px;
}
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
tooltip="${tooltip//+/ }"
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

+14 -4
View File
@@ -1,13 +1,23 @@
[Settings] [Settings]
folder = /home/dom/Pictures/Wallpaper folder = ~/Pictures/Wallpaper
fill = Fill fill = fill
sort = name sort = name
backend = swaybg backend = swww
color = #241F31 color = #241F31
language = en language = en
subfolders = True subfolders = True
wallpaper = /home/dom/Pictures/Wallpaper/MonarchOS.png wallpaper = ~/Pictures/Wallpaper/1586853771_daniel-leone-v7datklzzaw-unsplash-modded.jpg
monitors = All monitors = All
swww_transition = any swww_transition = any
swww_transition_type = any
swww_transition_step = 90
swww_transition_angle = 0
swww_transition_duration = 2
post_command = post_command =
show_hidden = False
show_gifs_only = False
number_of_columns = 3
show_transition_options = True
swww_transition_fps = 60
use_xdg_state = False
+6 -5
View File
@@ -2,22 +2,23 @@
background-image: none; background-image: none;
} }
window { window {
background-color: rgba(12, 12, 12, 0.9); background-color: rgba(30, 30, 46, 0.9);
} }
button { button {
color: #acb0d0; color: #acb0d0;
background-color: #1E1E1E; background-color: rgba(24, 24, 37, 1);
border-radius: 10px; border-radius: 10px;
border:none; border: 0;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: 25%; background-size: 20%;
outline-style: none; outline-style: none;
} }
button:focus, button:active, button:hover { button:focus, button:active, button:hover {
background-color: #2e3440; background-color: rgba(17, 17, 27, 1);
outline-style: none; outline-style: none;
border: none;
} }
#lock { #lock {
+2 -2
View File
@@ -1,5 +1,5 @@
Net/ThemeName "Catppuccin-Mocha-Standard-Lavender-Dark" Net/ThemeName "catppuccin-mocha-lavender-standard+default"
Net/IconThemeName "Flatery-Dark" Net/IconThemeName "Tela-circle-purple-dark"
Gtk/CursorThemeName "Sweet-cursors" Gtk/CursorThemeName "Sweet-cursors"
Net/EnableEventSounds 1 Net/EnableEventSounds 1
EnableInputFeedbackSounds 0 EnableInputFeedbackSounds 0
+21
View File
@@ -0,0 +1,21 @@
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
}
},
{
"context": "Editor",
"bindings": {
// "j k": ["workspace::SendKeystrokes", "escape"]
}
}
]
+54
View File
@@ -0,0 +1,54 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"cursor_shape": "block",
"ui_font_size": 14,
"ui_font_family": "JetBrainsMono Nerd Font",
"ui_font_features": {
"calt": true
},
"buffer_font_family": "JetBrainsMono Nerd Font",
"buffer_font_size": 12,
"theme": {
"mode": "system",
"light": "Catppuccin Mocha",
"dark": "Catppuccin Mocha"
},
"telemetry": {
"diagnostics": false,
"metrics": false
},
"terminal": {
"shell": {
"program": "zsh"
},
"env": {
"LANG": "de_DE.UTF-8",
"LC_ALL": "de_DE.UTF-8"
}
},
"show_inline_completions": false,
"features": {
"inline_completion_provider": "none"
},
"toolbar": {
"quick_actions": false
},
"assistant": {
"enabled": false,
"button": false,
"version": "2"
},
"chat_panel": {
"button": false
},
"collaboration_panel": {
"button": false
}
}
+81 -102
View File
@@ -15,7 +15,7 @@ BOLD=$(tput bold)
NORMAL=$(tput sgr0) NORMAL=$(tput sgr0)
clear clear
LOG="install.log" LOG="install.log"
MONARCHOS_DIR=$PWD HYPRMOONARCH_DIR=$PWD
@@ -56,30 +56,6 @@ function inst_ufw {
fi fi
} }
function inst_configs {
echo "-"
echo "Overwrite some ${BOLD}configs${NORMAL}"
echo "alacritty, dunst, btop, lsd"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_configs
if [[ $confirm_configs == "Y" ]];
then
cp -Rf $MONARCHOS_DIR/home/config/alacritty $HOME/.config/alacritty
chown $USER:$USER $HOME/.config/alacritty
cp -Rf $MONARCHOS_DIR/home/config/dunst $HOME/.config/dunst
chown $USER:$USER $HOME/.config/dunst
cp -Rf $MONARCHOS_DIR/home/config/btop $HOME/.config/btop
chown $USER:$USER $HOME/.config/btop
cp -Rf $MONARCHOS_DIR/home/config/lsd $HOME/.config/lsd
chown $USER:$USER $HOME/.config/lsd
fi
}
function inst_zsh { function inst_zsh {
echo "-" echo "-"
echo "Installing ${BOLD}ZSH${NORMAL}" echo "Installing ${BOLD}ZSH${NORMAL}"
@@ -88,22 +64,21 @@ function inst_zsh {
read confirm_zsh read confirm_zsh
if [[ $confirm_zsh == "Y" ]]; if [[ $confirm_zsh == "Y" ]];
then then
declare -a pkg_list=(zsh) declare -a pkg_list=(zsh oh-my-zsh)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
done done
cp -rf $MONARCHOS_DIR/home/.zshrc $HOME/.zshrc cp -rf $HYPRMOONARCH_DIR/home/.zshrc $HOME/.zshrc
rm -rf ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions chown $USER:$USER $HOME/.zshrc
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
rm -rf ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
rm -rf ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
chsh -s /usr/bin/zsh chsh -s /usr/bin/zsh
cp -rf $MONARCHOS_DIR/home/.p10k.zsh $HOME/.p10k.zsh cp -rf $HYPRMOONARCH_DIR/home/.p10k.zsh $HOME/.p10k.zsh
fi fi
} }
@@ -117,14 +92,23 @@ function inst_basic_pkgs {
if [[ $confirm_basics == "Y" ]]; if [[ $confirm_basics == "Y" ]];
then then
declare -a pkg_list=(jq network-manager-applet alarm-clock-applet man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname neovim lsd alsa-utils ponymix btop powertop polkit lxsession timeshift timeshift-autosnap pcmanfm librewolf-bin fzf) declare -a pkg_list=(jq network-manager-applet alarm-clock-applet man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname neovim lsd alsa-utils ponymix btop powertop polkit polkit-gnome timeshift timeshift-autosnap pcmanfm librewolf-bin fzf)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
done done
sudo cp $MONARCHOS_DIR/usr/local/bin/volnote /usr/local/bin sudo cp $HYPRMOONARCH_DIR/usr/local/bin/volnote /usr/local/bin
cp -Rf $HYPRMOONARCH_DIR/home/config/alacritty $HOME/.config/alacritty
chown $USER:$USER $HOME/.config/alacritty
cp -Rf $HYPRMOONARCH_DIR/home/config/btop $HOME/.config/btop
chown $USER:$USER $HOME/.config/btop
cp -Rf $HYPRMOONARCH_DIR/home/config/lsd $HOME/.config/lsd
chown $USER:$USER $HOME/.config/lsd
paru -S informant paru -S informant
sudo informant read --all sudo informant read --all
@@ -149,12 +133,11 @@ function inst_paru {
rustup default stable 2>&1 | tee -a $LOG rustup default stable 2>&1 | tee -a $LOG
rustup update rustup update
mkdir $MONARCHOS_DIR/.cache rm -rf $HYPRMOONARCH_DIR/.cache/paru-git
rm -rf $MONARCHOS_DIR/.cache/paru-git git clone https://aur.archlinux.org/paru.git $HYPRMOONARCH_DIR/.cache/paru-git
git clone https://aur.archlinux.org/paru.git $MONARCHOS_DIR/.cache/paru-git cd $HYPRMOONARCH_DIR/.cache/paru-git
cd $MONARCHOS_DIR/.cache/paru-git
makepkg -si makepkg -si
cd $MONARCHOS_DIR cd $HYPRMOONARCH_DIR
git pull git pull
@@ -224,35 +207,13 @@ function inst_noise_supr {
done done
mkdir -p $HOME/.config/pipewire/pipewire.conf.d/ mkdir -p $HOME/.config/pipewire/pipewire.conf.d/
cp -f $MONARCHOS_DIR/home/config/pipewire/pipewire.conf.d/99-input-denoising.conf $HOME/.config/pipewire/pipewire.conf.d/99-input-denoising.conf cp -f $HYPRMOONARCH_DIR/home/config/pipewire/pipewire.conf.d/99-input-denoising.conf $HOME/.config/pipewire/pipewire.conf.d/99-input-denoising.conf
systemctl restart --user pipewire.service systemctl restart --user pipewire.service
fi fi
} }
function inst_resources {
echo "-"
echo "Installing ${BOLD}Resources Monitor${NORMAL} [AUR: resources]"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_resources
if [[ $confirm_resources == "Y" ]];
then
declare -a pkg_list=(resources)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
DESKFILE="/usr/share/applications/net.nokyan.Resources.desktop"
if test -f "$DESKFILE"; then
cp -f $DESKFILE $HOME/.local/share/applications
sed -i "s|Exec=resources|Exec=env GTK_THEME=:dark resources|g" $HOME/.local/share/applications/net.nokyan.Resources.desktop
fi
fi
}
function inst_clamav { function inst_clamav {
echo "-" echo "-"
echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch" echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch"
@@ -274,7 +235,7 @@ function inst_clamav {
if command -v nemo &> /dev/null if command -v nemo &> /dev/null
then then
cp -Rf $MONARCHOS_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions cp -Rf $HYPRMOONARCH_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions
fi fi
fi fi
@@ -294,31 +255,33 @@ function set_gui {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/gtk-3.0 $HOME/.config/gtk-3.0 cp -Rf $HYPRMOONARCH_DIR/home/config/gtk-3.0 $HOME/.config/gtk-3.0
chown $USER:$USER $HOME/.config/gtk-3.0 chown $USER:$USER $HOME/.config/gtk-3.0
cp -Rf $MONARCHOS_DIR/home/config/gtk-4.0 $HOME/.config/gtk-4.0 cp -Rf $HYPRMOONARCH_DIR/home/config/gtk-4.0 $HOME/.config/gtk-4.0
chown $USER:$USER $HOME/.config/gtk-4.0 chown $USER:$USER $HOME/.config/gtk-4.0
install $MONARCHOS_DIR/home/config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini install $HYPRMOONARCH_DIR/home/config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini
install $MONARCHOS_DIR/home/config/gtk-4.0/settings.ini $HOME/.config/gtk-4.0/settings.ini install $HYPRMOONARCH_DIR/home/config/gtk-4.0/settings.ini $HOME/.config/gtk-4.0/settings.ini
gsettings set org.gnome.desktop.interface gtk-theme "Catppuccin-Mocha-Standard-Lavender-Dark" gsettings set org.gnome.desktop.interface gtk-theme "catppuccin-mocha-lavender-standard+default-dark"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors
xdg-mime default pcmanfm.desktop inode/directory
#gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty #gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty
sudo mkdir -p /usr/local/share/fonts/ sudo mkdir -p /usr/local/share/fonts/
sudo install -C $MONARCHOS_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf
sudo install -C $MONARCHOS_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf
sudo install -C $MONARCHOS_DIR/etc/fonts/local.conf /etc/fonts/local.conf sudo install -C $HYPRMOONARCH_DIR/etc/fonts/local.conf /etc/fonts/local.conf
fc-cache -f fc-cache -f
WALLPAPER_DIR=$HOME/Pictures/Wallpaper WALLPAPER_DIR=$HOME/Pictures/Wallpaper
if [ ! -d "$WALLPAPER_DIR" ]; then if [ ! -d "$WALLPAPER_DIR" ]; then
mkdir -p $WALLPAPER_DIR mkdir -p $WALLPAPER_DIR
fi fi
install -C $MONARCHOS_DIR/home/Pictures/Wallpaper/MonarchOS.png $WALLPAPER_DIR/MonarchOS.png install -C $HYPRMOONARCH_DIR/home/Pictures/Wallpaper/MonarchOS.png $WALLPAPER_DIR/MonarchOS.png
fi fi
} }
@@ -335,10 +298,14 @@ function inst_rofi {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/rofi $HOME/.config/rofi cp -Rf $HYPRMOONARCH_DIR/home/config/rofi $HOME/.config/rofi
chown $USER:$USER $HOME/.config/rofi chown $USER:$USER $HOME/.config/rofi
sudo cp -Rf $MONARCHOS_DIR/usr/share/settings-menu /usr/share/settings-menu sudo cp -Rf $HYPRMOONARCH_DIR/usr/share/settings-menu /usr/share/settings-menu
cargo install --git=https://github.com/nate-sys/hypr-empty
cp -Rf $HYPRMOONARCH_DIR/home/config/hypr-empty $HOME/.config/hypr-empty
fi fi
} }
@@ -379,7 +346,7 @@ function inst_screenshot {
pkg_inst $key pkg_inst $key
done done
sudo cp -f $MONARCHOS_DIR/usr/local/bin/hyprm-screenshot /usr/local/bin/ sudo cp -Rf $HYPRMOONARCH_DIR/usr/local/bin/hyprm-screenshot /usr/local/bin/
fi fi
} }
@@ -390,17 +357,21 @@ function inst_hypr {
read confirm_hypr read confirm_hypr
if [[ $confirm_hypr == "Y" ]]; if [[ $confirm_hypr == "Y" ]];
then then
declare -a pkg_list=(wayland hyprland hypridle hyprlock hyprcursor hyprkeys hyprpicker swww waypaper xdg-desktop-portal-hyprland wdisplays waybar nwg-look cliphist wlogout swayosd hyprlock waybar-module-pacman-updates) declare -a pkg_list=(wayland hyprland hypridle hyprlock hyprcursor hyprkeys hyprpicker swww waypaper xdg-desktop-portal-hyprland wdisplays waybar nwg-look cliphist wlogout swayosd hyprlock waybar-module-pacman-updates swaync)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
done done
sudo cp -Rf $MONARCHOS_DIR/etc/wlogout /etc/ sudo cp -Rf $HYPRMOONARCH_DIR/etc/wlogout/style.css /etc/wlogout/style.css
sudo cp -Rf $HYPRMOONARCH_DIR/etc/wlogout/layout /etc/wlogout/layout
cp -Rf $MONARCHOS_DIR/home/config/hypr $HOME/.config/hypr cp -Rf $HYPRMOONARCH_DIR/home/config/swaync $HOME/.config/swaync
chown $USER:$USER $HOME/.config/swaync
cp -Rf $HYPRMOONARCH_DIR/home/config/hypr $HOME/.config/hypr
chown $USER:$USER $HOME/.config/hypr chown $USER:$USER $HOME/.config/hypr
cp -Rf $MONARCHOS_DIR/home/config/waybar $HOME/.config/waybar cp -Rf $HYPRMOONARCH_DIR/home/config/waybar $HOME/.config/waybar
chown $USER:$USER $HOME/.config/waybar chown $USER:$USER $HOME/.config/waybar
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ] if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]
@@ -410,7 +381,7 @@ function inst_hypr {
hyprctl setcursor Sweet-cursors 16 hyprctl setcursor Sweet-cursors 16
fi fi
cp -Rf $MONARCHOS_DIR/home/config/waypaper $HOME/.config/waypaper cp -Rf $HYPRMOONARCH_DIR/home/config/waypaper $HOME/.config/waypaper
chown -R $USER:$USER $HOME/.config/waypaper chown -R $USER:$USER $HOME/.config/waypaper
sed -i "s|USERNAME|${USER}|g" $HOME/.config/waypaper/config.ini sed -i "s|USERNAME|${USER}|g" $HOME/.config/waypaper/config.ini
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ] if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]
@@ -436,16 +407,16 @@ function inst_bspwm {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/bspwm $HOME/.config/bspwm cp -Rf $HYPRMOONARCH_DIR/home/config/bspwm $HOME/.config/bspwm
chown $USER:$USER $HOME/.config/bspwm chown $USER:$USER $HOME/.config/bspwm
cp -Rf $MONARCHOS_DIR/home/config/sxhkd $HOME/.config/sxhkd cp -Rf $HYPRMOONARCH_DIR/home/config/sxhkd $HOME/.config/sxhkd
chown $USER:$USER $HOME/.config/sxhkd chown $USER:$USER $HOME/.config/sxhkd
cp -Rf $MONARCHOS_DIR/home/config/picom $HOME/.config/picom cp -Rf $HYPRMOONARCH_DIR/home/config/picom $HOME/.config/picom
chown $USER:$USER $HOME/.config/picom chown $USER:$USER $HOME/.config/picom
cp -Rf $MONARCHOS_DIR/home/config/polybar $HOME/.config/polybar cp -Rf $HYPRMOONARCH_DIR/home/config/polybar $HOME/.config/polybar
chown $USER:$USER $HOME/.config/polybar chown $USER:$USER $HOME/.config/polybar
fi fi
} }
@@ -463,7 +434,7 @@ function inst_conky {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/conky $HOME/.config/conky cp -Rf $HYPRMOONARCH_DIR/home/config/conky $HOME/.config/conky
chown $USER:$USER $HOME/.config/conkys chown $USER:$USER $HOME/.config/conkys
fi fi
} }
@@ -475,7 +446,7 @@ function inst_sddm {
read confirm_sddm read confirm_sddm
if [[ $confirm_sddm == "Y" ]]; if [[ $confirm_sddm == "Y" ]];
then then
declare -a pkg_list=(sddm qt5-quickcontrols qt5-graphicaleffects) declare -a pkg_list=(sddm qt5-quickcontrols qt5-graphicaleffects qt6-svg qt6-declarative)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
@@ -483,19 +454,26 @@ function inst_sddm {
log "REMEMBER: this will fail if you don't disable any other display manager before" log "REMEMBER: this will fail if you don't disable any other display manager before"
log "clear package cache" # log "clear package cache"
rm -rf $HOME/.cache/Elegant-sddm-monarch # rm -rf $HOME/.cache/Elegant-sddm-monarch
log "clone sddm theme" # log "clone sddm theme"
git clone https://gitea.nevaforget.de/dom/Elegant-sddm-monarch/ $HOME/.cache/Elegant-sddm-monarch # git clone https://gitea.nevaforget.de/dom/Elegant-sddm-monarch/ $HOME/.cache/Elegant-sddm-monarch
log "copy sddm theme to destination" # log "copy sddm theme to destination"
sudo cp -rf $HOME/.cache/Elegant-sddm-monarch/Elegant /usr/share/sddm/themes/monarch # sudo cp -rf $HOME/.cache/Elegant-sddm-monarch/Elegant /usr/share/sddm/themes/monarch
log "set current sddm theme" # log "set current sddm theme"
sudo cp -rf /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf # sudo cp -rf /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf
sudo sed -i "s/^Current=.*/Current=monarch/g" /etc/sddm.conf # sudo sed -i "s/^Current=.*/Current=monarch/g" /etc/sddm.conf
log "set default user image" log "set default user image"
sudo cp -f $MONARCHOS_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face sudo cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face
cp -f $MONARCHOS_DIR/usr/share/sddm/faces/.face $HOME/.face cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face $HOME/.face
cd $HYPRMOONARCH_DIR/.cache
wget --unlink https://github.com/catppuccin/sddm/releases/download/v1.0.0/catppuccin-mocha.zip
sudo unzip catppuccin-mocha.zip -d /usr/share/sddm/themes/
cd $HYPRMOONARCH_DIR
sudo sed -i "s/^Current=.*/Current=catppuccin-mocha/g" /etc/sddm.conf
sudo systemctl enable sddm sudo systemctl enable sddm
fi fi
@@ -529,7 +507,9 @@ function log () {
function init { function init {
rm $LOG rm -f $LOG
mkdir $HYPRMOONARCH_DIR/.cache
log "Installation start\n" log "Installation start\n"
@@ -551,9 +531,8 @@ function init {
inst_ufw inst_ufw
inst_clamav inst_clamav
inst_noise_supr inst_noise_supr
inst_resources
inst_configs
inst_bluet inst_bluet
inst_screenshot inst_screenshot
inst_code inst_code
Executable
+345
View File
@@ -0,0 +1,345 @@
#!/usr/bin/env bash
if [ "$(id -u)" -eq 0 ]; then
printf "Don't run this script as root!"
exit 1
else
printf "not root"
fi
GREEN="$(tput setaf 2)[OK]$(tput sgr0)"
RED="$(tput setaf 1)[ERROR]$(tput sgr0)"
YELLOW="$(tput setaf 3)[NOTE]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
BOLD=$(tput bold)
NORMAL=$(tput sgr0)
clear
LOG="install.log"
HYPRMOONARCH_DIR=$PWD
set -e
function pkg_inst () {
log "Checking if $1 is installed..."
if pacman -Qs $1; then
log "Found $IS_INSTALLED ...skipping"
else
log "$1 not found. Installing..."
paru -S $1 2>&1 | tee -a $LOG
fi
}
function inst_paru {
echo "-"
echo "Installing AUR helper ${BOLD}paru${NORMAL}?"
echo "${BOLD}paru${NORMAL} is mandatory."
if command -v paru > /dev/null 2>&1; then
echo "${BOLD}paru ${NORMAL}already installed. Skipping..."
else
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_paru
if [[ $confirm_paru == "Y" ]];
then
sudo pacman -Syu --needed base-devel 2>&1 | tee -a $LOG
sudo pacman -Syu rust 2>&1 | tee -a $LOG
rm -rf $HYPRMOONARCH_DIR/.cache/paru-git
git clone https://aur.archlinux.org/paru.git $HYPRMOONARCH_DIR/.cache/paru-git
cd $HYPRMOONARCH_DIR/.cache/paru-git
makepkg -si
cd $HYPRMOONARCH_DIR
git pull
mkdir -p $HOME/.local/bin
echo 'PATH="$HOME/.local/bin:$PATH"' | sudo tee -a /etc/environment >/dev/null
else
echo "exiting"
exit 1
fi
fi
}
function inst_sddm {
echo "-"
echo "Installing SDDM - Display/Login Manager"
declare -a pkg_list=(sddm qt6-5compat qt6-declarative qt6-svg sddm)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sddm --example-config > $HYPRMOONARCH_DIR/.cache/sddm.conf
sudo mv $HYPRMOONARCH_DIR/.cache/sddm.conf /etc/sddm.conf
echo "set default user image"
sudo cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face
cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face $HOME/.face
cd $HYPRMOONARCH_DIR/.cache
# wget --unlink https://github.com/catppuccin/sddm/releases/download/v1.0.0/catppuccin-mocha.zip
# sudo unzip catppuccin-mocha.zip -d /usr/share/sddm/themes/
rm -rf moonarch-sddm
git clone https://gitea.moonarch.de/nevaforget/moonarch-sddm.git
sudo cp -Rf moonarch-sddm /usr/share/sddm/themes/
sudo rm -rf /usr/share/sddm/themes/moonarch-sddm/.git
sudo sed -i "s/^Current=.*/Current=moonarch-sddm/g" /etc/sddm.conf
#sudo systemctl disable display-manager
sudo systemctl enable sddm
cd $HYPRMOONARCH_DIR
}
function inst_pkgs {
log "-"
log "Installing ${BOLD}Arch packages.${NORMAL}"
log "This includes all neccessary dependencies. You definitely want this."
log "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_basics
log "$confirm_basics"
if [[ $confirm_basics == "Y" ]];
then
declare -a pkg_list=(wayland stow jq network-manager-applet alarm-clock-applet xarchiver man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname lsd alsa-utils ponymix btop timeshift timeshift-autosnap newaita-reborn-icons-git waterfox fzf unzip hyprland hypridle hyprlock hyprcursor hyprkeys hyprpicker swww waypaper xdg-desktop-portal-hyprland wdisplays waybar nwg-look cliphist wlogout hyprlock waybar-module-pacman-updates-git ufw zsh oh-my-zsh noise-suppression-for-voice grim satty-bin slurp dunst sweet-cursors-hyprcursor-git catppuccin-gtk-theme-mocha rofi cmake meson cpio pkg-config ttf-ubuntu-nerd ttf-hack-nerd ttf-jetbrains-mono-nerd hyprsysteminfo qt5-styleplugins qt6gtk2 qt5gtk2 hyprpolkitagent hyprshade cpupower fd)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo cp -Rf $HYPRMOONARCH_DIR/usr/local/bin/* /usr/local/bin/
pkg_inst "informant"
sudo informant read --all
#$(getent group informant) ] || groupadd informant
#sudo usermod -a -G informant $USER
fi
cd $HYPRMOONARCH_DIR
}
function inst_bluet {
echo "-"
echo "Installing ${BOLD}Bluetooth${NORMAL} Support"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_bluet
if [[ $confirm_bluet == "Y" ]];
then
declare -a pkg_list=(bluez bluez-utils-compat blueberry)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service
fi
cd $HYPRMOONARCH_DIR
}
function inst_filemanager {
echo "-"
echo "Installing ${BOLD}File-Manager${NORMAL} (PCManFM)"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_filemanager
if [[ $confirm_filemanager == "Y" ]];
then
declare -a pkg_list=(pcmanfm-gtk3 evince ffmpegthumbnailer libgsf)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
$(getent group storage) ] || groupadd storage
sudo usermod -a -G storage $USER
fi
cd $HYPRMOONARCH_DIR
}
function inst_davfs {
echo "-"
echo "Installing ${BOLD}WebDAV / davfs2${NORMAL} support, including file-manager support"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_davfs
if [[ $confirm_davfs == "Y" ]];
then
declare -a pkg_list=(davfs2 gvfs gvfs-dnssd)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
if [ $(getent group admin) ]; then
sudo usermod -a -G davfs2 $USER
fi
fi
cd $HYPRMOONARCH_DIR
}
function inst_clamav {
echo "-"
echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_clamav
if [[ $confirm_clamav == "Y" ]];
then
declare -a pkg_list=(clamav python-fangfrisch)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo systemctl start clamav-daemon.service
sudo systemctl enable clamav-daemon.service
sudo freshclam
sudo -u clamav /usr/bin/fangfrisch --conf /etc/fangfrisch/fangfrisch.conf initdb
sudo systemctl enable fangfrisch.timer
if command -v nemo &> /dev/null
then
cp -Rf $HYPRMOONARCH_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions
fi
fi
cd $HYPRMOONARCH_DIR
}
function rebooter {
echo "-"
echo "I recommend to reboot at this point. But you should at least log out and in again."
echo -n "${BOLD}Continue with Reboot?${NORMAL} (Y/N) "
read confirm_rebot
if [[ $confirm_rebot == "Y" ]];
then
sudo reboot
fi
}
function setup {
# ZSH
log "Cloning ZSH Plugins..."
sudo rm -rf ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
log "Done... zsh-autosuggestions"
sudo rm -rf ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
log "Done... zsh-syntax-highlighting"
sudo rm -rf ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
log "Done... powerlevel10k"
chsh -s /usr/bin/zsh
log "Done... Set zsh as default shell"
# GUI
log "Set up GUI Themes"
gsettings set org.gnome.desktop.interface gtk-theme "Catppuccin-Mocha-Standard-Lavender-Dark"
log "Setting cursor theme"
hyprctl setcursor Sweet-cursors-hyprcursor 32
log "Done... Window decorations"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
log "Done... Set color-scheme to prefer-dark"
rm -rf $HYPRMOONARCH_DIR/.cache/Sweet-cursors
git clone https://gitea.moonarch.de/nevaforget/Sweet-cursors $HYPRMOONARCH_DIR/.cache/Sweet-cursors
cp -R $HYPRMOONARCH_DIR/.cache/Sweet-cursors /usr/share/icons/Sweet-cursors
gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors
log "Done... Set a sweet cursor"
# Extra Font
log "Installing extra fonts"
sudo mkdir -p /usr/local/share/fonts/
sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf
sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf
sudo install -C $HYPRMOONARCH_DIR/etc/fonts/local.conf /etc/fonts/local.conf
fc-cache -f
# Shared things
cp -R $HYPRMOONARCH_DIR/usr/share/* /usr/share/
cp -R $HYPRMOONARCH_DIR/usr/local/* /usr/local/
# Wallpaper
log "Installing wallpapers"
WALLPAPER_DIR=$HOME/Pictures/Wallpaper
if [ ! -d "$WALLPAPER_DIR" ]; then
mkdir -p $WALLPAPER_DIR
fi
cp -Rf $HYPRMOONARCH_DIR/home/Pictures/Wallpaper/* $WALLPAPER_DIR/
log "Set up default wallpaper"
#waypaper --wallpaper $WALLPAPER_DIR/1586853771_daniel-leone-v7datklzzaw-unsplash-modded.jpg
swww img $WALLPAPER_DIR/1586853771_daniel-leone-v7datklzzaw-unsplash-modded.jpg
# dotfiles
log "Time to stow things up... Installing dotfiles"
rm -rf $HOME/.config/hypr
cp -R $HYPRMOONARCH_DIR/home/config/ $HOME/.hyprm/.config/
cp -R $HYPRMOONARCH_DIR/home/.bashrc $HOME/.hyprm/.bashrc
cp -R $HYPRMOONARCH_DIR/home/.zshrc $HOME/.hyprm/.zshrc
cp -R $HYPRMOONARCH_DIR/home/.p10k.zsh $HOME/.hyprm/.p10k.zsh
cd $HOME/.hyprm/
stow --adopt .
cd $HYPRMOONARCH_DIR
}
function log () {
ts=$(date +"%H:%M:%S")
printf "$ts $1\n" | tee -a $LOG
}
function init {
rm -f $LOG
mkdir -p $HYPRMOONARCH_DIR/.cache
mkdir -p $HOME/.hyprm
log "Installation start\n"
inst_paru
type paru >/dev/null 2>&1 || { echo >&2 "I require paru but it's not installed. Aborting."; exit 1; }
inst_pkgs
inst_sddm
setup
inst_bluet
inst_clamav
inst_davfs
sudo gtk-update-icon-cache -f -t /usr/share/icons
rebooter
}
printf "#####################################\n"
printf "$(tput setaf 2)Welcome to MoonArch. Feel free.\n@version 1.0\n$(tput sgr0)"
printf "#####################################\n"
printf "\n"
printf "$(tput setaf 1)Don't run this script as ROOT!\n$(tput sgr0)"
printf "\n"
printf "${YELLOW} ${BOLD}This will clear and overwrite some config files\nand this can not be reverted. No Backups are created!\n "
printf "\n"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm
if [[ $confirm == "Y" ]];
then
init
else
echo "Goodbye sweet butterfly"
exit 1
fi
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
## author moonarch.de
## date 2024-08-16
## loop battery devices and send notification on low percentage
NOTIFY_AT_PERCENTAGE=20
ICON="/usr/share/icons/Tela-purple-dark/symbolic/status/battery-empty-symbolic.svg"
for d in $(upower -e);
do
DEVICE_DATA=$(upower -i "$d");
PERCENTAGE=$(echo $DEVICE_DATA | grep -Po '(?<=(percentage: )).*(?= icon)')
PER_INT=$(echo "${PERCENTAGE//%}")
DEVICE_NAME=$(echo $DEVICE_DATA | grep -Po '(?<=(model: )).*(?= serial)')
if [ ! -z $DEVICE_NAME ] && [ $PER_INT -lt $NOTIFY_AT_PERCENTAGE ]; then
notify-send -t 5000 -e "Low battery $DEVICE_NAME $PER_INT%" -i "$ICON" -h string:x-canonical-private-synchronous:battery -h int:value:"$PER_INT" -u critical
fi
done
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
sleep 0.2
value=($(cat /sys/class/leds/input*::capslock/brightness | cut -f1 -d,))
# echo ${value[2]}
if [ ${value[2]} == 1 ];
then
icon_name="/usr/share/icons/Tela-purple-dark/symbolic/status/capslock-enabled-symbolic.svg"
output="caps lock on"
else
icon_name="/usr/share/icons/Tela-purple-dark/symbolic/status/capslock-disabled-symbolic.svg"
output="caps lock off"
fi
#notify-send -t 600 -i $icon_name -r 555 $output
# dunstify "$output" -i "$icon_name" -t 600 --replace=555 -h boolean:value:"${value[2]}" -u low
notify-send -e "$output" -i "$icon_name" -h string:x-canonical-private-synchronous:state -h boolean:value:"${value[2]}" -r 555
+343
View File
@@ -0,0 +1,343 @@
# The MIT License (MIT)
#
# Copyright (c) 2024 Junegunn Choi
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# shellcheck disable=SC2039
[[ $0 = - ]] && return
__fzf_git_color() {
if [[ -n $NO_COLOR ]]; then
echo never
elif [[ $# -gt 0 ]] && [[ -n $FZF_GIT_PREVIEW_COLOR ]]; then
echo "$FZF_GIT_PREVIEW_COLOR"
else
echo "${FZF_GIT_COLOR:-always}"
fi
}
__fzf_git_cat() {
if [[ -n $FZF_GIT_CAT ]]; then
echo "$FZF_GIT_CAT"
return
fi
# Sometimes bat is installed as batcat
_fzf_git_bat_options="--style='${BAT_STYLE:-full}' --color=$(__fzf_git_color .) --pager=never"
if command -v batcat > /dev/null; then
echo "batcat $_fzf_git_bat_options"
elif command -v bat > /dev/null; then
echo "bat $_fzf_git_bat_options"
else
echo cat
fi
}
__fzf_git_pager() {
local pager
pager="${FZF_GIT_PAGER:-${GIT_PAGER:-$(git config --get core.pager 2>/dev/null)}}"
echo "${pager:-cat}"
}
if [[ $1 = --list ]]; then
shift
if [[ $# -eq 1 ]]; then
branches() {
git branch "$@" --sort=-committerdate --sort=-HEAD --format=$'%(HEAD) %(color:yellow)%(refname:short) %(color:green)(%(committerdate:relative))\t%(color:blue)%(subject)%(color:reset)' --color=$(__fzf_git_color) | column -ts$'\t'
}
refs() {
git for-each-ref "$@" --sort=-creatordate --sort=-HEAD --color=$(__fzf_git_color) --format=$'%(if:equals=refs/remotes)%(refname:rstrip=-2)%(then)%(color:magenta)remote-branch%(else)%(if:equals=refs/heads)%(refname:rstrip=-2)%(then)%(color:brightgreen)branch%(else)%(if:equals=refs/tags)%(refname:rstrip=-2)%(then)%(color:brightcyan)tag%(else)%(if:equals=refs/stash)%(refname:rstrip=-2)%(then)%(color:brightred)stash%(else)%(color:white)%(refname:rstrip=-2)%(end)%(end)%(end)%(end)\t%(color:yellow)%(refname:short) %(color:green)(%(creatordate:relative))\t%(color:blue)%(subject)%(color:reset)' | column -ts$'\t'
}
hashes() {
git log --date=short --format="%C(green)%C(bold)%cd %C(auto)%h%d %s (%an)" --graph --color=$(__fzf_git_color) "$@" $LIST_OPTS
}
case "$1" in
branches)
echo 'CTRL-O (open in browser) ALT-A (show all branches)'
echo 'ALT-H (list commit hashes)'
branches
;;
all-branches)
echo 'CTRL-O (open in browser)'
branches -a
;;
hashes)
echo 'CTRL-O (open in browser) CTRL-D (diff)'
echo 'CTRL-S (toggle sort) ALT-A (show all hashes)'
hashes
;;
all-hashes)
echo 'CTRL-O (open in browser) CTRL-D (diff)'
echo 'CTRL-S (toggle sort)'
hashes --all
;;
refs)
echo 'CTRL-O (open in browser) ALT-E (examine in editor) ALT-A (show all refs)'
refs --exclude='refs/remotes'
;;
all-refs)
echo 'CTRL-O (open in browser) ALT-E (examine in editor)'
refs
;;
*) exit 1 ;;
esac
elif [[ $# -gt 1 ]]; then
set -e
branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null)
if [[ $branch = HEAD ]]; then
branch=$(git describe --exact-match --tags 2> /dev/null || git rev-parse --short HEAD)
fi
# Only supports GitHub for now
case "$1" in
commit)
hash=$(grep -o "[a-f0-9]\{7,\}" <<< "$2")
path=/commit/$hash
;;
branch|remote-branch)
branch=$(sed 's/^[* ]*//' <<< "$2" | cut -d' ' -f1)
remote=$(git config branch."${branch}".remote || echo 'origin')
branch=${branch#$remote/}
path=/tree/$branch
;;
remote)
remote=$2
path=/tree/$branch
;;
file) path=/blob/$branch/$(git rev-parse --show-prefix)$2 ;;
tag) path=/releases/tag/$2 ;;
*) exit 1 ;;
esac
remote=${remote:-$(git config branch."${branch}".remote || echo 'origin')}
remote_url=$(git remote get-url "$remote" 2> /dev/null || echo "$remote")
if [[ $remote_url =~ ^git@ ]]; then
url=${remote_url%.git}
url=${url#git@}
url=https://${url/://}
elif [[ $remote_url =~ ^http ]]; then
url=${remote_url%.git}
fi
case "$(uname -s)" in
Darwin) open "$url$path" ;;
*) xdg-open "$url$path" ;;
esac
exit 0
fi
fi
if [[ $- =~ i ]] || [[ $1 = --run ]]; then # ----------------------------------
# Redefine this function to change the options
_fzf_git_fzf() {
fzf --height 50% --tmux 90%,70% \
--layout reverse --multi --min-height 20+ --border \
--no-separator --header-border horizontal \
--border-label-pos 2 \
--color 'label:blue' \
--preview-window 'right,50%' --preview-border line \
--bind 'ctrl-/:change-preview-window(down,50%|hidden|)' "$@"
}
_fzf_git_check() {
git rev-parse HEAD > /dev/null 2>&1 && return
[[ -n $TMUX ]] && tmux display-message "Not in a git repository"
return 1
}
__fzf_git=${BASH_SOURCE[0]:-${(%):-%x}}
__fzf_git=$(readlink -f "$__fzf_git" 2> /dev/null || /usr/bin/ruby --disable-gems -e 'puts File.expand_path(ARGV.first)' "$__fzf_git" 2> /dev/null)
_fzf_git_files() {
_fzf_git_check || return
local root query
root=$(git rev-parse --show-toplevel)
[[ $root != "$PWD" ]] && query='!../ '
(git -c color.status=$(__fzf_git_color) status --short --no-branch
git ls-files "$root" | grep -vxFf <(git status -s | grep '^[^?]' | cut -c4-; echo :) | sed 's/^/ /') |
_fzf_git_fzf -m --ansi --nth 2..,.. \
--border-label '📁 Files ' \
--header 'CTRL-O (open in browser) ALT-E (open in editor)' \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list file {-1}" \
--bind "alt-e:execute:${EDITOR:-vim} {-1} > /dev/tty" \
--query "$query" \
--preview "git diff --no-ext-diff --color=$(__fzf_git_color .) -- {-1} | $(__fzf_git_pager); $(__fzf_git_cat) {-1}" "$@" |
cut -c4- | sed 's/.* -> //'
}
_fzf_git_branches() {
_fzf_git_check || return
bash "$__fzf_git" --list branches |
_fzf_git_fzf --ansi \
--border-label '🌲 Branches ' \
--header-lines 2 \
--tiebreak begin \
--preview-window down,border-top,40% \
--color hl:underline,hl+:underline \
--no-hscroll \
--bind 'ctrl-/:change-preview-window(down,70%|hidden|)' \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list branch {}" \
--bind "alt-a:change-border-label(🌳 All branches)+reload:bash \"$__fzf_git\" --list all-branches" \
--bind "alt-h:become:LIST_OPTS=\$(cut -c3- <<< {} | cut -d' ' -f1) bash \"$__fzf_git\" --run hashes" \
--preview "git log --oneline --graph --date=short --color=$(__fzf_git_color .) --pretty='format:%C(auto)%cd %h%d %s' \$(cut -c3- <<< {} | cut -d' ' -f1) --" "$@" |
sed 's/^\* //' | awk '{print $1}' # Slightly modified to work with hashes as well
}
_fzf_git_tags() {
_fzf_git_check || return
git tag --sort -version:refname |
_fzf_git_fzf --preview-window right,70% \
--border-label '📛 Tags ' \
--header 'CTRL-O (open in browser)' \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list tag {}" \
--preview "git show --color=$(__fzf_git_color .) {} | $(__fzf_git_pager)" "$@"
}
_fzf_git_hashes() {
_fzf_git_check || return
bash "$__fzf_git" --list hashes |
_fzf_git_fzf --ansi --no-sort --bind 'ctrl-s:toggle-sort' \
--border-label '🍡 Hashes ' \
--header-lines 2 \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list commit {}" \
--bind "ctrl-d:execute:grep -o '[a-f0-9]\{7,\}' <<< {} | head -n 1 | xargs git diff --color=$(__fzf_git_color) > /dev/tty" \
--bind "alt-a:change-border-label(🍇 All hashes)+reload:bash \"$__fzf_git\" --list all-hashes" \
--color hl:underline,hl+:underline \
--preview "grep -o '[a-f0-9]\{7,\}' <<< {} | head -n 1 | xargs git show --color=$(__fzf_git_color .) | $(__fzf_git_pager)" "$@" |
awk 'match($0, /[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]*/) { print substr($0, RSTART, RLENGTH) }'
}
_fzf_git_remotes() {
_fzf_git_check || return
git remote -v | awk '{print $1 "\t" $2}' | uniq |
_fzf_git_fzf --tac \
--border-label '📡 Remotes ' \
--header 'CTRL-O (open in browser)' \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list remote {1}" \
--preview-window right,70% \
--preview "git log --oneline --graph --date=short --color=$(__fzf_git_color .) --pretty='format:%C(auto)%cd %h%d %s' '{1}/$(git rev-parse --abbrev-ref HEAD)' --" "$@" |
cut -d$'\t' -f1
}
_fzf_git_stashes() {
_fzf_git_check || return
git stash list | _fzf_git_fzf \
--border-label '🥡 Stashes ' \
--header 'CTRL-X (drop stash)' \
--bind 'ctrl-x:reload(git stash drop -q {1}; git stash list)' \
-d: --preview "git show --color=$(__fzf_git_color .) {1} | $(__fzf_git_pager)" "$@" |
cut -d: -f1
}
_fzf_git_lreflogs() {
_fzf_git_check || return
git reflog --color=$(__fzf_git_color) --format="%C(blue)%gD %C(yellow)%h%C(auto)%d %gs" | _fzf_git_fzf --ansi \
--border-label '📒 Reflogs ' \
--preview "git show --color=$(__fzf_git_color .) {1} | $(__fzf_git_pager)" "$@" |
awk '{print $1}'
}
_fzf_git_each_ref() {
_fzf_git_check || return
bash "$__fzf_git" --list refs | _fzf_git_fzf --ansi \
--nth 2,2.. \
--tiebreak begin \
--border-label '☘️ Each ref ' \
--header-lines 1 \
--preview-window down,border-top,40% \
--color hl:underline,hl+:underline \
--no-hscroll \
--bind 'ctrl-/:change-preview-window(down,70%|hidden|)' \
--bind "ctrl-o:execute-silent:bash \"$__fzf_git\" --list {1} {2}" \
--bind "alt-e:execute:${EDITOR:-vim} <(git show {2}) > /dev/tty" \
--bind "alt-a:change-border-label(🍀 Every ref)+reload:bash \"$__fzf_git\" --list all-refs" \
--preview "git log --oneline --graph --date=short --color=$(__fzf_git_color .) --pretty='format:%C(auto)%cd %h%d %s' {2} --" "$@" |
awk '{print $2}'
}
_fzf_git_worktrees() {
_fzf_git_check || return
git worktree list | _fzf_git_fzf \
--border-label '🌴 Worktrees ' \
--header 'CTRL-X (remove worktree)' \
--bind 'ctrl-x:reload(git worktree remove {1} > /dev/null; git worktree list)' \
--preview "
git -c color.status=$(__fzf_git_color .) -C {1} status --short --branch
echo
git log --oneline --graph --date=short --color=$(__fzf_git_color .) --pretty='format:%C(auto)%cd %h%d %s' {2} --
" "$@" |
awk '{print $1}'
}
fi # --------------------------------------------------------------------------
if [[ $1 = --run ]]; then
shift
type=$1
shift
eval "_fzf_git_$type" "$@"
elif [[ $- =~ i ]]; then # ------------------------------------------------------
if [[ -n "${BASH_VERSION:-}" ]]; then
__fzf_git_init() {
bind -m emacs-standard '"\er": redraw-current-line'
bind -m emacs-standard '"\C-z": vi-editing-mode'
bind -m vi-command '"\C-z": emacs-editing-mode'
bind -m vi-insert '"\C-z": emacs-editing-mode'
local o c
for o in "$@"; do
c=${o:0:1}
bind -m emacs-standard '"\C-g\C-'$c'": " \C-u \C-a\C-k`_fzf_git_'$o'`\e\C-e\C-y\C-a\C-y\ey\C-h\C-e\er \C-h"'
bind -m vi-command '"\C-g\C-'$c'": "\C-z\C-g\C-'$c'\C-z"'
bind -m vi-insert '"\C-g\C-'$c'": "\C-z\C-g\C-'$c'\C-z"'
bind -m emacs-standard '"\C-g'$c'": " \C-u \C-a\C-k`_fzf_git_'$o'`\e\C-e\C-y\C-a\C-y\ey\C-h\C-e\er \C-h"'
bind -m vi-command '"\C-g'$c'": "\C-z\C-g'$c'\C-z"'
bind -m vi-insert '"\C-g'$c'": "\C-z\C-g'$c'\C-z"'
done
}
elif [[ -n "${ZSH_VERSION:-}" ]]; then
__fzf_git_join() {
local item
while read item; do
echo -n "${(q)item} "
done
}
__fzf_git_init() {
local m o
for o in "$@"; do
eval "fzf-git-$o-widget() { local result=\$(_fzf_git_$o | __fzf_git_join); zle reset-prompt; LBUFFER+=\$result }"
eval "zle -N fzf-git-$o-widget"
for m in emacs vicmd viins; do
eval "bindkey -M $m '^g^${o[1]}' fzf-git-$o-widget"
eval "bindkey -M $m '^g${o[1]}' fzf-git-$o-widget"
done
done
}
fi
__fzf_git_init files branches tags remotes hashes stashes lreflogs each_ref worktrees
fi # --------------------------------------------------------------------------
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -euo pipefail
readonly ENABLED=''
readonly DISABLED=''
dbus-monitor path='/org/freedesktop/Notifications',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged' --profile |
while read -r _; do
PAUSED="$(dunstctl is-paused)"
if [ "$PAUSED" == 'false' ]; then
CLASS="enabled"
TEXT="$ENABLED"
TOOLTIP="Notifications are on"
else
CLASS="disabled"
TEXT="$DISABLED"
TOOLTIP="Notifications are off"
COUNT="$(dunstctl count waiting)"
if [ "$COUNT" != '0' ]; then
TEXT="$DISABLED ($COUNT)"
fi
fi
printf '{"text": "%s", "class": "%s", "tooltip": "%s"}\n' "$TEXT" "$CLASS" "$TOOLTIP"
done
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
CURRENT_LANG=$(echo $LANG| cut -d. -f1)
TRANSL_FILE=~/.config/$CURRENT_LANG
echo $TRANSL_FILE
while IFS="," read -r rec_column1 rec_column2 rec_column3 rec_column4
do
echo "Displaying Record-$rec_column1"
echo "Quantity: $rec_column2"
echo "Price: $rec_column3"
echo "Value: $rec_column4"
echo ""
done < <(tail -n +2 $TRANSL_FILE)
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/bash
while :
do
CPU_GOV=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
case $CPU_GOV in
performance)
CPU_GOV_SHORT=󰓅
;;
balanced)
CPU_GOV_SHORT=󰾅
;;
powersave)
CPU_GOV_SHORT=󰌪
;;
userspace)
CPU_GOV_SHORT=uspace
;;
ondemand)
CPU_GOV_SHORT=ondmnd
;;
conservative)
CPU_GOV_SHORT=cons
;;
schedutil)
CPU_GOV_SHORT=sutil
;;
*)
STATEMENTS
;;
esac
CPU_GOV_FULL="${CPU_GOV^}"
s="text|alt|tooltip|class
$CPU_GOV_SHORT|$CPU_GOV_FULL|CPU Mode: $CPU_GOV_FULL|cpugov"
jq --unbuffered --compact-output -Rn '
( input | split("|") ) as $keys |
( inputs | split("|") ) as $vals |
[[$keys, $vals] | transpose[] | {key:.[0],value:.[1]}] | from_entries
' <<<"$s"
sleep 5
done
#echo '{"text": "$(CPU_GOV)", "alt": "$CPU_GOV", "tooltip": "$CPU_GOV", "class": "$cpugov" }'
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/bash
while :
do
GPU_STAT=$(cat /sys/class/hwmon/hwmon5/device/gpu_busy_percent)
ICON="<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>"
if [ "$GPU_STAT" -lt 10 ]; then
ICON="<span color='#69ff94' size='8pt' rise='1.5pt'>▁</span>"
elif [ "$GPU_STAT" -lt 20 ]; then
ICON="<span color='#2aa9ff' size='8pt' rise='1.5pt'>▂</span>"
elif [ "$GPU_STAT" -lt 40 ]; then
ICON="<span color='#f8f8f2' size='8pt' rise='1.5pt'>▃</span>"
elif [ "$GPU_STAT" -lt 50 ]; then
ICON="<span color='#f8f8f2' size='8pt' rise='1.5pt'>▄</span>"
elif [ "$GPU_STAT" -lt 60 ]; then
ICON="<span color='#ffffa5' size='8pt' rise='1.5pt'>▅</span>"
elif [ "$GPU_STAT" -lt 70 ]; then
ICON="<span color='#ffffa5' size='8pt' rise='1.5pt'>▆</span>"
elif [ "$GPU_STAT" -lt 80 ]; then
ICON="<span color='#ff9977' size='8pt' rise='1.5pt'>▇</span>"
elif [ "$GPU_STAT" -lt 100 ]; then
ICON="<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
fi
s="text|alt|tooltip|class|percentage
GPU $ICON|GPU $ICON $GPU_STAT%|GPU $ICON $GPU_STAT%|gpustat|$GPU_STAT"
jq --unbuffered --compact-output -Rn '
( input | split("|") ) as $keys |
( inputs | split("|") ) as $vals |
[[$keys, $vals] | transpose[] | {key:.[0],value:.[1]}] | from_entries
' <<<"$s"
sleep 5
done
#echo '{"text": "$(CPU_GOV)", "alt": "$CPU_GOV", "tooltip": "$CPU_GOV", "class": "$cpugov" }'
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/bash
set -e
# https://blog.dhampir.no/content/sleeping-without-a-subprocess-in-bash-and-how-to-sleep-forever
snore() {
local IFS
[[ -n "${_snore_fd:-}" ]] || exec {_snore_fd}<> <(:)
read -r ${1:+-t "$1"} -u $_snore_fd || :
}
getter() {
DELAY=0.2
while snore $DELAY; do
SINKS=$(pactl --format=json list sinks)
CURRENT_SINK=$(pactl get-default-sink)
CURRENT_SINK_OBJ=$(pactl --format=json list sinks | jq '.[] | select(.state="$(pactl get-default-sink)")')
echo $CURRENT_SINK_OBJ
exit 1
s="text|alt|tooltip|class
$CPU_GOV_SHORT|$CPU_GOV_FULL|CPU Mode: $CPU_GOV_FULL|cpugov"
jq --unbuffered --compact-output -Rn '
( input | split("|") ) as $keys |
( inputs | split("|") ) as $vals |
[[$keys, $vals] | transpose[] | {key:.[0],value:.[1]}] | from_entries
' <<<"$s"
done
}
if [[ $1 = "-g" ]] then
getter
fi
exit 0
#echo '{"text": "$(CPU_GOV)", "alt": "$CPU_GOV", "tooltip": "$CPU_GOV", "class": "$cpugov" }'
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
tooltip="${tooltip//+/ }"
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
while :
do
tooltip=$(hyprshade current)
if [[ -z "$tooltip" ]]; then
tooltip="Off"
fi
text="󰈈"
if [[ -z "$tooltip" ]]; then
text="󰡮"
fi
echo '{"text": "'$text'", "tooltip": "Current shader: '$tooltip'", "class": "hyprshade", "alt": "'$tooltip'"}'
sleep 1
done
+63
View File
@@ -0,0 +1,63 @@
#!/bin/bash
if [ $# -eq 0 ]; then
echo usage: $(basename $0) icon-name
exit 0
fi
THEME=${1}
SIZE=24
echo Setting for GNOME ...
gsettings set org.gnome.desktop.interface cursor-theme "${THEME}"
gsettings set org.gnome.desktop.interface cursor-size ${SIZE}
## Only for Deepin Linux
cat /etc/lsb-release | grep -i Deepin 2>/dev/null 1>&2
if [ $? -eq 0 ]; then
gsettings set com.deepin.wrap.gnome.desktop.interface cursor-size ${SIZE}
gsettings set com.deepin.xsettings gtk-cursor-theme-size ${SIZE}
gsettings set com.deepin.wrap.gnome.desktop.interface cursor-theme ${THEME}
gsettings set com.deepin.xsettings gtk-cursor-theme-name ${THEME}
gsettings set com.deepin.dde.appearance cursor-theme ${THEME}
fi
if [ -f ~/.icons/default/index.theme ]; then
rm ~/.icons/default/index.theme
fi
if [ ! -d ~/.icons/default ]; then
mkdir -p ~/.icons/default
fi
echo \[icon theme\] >> ~/.icons/default/index.theme
echo Inherits=${THEME} >> ~/.icons/default/index.theme
echo Setting for GTK-3.0 ...
if [ -f ~/.config/gtk-3.0/settings.ini ]; then
rm ~/.config/gtk-3.0/settings.ini
fi
if [ ! -d ~/.config/gtk-3.0 ]; then
mkdir ~/.config/gtk-3.0
fi
echo \[Settings\] >> ~/.config/gtk-3.0/settings.ini
echo gtk-cursor-theme-name=${THEME} >> ~/.config/gtk-3.0/settings.ini
echo Setting for Legacy X ...
if [ -f ~/.xinitrc ]; then
sed -i '/.*XCURSOR_THEME.*/Id' ~/.xinitrc
sed -i '/.*XCURSOR_SIZE.*/Id' ~/.xinitrc
fi
echo XCURSOR_SIZE=${SIZE} >> ~/.xinitrc
echo XCURSOR_THEME=${THEME} >> ~/.xinitrc
if [ -f ~/.Xresources ]; then
sed -i '/.*xcursor.size.*/Id' ~/.Xresources
sed -i '/.*xcursor.theme.*/Id' ~/.Xresources
fi
echo Xcursor.size=${SIZE} >> ~/.Xresources
echo Xcursor.theme=${THEME} >> ~/.Xresources
+7 -8
View File
@@ -20,20 +20,20 @@ function send_notification {
# https://en.wikipedia.org/wiki/Box-drawing_character # https://en.wikipedia.org/wiki/Box-drawing_character
#bar=$(seq -s "─" $(($volume/5)) | sed 's/[0-9]//g') #bar=$(seq -s "─" $(($volume/5)) | sed 's/[0-9]//g')
if [ "$volume" = "0" ]; then if [ "$volume" = "0" ]; then
icon_name="/usr/share/icons/zafiro-dark/panel/16/audio-volume-off.svg" icon_name="/usr/share/icons/Newaita-reborn/panel/16/audio-volume-off.svg"
dunstify "$volume"" " -i "$icon_name" -t 2000 -h int:value:"$volume" -h string:synchronous:"─" --replace=555 dunstify "$volume"" " -i "$icon_name" -t 2000 -h int:value:"$volume" -h string:synchronous:"─" --replace=555
else else
if [ "$volume" -lt "10" ]; then if [ "$volume" -lt "10" ]; then
icon_name="/usr/share/icons/zafiro-dark/panel/16/audio-volume-low.svg" icon_name="/usr/share/icons/Newaita-reborn/panel/16/audio-volume-low.svg"
dunstify "$volume"" " -i "$icon_name" --replace=555 -t 2000 dunstify "$volume"" " -i "$icon_name" --replace=555 -t 2000
else else
if [ "$volume" -lt "30" ]; then if [ "$volume" -lt "30" ]; then
icon_name="/usr/share/icons/zafiro-dark/panel/16/audio-volume-low.svg" icon_name="/usr/share/icons/Newaita-reborn/panel/16/audio-volume-low.svg"
else else
if [ "$volume" -lt "70" ]; then if [ "$volume" -lt "70" ]; then
icon_name="/usr/share/icons/zafiro-dark/panel/16/audio-volume-medium.svg" icon_name="/usr/share/icons/Newaita-reborn/panel/16/audio-volume-medium.svg"
else else
icon_name="/usr/share/icons/zafiro-dark/panel/16/audio-volume-high.svg" icon_name="/usr/share/icons/Newaita-reborn/panel/16/audio-volume-high.svg"
fi fi
fi fi
fi fi
@@ -41,7 +41,6 @@ fi
bar=$(seq -s "─" $(($volume/5)) | sed 's/[0-9]//g') bar=$(seq -s "─" $(($volume/5)) | sed 's/[0-9]//g')
# Send the notification # Send the notification
dunstify "$volume"" ""$bar" -i "$icon_name" -t 2000 -h int:value:"$volume" -h string:synchronous:"$bar" --replace=555 dunstify "$volume"" ""$bar" -i "$icon_name" -t 2000 -h int:value:"$volume" -h string:synchronous:"$bar" --replace=555
} }
case $1 in case $1 in
@@ -58,7 +57,7 @@ case $1 in
send_notification send_notification
;; ;;
toggle) toggle)
dunstify --replace 554 -i "/usr/share/icons/zafiro-dark/actions/16-Dark/media-album-track.svg" "Player Control" "Media $(playerctl status)" dunstify --replace 554 -i "/usr/share/icons/Newaita-reborn/actions/16-Dark/media-album-track.svg" "Player Control" "Media $(playerctl status)"
playerctl play-pause playerctl play-pause
;; ;;
mute) mute)
@@ -66,7 +65,7 @@ case $1 in
amixer -D pulse set Master 1+ toggle > /dev/null amixer -D pulse set Master 1+ toggle > /dev/null
if is_mute ; then if is_mute ; then
DIR=`dirname "$0"` DIR=`dirname "$0"`
dunstify -i "/usr/share/icons/zafiro-dark/panel/16/audio-volume-off.svg" --replace=555 -u normal "Mute" -t 2000 dunstify -i "/usr/share/icons/Newaita-reborn/panel/16/audio-volume-off.svg" --replace=555 -u normal "Mute" -t 2000
else else
send_notification send_notification
fi fi
+2
View File
@@ -0,0 +1,2 @@
[Icon Theme]
Inherits=Sweet-cursors
@@ -36,6 +36,6 @@ Keywords[uk]=System;Resources;Monitor;Processes;Usage;Task;Manager;CPU;RAM;Memor
Keywords[zh_TW]=系統;資源;監控器;處理程序;使用情形;任務;管理員;CPU;RAM;記憶體;GPU; Keywords[zh_TW]=系統;資源;監控器;處理程序;使用情形;任務;管理員;CPU;RAM;記憶體;GPU;
Keywords=System;Resources;Monitor;Processes;Usage;Task;Manager;CPU;RAM;Memory;GPU; Keywords=System;Resources;Monitor;Processes;Usage;Task;Manager;CPU;RAM;Memory;GPU;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)! # Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=net.nokyan.Resources Icon=org.gnome.SystemMonitor
StartupNotify=true StartupNotify=true
X-Purism-FormFactor=Workstation;Mobile; X-Purism-FormFactor=Workstation;Mobile;
@@ -0,0 +1,13 @@
[Desktop Entry]
Name[de]=Netzwerk Manager
Name=Network Manager
Comment[de]=Netzwerke konfigurieren
Comment=Network configuration
Type=Application
Exec=nm-applet --indicator
Terminal=false
Categories=System
Keywords[de]=System;Monitor;Manager;Network;LAN;WAN;Wifi;Wireless;VPN;Netzwerk;kabellos;Konfiguration;Konfigurieren
Keywords=System;Monitor;Manager;Network;LAN;WAN;Wifi;Wireless;VPN;
Icon=network-manager
+183
View File
@@ -0,0 +1,183 @@
[Desktop Entry]
Version=1.0
Name[as]=PulseAudio শব্দৰ মাত্ৰা নিয়ন্ত্ৰণকাৰী
Name[bn_IN]=PulseAudio শব্দের মাত্রা নিয়ন্ত্রণ ব্যবস্থা
Name[ca]=Control del volum del PulseAudio
Name[ca@valencia]=Control del volum del PulseAudio
Name[cs]=Ovládání hlasitosti PulseAudio
Name[da]=PulseAudio-lydstyrkeregulering
Name[de]=PulseAudio-Lautstärkeregler
Name[el]=Έλεγχος έντασης ήχου PulseAudio
Name[es]=Control de volumen de PulseAudio
Name[fi]=PulseAudion äänenvoimakkuuden hallinta
Name[fr]=Contrôle du volume PulseAudio
Name[gu]=PulseAudio વોલ્યુમ નિયંત્રણ
Name[hi]=पल्सऑडियो ध्वनि नियंत्रण
Name[hr]=PulseAudio upravitelj glasnoće zvuka
Name[hu]=PulseAudio hangerőszabályzó
Name[it]=Regolazione del volume PulseAudio
Name[ja]=PulseAudio 音量調節
Name[kn]=PulseAudio ಧ್ವನಿ ಪ್ರಮಾಣ ನಿಯಂತ್ರಣ
Name[ko]=PulseAudio 음량 조절
Name[lt]=PulseAudio garsio reguliavimas
Name[ml]=പള്‍സ്ഓഡിയോ ശബ്ദ നിയന്ത്രണം
Name[mr]=PulseAudio आवाज नियंत्रण
Name[nl]=PulseAudio-volumeregeling
Name[nn]=Lydstyrkekontroll for PulseAudio
Name[or]=PulseAudio ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣ
Name[pa]=ਪਲੱਸਆਡੀਓ ਵਾਲੀਅਮ ਕੰਟਰੋਲ
Name[pl]=Sterowanie głośnością PulseAudio
Name[pt]=Controlo de Volume PulseAudio
Name[pt_BR]=Controle de volume do PulseAudio
Name[ru]=Регулятор громкости PulseAudio
Name[sk]=Ovládanie hlasitosti PulseAudio
Name[sr]=PulseAudio контрола јачине звука
Name[sr@latin]=PulseAudio kontrola jačine zvuka
Name[sv]=Volymkontroll för PulseAudio
Name[ta]=PulseAudio ஒலியளவு கட்டுப்பாடு
Name[te]=PulseAudio ధ్వని నియంత్రణ
Name[th]=ตัวควบคุมเสียง PulseAudio
Name[tr]=PulseAudio Ses Denetimi
Name[uk]=Керування гучністю PulseAudio
Name[zh_CN]=PulseAudio 音量控制
Name[zh_TW]=PulseAudio 音量控制
Name[gl]=Control de volume do PulseAudio
Name[nb_NO]=PulseAudio-lydstyrkekontroll
Name[sl]=Nastavitev glasnost PulseAudio
Name[kk]=PulseAudio дыбыс деңгейін басқару
Name[eu]=PulseAudio Bolumen Kontrola
Name[be]=Рэгулятар гучнасці PulseAudio
Name[he]=בקרת השמע של PulseAudio
Name[ro]=PulseAudio Control Volume
Name=PulseAudio Volume Control
GenericName[as]=শব্দৰ মাত্ৰা নিয়ন্ত্ৰণকাৰী
GenericName[bn_IN]=শব্দের মাত্রা নিয়ন্ত্রণ
GenericName[ca]=Control del volum
GenericName[ca@valencia]=Control del volum
GenericName[cs]=Ovládání hlasitosti
GenericName[da]=Lydstyrkeregulering
GenericName[de]=Lautstärkeregler
GenericName[el]=Έλεγχος έντασης ήχου
GenericName[es]=Control de volumen
GenericName[fi]=Äänenvoimakkuus
GenericName[fr]=Contrôle du volume
GenericName[gu]=વોલ્યમ નિયંત્રણ
GenericName[hi]=आवाज निर्धारक
GenericName[hr]=Upravitelj glasnoće zvuka
GenericName[hu]=Hangerőszabályzó
GenericName[it]=Regolazione del volume
GenericName[ja]=音量調節
GenericName[kn]=ಧ್ವನಿಪ್ರಮಾಣ ನಿಯಂತ್ರಣ
GenericName[ko]=음량 조절
GenericName[lt]=Garsio reguliavimas
GenericName[ml]=ശബ്ദ നിയന്ത്രണം
GenericName[mr]=आवाज नियंत्रण
GenericName[nl]=Volumeregeling
GenericName[nn]=Lydstyrkekontroll
GenericName[or]=ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣ
GenericName[pa]=ਵਾਲੀਅਮ ਕੰਟਰੋਲ
GenericName[pl]=Sterowanie głośnością
GenericName[pt]=Controlo de Volume
GenericName[pt_BR]=Controle de volume
GenericName[ru]=Громкость
GenericName[sk]=Ovládanie hlasitosti
GenericName[sr]=Контрола јачине звука
GenericName[sr@latin]=Kontrola jačine zvuka
GenericName[sv]=Volymkontroll
GenericName[ta]=ஒலியளவு கட்டுப்பாடு
GenericName[te]=ధ్వని నియంత్రణ
GenericName[th]=ตัวควบคุมเสียง
GenericName[tr]=Ses Denetimi
GenericName[uk]=Керування гучністю
GenericName[zh_CN]=音量控制
GenericName[zh_TW]=音量控制
GenericName[gl]=Control do volume
GenericName[nb_NO]=Lydstyrkekontroll
GenericName[sl]=Nastavitev glasnosti
GenericName[kk]=Дыбыс деңгейі
GenericName[eu]=Bolumen kontrola
GenericName[be]=Гучнасць
GenericName[he]=בקרת שמע
GenericName[ro]=Control Volum
GenericName=Volume Control
Comment[as]=শব্দৰ মাত্ৰা ঠিক কৰক
Comment[bn_IN]=শব্দের মাত্রা পরিবর্তন করুন
Comment[ca]=Ajusta el nivell del volum
Comment[ca@valencia]=Ajusta el volum
Comment[cs]=Upravit úroveň hlasitosti
Comment[da]=Justér lydstyrkeniveauet
Comment[de]=Lautstärke anpassen
Comment[el]=Ρύθμιση επιπέδου έντασης
Comment[es]=Ajustar el nivel de volumen
Comment[fi]=Säädä äänenvoimakkuutta
Comment[fr]=Régler le niveau du volume
Comment[gu]=વોલ્યુમ સ્તરને વ્યવસ્થિત કરો
Comment[hi]=आवाज़ स्तर निर्धारित करें
Comment[hr]=Prilagodite razinu glasnoće zvuka
Comment[hu]=Hangerő beállítása
Comment[it]=Regola il livello del volume
Comment[ja]=音量レベルの調整
Comment[kn]=ಧ್ವನಿ ಪ್ರಮಾಣದ ಮಟ್ಟವನ್ನು ಹೊಂದಿಸಿ
Comment[ko]=음량 레벨 조정
Comment[lt]=Reguliuoti garsio lygį
Comment[ml]=ശബ്ദ ലവല്‍ ഉ‍ചിതമാക്കുക
Comment[mr]=ध्वनिमान स्तर सुस्थित करा
Comment[nl]=Geluidsniveau aanpassen
Comment[nn]=Juster lydstyrke
Comment[or]=ଭଲ୍ୟୁମ ସ୍ତରକୁ ସଜାଡ଼ନ୍ତୁ
Comment[pa]=ਵਾਲੀਅਮ ਲੈਵਲ ਅਡਜੱਸਟ ਕਰੋ
Comment[pl]=Dostosowanie poziomu głośności
Comment[pt]=Ajustar o nível do volume
Comment[pt_BR]=Ajuste o nível do volume
Comment[ru]=Настройка уровня громкости
Comment[sk]=Upraviť úroveň hlasitosti
Comment[sr]=Подесите ниво јачине звука
Comment[sr@latin]=Podesite nivo jačine zvuka
Comment[sv]=Justera volymnivån
Comment[ta]=ஒலியளவு நிலையை சரிப்படுத்து
Comment[te]=ధ్వని స్థాయిను సర్దుము
Comment[th]=ปรับระดับเสียง
Comment[tr]=Ses seviyesini ayarla
Comment[uk]=Скоригуйте рівень гучності
Comment[zh_CN]=调节音量水平
Comment[zh_TW]=調整音量等級
Comment[gl]=Axustar o nivel de volume
Comment[nb_NO]=Juster lydstyrken
Comment[sl]=Nastavi glasnost
Comment[kk]=Дыбыс деңгейін келтіру
Comment[eu]=Doitu bolumen-maila
Comment[be]=Наладка ўзроўню гучнасці
Comment[he]=התאמת עצמת השמע
Comment[ro]=Ajustează nivelul volumului
Comment=Adjust the volume level
Exec=pavucontrol
Icon=multimedia-volume-control
StartupNotify=true
Type=Application
Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
Keywords[ca]=pavucontrol;micròfon;volum;fosa;balanç;auriculars;altaveus;cascs;àudio; mesclador;sortida;entrada;dispositius;reproducció;gravació;sons de sistema;tarja de so;configuració;preferències;
Keywords[da]=pavucontrol;Mikrofon;Lydstyrke;Fade;Balance;Headset;Højttalere;Hovedtelefoner;Lyd;Mixer;Mikser;Output;Input;Enheder;Afspilning;Optagelse;Systemlyde;Lydkort;Indstillinger;Præferencer;
Keywords[es]=pavucontrol;micrófono;volumen;fundido;balance;auriculares;altavoces;cascos;audio;mezclador;salida;entrada;dispositivos;reproducción;grabación;sonidos del sistema;tarjeta de sonido;configuración;preferencias;
Keywords[fi]=pavucontrol; Mikrofoni; Äänenvoimakkuus; Häivytys; Tasapaino; Kuulokkeet; Kaiuttimet; Kuulokkeet; Ääni; Mikseri; Lähtö; Tulo; Laitteet; Toisto; Tallennus; Järjestelmän äänet; Äänikortti; Asetukset; Mieltymykset;
Keywords[fr]=pavucontrol;Microphone;Volume;Fondu;Balance;Casque;Haut-parleurs;Audio;Mixeur;Sortie;Entrée;Appareils;Lecture;Enregistrement;Sons systèmes;Carte son;Paramètres;Préférences;
Keywords[hr]=pavucontrol;Mikrofon;Glasnoća zvuka;Utišavanje;Uravnoteženje;Slušalice s mikrofonom;Zvučnici;Slušalice;Zvuk;Mikser;Izlaz;Ulaz;Uređaji;Reprodukcija;Snimanje;Sustav;Zvučna kartica;Postavke;Osobitosti;
Keywords[hu]=pavucontrol;mikrofon;hangerő;elhalkulás;egyensúly;headset;hangszóró;fejhallgató;hang;mixer;keverő;kimenet;bemenet;eszközök;lejátszás;felvétel;rendszerhangok;hangkártya;beállítások;
Keywords[it]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;
Keywords[ja]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;
Keywords[ko]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;마이크;음량;볼륨;페이드;밸런스;헤드셋;스피커;헤드폰;오디오;믹서;출력;입력;장치;재생;녹음;시스템 사운드;사운드 카드;설정;환경설정;
Keywords[nl]=pavucontrol;Microfoon;Volume;Vervagen;Balans;Hoofdset;Luidsprekers;Koptelefoon;Audio;Mixer;Mengpaneel;Uitvoer;Invoer;Apparaten;Afspelen;Opnemen;Systeemgeluiden;Geluidskaart;Instellingen;Voorkeuren;
Keywords[nn]=pavucontrol;mikrofon;volum;lydstyrke;uttoning;inntoning;balanse;headset;hovudsett;høgtalarar;hovudtelefonar;lyd;audio;miksar;utlyd;innlyd;einingar;avspeling;opptak;systemlydar;lydkort;innstillingar;oppsett;
Keywords[pl]=pavucontrol;Mikrofon;Głośność;Oddalenie;Balans;Zestaw słuchawkowy;Headset;Głośniki;Słuchawki;Dźwięk;Audio;Mikser;Mixer;Wyjście;Wejście;Urządzenia;wyjściowe;wejściowe;Odtwarzanie;Nagrywanie;Dźwięki systemowe;Karta;dźwiękowa;Ustawienia;Preferencje;Mono;Stereo;Surround;Przestrzenny;Dookolny;PCM;S/PDIF;HDMI;DTS;Dolby;Digital;
Keywords[pt_BR]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;microfone;equilíbrio;áudio;saída;entrada;dispositivos;reprodução;gravação;sistemas de som;placa de som;configurações;preferências;
Keywords[ru]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;микрофон;звук;наушники;колонки;аудио;звук;воспроизведение;запись;звуковая карта;
Keywords[sk]=pavucontrol;Mikrofón;Hlasitosť;Slabnutie;Vyváženie;Náhlavná súprava;Reproduktory;Zvuk;Zmiešavač;Výstup;Vstup; Zariadenia;Prehrávanie;Nahrávanie;Systémové zvuky;Zvuková karta;Nastavenia;Predvoľby;
Keywords[sv]=pavucontrol;Mikrofon;Volym;Uttoning;Balans;Headset;Högtalare;Hörlurar;Audio;Mixer;Utmatning;Inmatning;Enheter;Uppspelning;Inspelning;Systemljud;Ljudkort;Inställningar;
Keywords[tr]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;Mikrofon;Seviye;Azalma;Denge;Kulaklık;Hoparlör;Ses;Karıştırıcı;Çıkış;Giriş;Aygıtlar;Oynatma;Kaydetme;Sistem Sesleri;Ses Kartı;Ayarlar;Tercihler;
Keywords[uk]=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;павуконтроль;мікрофон;гучність;приглушення;баланс;гарнітура;гучномовці;колонки;навушники;звук;мікшер;аудіо;виведення;введення;пристрої;відтворення;запис;звуки;звук;система;
Keywords[zh_CN]=pavucontrol;麦克风体积褪色均衡头戴式耳机;发言者;耳机;音频搅拌机;输出输入装置;回放;记录;系统声音;声卡;设置;偏好;
Keywords[gl]=pavucontrol;Micrófono;Volume;Esvaece;Balance;Auriculares;Altofalantes;Audio;Son;Mesturador;Saída;Entrada;Dispositivos;Gravación;Sons do sistema;Tarxeta de son;Preferencias;
Keywords[eu]=pavucontrol;Microphone;Mikrofonoa;Volume;Bolumena;Fade;Balance;Headset;Speakers;Bozgorailuak;Headphones;Aurikularrak;Audioa;Mixer;Nahasgailua;Output;Irteera;Input;Sarrera;Devices;Gailuak;Playback;Erreprodukzioa;Recording;Grabazioa;System Sounds;Sistemaren soinuak;Sound Card;Soinu txartelak;Settings;Ezarpenak;Preferences;Hobespenak;
Keywords[be]=pavucontrol;Мікрафон;Гучнасць;Прыглушэнне;Баланс;Гарнітура;Дынамікі;Навушнікі;Аўдыё;Мткшар;Вывад;Увод;Прылады;Прайграванне;Запіс;Сістэмныя гукі;Гукавая карта;Налады;
Keywords[he]=pavucontrol;מיקרופון;עצמת שמע;ווליום;עמעום;פייד;איזון;בלנס;בלאנס;אוזניות;רמקולים;צלילים;קולות;מערבל;מיקסר;פלט;קלט;התקנים;מכשירים;נגינה;פלייבק;הקלטה;צלילי מערכת;כרטיס קול;הגדרות;העדפות;
Keywords[ro]=pavucontrol;Microfon;Volum;Estompare;Echilibru;Căști;Difuzoare;Căști;Audio;Mixer;Ieșire;Input;Dispozitive;Redare;Înregistrare;Sistem Sunete;Placă de sunet;Setări;Preferințe;
Keywords=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;