init
43
.bashrc
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# ~/.bashrc
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
|
# SYSTEM
|
||||||
|
alias c='clear'
|
||||||
|
alias nf='neofetch'
|
||||||
|
alias pf='pfetch'
|
||||||
|
alias ls='exa -al'
|
||||||
|
alias shutdown='systemctl poweroff'
|
||||||
|
alias v='nvim'
|
||||||
|
alias vi='nvim'
|
||||||
|
alias vim='nvim'
|
||||||
|
alias rw='~/dotfiles/waybar/reload.sh'
|
||||||
|
|
||||||
|
# GIT
|
||||||
|
alias gs="git status"
|
||||||
|
alias ga="git add"
|
||||||
|
alias gc="git commit -m"
|
||||||
|
alias gp="git push"
|
||||||
|
alias gpl="git pull"
|
||||||
|
alias gst="git stash"
|
||||||
|
alias gsp="git stash; git pull"
|
||||||
|
alias gcheck="git checkout"
|
||||||
|
|
||||||
|
# SCRIPTS
|
||||||
|
alias gr='python ~/dotfiles/scripts/growthrate.py'
|
||||||
|
|
||||||
|
alias res1='xrandr --output DisplayPort-0 --mode 2560x1440 --rate 120'
|
||||||
|
alias res2='xrandr --output DisplayPort-0 --mode 1920x1080 --rate 120'
|
||||||
|
|
||||||
|
export PATH="/usr/lib/ccache/bin/:$PATH"
|
||||||
|
|
||||||
|
# START STARSHIP
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
|
||||||
|
# PYWAL
|
||||||
|
cat ~/.cache/wal/sequences
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
pfetch
|
896
alacritty/alacritty.yml
Normal file
@ -0,0 +1,896 @@
|
|||||||
|
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||||
|
#
|
||||||
|
# Import additional configuration files
|
||||||
|
#
|
||||||
|
# Imports are loaded in order, skipping all missing files, with the importing
|
||||||
|
# file being loaded last. If a field is already present in a previous import, it
|
||||||
|
# will be replaced.
|
||||||
|
#
|
||||||
|
# All imports must either be absolute paths starting with `/`, or paths relative
|
||||||
|
# to the user's home directory starting with `~/`.
|
||||||
|
#import:
|
||||||
|
# - /path/to/alacritty.yml
|
||||||
|
|
||||||
|
# Any items in the `env` entry below will be added as
|
||||||
|
# environment variables. Some entries may override variables
|
||||||
|
# set by alacritty itself.
|
||||||
|
#env:
|
||||||
|
# TERM variable
|
||||||
|
#
|
||||||
|
# This value is used to set the `$TERM` environment variable for
|
||||||
|
# each instance of Alacritty. If it is not present, alacritty will
|
||||||
|
# check the local terminfo database and use `alacritty` if it is
|
||||||
|
# available, otherwise `xterm-256color` is used.
|
||||||
|
#TERM: alacritty
|
||||||
|
|
||||||
|
window:
|
||||||
|
# Window dimensions (changes require restart)
|
||||||
|
#
|
||||||
|
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
|
||||||
|
# must be non-zero for this to take effect. The number of columns must be at
|
||||||
|
# least `2`, while using a value of `0` for columns and lines will fall back
|
||||||
|
# to the window manager's recommended size
|
||||||
|
#dimensions:
|
||||||
|
# columns: 0
|
||||||
|
# lines: 0
|
||||||
|
|
||||||
|
# Window position (changes require restart)
|
||||||
|
#
|
||||||
|
# Specified in number of pixels.
|
||||||
|
# If the position is not set, the window manager will handle the placement.
|
||||||
|
#position:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Window padding (changes require restart)
|
||||||
|
#
|
||||||
|
# Blank space added around the window in pixels. This padding is scaled
|
||||||
|
# by DPI and the specified value is always added at both opposing sides.
|
||||||
|
padding:
|
||||||
|
x: 15
|
||||||
|
y: 15
|
||||||
|
|
||||||
|
# Spread additional padding evenly around the terminal content.
|
||||||
|
#dynamic_padding: false
|
||||||
|
|
||||||
|
# Window decorations
|
||||||
|
#
|
||||||
|
# Values for `decorations`:
|
||||||
|
# - full: Borders and title bar
|
||||||
|
# - none: Neither borders nor title bar
|
||||||
|
#
|
||||||
|
# Values for `decorations` (macOS only):
|
||||||
|
# - transparent: Title bar, transparent background and title bar buttons
|
||||||
|
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||||
|
#decorations: full
|
||||||
|
|
||||||
|
# Background opacity
|
||||||
|
#
|
||||||
|
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||||
|
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||||
|
opacity: 0.7
|
||||||
|
|
||||||
|
# Startup Mode (changes require restart)
|
||||||
|
#
|
||||||
|
# Values for `startup_mode`:
|
||||||
|
# - Windowed
|
||||||
|
# - Maximized
|
||||||
|
# - Fullscreen
|
||||||
|
#
|
||||||
|
# Values for `startup_mode` (macOS only):
|
||||||
|
# - SimpleFullscreen
|
||||||
|
#startup_mode: Windowed
|
||||||
|
|
||||||
|
# Window title
|
||||||
|
#title: Alacritty
|
||||||
|
|
||||||
|
# Allow terminal applications to change Alacritty's window title.
|
||||||
|
#dynamic_title: true
|
||||||
|
|
||||||
|
# Window class (Linux/BSD only):
|
||||||
|
#class:
|
||||||
|
# Application instance name
|
||||||
|
#instance: Alacritty
|
||||||
|
# General application class
|
||||||
|
#general: Alacritty
|
||||||
|
|
||||||
|
# Decorations theme variant (Linux/BSD only)
|
||||||
|
#
|
||||||
|
# Override the variant of the GTK theme/Wayland client side decorations.
|
||||||
|
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
||||||
|
# the default theme variant.
|
||||||
|
#decorations_theme_variant: None
|
||||||
|
|
||||||
|
#scrolling:
|
||||||
|
# Maximum number of lines in the scrollback buffer.
|
||||||
|
# Specifying '0' will disable scrolling.
|
||||||
|
#history: 10000
|
||||||
|
|
||||||
|
# Scrolling distance multiplier.
|
||||||
|
#multiplier: 3
|
||||||
|
|
||||||
|
# Font configuration
|
||||||
|
font:
|
||||||
|
# Normal (roman) font face
|
||||||
|
normal:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) Menlo
|
||||||
|
# - (Linux/BSD) monospace
|
||||||
|
# - (Windows) Consolas
|
||||||
|
family: FiraCode Nerd Font
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
style: Regular
|
||||||
|
|
||||||
|
# Bold font face
|
||||||
|
#bold:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold
|
||||||
|
|
||||||
|
# Italic font face
|
||||||
|
#italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Italic
|
||||||
|
|
||||||
|
# Bold italic font face
|
||||||
|
#bold_italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
size: 12.0
|
||||||
|
|
||||||
|
# Offset is the extra space around each character. `offset.y` can be thought
|
||||||
|
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||||
|
# spacing.
|
||||||
|
#offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Glyph offset determines the locations of the glyphs within their cells with
|
||||||
|
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||||
|
# right, increasing `y` moves the glyph upward.
|
||||||
|
#glyph_offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Use built-in font for box drawing characters.
|
||||||
|
#
|
||||||
|
# If `true`, Alacritty will use a custom built-in font for box drawing
|
||||||
|
# characters (Unicode points 2500 - 259f).
|
||||||
|
#
|
||||||
|
#builtin_box_drawing: true
|
||||||
|
|
||||||
|
# If `true`, bold text is drawn using the bright color variants.
|
||||||
|
#draw_bold_text_with_bright_colors: false
|
||||||
|
|
||||||
|
# Colors (Tomorrow Night)
|
||||||
|
# colors:
|
||||||
|
# Default colors
|
||||||
|
# primary:
|
||||||
|
# background: '#1d1f21'
|
||||||
|
# background: '#000000'
|
||||||
|
# foreground: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright and dim foreground colors
|
||||||
|
#
|
||||||
|
# The dimmed foreground color is calculated automatically if it is not
|
||||||
|
# present. If the bright foreground color is not set, or
|
||||||
|
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||||
|
# color will be used.
|
||||||
|
#dim_foreground: '#828482'
|
||||||
|
#bright_foreground: '#eaeaea'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Vi mode cursor colors
|
||||||
|
#
|
||||||
|
# Colors for the cursor when the vi mode is active.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#vi_mode_cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Search colors
|
||||||
|
#
|
||||||
|
# Colors used for the search bar and match highlighting.
|
||||||
|
#search:
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#matches:
|
||||||
|
# foreground: '#000000'
|
||||||
|
# background: '#ffffff'
|
||||||
|
#focused_match:
|
||||||
|
# foreground: '#ffffff'
|
||||||
|
# background: '#000000'
|
||||||
|
|
||||||
|
# Keyboard hints
|
||||||
|
#hints:
|
||||||
|
# First character in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#start:
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
# background: '#e9ff5e'
|
||||||
|
|
||||||
|
# All characters after the first one in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#end:
|
||||||
|
# foreground: '#e9ff5e'
|
||||||
|
# background: '#1d1f21'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Footer bar
|
||||||
|
#
|
||||||
|
# Color used for the footer bar on the bottom, used by search regex input,
|
||||||
|
# hyperlink URI preview, etc.
|
||||||
|
#
|
||||||
|
#footer_bar:
|
||||||
|
# background: '#c5c8c6'
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#1d1f21'
|
||||||
|
# red: '#cc6666'
|
||||||
|
# green: '#b5bd68'
|
||||||
|
# yellow: '#f0c674'
|
||||||
|
# blue: '#81a2be'
|
||||||
|
# magenta: '#b294bb'
|
||||||
|
# cyan: '#8abeb7'
|
||||||
|
# white: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
#bright:
|
||||||
|
# black: '#666666'
|
||||||
|
# red: '#d54e53'
|
||||||
|
# green: '#b9ca4a'
|
||||||
|
# yellow: '#e7c547'
|
||||||
|
# blue: '#7aa6da'
|
||||||
|
# magenta: '#c397d8'
|
||||||
|
# cyan: '#70c0b1'
|
||||||
|
# white: '#eaeaea'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#131415'
|
||||||
|
# red: '#864343'
|
||||||
|
# green: '#777c44'
|
||||||
|
# yellow: '#9e824c'
|
||||||
|
# blue: '#556a7d'
|
||||||
|
# magenta: '#75617b'
|
||||||
|
# cyan: '#5b7d78'
|
||||||
|
# white: '#828482'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# `- { index: 16, color: '#ff00ff' }`
|
||||||
|
#
|
||||||
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Transparent cell backgrounds
|
||||||
|
#
|
||||||
|
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||||
|
# the default background. When set to `true` all cells will be transparent
|
||||||
|
# regardless of their background color.
|
||||||
|
#transparent_background_colors: false
|
||||||
|
|
||||||
|
# Bell
|
||||||
|
#
|
||||||
|
# The bell is rung every time the BEL control character is received.
|
||||||
|
#bell:
|
||||||
|
# Visual Bell Animation
|
||||||
|
#
|
||||||
|
# Animation effect for flashing the screen when the visual bell is rung.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#animation: EaseOutExpo
|
||||||
|
|
||||||
|
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||||
|
# disable the visual bell animation.
|
||||||
|
#duration: 0
|
||||||
|
|
||||||
|
# Visual bell animation color.
|
||||||
|
#color: '#ffffff'
|
||||||
|
|
||||||
|
# Bell Command
|
||||||
|
#
|
||||||
|
# This program is executed whenever the bell is rung.
|
||||||
|
#
|
||||||
|
# When set to `command: None`, no command will be executed.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command:
|
||||||
|
# program: notify-send
|
||||||
|
# args: ["Hello, World!"]
|
||||||
|
#
|
||||||
|
#command: None
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
# This string contains all characters that are used as separators for
|
||||||
|
# "semantic words" in Alacritty.
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: false
|
||||||
|
|
||||||
|
#cursor:
|
||||||
|
# Cursor style
|
||||||
|
#style:
|
||||||
|
# Cursor shape
|
||||||
|
#
|
||||||
|
# Values for `shape`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
#shape: Block
|
||||||
|
|
||||||
|
# Cursor blinking state
|
||||||
|
#
|
||||||
|
# Values for `blinking`:
|
||||||
|
# - Never: Prevent the cursor from ever blinking
|
||||||
|
# - Off: Disable blinking by default
|
||||||
|
# - On: Enable blinking by default
|
||||||
|
# - Always: Force the cursor to always blink
|
||||||
|
#blinking: Off
|
||||||
|
|
||||||
|
# Vi mode cursor style
|
||||||
|
#
|
||||||
|
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||||
|
# the style of the active value of the normal cursor.
|
||||||
|
#
|
||||||
|
# See `cursor.style` for available options.
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# Cursor blinking interval in milliseconds.
|
||||||
|
#blink_interval: 750
|
||||||
|
|
||||||
|
# Time after which cursor stops blinking, in seconds.
|
||||||
|
#
|
||||||
|
# Specifying '0' will disable timeout for blinking.
|
||||||
|
#blink_timeout: 5
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
#unfocused_hollow: true
|
||||||
|
|
||||||
|
# Thickness of the cursor relative to the cell width as floating point number
|
||||||
|
# from `0.0` to `1.0`.
|
||||||
|
#thickness: 0.15
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
#live_config_reload: true
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
#
|
||||||
|
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||||
|
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||||
|
# shell.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||||
|
# - (Windows) powershell
|
||||||
|
#shell:
|
||||||
|
# program: /bin/bash
|
||||||
|
# args:
|
||||||
|
# - --login
|
||||||
|
|
||||||
|
# Startup directory
|
||||||
|
#
|
||||||
|
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||||
|
# directory of the parent process will be used.
|
||||||
|
#working_directory: None
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
# Offer IPC using `alacritty msg` (unix only)
|
||||||
|
#ipc_socket: true
|
||||||
|
|
||||||
|
#mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
#double_click: { threshold: 300 }
|
||||||
|
#triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
#hide_when_typing: false
|
||||||
|
|
||||||
|
# Hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text or hyperlink in the visible part of
|
||||||
|
# the terminal and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
||||||
|
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||||
|
# `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||||
|
# highlighted.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||||
|
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
||||||
|
# `regex` matches.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# hyperlinks: true
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty
|
||||||
|
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||||
|
# requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
||||||
|
#
|
||||||
|
# - Mouse exclusive actions:
|
||||||
|
#
|
||||||
|
# - ExpandSelection
|
||||||
|
# Expand the selection to the current mouse cursor location.
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
#mouse_bindings:
|
||||||
|
# - { mouse: Right, action: ExpandSelection }
|
||||||
|
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||||
|
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - ToggleViMode
|
||||||
|
# - SearchForward
|
||||||
|
# Start searching toward the right of the search origin.
|
||||||
|
# - SearchBackward
|
||||||
|
# Start searching toward the left of the search origin.
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollHalfPageUp
|
||||||
|
# - ScrollHalfPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# Remove the terminal's scrollback history.
|
||||||
|
# - Hide
|
||||||
|
# Hide the Alacritty window.
|
||||||
|
# - Minimize
|
||||||
|
# Minimize the Alacritty window.
|
||||||
|
# - Quit
|
||||||
|
# Quit Alacritty.
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# Spawn a new instance of Alacritty.
|
||||||
|
# - CreateNewWindow
|
||||||
|
# Create a new Alacritty window from the current process.
|
||||||
|
# - ClearLogNotice
|
||||||
|
# Clear Alacritty's UI warning and error notice.
|
||||||
|
# - ClearSelection
|
||||||
|
# Remove the active selection.
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive actions:
|
||||||
|
#
|
||||||
|
# - Open
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
# - CenterAroundViCursor
|
||||||
|
# Center view around vi mode cursor
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
#key_bindings:
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||||
|
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||||
|
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||||
|
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||||
|
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||||
|
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||||
|
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||||
|
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||||
|
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||||
|
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||||
|
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||||
|
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||||
|
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||||
|
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||||
|
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||||
|
#- { key: K, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: J, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: H, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: L, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||||
|
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||||
|
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||||
|
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||||
|
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||||
|
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||||
|
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||||
|
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||||
|
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||||
|
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||||
|
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||||
|
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||||
|
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||||
|
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||||
|
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||||
|
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||||
|
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||||
|
|
||||||
|
# Search Mode
|
||||||
|
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||||
|
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||||
|
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||||
|
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||||
|
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||||
|
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||||
|
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
||||||
|
|
||||||
|
# Highlight window damage information.
|
||||||
|
#highlight_damage: false
|
459
dunst/dunstrc
Normal file
@ -0,0 +1,459 @@
|
|||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = none
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
# width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
width = 300
|
||||||
|
|
||||||
|
# The maximum height of a single notification, excluding the frame.
|
||||||
|
height = (0,300)
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-center
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = 0x30
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 20
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 10
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 1
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 300
|
||||||
|
|
||||||
|
# Corner radius for the progress bar. 0 disables rounded corners.
|
||||||
|
progress_bar_corner_radius = 10
|
||||||
|
|
||||||
|
# Corner radius for the icon image.
|
||||||
|
icon_corner_radius = 0
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||||
|
transparency = 30
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# If gap_size is greater than 0, this setting will be ignored.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Padding between text and icon.
|
||||||
|
text_icon_padding = 0
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 3
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#ffffff"
|
||||||
|
|
||||||
|
# Size of gap to display between notifications - requires a compositor.
|
||||||
|
# If value is greater than 0, separator_height will be ignored and a border
|
||||||
|
# of size frame_width will be drawn around each notification instead.
|
||||||
|
# Click events on gaps do not currently propagate to applications below.
|
||||||
|
gap_size = 0
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
# idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = "Fira Sans Semibold" 11
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 3
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||||
|
# define all lookup paths.
|
||||||
|
enable_recursive_icon_lookup = true
|
||||||
|
|
||||||
|
# Set icon theme (only used for recursive icon lookup)
|
||||||
|
icon_theme = Adwaita
|
||||||
|
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||||
|
# icon_theme = "Adwaita, breeze"
|
||||||
|
|
||||||
|
# Align icons left/right/top/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 32
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 128
|
||||||
|
|
||||||
|
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
||||||
|
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 10
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
|
# Uncomment this if you want to let notications appear under fullscreen
|
||||||
|
# applications (default: overlay)
|
||||||
|
# layer = top
|
||||||
|
|
||||||
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#00000070"
|
||||||
|
foreground = "#888888"
|
||||||
|
timeout = 6
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#00000070"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 6
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#90000070"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
frame_color = "#ffffff"
|
||||||
|
timeout = 6
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# icon_position
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
# hide_text
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
2
gtk/.gtkrc-2.0
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
gtk-icon-theme-name="Papirus-Dark"
|
||||||
|
gtk-cursor-theme-name="Bibata-Modern-Ice"
|
4
gtk/gtk-3.0/settings.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Settings]
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
|
gtk-application-prefer-dark-theme=true
|
4
gtk/gtk-4.0/settings.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Settings]
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
|
gtk-application-prefer-dark-theme=true
|
6
gtk/gtk.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
gnome_schema="org.gnome.desktop.interface"
|
||||||
|
gsettings set "$gnome_schema" icon-theme "Papirus-Dark"
|
||||||
|
gsettings set "$gnome_schema" cursor-theme "Bibata-Modern-Ice"
|
||||||
|
gsettings set "$gnome_schema" font-name "Cantarell 11"
|
||||||
|
gsettings set "$gnome_schema" color-scheme "prefer-dark"
|
15
hypr/conf/animations-high.conf
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||||
|
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||||
|
bezier = winOut, 0.3, -0.3, 0, 1
|
||||||
|
bezier = liner, 1, 1, 1, 1
|
||||||
|
animation = windows, 1, 6, wind, slide
|
||||||
|
animation = windowsIn, 1, 6, winIn, slide
|
||||||
|
animation = windowsOut, 1, 5, winOut, slide
|
||||||
|
animation = windowsMove, 1, 5, wind, slide
|
||||||
|
animation = border, 1, 1, liner
|
||||||
|
animation = borderangle, 1, 30, liner, loop
|
||||||
|
animation = fade, 1, 10, default
|
||||||
|
animation = workspaces, 1, 5, wind
|
||||||
|
}
|
10
hypr/conf/animations-low.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
10
hypr/conf/autostart.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
exec-once = swww init
|
||||||
|
# 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 = dunst
|
||||||
|
exec-once = ~/dotfiles/scripts/lockscreentime.sh
|
||||||
|
exec-once = ~/dotfiles/scripts/updatewal-swww.sh
|
||||||
|
exec-once = ~/dotfiles/gtk/gtk.sh
|
||||||
|
exec-once = hyprctl setcursor Bibata-Modern-Ice 24
|
||||||
|
exec-once = ~/dotfiles/waybar/launch.sh
|
||||||
|
exec-once = wl-paste --watch cliphist store
|
20
hypr/conf/decoration.conf
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 6
|
||||||
|
passes = 2
|
||||||
|
new_optimizations = on
|
||||||
|
ignore_opacity = true
|
||||||
|
xray = true
|
||||||
|
# blurls = waybar
|
||||||
|
}
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 0.8
|
||||||
|
fullscreen_opacity = 1.0
|
||||||
|
|
||||||
|
drop_shadow = true
|
||||||
|
shadow_range = 30
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = 0x66000000
|
||||||
|
}
|
4
hypr/conf/environment.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
env = WLR_NO_HARDWARE_CURSORS, 1
|
||||||
|
env = WLR_RENDERER_ALLOW_SOFTWARE, 1
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = GTK_THEME,Adwaita:dark
|
65
hypr/conf/keybindings.conf
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
bind = $mainMod, RETURN, exec, alacritty
|
||||||
|
bind = $mainMod, Q, killactive
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
bind = $mainMod, E, exec, dolphin
|
||||||
|
bind = $mainMod, T, togglefloating
|
||||||
|
bind = $mainMod, B, exec, firefox
|
||||||
|
bind = $mainMod, J, togglesplit
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
bind = $mainMod, PRINT, exec, ~/dotfiles/scripts/grim.sh
|
||||||
|
bind = $mainMod CTRL, Q, exec, wlogout
|
||||||
|
bind = $mainMod SHIFT, W, exec, ~/dotfiles/scripts/updatewal-swww.sh
|
||||||
|
bind = $mainMod CTRL, W, exec, ~/dotfiles/scripts/wallpaper-swww.sh
|
||||||
|
bind = $mainMod CTRL, RETURN, exec, ~/dotfiles/scripts/applauncher.sh
|
||||||
|
bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh
|
||||||
|
bind = $mainMod CTRL, F, exec, ~/dotfiles/scripts/filemanager.sh
|
||||||
|
bind = $mainMod CTRL, C, exec, ~/dotfiles/scripts/cliphist.sh
|
||||||
|
#bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh
|
||||||
|
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, right, resizeactive, 100 0
|
||||||
|
bind = $mainMod SHIFT, left, resizeactive, -100 0
|
||||||
|
bind = $mainMod SHIFT, up, resizeactive, 0 -100
|
||||||
|
bind = $mainMod SHIFT, down, resizeactive, 0 100
|
||||||
|
|
||||||
|
binde = , XF86MonBrightnessUp, exec, brightnessctl set 100%
|
||||||
|
binde = , XF86MonBrightnessDown, exec, brightnessctl set 70%
|
||||||
|
|
||||||
|
# Passthrough SUPER KEY to Virtual Machine
|
||||||
|
bind = $mainMod, P, submap, passthru
|
||||||
|
submap = passthru
|
||||||
|
bind = SUPER, Escape, submap, reset
|
||||||
|
submap = reset
|
12
hypr/conf/keyboard.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
input {
|
||||||
|
kb_layout = $keyboardlayout
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
follow_mouse = 1
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = false
|
||||||
|
}
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
16
hypr/conf/layouts.conf
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
dwindle {
|
||||||
|
pseudotile = true
|
||||||
|
preserve_split = true
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = false
|
||||||
|
}
|
||||||
|
|
||||||
|
device:epic-mouse-v1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
4
hypr/conf/misc.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
}
|
8
hypr/conf/window.conf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
general {
|
||||||
|
gaps_in = 10
|
||||||
|
gaps_out = 14
|
||||||
|
border_size = 3
|
||||||
|
col.active_border = $color11
|
||||||
|
col.inactive_border = rgba(ffffffff)
|
||||||
|
layout = dwindle
|
||||||
|
}
|
5
hypr/conf/windowrules.conf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
windowrule = tile,^(Microsoft-edge)$
|
||||||
|
windowrule = tile,^(Brave-browser)$
|
||||||
|
windowrule = tile,^(Chromium)$
|
||||||
|
windowrule = float,^(pavucontrol)$
|
||||||
|
windowrule = float,^(blueman-manager)$
|
28
hypr/hyprland.conf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# Keyboard Layout
|
||||||
|
$keyboardlayout=de
|
||||||
|
|
||||||
|
# Monitor Setup
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=,preferred,auto,1
|
||||||
|
# monitor=,2560x1440@120,auto,1
|
||||||
|
# monitor=,1920x1080,auto,1
|
||||||
|
|
||||||
|
# Autostart & Environment
|
||||||
|
source = ~/dotfiles/hypr/conf/environment.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/autostart.conf
|
||||||
|
|
||||||
|
# Load pywal color file
|
||||||
|
source = ~/.cache/wal/colors-hyprland.conf
|
||||||
|
|
||||||
|
# Load configuration files
|
||||||
|
source = ~/dotfiles/hypr/conf/keyboard.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/window.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/decoration.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/layouts.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/misc.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/keybindings.conf
|
||||||
|
source = ~/dotfiles/hypr/conf/windowrules.conf
|
||||||
|
|
||||||
|
# Animation
|
||||||
|
source = ~/dotfiles/hypr/conf/animations-low.conf
|
||||||
|
# source = ~/dotfiles/hypr/conf/animations-high.conf
|
4
hypr/starthypr.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
export WLR_NO_HARDWARE_CURSORS=1
|
||||||
|
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||||
|
exec Hyprland
|
99
install.sh
Executable file
@ -0,0 +1,99 @@
|
|||||||
|
#/bin/bash
|
||||||
|
|
||||||
|
# Load Library
|
||||||
|
source $(dirname "$0")/scripts/library.sh
|
||||||
|
|
||||||
|
# Install required packages
|
||||||
|
packagesPacman=(
|
||||||
|
"pacman-contrib"
|
||||||
|
"yay"
|
||||||
|
"NetworkManager"
|
||||||
|
"alacritty"
|
||||||
|
"rofi"
|
||||||
|
"firefox"
|
||||||
|
"firefox-i18n-de"
|
||||||
|
"nitrogen"
|
||||||
|
"dunst"
|
||||||
|
"starship"
|
||||||
|
"neovim"
|
||||||
|
"mpv"
|
||||||
|
"thunderbird"
|
||||||
|
"thunderbird-i18n-de"
|
||||||
|
"xfce4-power-manager"
|
||||||
|
"mousepad"
|
||||||
|
"ttf-font-awesome"
|
||||||
|
"ttf-fira-sans"
|
||||||
|
"ttf-fira-code"
|
||||||
|
"ttf-firacode-nerd"
|
||||||
|
"exa"
|
||||||
|
"python-pip"
|
||||||
|
"python-psutil"
|
||||||
|
"python-rich"
|
||||||
|
"python-click"
|
||||||
|
"xdg-desktop-portal-gtk"
|
||||||
|
"pavucontrol"
|
||||||
|
"tumbler"
|
||||||
|
"xautolock"
|
||||||
|
"blueman"
|
||||||
|
"papirus-icon-theme"
|
||||||
|
"ly"
|
||||||
|
"hyprland"
|
||||||
|
"xdg-desktop-portal-wlr"
|
||||||
|
"waybar"
|
||||||
|
"grim"
|
||||||
|
"slurp"
|
||||||
|
"swayidle"
|
||||||
|
"swappy"
|
||||||
|
"cliphist"
|
||||||
|
);
|
||||||
|
|
||||||
|
packagesYay=(
|
||||||
|
"pfetch"
|
||||||
|
"trizen"
|
||||||
|
"bibata-cursor-theme"
|
||||||
|
"pywal"
|
||||||
|
"swww"
|
||||||
|
"swaylock-effects"
|
||||||
|
"wlogout"
|
||||||
|
);
|
||||||
|
|
||||||
|
_installPackagesPacman "${packagesPacman[@]}";
|
||||||
|
_installPackagesYay "${packagesYay[@]}";
|
||||||
|
|
||||||
|
# Init pywal
|
||||||
|
wal -i ~/dotfiles/wallpapers/default.jpg
|
||||||
|
|
||||||
|
# Copy default wallpaper to .cache for autolock screen
|
||||||
|
cp ~/dotfiles/wallpapers/default.jpg ~/.cache/current_wallpaper.jpg
|
||||||
|
|
||||||
|
# .config folder
|
||||||
|
if [ ! -d ~/.config ]; then
|
||||||
|
mkdir ~/.config
|
||||||
|
fi
|
||||||
|
|
||||||
|
# .bashrc
|
||||||
|
_installSymLink .bashrc ~/.bashrc ~/dotfiles/.bashrc ~/.bashrc
|
||||||
|
|
||||||
|
_installSymLink alacritty ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config
|
||||||
|
_installSymLink ranger ~/.config/ranger ~/dotfiles/ranger/ ~/.config
|
||||||
|
_installSymLink nvim ~/.config/nvim ~/dotfiles/nvim/ ~/.config
|
||||||
|
_installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml
|
||||||
|
_installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config
|
||||||
|
_installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config
|
||||||
|
_installSymLink wal ~/.config/wal ~/dotfiles/wal/ ~/.config
|
||||||
|
wal -i wallpapers/
|
||||||
|
|
||||||
|
# gtk
|
||||||
|
_installSymLink .gtkrc-2.0 ~/.gtkrc-2.0 ~/dotfiles/gtk/.gtkrc-2.0 ~/.gtkrc-2.0
|
||||||
|
_installSymLink gtk-3.0 ~/.config/gtk-3.0 ~/dotfiles/gtk/gtk-3.0/ ~/.config/
|
||||||
|
_installSymLink gtk-4.0 ~/.config/gtk-4.0 ~/dotfiles/gtk/gtk-4.0/ ~/.config/
|
||||||
|
|
||||||
|
# hyprland
|
||||||
|
_installSymLink hypr ~/.config/hypr ~/dotfiles/hypr/ ~/.config
|
||||||
|
_installSymLink waybar ~/.config/waybar ~/dotfiles/waybar/ ~/.config
|
||||||
|
_installSymLink swaylock ~/.config/swaylock ~/dotfiles/swaylock/ ~/.config
|
||||||
|
_installSymLink wlogout ~/.config/wlogout ~/dotfiles/wlogout/ ~/.config
|
||||||
|
_installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config
|
||||||
|
|
||||||
|
# DONE
|
||||||
|
clear
|
24
nvim/init.vim
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
set nocompatible " disable compatibility to old-time vi
|
||||||
|
set showmatch " show matching
|
||||||
|
set ignorecase " case insensitive
|
||||||
|
set mouse=v " middle-click paste with
|
||||||
|
set hlsearch " highlight search
|
||||||
|
set incsearch " incremental search
|
||||||
|
set tabstop=2 " number of columns occupied by a tab
|
||||||
|
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
|
||||||
|
set expandtab " converts tabs to white space
|
||||||
|
set shiftwidth=4 " width for autoindents
|
||||||
|
set autoindent " indent a new line the same amount as the line just typed
|
||||||
|
set number " add line numbers
|
||||||
|
set wildmode=longest,list " get bash-like tab completions
|
||||||
|
" set cc=80 " set an 80 column border for good coding style
|
||||||
|
filetype plugin indent on "allow auto-indenting depending on file type
|
||||||
|
syntax on " syntax highlighting
|
||||||
|
set mouse=a " enable mouse click
|
||||||
|
set clipboard=unnamedplus " using system clipboard
|
||||||
|
filetype plugin on
|
||||||
|
" set cursorline " highlight current cursorline
|
||||||
|
set ttyfast " Speed up scrolling in Vim
|
||||||
|
" set spell " enable spell check (may need to download language package)
|
||||||
|
" set noswapfile " disable creating swap file
|
||||||
|
" set backupdir=~/.cache/vim " Directory to store backup files.
|
62
ranger/commands.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# This is a sample commands.py. You can add your own commands here.
|
||||||
|
#
|
||||||
|
# Please refer to commands_full.py for all the default commands and a complete
|
||||||
|
# documentation. Do NOT add them all here, or you may end up with defunct
|
||||||
|
# commands when upgrading ranger.
|
||||||
|
|
||||||
|
# A simple command for demonstration purposes follows.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
|
||||||
|
# You can import any python module as needed.
|
||||||
|
import os
|
||||||
|
|
||||||
|
# You always need to import ranger.api.commands here to get the Command class:
|
||||||
|
from ranger.api.commands import Command
|
||||||
|
|
||||||
|
|
||||||
|
# Any class that is a subclass of "Command" will be integrated into ranger as a
|
||||||
|
# command. Try typing ":my_edit<ENTER>" in ranger!
|
||||||
|
class my_edit(Command):
|
||||||
|
# The so-called doc-string of the class will be visible in the built-in
|
||||||
|
# help that is accessible by typing "?c" inside ranger.
|
||||||
|
""":my_edit <filename>
|
||||||
|
|
||||||
|
A sample command for demonstration purposes that opens a file in an editor.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# The execute method is called when you run this command in ranger.
|
||||||
|
def execute(self):
|
||||||
|
# self.arg(1) is the first (space-separated) argument to the function.
|
||||||
|
# This way you can write ":my_edit somefilename<ENTER>".
|
||||||
|
if self.arg(1):
|
||||||
|
# self.rest(1) contains self.arg(1) and everything that follows
|
||||||
|
target_filename = self.rest(1)
|
||||||
|
else:
|
||||||
|
# self.fm is a ranger.core.filemanager.FileManager object and gives
|
||||||
|
# you access to internals of ranger.
|
||||||
|
# self.fm.thisfile is a ranger.container.file.File object and is a
|
||||||
|
# reference to the currently selected file.
|
||||||
|
target_filename = self.fm.thisfile.path
|
||||||
|
|
||||||
|
# This is a generic function to print text in ranger.
|
||||||
|
self.fm.notify("Let's edit the file " + target_filename + "!")
|
||||||
|
|
||||||
|
# Using bad=True in fm.notify allows you to print error messages:
|
||||||
|
if not os.path.exists(target_filename):
|
||||||
|
self.fm.notify("The given file does not exist!", bad=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
# This executes a function from ranger.core.acitons, a module with a
|
||||||
|
# variety of subroutines that can help you construct commands.
|
||||||
|
# Check out the source, or run "pydoc ranger.core.actions" for a list.
|
||||||
|
self.fm.edit_file(target_filename)
|
||||||
|
|
||||||
|
# The tab method is called when you press tab, and should return a list of
|
||||||
|
# suggestions that the user will tab through.
|
||||||
|
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
|
||||||
|
def tab(self, tabnum):
|
||||||
|
# This is a generic tab-completion function that iterates through the
|
||||||
|
# content of the current directory.
|
||||||
|
return self._tab_directory_content()
|
1993
ranger/commands_full.py
Normal file
759
ranger/rc.conf
Normal file
@ -0,0 +1,759 @@
|
|||||||
|
# ===================================================================
|
||||||
|
# This file contains the default startup commands for ranger.
|
||||||
|
# To change them, it is recommended to create either /etc/ranger/rc.conf
|
||||||
|
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
|
||||||
|
# commands there.
|
||||||
|
#
|
||||||
|
# If you copy this whole file there, you may want to set the environment
|
||||||
|
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
||||||
|
#
|
||||||
|
# The purpose of this file is mainly to define keybindings and settings.
|
||||||
|
# For running more complex python code, please create a plugin in "plugins/" or
|
||||||
|
# a command in "commands.py".
|
||||||
|
#
|
||||||
|
# Each line is a command that will be run before the user interface
|
||||||
|
# is initialized. As a result, you can not use commands which rely
|
||||||
|
# on the UI such as :delete or :mark.
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Options
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Which viewmode should be used? Possible values are:
|
||||||
|
# miller: Use miller columns which show multiple levels of the hierarchy
|
||||||
|
# multipane: Midnight-commander like multipane view showing all tabs next
|
||||||
|
# to each other
|
||||||
|
set viewmode miller
|
||||||
|
#set viewmode multipane
|
||||||
|
|
||||||
|
# How many columns are there, and what are their relative widths?
|
||||||
|
set column_ratios 1,3,4
|
||||||
|
|
||||||
|
# Which files should be hidden? (regular expression)
|
||||||
|
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||||
|
|
||||||
|
# Show hidden files? You can toggle this by typing 'zh'
|
||||||
|
set show_hidden false
|
||||||
|
|
||||||
|
# Ask for a confirmation when running the "delete" command?
|
||||||
|
# Valid values are "always", "never", "multiple" (default)
|
||||||
|
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||||
|
set confirm_on_delete multiple
|
||||||
|
|
||||||
|
# Use non-default path for file preview script?
|
||||||
|
# ranger ships with scope.sh, a script that calls external programs (see
|
||||||
|
# README.md for dependencies) to preview images, archives, etc.
|
||||||
|
#set preview_script ~/.config/ranger/scope.sh
|
||||||
|
|
||||||
|
# Use the external preview script or display simple plain text or image previews?
|
||||||
|
set use_preview_script true
|
||||||
|
|
||||||
|
# Automatically count files in the directory, even before entering them?
|
||||||
|
set automatically_count_files true
|
||||||
|
|
||||||
|
# Open all images in this directory when running certain image viewers
|
||||||
|
# like feh or sxiv? You can still open selected files by marking them.
|
||||||
|
set open_all_images true
|
||||||
|
|
||||||
|
# Be aware of version control systems and display information.
|
||||||
|
set vcs_aware false
|
||||||
|
|
||||||
|
# State of the four backends git, hg, bzr, svn. The possible states are
|
||||||
|
# disabled, local (only show local info), enabled (show local and remote
|
||||||
|
# information).
|
||||||
|
set vcs_backend_git enabled
|
||||||
|
set vcs_backend_hg disabled
|
||||||
|
set vcs_backend_bzr disabled
|
||||||
|
set vcs_backend_svn disabled
|
||||||
|
|
||||||
|
# Truncate the long commit messages to this length when shown in the statusbar.
|
||||||
|
set vcs_msg_length 50
|
||||||
|
|
||||||
|
# Use one of the supported image preview protocols
|
||||||
|
set preview_images true
|
||||||
|
|
||||||
|
# Set the preview image method. Supported methods:
|
||||||
|
#
|
||||||
|
# * w3m (default):
|
||||||
|
# Preview images in full color with the external command "w3mimgpreview"?
|
||||||
|
# This requires the console web browser "w3m" and a supported terminal.
|
||||||
|
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
||||||
|
#
|
||||||
|
# * iterm2:
|
||||||
|
# Preview images in full color using iTerm2 image previews
|
||||||
|
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
||||||
|
# with image preview support.
|
||||||
|
#
|
||||||
|
# This feature relies on the dimensions of the terminal's font. By default, a
|
||||||
|
# width of 8 and height of 11 are used. To use other values, set the options
|
||||||
|
# iterm2_font_width and iterm2_font_height to the desired values.
|
||||||
|
#
|
||||||
|
# * terminology:
|
||||||
|
# Previews images in full color in the terminology terminal emulator.
|
||||||
|
# Supports a wide variety of formats, even vector graphics like svg.
|
||||||
|
#
|
||||||
|
# * urxvt:
|
||||||
|
# Preview images in full color using urxvt image backgrounds. This
|
||||||
|
# requires using urxvt compiled with pixbuf support.
|
||||||
|
#
|
||||||
|
# * urxvt-full:
|
||||||
|
# The same as urxvt but utilizing not only the preview pane but the
|
||||||
|
# whole terminal window.
|
||||||
|
#
|
||||||
|
# * kitty:
|
||||||
|
# Preview images in full color using kitty image protocol.
|
||||||
|
# Requires python PIL or pillow library.
|
||||||
|
# If ranger does not share the local filesystem with kitty
|
||||||
|
# the transfer method is changed to encode the whole image;
|
||||||
|
# while slower, this allows remote previews,
|
||||||
|
# for example during an ssh session.
|
||||||
|
# Tmux is unsupported.
|
||||||
|
#
|
||||||
|
# * ueberzug:
|
||||||
|
# Preview images in full color with the external command "ueberzug".
|
||||||
|
# Images are shown by using a child window.
|
||||||
|
# Only for users who run X11 in GNU/Linux.
|
||||||
|
set preview_images_method ueberzug
|
||||||
|
|
||||||
|
# Delay in seconds before displaying an image with the w3m method.
|
||||||
|
# Increase it in case of experiencing display corruption.
|
||||||
|
set w3m_delay 0.02
|
||||||
|
|
||||||
|
# Manually adjust the w3mimg offset when using a terminal which needs this
|
||||||
|
set w3m_offset 0
|
||||||
|
|
||||||
|
# Default iTerm2 font size (see: preview_images_method: iterm2)
|
||||||
|
set iterm2_font_width 8
|
||||||
|
set iterm2_font_height 11
|
||||||
|
|
||||||
|
# Use a unicode "..." character to mark cut-off filenames?
|
||||||
|
set unicode_ellipsis false
|
||||||
|
|
||||||
|
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
|
||||||
|
# Requires the python-bidi pip package
|
||||||
|
set bidi_support false
|
||||||
|
|
||||||
|
# Show dotfiles in the bookmark preview box?
|
||||||
|
set show_hidden_bookmarks true
|
||||||
|
|
||||||
|
# Which colorscheme to use? These colorschemes are available by default:
|
||||||
|
# default, jungle, snow, solarized
|
||||||
|
set colorscheme default
|
||||||
|
|
||||||
|
# Preview files on the rightmost column?
|
||||||
|
# And collapse (shrink) the last column if there is nothing to preview?
|
||||||
|
set preview_files true
|
||||||
|
set preview_directories true
|
||||||
|
set collapse_preview true
|
||||||
|
|
||||||
|
# Wrap long lines in plain text previews?
|
||||||
|
set wrap_plaintext_previews false
|
||||||
|
|
||||||
|
# Save the console history on exit?
|
||||||
|
set save_console_history true
|
||||||
|
|
||||||
|
# Draw the status bar on top of the browser window (default: bottom)
|
||||||
|
set status_bar_on_top false
|
||||||
|
|
||||||
|
# Draw a progress bar in the status bar which displays the average state of all
|
||||||
|
# currently running tasks which support progress bars?
|
||||||
|
set draw_progress_bar_in_status_bar true
|
||||||
|
|
||||||
|
# Draw borders around columns? (separators, outline, both, or none)
|
||||||
|
# Separators are vertical lines between columns.
|
||||||
|
# Outline draws a box around all the columns.
|
||||||
|
# Both combines the two.
|
||||||
|
set draw_borders none
|
||||||
|
|
||||||
|
# Display the directory name in tabs?
|
||||||
|
set dirname_in_tabs false
|
||||||
|
|
||||||
|
# Enable the mouse support?
|
||||||
|
set mouse_enabled true
|
||||||
|
|
||||||
|
# Display the file size in the main column or status bar?
|
||||||
|
set display_size_in_main_column true
|
||||||
|
set display_size_in_status_bar true
|
||||||
|
|
||||||
|
# Display the free disk space in the status bar?
|
||||||
|
set display_free_space_in_status_bar true
|
||||||
|
|
||||||
|
# Display files tags in all columns or only in main column?
|
||||||
|
set display_tags_in_all_columns true
|
||||||
|
|
||||||
|
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
|
||||||
|
set update_title false
|
||||||
|
|
||||||
|
# Set the tmux/screen window-name to "ranger"?
|
||||||
|
set update_tmux_title true
|
||||||
|
|
||||||
|
# Shorten the title if it gets long? The number defines how many
|
||||||
|
# directories are displayed at once, 0 turns off this feature.
|
||||||
|
set shorten_title 3
|
||||||
|
|
||||||
|
# Show hostname in titlebar?
|
||||||
|
set hostname_in_titlebar true
|
||||||
|
|
||||||
|
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||||
|
set tilde_in_titlebar false
|
||||||
|
|
||||||
|
# How many directory-changes or console-commands should be kept in history?
|
||||||
|
set max_history_size 20
|
||||||
|
set max_console_history_size 50
|
||||||
|
|
||||||
|
# Try to keep so much space between the top/bottom border when scrolling:
|
||||||
|
set scroll_offset 8
|
||||||
|
|
||||||
|
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||||
|
set flushinput true
|
||||||
|
|
||||||
|
# Padding on the right when there's no preview?
|
||||||
|
# This allows you to click into the space to run the file.
|
||||||
|
set padding_right true
|
||||||
|
|
||||||
|
# Save bookmarks (used with mX and `X) instantly?
|
||||||
|
# This helps to synchronize bookmarks between multiple ranger
|
||||||
|
# instances but leads to *slight* performance loss.
|
||||||
|
# When false, bookmarks are saved when ranger is exited.
|
||||||
|
set autosave_bookmarks true
|
||||||
|
|
||||||
|
# Save the "`" bookmark to disk. This can be used to switch to the last
|
||||||
|
# directory by typing "``".
|
||||||
|
set save_backtick_bookmark true
|
||||||
|
|
||||||
|
# You can display the "real" cumulative size of directories by using the
|
||||||
|
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||||
|
# calculate and will not be updated automatically. You can choose
|
||||||
|
# to update it automatically though by turning on this option:
|
||||||
|
set autoupdate_cumulative_size false
|
||||||
|
|
||||||
|
# Turning this on makes sense for screen readers:
|
||||||
|
set show_cursor false
|
||||||
|
|
||||||
|
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||||
|
set sort natural
|
||||||
|
|
||||||
|
# Additional sorting options
|
||||||
|
set sort_reverse false
|
||||||
|
set sort_case_insensitive true
|
||||||
|
set sort_directories_first true
|
||||||
|
set sort_unicode false
|
||||||
|
|
||||||
|
# Enable this if key combinations with the Alt Key don't work for you.
|
||||||
|
# (Especially on xterm)
|
||||||
|
set xterm_alt_key false
|
||||||
|
|
||||||
|
# Whether to include bookmarks in cd command
|
||||||
|
set cd_bookmarks true
|
||||||
|
|
||||||
|
# Changes case sensitivity for the cd command tab completion
|
||||||
|
set cd_tab_case sensitive
|
||||||
|
|
||||||
|
# Use fuzzy tab completion with the "cd" command. For example,
|
||||||
|
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
||||||
|
set cd_tab_fuzzy false
|
||||||
|
|
||||||
|
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
||||||
|
# disable this feature.
|
||||||
|
set preview_max_size 0
|
||||||
|
|
||||||
|
# The key hint lists up to this size have their sublists expanded.
|
||||||
|
# Otherwise the submaps are replaced with "...".
|
||||||
|
set hint_collapse_threshold 10
|
||||||
|
|
||||||
|
# Add the highlighted file to the path in the titlebar
|
||||||
|
set show_selection_in_titlebar true
|
||||||
|
|
||||||
|
# The delay that ranger idly waits for user input, in milliseconds, with a
|
||||||
|
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
||||||
|
# increases CPU load.
|
||||||
|
set idle_delay 2000
|
||||||
|
|
||||||
|
# When the metadata manager module looks for metadata, should it only look for
|
||||||
|
# a ".metadata.json" file in the current directory, or do a deep search and
|
||||||
|
# check all directories above the current one as well?
|
||||||
|
set metadata_deep_search false
|
||||||
|
|
||||||
|
# Clear all existing filters when leaving a directory
|
||||||
|
set clear_filters_on_dir_change false
|
||||||
|
|
||||||
|
# Disable displaying line numbers in main column.
|
||||||
|
# Possible values: false, absolute, relative.
|
||||||
|
set line_numbers false
|
||||||
|
|
||||||
|
# When line_numbers=relative show the absolute line number in the
|
||||||
|
# current line.
|
||||||
|
set relative_current_zero false
|
||||||
|
|
||||||
|
# Start line numbers from 1 instead of 0
|
||||||
|
set one_indexed false
|
||||||
|
|
||||||
|
# Save tabs on exit
|
||||||
|
set save_tabs_on_exit false
|
||||||
|
|
||||||
|
# Enable scroll wrapping - moving down while on the last item will wrap around to
|
||||||
|
# the top and vice versa.
|
||||||
|
set wrap_scroll false
|
||||||
|
|
||||||
|
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
|
||||||
|
# directories, files and symlinks respectively.
|
||||||
|
set global_inode_type_filter
|
||||||
|
|
||||||
|
# This setting allows to freeze the list of files to save I/O bandwidth. It
|
||||||
|
# should be 'false' during start-up, but you can toggle it by pressing F.
|
||||||
|
set freeze_files false
|
||||||
|
|
||||||
|
# Print file sizes in bytes instead of the default human-readable format.
|
||||||
|
set size_in_bytes false
|
||||||
|
|
||||||
|
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
|
||||||
|
# give a warning when you nest ranger in a subshell started by ranger.
|
||||||
|
# Special value "error" makes the warning more visible.
|
||||||
|
set nested_ranger_warning true
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Local Options
|
||||||
|
# ===================================================================
|
||||||
|
# You can set local options that only affect a single directory.
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
# setlocal path=~/downloads sort mtime
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Command Aliases in the Console
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
alias e edit
|
||||||
|
alias q quit
|
||||||
|
alias q! quit!
|
||||||
|
alias qa quitall
|
||||||
|
alias qa! quitall!
|
||||||
|
alias qall quitall
|
||||||
|
alias qall! quitall!
|
||||||
|
alias setl setlocal
|
||||||
|
|
||||||
|
alias filter scout -prts
|
||||||
|
alias find scout -aets
|
||||||
|
alias mark scout -mr
|
||||||
|
alias unmark scout -Mr
|
||||||
|
alias search scout -rs
|
||||||
|
alias search_inc scout -rts
|
||||||
|
alias travel scout -aefklst
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the browser
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
map Q quitall
|
||||||
|
map q quit
|
||||||
|
copymap q ZZ ZQ
|
||||||
|
|
||||||
|
map R reload_cwd
|
||||||
|
map F set freeze_files!
|
||||||
|
map <C-r> reset
|
||||||
|
map <C-l> redraw_window
|
||||||
|
map <C-c> abort
|
||||||
|
map <esc> change_mode normal
|
||||||
|
map ~ set viewmode!
|
||||||
|
|
||||||
|
map i display_file
|
||||||
|
map <A-j> scroll_preview 1
|
||||||
|
map <A-k> scroll_preview -1
|
||||||
|
map ? help
|
||||||
|
map W display_log
|
||||||
|
map w taskview_open
|
||||||
|
map S shell $SHELL
|
||||||
|
|
||||||
|
map : console
|
||||||
|
map ; console
|
||||||
|
map ! console shell%space
|
||||||
|
map @ console -p6 shell %%s
|
||||||
|
map # console shell -p%space
|
||||||
|
map s console shell%space
|
||||||
|
map r chain draw_possible_programs; console open_with%space
|
||||||
|
map f console find%space
|
||||||
|
map cd console cd%space
|
||||||
|
|
||||||
|
map <C-p> chain console; eval fm.ui.console.history_move(-1)
|
||||||
|
|
||||||
|
# Change the line mode
|
||||||
|
map Mf linemode filename
|
||||||
|
map Mi linemode fileinfo
|
||||||
|
map Mm linemode mtime
|
||||||
|
map Mh linemode humanreadablemtime
|
||||||
|
map Mp linemode permissions
|
||||||
|
map Ms linemode sizemtime
|
||||||
|
map MH linemode sizehumanreadablemtime
|
||||||
|
map Mt linemode metatitle
|
||||||
|
|
||||||
|
# Tagging / Marking
|
||||||
|
map t tag_toggle
|
||||||
|
map ut tag_remove
|
||||||
|
map "<any> tag_toggle tag=%any
|
||||||
|
map <Space> mark_files toggle=True
|
||||||
|
map v mark_files all=True toggle=True
|
||||||
|
map uv mark_files all=True val=False
|
||||||
|
map V toggle_visual_mode
|
||||||
|
map uV toggle_visual_mode reverse=True
|
||||||
|
|
||||||
|
# For the nostalgics: Midnight Commander bindings
|
||||||
|
map <F1> help
|
||||||
|
map <F2> rename_append
|
||||||
|
map <F3> display_file
|
||||||
|
map <F4> edit
|
||||||
|
map <F5> copy
|
||||||
|
map <F6> cut
|
||||||
|
map <F7> console mkdir%space
|
||||||
|
map <F8> console delete
|
||||||
|
#map <F8> console trash
|
||||||
|
map <F10> exit
|
||||||
|
|
||||||
|
# In case you work on a keyboard with dvorak layout
|
||||||
|
map <UP> move up=1
|
||||||
|
map <DOWN> move down=1
|
||||||
|
map <LEFT> move left=1
|
||||||
|
map <RIGHT> move right=1
|
||||||
|
map <HOME> move to=0
|
||||||
|
map <END> move to=-1
|
||||||
|
map <PAGEDOWN> move down=1 pages=True
|
||||||
|
map <PAGEUP> move up=1 pages=True
|
||||||
|
map <CR> move right=1
|
||||||
|
#map <DELETE> console delete
|
||||||
|
map <INSERT> console touch%space
|
||||||
|
|
||||||
|
# VIM-like
|
||||||
|
copymap <UP> k
|
||||||
|
copymap <DOWN> j
|
||||||
|
copymap <LEFT> h
|
||||||
|
copymap <RIGHT> l
|
||||||
|
copymap <HOME> gg
|
||||||
|
copymap <END> G
|
||||||
|
copymap <PAGEDOWN> <C-F>
|
||||||
|
copymap <PAGEUP> <C-B>
|
||||||
|
|
||||||
|
map J move down=0.5 pages=True
|
||||||
|
map K move up=0.5 pages=True
|
||||||
|
copymap J <C-D>
|
||||||
|
copymap K <C-U>
|
||||||
|
|
||||||
|
# Jumping around
|
||||||
|
map H history_go -1
|
||||||
|
map L history_go 1
|
||||||
|
map ] move_parent 1
|
||||||
|
map [ move_parent -1
|
||||||
|
map } traverse
|
||||||
|
map { traverse_backwards
|
||||||
|
map ) jump_non
|
||||||
|
|
||||||
|
map gh cd ~
|
||||||
|
map ge cd /etc
|
||||||
|
map gu cd /usr
|
||||||
|
map gd cd /dev
|
||||||
|
map gl cd -r .
|
||||||
|
map gL cd -r %f
|
||||||
|
map go cd /opt
|
||||||
|
map gv cd /var
|
||||||
|
map gm cd /media
|
||||||
|
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
|
||||||
|
map gM cd /mnt
|
||||||
|
map gs cd /srv
|
||||||
|
map gp cd /tmp
|
||||||
|
map gr cd /
|
||||||
|
map gR eval fm.cd(ranger.RANGERDIR)
|
||||||
|
map g/ cd /
|
||||||
|
map g? cd /usr/share/doc/ranger
|
||||||
|
|
||||||
|
# External Programs
|
||||||
|
map E edit
|
||||||
|
map du shell -p du --max-depth=1 -h --apparent-size
|
||||||
|
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||||
|
map yp yank path
|
||||||
|
map yd yank dir
|
||||||
|
map yn yank name
|
||||||
|
map y. yank name_without_extension
|
||||||
|
|
||||||
|
# Filesystem Operations
|
||||||
|
map = chmod
|
||||||
|
|
||||||
|
map cw console rename%space
|
||||||
|
map a rename_append
|
||||||
|
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
||||||
|
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
||||||
|
|
||||||
|
map pp paste
|
||||||
|
map po paste overwrite=True
|
||||||
|
map pP paste append=True
|
||||||
|
map pO paste overwrite=True append=True
|
||||||
|
map pl paste_symlink relative=False
|
||||||
|
map pL paste_symlink relative=True
|
||||||
|
map phl paste_hardlink
|
||||||
|
map pht paste_hardlinked_subtree
|
||||||
|
map pd console paste dest=
|
||||||
|
map p`<any> paste dest=%any_path
|
||||||
|
map p'<any> paste dest=%any_path
|
||||||
|
|
||||||
|
map dD console delete
|
||||||
|
map dT console trash
|
||||||
|
|
||||||
|
map dd cut
|
||||||
|
map ud uncut
|
||||||
|
map da cut mode=add
|
||||||
|
map dr cut mode=remove
|
||||||
|
map dt cut mode=toggle
|
||||||
|
|
||||||
|
map yy copy
|
||||||
|
map uy uncut
|
||||||
|
map ya copy mode=add
|
||||||
|
map yr copy mode=remove
|
||||||
|
map yt copy mode=toggle
|
||||||
|
|
||||||
|
# Temporary workarounds
|
||||||
|
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
|
||||||
|
# Searching
|
||||||
|
map / console search%space
|
||||||
|
map n search_next
|
||||||
|
map N search_next forward=False
|
||||||
|
map ct search_next order=tag
|
||||||
|
map cs search_next order=size
|
||||||
|
map ci search_next order=mimetype
|
||||||
|
map cc search_next order=ctime
|
||||||
|
map cm search_next order=mtime
|
||||||
|
map ca search_next order=atime
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
map <C-n> tab_new
|
||||||
|
map <C-w> tab_close
|
||||||
|
map <TAB> tab_move 1
|
||||||
|
map <S-TAB> tab_move -1
|
||||||
|
map <A-Right> tab_move 1
|
||||||
|
map <A-Left> tab_move -1
|
||||||
|
map gt tab_move 1
|
||||||
|
map gT tab_move -1
|
||||||
|
map gn tab_new
|
||||||
|
map gc tab_close
|
||||||
|
map uq tab_restore
|
||||||
|
map <a-1> tab_open 1
|
||||||
|
map <a-2> tab_open 2
|
||||||
|
map <a-3> tab_open 3
|
||||||
|
map <a-4> tab_open 4
|
||||||
|
map <a-5> tab_open 5
|
||||||
|
map <a-6> tab_open 6
|
||||||
|
map <a-7> tab_open 7
|
||||||
|
map <a-8> tab_open 8
|
||||||
|
map <a-9> tab_open 9
|
||||||
|
map <a-r> tab_shift 1
|
||||||
|
map <a-l> tab_shift -1
|
||||||
|
|
||||||
|
# Sorting
|
||||||
|
map or set sort_reverse!
|
||||||
|
map oz set sort=random
|
||||||
|
map os chain set sort=size; set sort_reverse=False
|
||||||
|
map ob chain set sort=basename; set sort_reverse=False
|
||||||
|
map on chain set sort=natural; set sort_reverse=False
|
||||||
|
map om chain set sort=mtime; set sort_reverse=False
|
||||||
|
map oc chain set sort=ctime; set sort_reverse=False
|
||||||
|
map oa chain set sort=atime; set sort_reverse=False
|
||||||
|
map ot chain set sort=type; set sort_reverse=False
|
||||||
|
map oe chain set sort=extension; set sort_reverse=False
|
||||||
|
|
||||||
|
map oS chain set sort=size; set sort_reverse=True
|
||||||
|
map oB chain set sort=basename; set sort_reverse=True
|
||||||
|
map oN chain set sort=natural; set sort_reverse=True
|
||||||
|
map oM chain set sort=mtime; set sort_reverse=True
|
||||||
|
map oC chain set sort=ctime; set sort_reverse=True
|
||||||
|
map oA chain set sort=atime; set sort_reverse=True
|
||||||
|
map oT chain set sort=type; set sort_reverse=True
|
||||||
|
map oE chain set sort=extension; set sort_reverse=True
|
||||||
|
|
||||||
|
map dc get_cumulative_size
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
map zc set collapse_preview!
|
||||||
|
map zd set sort_directories_first!
|
||||||
|
map zh set show_hidden!
|
||||||
|
map <C-h> set show_hidden!
|
||||||
|
copymap <C-h> <backspace>
|
||||||
|
copymap <backspace> <backspace2>
|
||||||
|
map zI set flushinput!
|
||||||
|
map zi set preview_images!
|
||||||
|
map zm set mouse_enabled!
|
||||||
|
map zp set preview_files!
|
||||||
|
map zP set preview_directories!
|
||||||
|
map zs set sort_case_insensitive!
|
||||||
|
map zu set autoupdate_cumulative_size!
|
||||||
|
map zv set use_preview_script!
|
||||||
|
map zf console filter%space
|
||||||
|
copymap zf zz
|
||||||
|
|
||||||
|
# Filter stack
|
||||||
|
map .d filter_stack add type d
|
||||||
|
map .f filter_stack add type f
|
||||||
|
map .l filter_stack add type l
|
||||||
|
map .m console filter_stack add mime%space
|
||||||
|
map .n console filter_stack add name%space
|
||||||
|
map .# console filter_stack add hash%space
|
||||||
|
map ." filter_stack add duplicate
|
||||||
|
map .' filter_stack add unique
|
||||||
|
map .| filter_stack add or
|
||||||
|
map .& filter_stack add and
|
||||||
|
map .! filter_stack add not
|
||||||
|
map .r filter_stack rotate
|
||||||
|
map .c filter_stack clear
|
||||||
|
map .* filter_stack decompose
|
||||||
|
map .p filter_stack pop
|
||||||
|
map .. filter_stack show
|
||||||
|
|
||||||
|
# Bookmarks
|
||||||
|
map `<any> enter_bookmark %any
|
||||||
|
map '<any> enter_bookmark %any
|
||||||
|
map m<any> set_bookmark %any
|
||||||
|
map um<any> unset_bookmark %any
|
||||||
|
|
||||||
|
map m<bg> draw_bookmarks
|
||||||
|
copymap m<bg> um<bg> `<bg> '<bg>
|
||||||
|
|
||||||
|
# Generate all the chmod bindings with some python help:
|
||||||
|
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
|
||||||
|
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the console
|
||||||
|
# ===================================================================
|
||||||
|
# Note: Unmapped keys are passed directly to the console.
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
cmap <tab> eval fm.ui.console.tab()
|
||||||
|
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||||
|
cmap <ESC> eval fm.ui.console.close()
|
||||||
|
cmap <CR> eval fm.ui.console.execute()
|
||||||
|
cmap <C-l> redraw_window
|
||||||
|
|
||||||
|
copycmap <ESC> <C-c>
|
||||||
|
copycmap <CR> <C-j>
|
||||||
|
|
||||||
|
# Move around
|
||||||
|
cmap <up> eval fm.ui.console.history_move(-1)
|
||||||
|
cmap <down> eval fm.ui.console.history_move(1)
|
||||||
|
cmap <left> eval fm.ui.console.move(left=1)
|
||||||
|
cmap <right> eval fm.ui.console.move(right=1)
|
||||||
|
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||||
|
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||||
|
cmap <a-b> eval fm.ui.console.move_word(left=1)
|
||||||
|
cmap <a-f> eval fm.ui.console.move_word(right=1)
|
||||||
|
|
||||||
|
copycmap <a-b> <a-left>
|
||||||
|
copycmap <a-f> <a-right>
|
||||||
|
|
||||||
|
# Line Editing
|
||||||
|
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||||
|
cmap <delete> eval fm.ui.console.delete(0)
|
||||||
|
cmap <C-w> eval fm.ui.console.delete_word()
|
||||||
|
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||||
|
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||||
|
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||||
|
cmap <C-y> eval fm.ui.console.paste()
|
||||||
|
|
||||||
|
# And of course the emacs way
|
||||||
|
copycmap <ESC> <C-g>
|
||||||
|
copycmap <up> <C-p>
|
||||||
|
copycmap <down> <C-n>
|
||||||
|
copycmap <left> <C-b>
|
||||||
|
copycmap <right> <C-f>
|
||||||
|
copycmap <home> <C-a>
|
||||||
|
copycmap <end> <C-e>
|
||||||
|
copycmap <delete> <C-d>
|
||||||
|
copycmap <backspace> <C-h>
|
||||||
|
|
||||||
|
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||||
|
# and <backspace2> (code 127). To be sure, use both.
|
||||||
|
copycmap <backspace> <backspace2>
|
||||||
|
|
||||||
|
# This special expression allows typing in numerals:
|
||||||
|
cmap <allow_quantifiers> false
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Pager Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
pmap <down> pager_move down=1
|
||||||
|
pmap <up> pager_move up=1
|
||||||
|
pmap <left> pager_move left=4
|
||||||
|
pmap <right> pager_move right=4
|
||||||
|
pmap <home> pager_move to=0
|
||||||
|
pmap <end> pager_move to=-1
|
||||||
|
pmap <pagedown> pager_move down=1.0 pages=True
|
||||||
|
pmap <pageup> pager_move up=1.0 pages=True
|
||||||
|
pmap <C-d> pager_move down=0.5 pages=True
|
||||||
|
pmap <C-u> pager_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copypmap <UP> k <C-p>
|
||||||
|
copypmap <DOWN> j <C-n> <CR>
|
||||||
|
copypmap <LEFT> h
|
||||||
|
copypmap <RIGHT> l
|
||||||
|
copypmap <HOME> g
|
||||||
|
copypmap <END> G
|
||||||
|
copypmap <C-d> d
|
||||||
|
copypmap <C-u> u
|
||||||
|
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copypmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
pmap <C-l> redraw_window
|
||||||
|
pmap <ESC> pager_close
|
||||||
|
copypmap <ESC> q Q i <F3>
|
||||||
|
pmap E edit_file
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Taskview Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
tmap <up> taskview_move up=1
|
||||||
|
tmap <down> taskview_move down=1
|
||||||
|
tmap <home> taskview_move to=0
|
||||||
|
tmap <end> taskview_move to=-1
|
||||||
|
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||||
|
tmap <pageup> taskview_move up=1.0 pages=True
|
||||||
|
tmap <C-d> taskview_move down=0.5 pages=True
|
||||||
|
tmap <C-u> taskview_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copytmap <UP> k <C-p>
|
||||||
|
copytmap <DOWN> j <C-n> <CR>
|
||||||
|
copytmap <HOME> g
|
||||||
|
copytmap <END> G
|
||||||
|
copytmap <C-u> u
|
||||||
|
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copytmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Changing priority and deleting tasks
|
||||||
|
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||||
|
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
tmap <C-l> redraw_window
|
||||||
|
tmap <ESC> taskview_close
|
||||||
|
copytmap <ESC> q Q w <C-c>
|
284
ranger/rifle.conf
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
# vim: ft=cfg
|
||||||
|
#
|
||||||
|
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||||
|
# Each line consists of conditions and a command. For each line the conditions
|
||||||
|
# are checked and if they are met, the respective command is run.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# <condition1> , <condition2> , ... = command
|
||||||
|
#
|
||||||
|
# The command can contain these environment variables:
|
||||||
|
# $1-$9 | The n-th selected file
|
||||||
|
# $@ | All selected files
|
||||||
|
#
|
||||||
|
# If you use the special command "ask", rifle will ask you what program to run.
|
||||||
|
#
|
||||||
|
# Prefixing a condition with "!" will negate its result.
|
||||||
|
# These conditions are currently supported:
|
||||||
|
# match <regexp> | The regexp matches $1
|
||||||
|
# ext <regexp> | The regexp matches the extension of $1
|
||||||
|
# mime <regexp> | The regexp matches the mime type of $1
|
||||||
|
# name <regexp> | The regexp matches the basename of $1
|
||||||
|
# path <regexp> | The regexp matches the absolute path of $1
|
||||||
|
# has <program> | The program is installed (i.e. located in $PATH)
|
||||||
|
# env <variable> | The environment variable "variable" is non-empty
|
||||||
|
# file | $1 is a file
|
||||||
|
# directory | $1 is a directory
|
||||||
|
# number <n> | change the number of this command to n
|
||||||
|
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||||
|
# X | A graphical environment is available (darwin, Xorg, or Wayland)
|
||||||
|
#
|
||||||
|
# There are also pseudo-conditions which have a "side effect":
|
||||||
|
# flag <flags> | Change how the program is run. See below.
|
||||||
|
# label <label> | Assign a label or name to the command so it can
|
||||||
|
# | be started with :open_with <label> in ranger
|
||||||
|
# | or `rifle -p <label>` in the standalone executable.
|
||||||
|
# else | Always true.
|
||||||
|
#
|
||||||
|
# Flags are single characters which slightly transform the command:
|
||||||
|
# f | Fork the program, make it run in the background.
|
||||||
|
# | New command = setsid $command >& /dev/null &
|
||||||
|
# r | Execute the command with root permissions
|
||||||
|
# | New command = sudo $command
|
||||||
|
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||||
|
# | rifle will attempt to extract it from $TERM.
|
||||||
|
# | New command = $TERMCMD -e $command
|
||||||
|
# Note: The "New command" serves only as an illustration, the exact
|
||||||
|
# implementation may differ.
|
||||||
|
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||||
|
# only running the current file even if you have marked multiple files.
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Websites
|
||||||
|
#-------------------------------------------
|
||||||
|
# Rarely installed browsers get higher priority; It is assumed that if you
|
||||||
|
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
|
||||||
|
# other hand are often only installed as fallback browsers.
|
||||||
|
ext x?html?, has surf, X, flag f = surf -- file://"$1"
|
||||||
|
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
|
||||||
|
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
|
||||||
|
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
|
||||||
|
ext x?html?, has dwb, X, flag f = dwb -- "$@"
|
||||||
|
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
|
||||||
|
ext x?html?, has luakit, X, flag f = luakit -- "$@"
|
||||||
|
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
|
||||||
|
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
|
||||||
|
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
|
||||||
|
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
|
||||||
|
ext x?html?, has midori, X, flag f = midori -- "$@"
|
||||||
|
ext x?html?, has opera, X, flag f = opera -- "$@"
|
||||||
|
ext x?html?, has firefox, X, flag f = firefox -- "$@"
|
||||||
|
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
|
||||||
|
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
|
||||||
|
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
|
||||||
|
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||||
|
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
|
||||||
|
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
|
||||||
|
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
|
||||||
|
ext x?html?, has elinks, terminal = elinks "$@"
|
||||||
|
ext x?html?, has links2, terminal = links2 "$@"
|
||||||
|
ext x?html?, has links, terminal = links "$@"
|
||||||
|
ext x?html?, has lynx, terminal = lynx -- "$@"
|
||||||
|
ext x?html?, has w3m, terminal = w3m "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Misc
|
||||||
|
#-------------------------------------------
|
||||||
|
# Define the "editor" for text files as first action
|
||||||
|
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
|
||||||
|
mime ^text, label pager = "$PAGER" -- "$@"
|
||||||
|
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||||
|
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||||
|
|
||||||
|
ext 1 = man "$1"
|
||||||
|
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
||||||
|
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
||||||
|
ext nes, has fceux, X = fceux "$1"
|
||||||
|
ext exe = wine "$1"
|
||||||
|
name ^[mM]akefile$ = make
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Scripts
|
||||||
|
#-------------------------------------------
|
||||||
|
ext py = python -- "$1"
|
||||||
|
ext pl = perl -- "$1"
|
||||||
|
ext rb = ruby -- "$1"
|
||||||
|
ext js = node -- "$1"
|
||||||
|
ext sh = sh -- "$1"
|
||||||
|
ext php = php -- "$1"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Audio without X
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
||||||
|
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
|
||||||
|
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
|
||||||
|
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Video/Audio with a GUI
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
|
||||||
|
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
|
||||||
|
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||||
|
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
||||||
|
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
|
||||||
|
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
|
||||||
|
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
|
||||||
|
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
|
||||||
|
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||||
|
mime ^video|audio, has totem, X, flag f = totem -- "$@"
|
||||||
|
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Video without X
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
||||||
|
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
|
||||||
|
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Documents
|
||||||
|
#-------------------------------------------
|
||||||
|
ext pdf, has llpp, X, flag f = llpp "$@"
|
||||||
|
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
||||||
|
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||||
|
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
||||||
|
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
||||||
|
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
||||||
|
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||||
|
ext pdf, has atril, X, flag f = atril -- "$@"
|
||||||
|
ext pdf, has okular, X, flag f = okular -- "$@"
|
||||||
|
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
||||||
|
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
||||||
|
ext pdf, has open, X, flag f = open "$@"
|
||||||
|
|
||||||
|
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||||
|
|
||||||
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||||
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||||
|
|
||||||
|
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
||||||
|
ext djvu, has evince, X, flag f = evince -- "$@"
|
||||||
|
ext djvu, has atril, X, flag f = atril -- "$@"
|
||||||
|
ext djvu, has djview, X, flag f = djview -- "$@"
|
||||||
|
|
||||||
|
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||||
|
ext epub, has zathura, X, flag f = zathura -- "$@"
|
||||||
|
ext epub, has mupdf, X, flag f = mupdf -- "$@"
|
||||||
|
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||||
|
|
||||||
|
ext cbr, has zathura, X, flag f = zathura -- "$@"
|
||||||
|
ext cbz, has zathura, X, flag f = zathura -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Images
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||||
|
mime ^image/svg, has display, X, flag f = display -- "$@"
|
||||||
|
|
||||||
|
mime ^image, has imv, X, flag f = imv -- "$@"
|
||||||
|
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
|
||||||
|
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
|
||||||
|
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||||
|
mime ^image, has mirage, X, flag f = mirage -- "$@"
|
||||||
|
mime ^image, has ristretto, X, flag f = ristretto "$@"
|
||||||
|
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||||
|
mime ^image, has eom, X, flag f = eom -- "$@"
|
||||||
|
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
|
||||||
|
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
|
||||||
|
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
|
||||||
|
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
|
||||||
|
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||||
|
ext xcf, X, flag f = gimp -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Archives
|
||||||
|
#-------------------------------------------
|
||||||
|
|
||||||
|
# avoid password prompt by providing empty password
|
||||||
|
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
||||||
|
# This requires atool
|
||||||
|
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||||
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||||
|
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
|
||||||
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
|
||||||
|
|
||||||
|
# Listing and extracting archives without atool:
|
||||||
|
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
|
||||||
|
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
|
||||||
|
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
|
||||||
|
ext zip, has unzip = unzip -l "$1" | less
|
||||||
|
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
|
||||||
|
ext ace, has unace = unace l "$1" | less
|
||||||
|
ext ace, has unace = for file in "$@"; do unace e "$file"; done
|
||||||
|
ext rar, has unrar = unrar l "$1" | less
|
||||||
|
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Fonts
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^font, has fontforge, X, flag f = fontforge "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Flag t fallback terminals
|
||||||
|
#-------------------------------------------
|
||||||
|
# Rarely installed terminal emulators get higher priority; It is assumed that
|
||||||
|
# if you install a rare terminal emulator, you probably use it.
|
||||||
|
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
|
||||||
|
# a desktop environment or as fallback terminal emulators.
|
||||||
|
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
|
||||||
|
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
|
||||||
|
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
|
||||||
|
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Misc
|
||||||
|
#-------------------------------------------
|
||||||
|
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
||||||
|
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
||||||
|
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
||||||
|
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Generic file openers
|
||||||
|
#-------------------------------------------
|
||||||
|
label open, has xdg-open = xdg-open -- "$@"
|
||||||
|
label open, has open = open -- "$@"
|
||||||
|
|
||||||
|
# Define the editor for non-text files + pager as last action
|
||||||
|
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||||
|
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||||
|
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# The actions below are left so low down in this file on purpose, so #
|
||||||
|
# they are never triggered accidentally. #
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# Execute a file as program/script.
|
||||||
|
mime application/x-executable = "$1"
|
||||||
|
|
||||||
|
# Move the file to trash using trash-cli.
|
||||||
|
label trash, has trash-put = trash-put -- "$@"
|
||||||
|
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
|
350
ranger/scope.sh
Executable file
@ -0,0 +1,350 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o noclobber -o noglob -o nounset -o pipefail
|
||||||
|
IFS=$'\n'
|
||||||
|
|
||||||
|
## If the option `use_preview_script` is set to `true`,
|
||||||
|
## then this script will be called and its output will be displayed in ranger.
|
||||||
|
## ANSI color codes are supported.
|
||||||
|
## STDIN is disabled, so interactive scripts won't work properly
|
||||||
|
|
||||||
|
## This script is considered a configuration file and must be updated manually.
|
||||||
|
## It will be left untouched if you upgrade ranger.
|
||||||
|
|
||||||
|
## Because of some automated testing we do on the script #'s for comments need
|
||||||
|
## to be doubled up. Code that is commented out, because it's an alternative for
|
||||||
|
## example, gets only one #.
|
||||||
|
|
||||||
|
## Meanings of exit codes:
|
||||||
|
## code | meaning | action of ranger
|
||||||
|
## -----+------------+-------------------------------------------
|
||||||
|
## 0 | success | Display stdout as preview
|
||||||
|
## 1 | no preview | Display no preview at all
|
||||||
|
## 2 | plain text | Display the plain content of the file
|
||||||
|
## 3 | fix width | Don't reload when width changes
|
||||||
|
## 4 | fix height | Don't reload when height changes
|
||||||
|
## 5 | fix both | Don't ever reload
|
||||||
|
## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
|
||||||
|
## 7 | image | Display the file directly as an image
|
||||||
|
|
||||||
|
## Script arguments
|
||||||
|
FILE_PATH="${1}" # Full path of the highlighted file
|
||||||
|
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
|
||||||
|
## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused
|
||||||
|
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
|
||||||
|
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
|
||||||
|
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
|
||||||
|
|
||||||
|
FILE_EXTENSION="${FILE_PATH##*.}"
|
||||||
|
FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||||
|
HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
|
||||||
|
HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
|
||||||
|
HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
|
||||||
|
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
|
||||||
|
OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000}
|
||||||
|
OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night}
|
||||||
|
|
||||||
|
handle_extension() {
|
||||||
|
case "${FILE_EXTENSION_LOWER}" in
|
||||||
|
## Archive
|
||||||
|
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||||
|
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||||
|
atool --list -- "${FILE_PATH}" && exit 5
|
||||||
|
bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
rar)
|
||||||
|
## Avoid password prompt by providing empty password
|
||||||
|
unrar lt -p- -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
7z)
|
||||||
|
## Avoid password prompt by providing empty password
|
||||||
|
7z l -p -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## PDF
|
||||||
|
pdf)
|
||||||
|
## Preview as text conversion
|
||||||
|
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \
|
||||||
|
fmt -w "${PV_WIDTH}" && exit 5
|
||||||
|
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \
|
||||||
|
fmt -w "${PV_WIDTH}" && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## BitTorrent
|
||||||
|
torrent)
|
||||||
|
transmission-show -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## OpenDocument
|
||||||
|
odt|ods|odp|sxw)
|
||||||
|
## Preview as text conversion
|
||||||
|
odt2txt "${FILE_PATH}" && exit 5
|
||||||
|
## Preview as markdown conversion
|
||||||
|
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## XLSX
|
||||||
|
xlsx)
|
||||||
|
## Preview as csv conversion
|
||||||
|
## Uses: https://github.com/dilshod/xlsx2csv
|
||||||
|
xlsx2csv -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## HTML
|
||||||
|
htm|html|xhtml)
|
||||||
|
## Preview as text conversion
|
||||||
|
w3m -dump "${FILE_PATH}" && exit 5
|
||||||
|
lynx -dump -- "${FILE_PATH}" && exit 5
|
||||||
|
elinks -dump "${FILE_PATH}" && exit 5
|
||||||
|
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
||||||
|
;;
|
||||||
|
|
||||||
|
## JSON
|
||||||
|
json)
|
||||||
|
jq --color-output . "${FILE_PATH}" && exit 5
|
||||||
|
python -m json.tool -- "${FILE_PATH}" && exit 5
|
||||||
|
;;
|
||||||
|
|
||||||
|
## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected
|
||||||
|
## by file(1).
|
||||||
|
dff|dsf|wv|wvc)
|
||||||
|
mediainfo "${FILE_PATH}" && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
;; # Continue with next handler on failure
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_image() {
|
||||||
|
## Size of the preview if there are multiple options or it has to be
|
||||||
|
## rendered from vector graphics. If the conversion program allows
|
||||||
|
## specifying only one dimension while keeping the aspect ratio, the width
|
||||||
|
## will be used.
|
||||||
|
local DEFAULT_SIZE="1920x1080"
|
||||||
|
|
||||||
|
local mimetype="${1}"
|
||||||
|
case "${mimetype}" in
|
||||||
|
## SVG
|
||||||
|
# image/svg+xml|image/svg)
|
||||||
|
# convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
# exit 1;;
|
||||||
|
|
||||||
|
## DjVu
|
||||||
|
# image/vnd.djvu)
|
||||||
|
# ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \
|
||||||
|
# - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \
|
||||||
|
# && exit 6 || exit 1;;
|
||||||
|
|
||||||
|
## Image
|
||||||
|
image/*)
|
||||||
|
local orientation
|
||||||
|
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
||||||
|
## If orientation data is present and the image actually
|
||||||
|
## needs rotating ("1" means no rotation)...
|
||||||
|
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||||
|
## ...auto-rotate the image according to the EXIF data.
|
||||||
|
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
fi
|
||||||
|
|
||||||
|
## `w3mimgdisplay` will be called for all images (unless overriden
|
||||||
|
## as above), but might fail for unsupported types.
|
||||||
|
exit 7;;
|
||||||
|
|
||||||
|
## Video
|
||||||
|
# video/*)
|
||||||
|
# # Thumbnail
|
||||||
|
# ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
|
||||||
|
# exit 1;;
|
||||||
|
|
||||||
|
## PDF
|
||||||
|
# application/pdf)
|
||||||
|
# pdftoppm -f 1 -l 1 \
|
||||||
|
# -scale-to-x "${DEFAULT_SIZE%x*}" \
|
||||||
|
# -scale-to-y -1 \
|
||||||
|
# -singlefile \
|
||||||
|
# -jpeg -tiffcompression jpeg \
|
||||||
|
# -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
|
||||||
|
# && exit 6 || exit 1;;
|
||||||
|
|
||||||
|
|
||||||
|
## ePub, MOBI, FB2 (using Calibre)
|
||||||
|
# application/epub+zip|application/x-mobipocket-ebook|\
|
||||||
|
# application/x-fictionbook+xml)
|
||||||
|
# # ePub (using https://github.com/marianosimone/epub-thumbnailer)
|
||||||
|
# epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \
|
||||||
|
# "${DEFAULT_SIZE%x*}" && exit 6
|
||||||
|
# ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \
|
||||||
|
# >/dev/null && exit 6
|
||||||
|
# exit 1;;
|
||||||
|
|
||||||
|
## Font
|
||||||
|
application/font*|application/*opentype)
|
||||||
|
preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png"
|
||||||
|
if fontimage -o "${preview_png}" \
|
||||||
|
--pixelsize "120" \
|
||||||
|
--fontname \
|
||||||
|
--pixelsize "80" \
|
||||||
|
--text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \
|
||||||
|
--text " abcdefghijklmnopqrstuvwxyz " \
|
||||||
|
--text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \
|
||||||
|
--text " The quick brown fox jumps over the lazy dog. " \
|
||||||
|
"${FILE_PATH}";
|
||||||
|
then
|
||||||
|
convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \
|
||||||
|
&& rm "${preview_png}" \
|
||||||
|
&& exit 6
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
## Preview archives using the first image inside.
|
||||||
|
## (Very useful for comic book collections for example.)
|
||||||
|
# application/zip|application/x-rar|application/x-7z-compressed|\
|
||||||
|
# application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
|
||||||
|
# local fn=""; local fe=""
|
||||||
|
# local zip=""; local rar=""; local tar=""; local bsd=""
|
||||||
|
# case "${mimetype}" in
|
||||||
|
# application/zip) zip=1 ;;
|
||||||
|
# application/x-rar) rar=1 ;;
|
||||||
|
# application/x-7z-compressed) ;;
|
||||||
|
# *) tar=1 ;;
|
||||||
|
# esac
|
||||||
|
# { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \
|
||||||
|
# { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \
|
||||||
|
# { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \
|
||||||
|
# { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return
|
||||||
|
#
|
||||||
|
# fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \
|
||||||
|
# [ print(l, end='') for l in sys.stdin if \
|
||||||
|
# (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\
|
||||||
|
# sort -V | head -n 1)
|
||||||
|
# [ "$fn" = "" ] && return
|
||||||
|
# [ "$bsd" ] && fn=$(printf '%b' "$fn")
|
||||||
|
#
|
||||||
|
# [ "$tar" ] && tar --extract --to-stdout \
|
||||||
|
# --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
# fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g')
|
||||||
|
# [ "$bsd" ] && bsdtar --extract --to-stdout \
|
||||||
|
# --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
# [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}"
|
||||||
|
# [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \
|
||||||
|
# "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
# [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \
|
||||||
|
# "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
# [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
|
||||||
|
# ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# openscad_image() {
|
||||||
|
# TMPPNG="$(mktemp -t XXXXXX.png)"
|
||||||
|
# openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \
|
||||||
|
# --imgsize="${OPENSCAD_IMGSIZE/x/,}" \
|
||||||
|
# -o "${TMPPNG}" "${1}"
|
||||||
|
# mv "${TMPPNG}" "${IMAGE_CACHE_PATH}"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# case "${FILE_EXTENSION_LOWER}" in
|
||||||
|
# ## 3D models
|
||||||
|
# ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH}
|
||||||
|
# ## is hardcoded as jpeg. So we make a tempfile.png and just
|
||||||
|
# ## move/rename it to jpg. This works because image libraries are
|
||||||
|
# ## smart enough to handle it.
|
||||||
|
# csg|scad)
|
||||||
|
# openscad_image "${FILE_PATH}" && exit 6
|
||||||
|
# ;;
|
||||||
|
# 3mf|amf|dxf|off|stl)
|
||||||
|
# openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6
|
||||||
|
# ;;
|
||||||
|
# esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_mime() {
|
||||||
|
local mimetype="${1}"
|
||||||
|
case "${mimetype}" in
|
||||||
|
## RTF and DOC
|
||||||
|
text/rtf|*msword)
|
||||||
|
## Preview as text conversion
|
||||||
|
## note: catdoc does not always work for .doc files
|
||||||
|
## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/
|
||||||
|
catdoc -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## DOCX, ePub, FB2 (using markdown)
|
||||||
|
## You might want to remove "|epub" and/or "|fb2" below if you have
|
||||||
|
## uncommented other methods to preview those formats
|
||||||
|
*wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml)
|
||||||
|
## Preview as markdown conversion
|
||||||
|
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## XLS
|
||||||
|
*ms-excel)
|
||||||
|
## Preview as csv conversion
|
||||||
|
## xls2csv comes with catdoc:
|
||||||
|
## http://www.wagner.pp.ru/~vitus/software/catdoc/
|
||||||
|
xls2csv -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## Text
|
||||||
|
text/* | */xml)
|
||||||
|
## Syntax highlight
|
||||||
|
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
if [[ "$( tput colors )" -ge 256 ]]; then
|
||||||
|
local pygmentize_format='terminal256'
|
||||||
|
local highlight_format='xterm256'
|
||||||
|
else
|
||||||
|
local pygmentize_format='terminal'
|
||||||
|
local highlight_format='ansi'
|
||||||
|
fi
|
||||||
|
env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
|
||||||
|
--out-format="${highlight_format}" \
|
||||||
|
--force -- "${FILE_PATH}" && exit 5
|
||||||
|
env COLORTERM=8bit bat --color=always --style="plain" \
|
||||||
|
-- "${FILE_PATH}" && exit 5
|
||||||
|
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
|
||||||
|
-- "${FILE_PATH}" && exit 5
|
||||||
|
exit 2;;
|
||||||
|
|
||||||
|
## DjVu
|
||||||
|
image/vnd.djvu)
|
||||||
|
## Preview as text conversion (requires djvulibre)
|
||||||
|
djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## Image
|
||||||
|
image/*)
|
||||||
|
## Preview as text conversion
|
||||||
|
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
## Video and audio
|
||||||
|
video/* | audio/*)
|
||||||
|
mediainfo "${FILE_PATH}" && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_fallback() {
|
||||||
|
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||||
|
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||||
|
handle_image "${MIMETYPE}"
|
||||||
|
fi
|
||||||
|
handle_extension
|
||||||
|
handle_mime "${MIMETYPE}"
|
||||||
|
handle_fallback
|
||||||
|
|
||||||
|
exit 1
|
241
rofi/config-cliphist.rasi
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 10";
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 400px;
|
||||||
|
x-offset: -14px;
|
||||||
|
y-offset: 65px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: northeast;
|
||||||
|
anchor: northeast;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 8;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
241
rofi/config-power.rasi
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 10";
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 400px;
|
||||||
|
x-offset: -14px;
|
||||||
|
y-offset: 65px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: northeast;
|
||||||
|
anchor: northeast;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 2;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
242
rofi/config-screenshot.rasi
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 10";
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 400px;
|
||||||
|
height: 130px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 2;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
242
rofi/config-short.rasi
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 10";
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 200px;
|
||||||
|
height: 130px;
|
||||||
|
x-offset: -14px;
|
||||||
|
y-offset: 65px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: northeast;
|
||||||
|
anchor: northeast;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 2;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
241
rofi/config-wallpaper.rasi
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 10";
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 400px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 65px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: north;
|
||||||
|
anchor: north;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 8;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
241
rofi/config.rasi
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
/* ---- Configuration ---- */
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run";
|
||||||
|
font: "Fira Sans Bold 12";
|
||||||
|
show-icons: true;
|
||||||
|
icon-theme: "kora";
|
||||||
|
display-drun: "APPS";
|
||||||
|
display-run: "RUN";
|
||||||
|
display-filebrowser: "FILES";
|
||||||
|
display-window: "WINDOW";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
hover-select: true;
|
||||||
|
me-select-entry: "";
|
||||||
|
me-accept-entry: "MousePrimary";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Load pywal colors (custom wal template) ---- */
|
||||||
|
@import "~/.cache/wal/colors-rofi-pywal"
|
||||||
|
|
||||||
|
/* ---- Window ---- */
|
||||||
|
window {
|
||||||
|
width: 900px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 3px;
|
||||||
|
border-color: #FFFFFF;
|
||||||
|
cursor: "default";
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mainbox ---- */
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
orientation: horizontal;
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
background-image: url("~/.cache/current_wallpaper.jpg", height);
|
||||||
|
children: ["imagebox","listbox"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Imagebox ---- */
|
||||||
|
imagebox {
|
||||||
|
padding: 18px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listbox ---- */
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Dummy ---- */
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Inputbar ---- */
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
text-color: @foreground;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @foreground;
|
||||||
|
background-color: @background;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Mode Switcher ---- */
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Listview ---- */
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 8;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
spacing: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Element ---- */
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @color11;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
border:0px;
|
||||||
|
margin:20px 0px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
spacing:0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
3
scripts/applauncher.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rofi -show drun
|
5
scripts/autolock.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
pkill xautolock
|
||||||
|
|
||||||
|
xautolock -time 10 -locker "swaylock -i ~/.cache/current_wallpaper.jpg" -notify 30 -notifier "notify-send 'Screen will be locked soon.' 'Locking screen in 30 seconds'"
|
3
scripts/calculator.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rofi -show calc
|
6
scripts/checkplatform.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 3 = Desktop
|
||||||
|
# 10 = Laptop
|
||||||
|
|
||||||
|
cat /sys/class/dmi/id/chassis_type
|
6
scripts/cleanup.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yay -Scc
|
||||||
|
su -c 'pacman -Qtdq | pacman -Rns -'
|
||||||
|
su -c 'pacman -Qqd | pacman -Rsu -'
|
||||||
|
|
14
scripts/cliphist.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
d) cliphist list | rofi -dmenu -config ~/dotfiles/rofi/config-cliphist.rasi | cliphist delete
|
||||||
|
;;
|
||||||
|
|
||||||
|
w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/dotfiles/rofi/config-short.rasi` == "Clear" ] ; then
|
||||||
|
cliphist wipe
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*) cliphist list | rofi -dmenu -config ~/dotfiles/rofi/config-cliphist.rasi | cliphist decode | wl-copy
|
||||||
|
;;
|
||||||
|
esac
|
4
scripts/filemanager.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#/bin/sh
|
||||||
|
|
||||||
|
nautilus
|
||||||
|
|
8
scripts/fontsearch.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
fc-list \
|
||||||
|
| grep -ioE ": [^:]*$1[^:]+:" \
|
||||||
|
| sed -E 's/(^: |:)//g' \
|
||||||
|
| tr , \\n \
|
||||||
|
| sort \
|
||||||
|
| uniq
|
25
scripts/grim.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR="$HOME/Bilder/screenshots/"
|
||||||
|
NAME="screenshot_$(date +%d%m%Y_%H%M%S).png"
|
||||||
|
|
||||||
|
option2="Selected area"
|
||||||
|
option3="Fullscreen (delay 3 sec)"
|
||||||
|
|
||||||
|
options="$option2\n$option3"
|
||||||
|
|
||||||
|
choice=$(echo -e "$options" | rofi -dmenu -config ~/dotfiles/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "Take Screenshot")
|
||||||
|
|
||||||
|
case $choice in
|
||||||
|
$option2)
|
||||||
|
grim -g "$(slurp)" - | swappy -f -
|
||||||
|
# grim -g "$(slurp)" $(xdg-user-dir PICTURES)/screenshots/$(date +'%s_grim.png')
|
||||||
|
notify-send "Screenshot created" "Mode: Selected area"
|
||||||
|
;;
|
||||||
|
$option3)
|
||||||
|
sleep 3
|
||||||
|
grim - | swappy -f -
|
||||||
|
# grim $(xdg-user-dir PICTURES)/screenshots/$(date +'%s_grim.png')
|
||||||
|
notify-send "Screenshot created" "Mode: Fullscreen"
|
||||||
|
;;
|
||||||
|
esac
|
23
scripts/growthrate.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# DESC: Python script to calculate the growth rate of two numbers
|
||||||
|
|
||||||
|
import rich
|
||||||
|
import pyperclip
|
||||||
|
|
||||||
|
from rich.console import Console
|
||||||
|
from rich.prompt import FloatPrompt
|
||||||
|
|
||||||
|
# Show prompts
|
||||||
|
console = Console()
|
||||||
|
num1 = FloatPrompt.ask("Old value")
|
||||||
|
num2 = FloatPrompt.ask("New value")
|
||||||
|
|
||||||
|
# Calculate the growth rate
|
||||||
|
gr = ((num2-num1)/num1)
|
||||||
|
percentage = "{:.2%}".format(gr)
|
||||||
|
|
||||||
|
# Print result to the console
|
||||||
|
console.print(percentage, style="bold")
|
||||||
|
|
||||||
|
# Copy result into the system clipboard
|
||||||
|
pyperclip.copy(percentage)
|
||||||
|
print("Result has been copied to the clipboard!")
|
5
scripts/installupdates.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yay
|
||||||
|
|
||||||
|
notify-send "Update complete"
|
109
scripts/library.sh
Executable file
@ -0,0 +1,109 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
_isInstalledPacman() {
|
||||||
|
package="$1";
|
||||||
|
check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")";
|
||||||
|
if [ -n "${check}" ] ; then
|
||||||
|
echo 0; #'0' means 'true' in Bash
|
||||||
|
return; #true
|
||||||
|
fi;
|
||||||
|
echo 1; #'1' means 'false' in Bash
|
||||||
|
return; #false
|
||||||
|
}
|
||||||
|
|
||||||
|
_isInstalledYay() {
|
||||||
|
package="$1";
|
||||||
|
check="$(yay -Qs --color always "${package}" | grep "local" | grep "${package} ")";
|
||||||
|
if [ -n "${check}" ] ; then
|
||||||
|
echo 0; #'0' means 'true' in Bash
|
||||||
|
return; #true
|
||||||
|
fi;
|
||||||
|
echo 1; #'1' means 'false' in Bash
|
||||||
|
return; #false
|
||||||
|
}
|
||||||
|
|
||||||
|
_installPackagesPacman() {
|
||||||
|
toInstall=();
|
||||||
|
|
||||||
|
for pkg; do
|
||||||
|
if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
|
||||||
|
echo "${pkg} is already installed.";
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
toInstall+=("${pkg}");
|
||||||
|
done;
|
||||||
|
|
||||||
|
if [[ "${toInstall[@]}" == "" ]] ; then
|
||||||
|
# echo "All pacman packages are already installed.";
|
||||||
|
return;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
printf "Packages not installed:\n%s\n" "${toInstall[@]}";
|
||||||
|
sudo pacman --noconfirm -S "${toInstall[@]}";
|
||||||
|
}
|
||||||
|
|
||||||
|
_installPackagesYay() {
|
||||||
|
toInstall=();
|
||||||
|
|
||||||
|
for pkg; do
|
||||||
|
if [[ $(_isInstalledYay "${pkg}") == 0 ]]; then
|
||||||
|
echo "${pkg} is already installed.";
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
toInstall+=("${pkg}");
|
||||||
|
done;
|
||||||
|
|
||||||
|
if [[ "${toInstall[@]}" == "" ]] ; then
|
||||||
|
# echo "All packages are already installed.";
|
||||||
|
return;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
printf "AUR ackages not installed:\n%s\n" "${toInstall[@]}";
|
||||||
|
yay --noconfirm -S "${toInstall[@]}";
|
||||||
|
}
|
||||||
|
|
||||||
|
_installSymLink() {
|
||||||
|
name="$1"
|
||||||
|
symlink="$2";
|
||||||
|
linksource="$3";
|
||||||
|
linktarget="$4";
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "DO YOU WANT TO INSTALL ${name}? (Existing dotfiles will be removed!) (Yy/Nn): " yn
|
||||||
|
case $yn in
|
||||||
|
[Yy]* )
|
||||||
|
if [ -L "${symlink}" ]; then
|
||||||
|
rm ${symlink}
|
||||||
|
ln -s ${linksource} ${linktarget}
|
||||||
|
echo "Symlink ${linksource} -> ${linktarget} created."
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
if [ -d ${symlink} ]; then
|
||||||
|
rm -rf ${symlink}/
|
||||||
|
ln -s ${linksource} ${linktarget}
|
||||||
|
echo "Symlink for directory ${linksource} -> ${linktarget} created."
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
if [ -f ${symlink} ]; then
|
||||||
|
rm ${symlink}
|
||||||
|
ln -s ${linksource} ${linktarget}
|
||||||
|
echo "Symlink to file ${linksource} -> ${linktarget} created."
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
ln -s ${linksource} ${linktarget}
|
||||||
|
echo "New symlink ${linksource} -> ${linktarget} created."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
break;;
|
||||||
|
[Nn]* )
|
||||||
|
echo ""
|
||||||
|
# exit;
|
||||||
|
break;;
|
||||||
|
* ) echo "Please answer yes or no.";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
11
scripts/lockscreentime.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#/bin/sh
|
||||||
|
|
||||||
|
timeswaylock=600
|
||||||
|
timeoff=660
|
||||||
|
|
||||||
|
if [ -f "/usr/bin/swayidle" ]; then
|
||||||
|
echo "swayidle is installed."
|
||||||
|
swayidle -w timeout $timeswaylock 'swaylock -f' timeout $timeoff 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'
|
||||||
|
else
|
||||||
|
echo "swayidle not installed."
|
||||||
|
fi;
|
25
scripts/powermenu-hypr.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
option1=" lock"
|
||||||
|
option2=" logout"
|
||||||
|
option3=" reboot"
|
||||||
|
option4=" power off"
|
||||||
|
|
||||||
|
options="$option1\n"
|
||||||
|
options="$options$option2\n"
|
||||||
|
options="$options$option3\n$option4"
|
||||||
|
|
||||||
|
choice=$(echo -e "$options" | rofi -dmenu -i -no-show-icons -l 4 -width 30 -p "Powermenu")
|
||||||
|
|
||||||
|
case $choice in
|
||||||
|
$option1)
|
||||||
|
swaylock ;;
|
||||||
|
$option2)
|
||||||
|
# loginctl terminate-user $USER # For command line based login
|
||||||
|
hyprctl dispatch exit ;; # For display manager login
|
||||||
|
$option3)
|
||||||
|
systemctl reboot ;;
|
||||||
|
$option4)
|
||||||
|
systemctl poweroff ;;
|
||||||
|
esac
|
||||||
|
|
34
scripts/updates.sh
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Requires pacman-contrib trizen
|
||||||
|
|
||||||
|
# Define threshholds for color indicators
|
||||||
|
threshhold_green=0
|
||||||
|
threshhold_yellow=25
|
||||||
|
threshhold_red=100
|
||||||
|
|
||||||
|
# Calculate available updates pacman and aur (with trizen)
|
||||||
|
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
|
||||||
|
updates_arch=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
|
||||||
|
updates_aur=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
updates=$(("$updates_arch" + "$updates_aur"))
|
||||||
|
|
||||||
|
|
||||||
|
css_class="green"
|
||||||
|
if [ "$updates" -gt $threshhold_yellow ]; then
|
||||||
|
css_class="yellow"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$updates" -gt $threshhold_red ]; then
|
||||||
|
css_class="red"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$updates" -gt $threshhold_green ]; then
|
||||||
|
printf '{"text": "%s", "alt": "%s", "tooltip": "%s Updates", "class": "%s"}' "$updates" "$updates" "$updates" "$css_class"
|
||||||
|
else
|
||||||
|
printf '{"text": "0", "alt": "0", "tooltip": "0 Updates", "class": "green"}'
|
||||||
|
fi
|
26
scripts/updatewal-swww.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Select random wallpaper and create color scheme
|
||||||
|
wal -q -i ~/wallpaper/
|
||||||
|
|
||||||
|
# Load current pywal color scheme
|
||||||
|
source "$HOME/.cache/wal/colors.sh"
|
||||||
|
|
||||||
|
# Copy selected wallpaper into .cache folder
|
||||||
|
cp $wallpaper ~/.cache/current_wallpaper.jpg
|
||||||
|
|
||||||
|
# get wallpaper iamge name
|
||||||
|
newwall=$(echo $wallpaper | sed "s|$HOME/wallpaper/||g")
|
||||||
|
|
||||||
|
# Set the new wallpaper
|
||||||
|
swww img $wallpaper \
|
||||||
|
--transition-bezier .43,1.19,1,.4 \
|
||||||
|
--transition-fps=60 \
|
||||||
|
--transition-type="random" \
|
||||||
|
--transition-duration=0.7 \
|
||||||
|
--transition-pos "$( hyprctl cursorpos )"
|
||||||
|
|
||||||
|
~/dotfiles/waybar/launch.sh
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Send notification
|
||||||
|
notify-send "Colors and Wallpaper updated" "with image $newwall"
|
5
scripts/wal.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
wal -q -i ~/wallpaper/
|
||||||
|
|
||||||
|
exit
|
45
scripts/wallpaper-swww.sh
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Select wallpaper
|
||||||
|
selected=$(ls -1 ~/wallpaper | grep "jpg" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi)
|
||||||
|
|
||||||
|
if [ "$selected" ]; then
|
||||||
|
|
||||||
|
echo "Changing theme..."
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Update wallpaper with pywal
|
||||||
|
# -----------------------------------------------------
|
||||||
|
wal -q -i ~/wallpaper/$selected
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Get new theme
|
||||||
|
# -----------------------------------------------------
|
||||||
|
source "$HOME/.cache/wal/colors.sh"
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Copy selected wallpaper into .cache folder
|
||||||
|
# -----------------------------------------------------
|
||||||
|
cp $wallpaper ~/.cache/current_wallpaper.jpg
|
||||||
|
|
||||||
|
newwall=$(echo $wallpaper | sed "s|$HOME/wallpaper/||g")
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Set the new wallpaper
|
||||||
|
# -----------------------------------------------------
|
||||||
|
swww img $wallpaper \
|
||||||
|
--transition-bezier .43,1.19,1,.4 \
|
||||||
|
--transition-fps=60 \
|
||||||
|
--transition-type="random" \
|
||||||
|
--transition-duration=0.7 \
|
||||||
|
--transition-pos "$( hyprctl cursorpos )"
|
||||||
|
|
||||||
|
~/dotfiles/waybar/launch.sh
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Send notification
|
||||||
|
# -----------------------------------------------------
|
||||||
|
notify-send "Colors and Wallpaper updated" "with image $newwall"
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
|
fi
|
187
starship/starship.toml
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
[character]
|
||||||
|
success_symbol = "[>](bold green)"
|
||||||
|
error_symbol = "[x](bold red)"
|
||||||
|
vimcmd_symbol = "[<](bold green)"
|
||||||
|
|
||||||
|
[git_commit]
|
||||||
|
tag_symbol = " tag "
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
ahead = ">"
|
||||||
|
behind = "<"
|
||||||
|
diverged = "<>"
|
||||||
|
renamed = "r"
|
||||||
|
deleted = "x"
|
||||||
|
|
||||||
|
[aws]
|
||||||
|
symbol = "aws "
|
||||||
|
|
||||||
|
[bun]
|
||||||
|
symbol = "bun "
|
||||||
|
|
||||||
|
[c]
|
||||||
|
symbol = "C "
|
||||||
|
|
||||||
|
[cobol]
|
||||||
|
symbol = "cobol "
|
||||||
|
|
||||||
|
[conda]
|
||||||
|
symbol = "conda "
|
||||||
|
|
||||||
|
[crystal]
|
||||||
|
symbol = "cr "
|
||||||
|
|
||||||
|
[cmake]
|
||||||
|
symbol = "cmake "
|
||||||
|
|
||||||
|
[daml]
|
||||||
|
symbol = "daml "
|
||||||
|
|
||||||
|
[dart]
|
||||||
|
symbol = "dart "
|
||||||
|
|
||||||
|
[deno]
|
||||||
|
symbol = "deno "
|
||||||
|
|
||||||
|
[dotnet]
|
||||||
|
symbol = ".NET "
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
read_only = " ro"
|
||||||
|
|
||||||
|
[docker_context]
|
||||||
|
symbol = "docker "
|
||||||
|
|
||||||
|
[elixir]
|
||||||
|
symbol = "exs "
|
||||||
|
|
||||||
|
[elm]
|
||||||
|
symbol = "elm "
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = "git "
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = "go "
|
||||||
|
|
||||||
|
[guix_shell]
|
||||||
|
symbol = "guix "
|
||||||
|
|
||||||
|
[hg_branch]
|
||||||
|
symbol = "hg "
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = "java "
|
||||||
|
|
||||||
|
[julia]
|
||||||
|
symbol = "jl "
|
||||||
|
|
||||||
|
[kotlin]
|
||||||
|
symbol = "kt "
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
symbol = "lua "
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = "nodejs "
|
||||||
|
|
||||||
|
[memory_usage]
|
||||||
|
symbol = "memory "
|
||||||
|
|
||||||
|
[meson]
|
||||||
|
symbol = "meson "
|
||||||
|
|
||||||
|
[nim]
|
||||||
|
symbol = "nim "
|
||||||
|
|
||||||
|
[nix_shell]
|
||||||
|
symbol = "nix "
|
||||||
|
|
||||||
|
[ocaml]
|
||||||
|
symbol = "ml "
|
||||||
|
|
||||||
|
[opa]
|
||||||
|
symbol = "opa "
|
||||||
|
|
||||||
|
[os.symbols]
|
||||||
|
Alpine = "alp "
|
||||||
|
Amazon = "amz "
|
||||||
|
Android = "andr "
|
||||||
|
Arch = "rch "
|
||||||
|
CentOS = "cent "
|
||||||
|
Debian = "deb "
|
||||||
|
DragonFly = "dfbsd "
|
||||||
|
Emscripten = "emsc "
|
||||||
|
EndeavourOS = "ndev "
|
||||||
|
Fedora = "fed "
|
||||||
|
FreeBSD = "fbsd "
|
||||||
|
Garuda = "garu "
|
||||||
|
Gentoo = "gent "
|
||||||
|
HardenedBSD = "hbsd "
|
||||||
|
Illumos = "lum "
|
||||||
|
Linux = "lnx "
|
||||||
|
Macos = "mac "
|
||||||
|
Manjaro = "mjo "
|
||||||
|
Mariner = "mrn "
|
||||||
|
MidnightBSD = "mid "
|
||||||
|
Mint = "mint "
|
||||||
|
NetBSD = "nbsd "
|
||||||
|
NixOS = "nix "
|
||||||
|
OpenBSD = "obsd "
|
||||||
|
openSUSE = "osuse "
|
||||||
|
OracleLinux = "orac "
|
||||||
|
Pop = "pop "
|
||||||
|
Raspbian = "rasp "
|
||||||
|
Redhat = "rhl "
|
||||||
|
RedHatEnterprise = "rhel "
|
||||||
|
Redox = "redox "
|
||||||
|
Solus = "sol "
|
||||||
|
SUSE = "suse "
|
||||||
|
Ubuntu = "ubnt "
|
||||||
|
Unknown = "unk "
|
||||||
|
Windows = "win "
|
||||||
|
|
||||||
|
[package]
|
||||||
|
symbol = "pkg "
|
||||||
|
|
||||||
|
[perl]
|
||||||
|
symbol = "pl "
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = "php "
|
||||||
|
|
||||||
|
[pulumi]
|
||||||
|
symbol = "pulumi "
|
||||||
|
|
||||||
|
[purescript]
|
||||||
|
symbol = "purs "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = "py "
|
||||||
|
|
||||||
|
[raku]
|
||||||
|
symbol = "raku "
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
symbol = "rb "
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = "rs "
|
||||||
|
|
||||||
|
[scala]
|
||||||
|
symbol = "scala "
|
||||||
|
|
||||||
|
[spack]
|
||||||
|
symbol = "spack "
|
||||||
|
|
||||||
|
[sudo]
|
||||||
|
symbol = "sudo "
|
||||||
|
|
||||||
|
[swift]
|
||||||
|
symbol = "swift "
|
||||||
|
|
||||||
|
[terraform]
|
||||||
|
symbol = "terraform "
|
||||||
|
|
||||||
|
[zig]
|
||||||
|
symbol = "zig "
|
10
swappy/config
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Default]
|
||||||
|
save_dir=$HOME/Bilder/screenshots
|
||||||
|
save_filename_format=screenshot-%Y%m%d-%H%M%S.png
|
||||||
|
show_panel=false
|
||||||
|
line_size=5
|
||||||
|
text_size=20
|
||||||
|
text_font=sans-serif
|
||||||
|
paint_mode=brush
|
||||||
|
early_exit=false
|
||||||
|
fill_shape=false
|
67
swaylock/config
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
ignore-empty-password
|
||||||
|
font="Fira Sans Semibold"
|
||||||
|
|
||||||
|
clock
|
||||||
|
timestr=%R
|
||||||
|
datestr=%a, %e of %B
|
||||||
|
|
||||||
|
# Add current screenshot as wallpaper
|
||||||
|
# screenshots
|
||||||
|
|
||||||
|
# Add an image as a background
|
||||||
|
# In my setup the current wallpaper (requires wallpaper scripts in /scripts)
|
||||||
|
image=~/.cache/current_wallpaper.jpg
|
||||||
|
|
||||||
|
# Fade in time
|
||||||
|
fade-in=1
|
||||||
|
|
||||||
|
# Effect for background
|
||||||
|
# effect-blur=20x6
|
||||||
|
# effect-greyscale
|
||||||
|
effect-pixelate=5
|
||||||
|
|
||||||
|
# Show/Hide indicator circle
|
||||||
|
indicator
|
||||||
|
|
||||||
|
# smaller indicator
|
||||||
|
indicator-radius=200
|
||||||
|
|
||||||
|
# bigger indicator
|
||||||
|
# indicator-radius=300
|
||||||
|
|
||||||
|
indicator-thickness=20
|
||||||
|
indicator-caps-lock
|
||||||
|
|
||||||
|
# Define all colors
|
||||||
|
|
||||||
|
key-hl-color=00000066
|
||||||
|
separator-color=00000000
|
||||||
|
|
||||||
|
inside-color=00000033
|
||||||
|
inside-clear-color=ffffff00
|
||||||
|
inside-caps-lock-color=ffffff00
|
||||||
|
inside-ver-color=ffffff00
|
||||||
|
inside-wrong-color=ffffff00
|
||||||
|
|
||||||
|
ring-color=ffffff
|
||||||
|
ring-clear-color=ffffff
|
||||||
|
ring-caps-lock-color=ffffff
|
||||||
|
ring-ver-color=ffffff
|
||||||
|
ring-wrong-color=ffffff
|
||||||
|
|
||||||
|
line-color=00000000
|
||||||
|
line-clear-color=ffffffFF
|
||||||
|
line-caps-lock-color=ffffffFF
|
||||||
|
line-ver-color=ffffffFF
|
||||||
|
line-wrong-color=ffffffFF
|
||||||
|
|
||||||
|
text-color=ffffff
|
||||||
|
text-clear-color=ffffff
|
||||||
|
text-ver-color=ffffff
|
||||||
|
text-wrong-color=ffffff
|
||||||
|
|
||||||
|
bs-hl-color=ffffff
|
||||||
|
caps-lock-key-hl-color=ffffffFF
|
||||||
|
caps-lock-bs-hl-color=ffffffFF
|
||||||
|
disable-caps-lock-text
|
||||||
|
text-caps-lock-color=ffffff
|
18
wal/templates/colors-hyprland.conf
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
$background = rgb({background.strip})
|
||||||
|
$foreground = rgb({foreground.strip})
|
||||||
|
$color0 = rgb({color0.strip})
|
||||||
|
$color1 = rgb({color1.strip})
|
||||||
|
$color2 = rgb({color2.strip})
|
||||||
|
$color3 = rgb({color3.strip})
|
||||||
|
$color4 = rgb({color4.strip})
|
||||||
|
$color5 = rgb({color5.strip})
|
||||||
|
$color6 = rgb({color6.strip})
|
||||||
|
$color7 = rgb({color7.strip})
|
||||||
|
$color8 = rgb({color8.strip})
|
||||||
|
$color9 = rgb({color9.strip})
|
||||||
|
$color10 = rgb({color10.strip})
|
||||||
|
$color11 = rgb({color11.strip})
|
||||||
|
$color12 = rgb({color12.strip})
|
||||||
|
$color13 = rgb({color13.strip})
|
||||||
|
$color14 = rgb({color14.strip})
|
||||||
|
$color15 = rgb({color15.strip})
|
20
wal/templates/colors-rofi-pywal.rasi
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
* {{
|
||||||
|
background: rgba(0,0,1,0.5);
|
||||||
|
foreground: #FFFFFF;
|
||||||
|
color0: {color0};
|
||||||
|
color1: {color1};
|
||||||
|
color2: {color2};
|
||||||
|
color3: {color3};
|
||||||
|
color4: {color4};
|
||||||
|
color5: {color5};
|
||||||
|
color6: {color6};
|
||||||
|
color7: {color7};
|
||||||
|
color8: {color8};
|
||||||
|
color9: {color9};
|
||||||
|
color10: {color10};
|
||||||
|
color11: {color11};
|
||||||
|
color12: {color12};
|
||||||
|
color13: {color13};
|
||||||
|
color14: {color14};
|
||||||
|
color15: {color15};
|
||||||
|
}}
|
20
wal/templates/colors-waybar.css
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
@define-color foreground {foreground};
|
||||||
|
@define-color background {background};
|
||||||
|
@define-color cursor {cursor};
|
||||||
|
|
||||||
|
@define-color color0 {color0};
|
||||||
|
@define-color color1 {color1};
|
||||||
|
@define-color color2 {color2};
|
||||||
|
@define-color color3 {color3};
|
||||||
|
@define-color color4 {color4};
|
||||||
|
@define-color color5 {color5};
|
||||||
|
@define-color color6 {color6};
|
||||||
|
@define-color color7 {color7};
|
||||||
|
@define-color color8 {color8};
|
||||||
|
@define-color color9 {color9};
|
||||||
|
@define-color color10 {color10};
|
||||||
|
@define-color color11 {color11};
|
||||||
|
@define-color color12 {color12};
|
||||||
|
@define-color color13 {color13};
|
||||||
|
@define-color color14 {color14};
|
||||||
|
@define-color color15 {color15};
|
20
wal/templates/colors-wlogout.css
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
@define-color foreground {foreground};
|
||||||
|
@define-color background {background};
|
||||||
|
@define-color cursor {cursor};
|
||||||
|
|
||||||
|
@define-color color0 {color0};
|
||||||
|
@define-color color1 {color1};
|
||||||
|
@define-color color2 {color2};
|
||||||
|
@define-color color3 {color3};
|
||||||
|
@define-color color4 {color4};
|
||||||
|
@define-color color5 {color5};
|
||||||
|
@define-color color6 {color6};
|
||||||
|
@define-color color7 {color7};
|
||||||
|
@define-color color8 {color8};
|
||||||
|
@define-color color9 {color9};
|
||||||
|
@define-color color10 {color10};
|
||||||
|
@define-color color11 {color11};
|
||||||
|
@define-color color12 {color12};
|
||||||
|
@define-color color13 {color13};
|
||||||
|
@define-color color14 {color14};
|
||||||
|
@define-color color15 {color15};
|
BIN
wallpapers/default.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
34
waybar/README.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
## Theme Switcher
|
||||||
|
|
||||||
|
Select a theme with SUPER + CTRL + T (custom Hyprland key binding) to execute the themeswitcher.sh script. The script will open rofi to show the themes in the folder ~/dotfiles/waybar/themes/
|
||||||
|
|
||||||
|
## Waybar Documentation
|
||||||
|
Waybar github: https://github.com/Alexays/Waybar
|
||||||
|
Waybar Wiki: https://github.com/Alexays/Waybar/wiki
|
||||||
|
|
||||||
|
## Create your own theme
|
||||||
|
|
||||||
|
Please check the configurations of the folders in ~/dotfiles/waybar/themes/
|
||||||
|
Create a folder for your theme and add your configuration.
|
||||||
|
A good starting point is to copy the default folder with the default waybar theme.
|
||||||
|
|
||||||
|
The main theme folder includes the core config file and stylesheet.
|
||||||
|
Waybar configuration: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||||
|
|
||||||
|
Create subfolders to save variations like in the folder ml4w. You can include stylesheets from other themes to standardize your themes like in the theme ml4w-bottom.
|
||||||
|
|
||||||
|
## Stylesheet
|
||||||
|
|
||||||
|
The style.css includes the style file of the theme.
|
||||||
|
Waybar Styling: https://github.com/Alexays/Waybar/wiki/Styling
|
||||||
|
|
||||||
|
## Define theme name
|
||||||
|
|
||||||
|
Add a config.sh file to save the theme name. Add it to the main or subfolders for variations.
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Light"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
30
waybar/launch.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Quit all running waybar instances
|
||||||
|
killall waybar
|
||||||
|
|
||||||
|
# Default theme: /THEMEFOLDER;/VARIATION
|
||||||
|
themestyle="/ml4w;/ml4w/light"
|
||||||
|
|
||||||
|
# Get current theme information from .cache/.themestyle.sh
|
||||||
|
if [ -f ~/.cache/.themestyle.sh ]; then
|
||||||
|
themestyle=$(cat ~/.cache/.themestyle.sh)
|
||||||
|
else
|
||||||
|
touch ~/.cache/.themestyle.sh
|
||||||
|
echo "$themestyle" > ~/.cache/.themestyle.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
IFS=';' read -ra arrThemes <<< "$themestyle"
|
||||||
|
echo ${arrThemes[0]}
|
||||||
|
|
||||||
|
if [ ! -f ~/dotfiles/waybar/themes${arrThemes[1]}/style.css ]; then
|
||||||
|
themestyle="/ml4w;/ml4w/light"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Loading the configuration and style file based on the username
|
||||||
|
if [[ $USER = "raabe" ]]
|
||||||
|
then
|
||||||
|
waybar -c ~/dotfiles/waybar/themes${arrThemes[0]}/myconfig -s ~/dotfiles/waybar/themes${arrThemes[1]}/style.css &
|
||||||
|
else
|
||||||
|
waybar -c ~/dotfiles/waybar/themes${arrThemes[0]}/config -s ~/dotfiles/waybar/themes${arrThemes[1]}/style.css &
|
||||||
|
fi
|
228
waybar/modules.json
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
{
|
||||||
|
// Workspaces
|
||||||
|
"hyprland/workspaces" : {
|
||||||
|
"on-click": "activate",
|
||||||
|
"active-only": false,
|
||||||
|
"all-outputs": true,
|
||||||
|
"format": "{}",
|
||||||
|
"format-icons": {
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"persistent_workspaces": {
|
||||||
|
"*": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Taskbar
|
||||||
|
"wlr/taskbar": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"icon-size": 18,
|
||||||
|
"tooltip-format": "{title}",
|
||||||
|
"on-click": "activate",
|
||||||
|
"on-click-middle": "close",
|
||||||
|
"ignore-list": [
|
||||||
|
"Alacritty"
|
||||||
|
],
|
||||||
|
"app_ids-mapping": {
|
||||||
|
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||||
|
},
|
||||||
|
"rewrite": {
|
||||||
|
"Firefox Web Browser": "Firefox",
|
||||||
|
"Foot Server": "Terminal"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Hyprland Window
|
||||||
|
"hyprland/window": {
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Brave": "$1",
|
||||||
|
"(.*) - Chromium": "$1",
|
||||||
|
"(.*) - Brave Search": "$1",
|
||||||
|
"(.*) - Outlook": "$1",
|
||||||
|
"(.*) Microsoft Teams": "$1"
|
||||||
|
},
|
||||||
|
"separate-outputs": true
|
||||||
|
},
|
||||||
|
|
||||||
|
// Cliphist
|
||||||
|
"custom/cliphist": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh",
|
||||||
|
"on-click-right": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh d",
|
||||||
|
"on-click-middle": "sleep 0.1 && ~/dotfiles/scripts/cliphist.sh w",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Updates Count
|
||||||
|
"custom/updates": {
|
||||||
|
"format": " {}",
|
||||||
|
"tooltip-format": "{}",
|
||||||
|
"escape": true,
|
||||||
|
"return-type": "json",
|
||||||
|
"exec": "~/dotfiles/scripts/updates.sh",
|
||||||
|
"restart-interval": 60,
|
||||||
|
"on-click": "alacritty -e ~/dotfiles/scripts/installupdates.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Wallpaper
|
||||||
|
"custom/wallpaper": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/dotfiles/scripts/wallpaper-swww.sh",
|
||||||
|
"on-click-right": "~/dotfiles/scripts/updatewal-swww.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Waybar Themes
|
||||||
|
"custom/waybarthemes": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/dotfiles/waybar/themeswitcher.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Filemanager Launcher
|
||||||
|
"custom/filemanager": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/dotfiles/scripts/filemanager.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Teams Launcher
|
||||||
|
"custom/teams": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "chromium --app=https://teams.microsoft.com/go",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Rofi Calculator
|
||||||
|
"custom/calculator": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/dotfiles/scripts/calculator.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Rofi Application Launcher
|
||||||
|
"custom/appmenu": {
|
||||||
|
"format": "Apps",
|
||||||
|
"on-click": "~/dotfiles/scripts/applauncher.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Power Menu
|
||||||
|
"custom/exit": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "wlogout",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Keyboard State
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// System tray
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
// Clock
|
||||||
|
"clock": {
|
||||||
|
// "timezone": "Europe/Berlin",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}"
|
||||||
|
},
|
||||||
|
|
||||||
|
// CPU
|
||||||
|
"cpu": {
|
||||||
|
"format": "/ C {usage}% ",
|
||||||
|
"on-click": "alacritty -e htop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Memory
|
||||||
|
"memory": {
|
||||||
|
"format": "/ M {}% ",
|
||||||
|
"on-click": "alacritty -e htop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Harddisc space used
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}% ",
|
||||||
|
"path": "/",
|
||||||
|
"on-click": "alacritty -e htop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Network
|
||||||
|
"network": {
|
||||||
|
"format": "{ifname}",
|
||||||
|
"format-wifi": " {signalStrength}%",
|
||||||
|
"format-ethernet": " {ipaddr}",
|
||||||
|
"format-disconnected": "", //An empty format will hide the module.
|
||||||
|
"tooltip-format": " {ifname} via {gwaddri}",
|
||||||
|
"tooltip-format-wifi": " {essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
"max-length": 50
|
||||||
|
},
|
||||||
|
|
||||||
|
// Battery
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
"format-plugged": " {capacity}%",
|
||||||
|
"format-alt": "{icon} {time}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": [" ", " ", " ", " ", " "]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Pulseaudio
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", " ", " "]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Bluetooth
|
||||||
|
"bluetooth": {
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-off": "",
|
||||||
|
"interval": 30,
|
||||||
|
"on-click": "blueman-manager"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Other
|
||||||
|
"user": {
|
||||||
|
"format": "{user}",
|
||||||
|
"interval": 60,
|
||||||
|
"icon": false
|
||||||
|
}
|
||||||
|
}
|
167
waybar/themes/default/config
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
{
|
||||||
|
// "layer": "top", // Waybar at top layer
|
||||||
|
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
// "width": 1280, // Waybar width
|
||||||
|
"spacing": 4, // Gaps between modules (4px)
|
||||||
|
// Choose the order of the modules
|
||||||
|
"modules-left": ["wlr/workspaces"],
|
||||||
|
"modules-center": ["hyprland/window"],
|
||||||
|
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
|
||||||
|
// Modules configuration
|
||||||
|
// "sway/workspaces": {
|
||||||
|
// "disable-scroll": true,
|
||||||
|
// "all-outputs": true,
|
||||||
|
// "warp-on-scroll": false,
|
||||||
|
// "format": "{name}: {icon}",
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"mpd": {
|
||||||
|
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||||
|
"format-disconnected": "Disconnected ",
|
||||||
|
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||||
|
"unknown-tag": "N/A",
|
||||||
|
"interval": 2,
|
||||||
|
"consume-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"random-icons": {
|
||||||
|
"off": "<span color=\"#f53c3c\"></span> ",
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"repeat-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"single-icons": {
|
||||||
|
"on": "1 "
|
||||||
|
},
|
||||||
|
"state-icons": {
|
||||||
|
"paused": "",
|
||||||
|
"playing": ""
|
||||||
|
},
|
||||||
|
"tooltip-format": "MPD (connected)",
|
||||||
|
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
// "timezone": "America/New_York",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "{usage}% ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "{}% "
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
// "thermal-zone": 2,
|
||||||
|
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
// "format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format": "{temperatureC}°C {icon}",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"custom/media": {
|
||||||
|
"format": "{icon} {}",
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 40,
|
||||||
|
"format-icons": {
|
||||||
|
"spotify": "",
|
||||||
|
"default": "🎜"
|
||||||
|
},
|
||||||
|
"escape": true,
|
||||||
|
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||||
|
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
2
waybar/themes/default/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="Default"
|
167
waybar/themes/default/myconfig
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
{
|
||||||
|
// "layer": "top", // Waybar at top layer
|
||||||
|
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
// "width": 1280, // Waybar width
|
||||||
|
"spacing": 4, // Gaps between modules (4px)
|
||||||
|
// Choose the order of the modules
|
||||||
|
"modules-left": ["hyprland/workspaces"],
|
||||||
|
"modules-center": ["hyprland/window"],
|
||||||
|
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
|
||||||
|
// Modules configuration
|
||||||
|
// "sway/workspaces": {
|
||||||
|
// "disable-scroll": true,
|
||||||
|
// "all-outputs": true,
|
||||||
|
// "warp-on-scroll": false,
|
||||||
|
// "format": "{name}: {icon}",
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"mpd": {
|
||||||
|
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||||
|
"format-disconnected": "Disconnected ",
|
||||||
|
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||||
|
"unknown-tag": "N/A",
|
||||||
|
"interval": 2,
|
||||||
|
"consume-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"random-icons": {
|
||||||
|
"off": "<span color=\"#f53c3c\"></span> ",
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"repeat-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"single-icons": {
|
||||||
|
"on": "1 "
|
||||||
|
},
|
||||||
|
"state-icons": {
|
||||||
|
"paused": "",
|
||||||
|
"playing": ""
|
||||||
|
},
|
||||||
|
"tooltip-format": "MPD (connected)",
|
||||||
|
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
// "timezone": "America/New_York",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "{usage}% ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "{}% "
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
// "thermal-zone": 2,
|
||||||
|
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
// "format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format": "{temperatureC}°C {icon}",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"custom/media": {
|
||||||
|
"format": "{icon} {}",
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 40,
|
||||||
|
"format-icons": {
|
||||||
|
"spotify": "",
|
||||||
|
"default": "🎜"
|
||||||
|
},
|
||||||
|
"escape": true,
|
||||||
|
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||||
|
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
280
waybar/themes/default/style.css
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
* {
|
||||||
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
|
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(43, 48, 59, 0.5);
|
||||||
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||||
|
color: #ffffff;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
window#waybar.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window#waybar.solo {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
window#waybar.termite {
|
||||||
|
background-color: #3F3F3F;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
/* Avoid rounded borders under each button name */
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: #64727D;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: #64727D;
|
||||||
|
border-bottom: 3px solid #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mode,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: #64727D;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #26A65B;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
background-color: #2ecc71;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
background-color: #9b59b6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
background-color: #964B00;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
background-color: #f1c40f;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber {
|
||||||
|
background-color: #fff0f5;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber.muted {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
background-color: #f0932b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
background-color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #ecf0f1;
|
||||||
|
color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.stopped {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.paused {
|
||||||
|
background-color: #51a37a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background: #00b093;
|
||||||
|
color: #740864;
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
background: #97e1ad;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
2
waybar/themes/ml4w-bottom/colored/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Colored Bottom"
|
16
waybar/themes/ml4w-bottom/colored/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color5;
|
||||||
|
@define-color backgrounddark @color11;
|
||||||
|
@define-color workspacesbackground1 @color5;
|
||||||
|
@define-color workspacesbackground2 @color11;
|
||||||
|
@define-color bordercolor @color11;
|
||||||
|
@define-color textcolor1 #FFFFFF;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../../ml4w/style.css';
|
69
waybar/themes/ml4w-bottom/config
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
// General Settings
|
||||||
|
|
||||||
|
// Position TOP
|
||||||
|
// "layer": "top",
|
||||||
|
// "margin-top": 14,
|
||||||
|
// "margin-bottom": 0,
|
||||||
|
|
||||||
|
// Position BOTTOM
|
||||||
|
"position": "bottom",
|
||||||
|
"margin-top": 0,
|
||||||
|
"margin-bottom": 14,
|
||||||
|
|
||||||
|
"layer": "top",
|
||||||
|
"height": 16,
|
||||||
|
"margin-left": 0,
|
||||||
|
"margin-right": 0,
|
||||||
|
"spacing": 0,
|
||||||
|
|
||||||
|
// Load Modules
|
||||||
|
"include": ["~/dotfiles/waybar/modules.json"],
|
||||||
|
|
||||||
|
// Modules Left
|
||||||
|
"modules-left": [
|
||||||
|
"custom/appmenu",
|
||||||
|
"custom/wallpaper",
|
||||||
|
"custom/waybarthemes",
|
||||||
|
"wlr/taskbar",
|
||||||
|
"group/quicklinks",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Center
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Right
|
||||||
|
"modules-right": [
|
||||||
|
"custom/updates",
|
||||||
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
|
"battery",
|
||||||
|
"group/hardware",
|
||||||
|
"custom/cliphist",
|
||||||
|
"network",
|
||||||
|
"custom/exit",
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Group Quicklinks
|
||||||
|
"group/quicklinks": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"custom/filemanager",
|
||||||
|
"custom/brave",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Group Hardware
|
||||||
|
"group/hardware": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"disk",
|
||||||
|
"cpu",
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
2
waybar/themes/ml4w-bottom/dark/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Dark Bottom"
|
16
waybar/themes/ml4w-bottom/dark/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color8;
|
||||||
|
@define-color backgrounddark #FFFFFF;
|
||||||
|
@define-color workspacesbackground1 @color8;
|
||||||
|
@define-color workspacesbackground2 #FFFFFF;
|
||||||
|
@define-color bordercolor @color8;
|
||||||
|
@define-color textcolor1 @color8;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor @color8;
|
||||||
|
|
||||||
|
@import '../../ml4w/style.css';
|
2
waybar/themes/ml4w-bottom/light/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Light Bottom"
|
16
waybar/themes/ml4w-bottom/light/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight #FFFFFF;
|
||||||
|
@define-color backgrounddark @color11;
|
||||||
|
@define-color workspacesbackground1 #FFFFFF;
|
||||||
|
@define-color workspacesbackground2 @color11;
|
||||||
|
@define-color bordercolor #FFFFFF;
|
||||||
|
@define-color textcolor1 #FFFFFF;
|
||||||
|
@define-color textcolor2 @color11;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../../ml4w/style.css';
|
2
waybar/themes/ml4w-bottom/mixed/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Mixed Bottom"
|
16
waybar/themes/ml4w-bottom/mixed/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color8;
|
||||||
|
@define-color backgrounddark #FFFFFF;
|
||||||
|
@define-color workspacesbackground1 @color8;
|
||||||
|
@define-color workspacesbackground2 #FFFFFF;
|
||||||
|
@define-color bordercolor @color8;
|
||||||
|
@define-color textcolor1 @color8;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../../ml4w/style.css';
|
70
waybar/themes/ml4w-bottom/myconfig
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
// Position TOP
|
||||||
|
// "position": "top",
|
||||||
|
// "margin-top": 14,
|
||||||
|
//"margin-bottom": 0,
|
||||||
|
|
||||||
|
// Position BOTTOM
|
||||||
|
"position": "bottom",
|
||||||
|
"margin-bottom": 14,
|
||||||
|
"margin-top": 0,
|
||||||
|
|
||||||
|
// General Settings
|
||||||
|
"layer": "top",
|
||||||
|
"height": 16,
|
||||||
|
"margin-left": 0,
|
||||||
|
"margin-right": 0,
|
||||||
|
"spacing": 0,
|
||||||
|
|
||||||
|
// Load Modules
|
||||||
|
"include": ["~/dotfiles/waybar/modules.json"],
|
||||||
|
|
||||||
|
// Modules Left
|
||||||
|
"modules-left": [
|
||||||
|
"custom/appmenu",
|
||||||
|
"custom/wallpaper",
|
||||||
|
"custom/waybarthemes",
|
||||||
|
"wlr/taskbar",
|
||||||
|
"group/quicklinks",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Center
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Right
|
||||||
|
"modules-right": [
|
||||||
|
"custom/youtube",
|
||||||
|
"custom/updates",
|
||||||
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
|
"battery",
|
||||||
|
"group/hardware",
|
||||||
|
"custom/cliphist",
|
||||||
|
"network",
|
||||||
|
"custom/exit",
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Group Quicklinks
|
||||||
|
"group/quicklinks": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"custom/filemanager",
|
||||||
|
"custom/chatgpt",
|
||||||
|
"custom/windowsvm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Group Hardware
|
||||||
|
"group/hardware": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"disk",
|
||||||
|
"cpu",
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
2
waybar/themes/ml4w/colored/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Colored"
|
16
waybar/themes/ml4w/colored/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color5;
|
||||||
|
@define-color backgrounddark @color11;
|
||||||
|
@define-color workspacesbackground1 @color5;
|
||||||
|
@define-color workspacesbackground2 @color11;
|
||||||
|
@define-color bordercolor @color11;
|
||||||
|
@define-color textcolor1 #FFFFFF;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../style.css';
|
69
waybar/themes/ml4w/config
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
// General Settings
|
||||||
|
|
||||||
|
// Position TOP
|
||||||
|
"layer": "top",
|
||||||
|
"margin-top": 14,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
|
||||||
|
// Position BOTTOM
|
||||||
|
// "position": "bottom",
|
||||||
|
// "margin-top": 0,
|
||||||
|
// "margin-bottom": 14,
|
||||||
|
|
||||||
|
"layer": "top",
|
||||||
|
"height": 16,
|
||||||
|
"margin-left": 0,
|
||||||
|
"margin-right": 0,
|
||||||
|
"spacing": 0,
|
||||||
|
|
||||||
|
// Load Modules
|
||||||
|
"include": ["~/dotfiles/waybar/modules.json"],
|
||||||
|
|
||||||
|
// Modules Left
|
||||||
|
"modules-left": [
|
||||||
|
"custom/appmenu",
|
||||||
|
"custom/wallpaper",
|
||||||
|
"custom/waybarthemes",
|
||||||
|
"wlr/taskbar",
|
||||||
|
"group/quicklinks",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Center
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Right
|
||||||
|
"modules-right": [
|
||||||
|
"custom/updates",
|
||||||
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
|
"battery",
|
||||||
|
"group/hardware",
|
||||||
|
"custom/cliphist",
|
||||||
|
"network",
|
||||||
|
"custom/exit",
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Group Quicklinks
|
||||||
|
"group/quicklinks": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"custom/filemanager",
|
||||||
|
"custom/brave",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Group Hardware
|
||||||
|
"group/hardware": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"disk",
|
||||||
|
"cpu",
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
2
waybar/themes/ml4w/dark/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Dark"
|
16
waybar/themes/ml4w/dark/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color8;
|
||||||
|
@define-color backgrounddark #FFFFFF;
|
||||||
|
@define-color workspacesbackground1 @color8;
|
||||||
|
@define-color workspacesbackground2 #FFFFFF;
|
||||||
|
@define-color bordercolor @color8;
|
||||||
|
@define-color textcolor1 @color8;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor @color8;
|
||||||
|
|
||||||
|
@import '../style.css';
|
2
waybar/themes/ml4w/light/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Light"
|
16
waybar/themes/ml4w/light/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight #FFFFFF;
|
||||||
|
@define-color backgrounddark @color11;
|
||||||
|
@define-color workspacesbackground1 #FFFFFF;
|
||||||
|
@define-color workspacesbackground2 @color11;
|
||||||
|
@define-color bordercolor #FFFFFF;
|
||||||
|
@define-color textcolor1 #FFFFFF;
|
||||||
|
@define-color textcolor2 @color11;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../style.css';
|
2
waybar/themes/ml4w/mixed/config.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
theme_name="ML4W Mixed"
|
16
waybar/themes/ml4w/mixed/style.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
@import '../../../../../.cache/wal/colors-waybar.css';
|
||||||
|
|
||||||
|
@define-color backgroundlight @color8;
|
||||||
|
@define-color backgrounddark #FFFFFF;
|
||||||
|
@define-color workspacesbackground1 @color8;
|
||||||
|
@define-color workspacesbackground2 #FFFFFF;
|
||||||
|
@define-color bordercolor @color8;
|
||||||
|
@define-color textcolor1 @color8;
|
||||||
|
@define-color textcolor2 #FFFFFF;
|
||||||
|
@define-color textcolor3 #FFFFFF;
|
||||||
|
@define-color iconcolor #FFFFFF;
|
||||||
|
|
||||||
|
@import '../style.css';
|
70
waybar/themes/ml4w/myconfig
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
// Position TOP
|
||||||
|
"position": "top",
|
||||||
|
"margin-top": 14,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
|
||||||
|
// Position BOTTOM
|
||||||
|
// "position": "bottom",
|
||||||
|
// "margin-bottom": 14,
|
||||||
|
// "margin-top": 0,
|
||||||
|
|
||||||
|
// General Settings
|
||||||
|
"layer": "top",
|
||||||
|
"height": 16,
|
||||||
|
"margin-left": 0,
|
||||||
|
"margin-right": 0,
|
||||||
|
"spacing": 0,
|
||||||
|
|
||||||
|
// Load Modules
|
||||||
|
"include": ["~/dotfiles/waybar/modules.json"],
|
||||||
|
|
||||||
|
// Modules Left
|
||||||
|
"modules-left": [
|
||||||
|
"custom/appmenu",
|
||||||
|
"custom/wallpaper",
|
||||||
|
"custom/waybarthemes",
|
||||||
|
"wlr/taskbar",
|
||||||
|
"group/quicklinks",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Center
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules Right
|
||||||
|
"modules-right": [
|
||||||
|
"custom/youtube",
|
||||||
|
"custom/updates",
|
||||||
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
|
"battery",
|
||||||
|
"group/hardware",
|
||||||
|
"custom/cliphist",
|
||||||
|
"network",
|
||||||
|
"custom/exit",
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Group Quicklinks
|
||||||
|
"group/quicklinks": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"custom/filemanager",
|
||||||
|
"custom/chatgpt",
|
||||||
|
"custom/windowsvm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Group Hardware
|
||||||
|
"group/hardware": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"modules": [
|
||||||
|
"disk",
|
||||||
|
"cpu",
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
388
waybar/themes/ml4w/style.css
Normal file
@ -0,0 +1,388 @@
|
|||||||
|
/* -----------------------------------------------------
|
||||||
|
* Import Pywal colors
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
/* @import 'style-light.css'; */
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* General
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(0,0,0,0.8);
|
||||||
|
border-bottom: 0px solid #ffffff;
|
||||||
|
/* color: #FFFFFF; */
|
||||||
|
background: transparent;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Workspaces
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background: @workspacesbackground1;
|
||||||
|
margin: 2px 1px 3px 1px;
|
||||||
|
padding: 0px 1px;
|
||||||
|
border-radius: 15px;
|
||||||
|
border: 0px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: normal;
|
||||||
|
opacity: 0.8;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0px 5px;
|
||||||
|
margin: 4px 3px;
|
||||||
|
border-radius: 15px;
|
||||||
|
border: 0px;
|
||||||
|
color: @textcolor1;
|
||||||
|
background-color: @workspacesbackground2;
|
||||||
|
transition: all 0.3s ease-in-out;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @textcolor1;
|
||||||
|
background: @workspacesbackground2;
|
||||||
|
border-radius: 15px;
|
||||||
|
min-width: 40px;
|
||||||
|
transition: all 0.3s ease-in-out;
|
||||||
|
opacity:1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: @textcolor1;
|
||||||
|
background: @workspacesbackground2;
|
||||||
|
border-radius: 15px;
|
||||||
|
opacity:0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Tooltips
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
opacity:0.8;
|
||||||
|
padding:20px;
|
||||||
|
margin:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: @textcolor2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Window
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background: @backgroundlight;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
border-radius: 12px;
|
||||||
|
color:@textcolor2;
|
||||||
|
font-size:16px;
|
||||||
|
font-weight:normal;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.empty #window {
|
||||||
|
background-color:transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Taskbar
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#taskbar {
|
||||||
|
/* background: @color11; */
|
||||||
|
background: @backgroundlight;
|
||||||
|
margin: 3px 15px 3px 0px;
|
||||||
|
padding:0px;
|
||||||
|
/*padding: 2px 3px 1px 3px;*/
|
||||||
|
border-radius: 15px;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
opacity:0.8;
|
||||||
|
border: 3px solid @backgroundlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
#taskbar button {
|
||||||
|
margin:0;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 0px 5px 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Modules
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Custom Quicklinks
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#custom-brave, #custom-outlook, #custom-filemanager, #custom-teams, #custom-chatgpt, #custom-calculator, #custom-windowsvm, #custom-cliphist, #custom-wallpaper, #custom-waybarthemes {
|
||||||
|
margin-right: 20px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
opacity: 0.8;
|
||||||
|
color: @iconcolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-wallpaper {
|
||||||
|
margin-right:23px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Custom Modules
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#custom-appmenu {
|
||||||
|
background-color: @backgrounddark;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor1;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 0px 10px 0px 10px;
|
||||||
|
margin: 3px 15px 3px 14px;
|
||||||
|
opacity:0.8;
|
||||||
|
border:3px solid @bordercolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Custom Exit
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#custom-exit {
|
||||||
|
margin: 0px 20px 0px 0px;
|
||||||
|
padding:0px;
|
||||||
|
font-size:20px;
|
||||||
|
color: @iconcolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Custom Updates
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#custom-updates {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.green {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.yellow {
|
||||||
|
background-color: #ff9a3c;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.red {
|
||||||
|
background-color: #dc2f2f;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Custom Youtube
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#custom-youtube {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Hardware Group
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#disk,#memory,#cpu {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
font-size:16px;
|
||||||
|
color:@iconcolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
margin-right:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Clock
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: @backgrounddark;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor1;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 3px 15px 3px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
border:3px solid @bordercolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Pulseaudio
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: @backgrounddark;
|
||||||
|
color: @textcolor1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Network
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.ethernet {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
color: @textcolor2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.wifi {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
color: @textcolor2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Bluetooth
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#bluetooth.on, #bluetooth.connected {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth.off {
|
||||||
|
background-color: transparent;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Battery
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @textcolor2;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2px 15px 0px 10px;
|
||||||
|
margin: 5px 15px 5px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
color: @textcolor2;
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: @backgroundlight;
|
||||||
|
color: @textcolor2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: @textcolor3;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Tray
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
background-color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Other
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
37
waybar/themeswitcher.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Default theme folder
|
||||||
|
themes_path="$HOME/dotfiles/waybar/themes"
|
||||||
|
|
||||||
|
# Initialize arrays
|
||||||
|
listThemes=""
|
||||||
|
listNames=""
|
||||||
|
|
||||||
|
# Read theme folder
|
||||||
|
options=$(find $themes_path -maxdepth 2 -type d)
|
||||||
|
for value in $options
|
||||||
|
do
|
||||||
|
if [ ! $value == "$themes_path" ]; then
|
||||||
|
if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then
|
||||||
|
result=$(echo $value | sed "s#$HOME/dotfiles/waybar/themes/#/#g")
|
||||||
|
IFS='/' read -ra arrThemes <<< "$result"
|
||||||
|
listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result"
|
||||||
|
if [ -f $themes_path$result/config.sh ]; then
|
||||||
|
source $themes_path$result/config.sh
|
||||||
|
listNames+="$theme_name\n"
|
||||||
|
else
|
||||||
|
listNames+="/${arrThemes[1]};$result\n"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Show rofi dialog
|
||||||
|
listNames=${listNames::-2}
|
||||||
|
choice=$(echo -e "$listNames" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi -no-show-icons -width 30 -p "Themes" -format i)
|
||||||
|
|
||||||
|
# Set new theme by writing the theme information to ~/.cache/.themestyle.sh
|
||||||
|
if [ "$choice" ]; then
|
||||||
|
echo "${listThemes[$choice+1]}" > ~/.cache/.themestyle.sh
|
||||||
|
~/dotfiles/waybar/launch.sh
|
||||||
|
fi
|
8
wlogout/README.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Select Logout Command depending on your setup:
|
||||||
|
|
||||||
|
Use for Display Manager e.g., sddm (DEFAULT)
|
||||||
|
sleep 1; hyprctl dispatch exit
|
||||||
|
|
||||||
|
Use for Arch Linux text based login
|
||||||
|
sleep 1; loginctl terminate-user $USER
|
||||||
|
|
BIN
wlogout/icons/hibernate.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
wlogout/icons/lock.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
wlogout/icons/logout.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
wlogout/icons/reboot.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
wlogout/icons/shutdown.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
wlogout/icons/suspend.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
36
wlogout/layout
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "sleep 1; swaylock",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "hibernate",
|
||||||
|
"action" : "sleep 1; systemctl hibernate",
|
||||||
|
"text" : "Hibernate",
|
||||||
|
"keybind" : "h"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "sleep 1; hyprctl dispatch exit",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "sleep 1; systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "sleep 1; systemctl suspend",
|
||||||
|
"text" : "Suspend",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "sleep 1; systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
BIN
wlogout/noise.png
Normal file
After Width: | Height: | Size: 132 KiB |
80
wlogout/style.css
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
@import '../../.cache/wal/colors-wlogout.css';
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* General
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
background-image: none;
|
||||||
|
transition: 20ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(12, 12, 12, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size:20px;
|
||||||
|
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
|
||||||
|
border-style: solid;
|
||||||
|
background-color: rgba(12, 12, 12, 0.3);
|
||||||
|
border: 3px solid #FFFFFF;
|
||||||
|
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus,
|
||||||
|
button:active,
|
||||||
|
button:hover {
|
||||||
|
color: @color11;
|
||||||
|
background-color: rgba(12, 12, 12, 0.5);
|
||||||
|
border: 3px solid @color11;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
-----------------------------------------------------
|
||||||
|
Buttons
|
||||||
|
-----------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-image: image(url("icons/reboot.png"));
|
||||||
|
}
|