diff options
52 files changed, 2538 insertions, 1671 deletions
diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..a70742b --- /dev/null +++ b/.bash_profile @@ -0,0 +1,11 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc + +export PATH=$PATH:$HOME/.dotfiles/scripts + +if [[ -t 0 && $(tty) == /dev/tty1 && ! $DISPLAY ]]; then + exec dbus-launch --exit-with-session Hyprland +fi diff --git a/.bash_profile~ b/.bash_profile~ new file mode 100644 index 0000000..277ac2d --- /dev/null +++ b/.bash_profile~ @@ -0,0 +1,9 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc + +if [[ -t 0 && $(tty) == /dev/tty1 && ! $DISPLAY ]]; then + exec dbus-launch --exit-with-session Hyprland +fi @@ -0,0 +1,10 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='\[\033[1;1m\]\u\[\033[00m\]@\[\033[34m\]\h \[\033[32m\]\w \[\033[35m\]$(git-ps1)\[\033[00m\]\$ ' diff --git a/.bashrc~ b/.bashrc~ new file mode 100644 index 0000000..11b877e --- /dev/null +++ b/.bashrc~ @@ -0,0 +1,10 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='\u@\h \W ($(git branch --show-current 2>/dev/null)) \$ ' diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..f11c539 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,114 @@ +[colors] +draw_bold_text_with_bright_colors = false + +[colors.bright] +black = "0x565575" +blue = "0x65b2ff" +cyan = "0x63f2f1" +green = "0x62d196" +magenta = "0x906cff" +red = "0xff5458" +white = "0xa6b3cc" +yellow = "0xffb378" + +[colors.normal] +black = "0x100e23" +blue = "0x91ddff" +cyan = "0xaaffe4" +green = "0x95ffa4" +magenta = "0xc991e1" +red = "0xff8080" +white = "0xcbe3e7" +yellow = "0xffe9aa" + +[colors.primary] +background = "0x1b182c" +foreground = "0xcbe3e7" + +[cursor.style] +blinking = "Off" +shape = "Block" + +[env] +TERM = "alacritty" + +[font] +size = 9.7 + +[font.bold] +style = "Bold" + +[font.bold_italic] +style = "Bold" + +[font.glyph_offset] +x = 0 +y = 0 + +[font.italic] +style = "Regular" + +[font.normal] +family = "DejaVu Sans Mono" +style = "Regular" + +[font.offset] +x = 0 +y = 0 + +[[keyboard.bindings]] +action = "Paste" +key = "Paste" + +[[keyboard.bindings]] +action = "Copy" +key = "Copy" + +[[keyboard.bindings]] +action = "Paste" +key = "Y" +mods = "Control" + +[[keyboard.bindings]] +action = "Copy" +key = "W" +mods = "Alt" + +[[keyboard.bindings]] +action = "ScrollLineUp" +key = "PageUp" + +[[keyboard.bindings]] +action = "ScrollLineDown" +key = "PageDown" + +[[keyboard.bindings]] +action = "ScrollHalfPageUp" +key = "PageUp" +mods = "Shift" + +[[keyboard.bindings]] +action = "ScrollHalfPageDown" +key = "PageDown" +mods = "Shift" + +[scrolling] +history = 10000 + +[window] +decorations = "full" +decorations_theme_variant = "None" +dynamic_padding = false +dynamic_title = true +opacity = 0.9 +resize_increments = false +startup_mode = "Windowed" +title = "Alacritty" + +[window.class] +general = "Alacritty" +instance = "Alacritty" + +[window.padding] +x = 0 +y = 0 diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..79c905e --- /dev/null +++ b/.config/alacritty/alacritty.yml @@ -0,0 +1,854 @@ +# 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: 0 + y: 0 + + # 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.9 + + # 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 + # + # Override the variant of the System theme/GTK theme/Wayland client side + # decorations. Commonly supported values are `Dark`, `Light`, and `None` for + # auto pick-up. Set this to `None` to use the default theme variant. + decorations_theme_variant: None + + # Resize increments + # + # Prefer resizing window by discrete steps equal to cell dimensions. + resize_increments: false + + # Make `Option` key behave as `Alt` (macOS only): + # - OnlyLeft + # - OnlyRight + # - Both + # - None (default) + #option_as_alt: 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: DejaVu Sans Mono + + # 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: Regular + + # 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 + + # Point size + size: 9.7 + + # 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' + # 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 + + # 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 + +# 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/winit/*/winit/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 +# - ToggleMaximized +# - 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: Y, mods: Control, action: Paste } + - { key: W, mods: Alt, action: Copy } + - { key: PageUp, action: ScrollLineUp } + - { key: PageDown, action: ScrollLineDown } + - { key: PageUp, mods: Shift, action: ScrollHalfPageUp } + - { key: PageDown, mods: Shift, action: ScrollHalfPageDown } + + # 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 } + +#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 + + # Renderer override. + # - glsl3 + # - gles2 + # - gles2_pure + #renderer: None + + # Print all received window events. + #print_events: false + + # Highlight window damage information. + #highlight_damage: false +# challenger deep +colors: + # Default colors + primary: + background: '0x1b182c' + foreground: '0xcbe3e7' + + # Normal colors + normal: + black: '0x100e23' + red: '0xff8080' + green: '0x95ffa4' + yellow: '0xffe9aa' + blue: '0x91ddff' + magenta: '0xc991e1' + cyan: '0xaaffe4' + white: '0xcbe3e7' + + # Bright colors + bright: + black: '0x565575' + red: '0xff5458' + green: '0x62d196' + yellow: '0xffb378' + blue: '0x65b2ff' + magenta: '0x906cff' + cyan: '0x63f2f1' + white: '0xa6b3cc' diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..eb46e1c --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,479 @@ +# 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 = (0, 300) + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 35x35 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 10 + + ### 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 + + + # 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 = 10 + + # 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 = 1 + + # 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 = 2 + + # 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 = DejaVu Sans Mono 9.7 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # 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 = off + + # 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 = 4 + + # 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 = "#242750" +# foreground = "#FFFFFF" +# frame_color= "#025f87" +# timeout = 10 +# # Icon for notifications with low urgency, uncomment to enable +# #default_icon = /path/to/icon + +# [urgency_normal] +# background = "#242750" +# foreground = "#ffffff" +# frame_color= "#025f87" +# timeout = 10 +# # Icon for notifications with normal urgency, uncomment to enable +# #default_icon = /path/to/icon + +# [urgency_critical] +# background = "#242750" +# foreground = "#ffffff" +# frame_color= "#f00000" +# timeout = 0 +# # 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 +#-------------------------------------------------------- +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#0D1B2A80" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_normal] + background = "#0D1B2A80" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_critical] + background = "#90000080" + foreground = "#ffffff" + frame_color = "#ff0000ee" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #icon = /path/to/icon diff --git a/.config/dunst/dunstrc~ b/.config/dunst/dunstrc~ new file mode 100644 index 0000000..ae7c60d --- /dev/null +++ b/.config/dunst/dunstrc~ @@ -0,0 +1,479 @@ +# 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 = (0, 300) + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 10x10 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 10 + + ### 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 + + + # 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 = 10 + + # 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 = 1 + + # 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 = 2 + + # 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 = DejaVu Sans Mono 9.7 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # 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 = off + + # 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 = 4 + + # 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 = "#242750" +# foreground = "#FFFFFF" +# frame_color= "#025f87" +# timeout = 10 +# # Icon for notifications with low urgency, uncomment to enable +# #default_icon = /path/to/icon + +# [urgency_normal] +# background = "#242750" +# foreground = "#ffffff" +# frame_color= "#025f87" +# timeout = 10 +# # Icon for notifications with normal urgency, uncomment to enable +# #default_icon = /path/to/icon + +# [urgency_critical] +# background = "#242750" +# foreground = "#ffffff" +# frame_color= "#f00000" +# timeout = 0 +# # 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 +#-------------------------------------------------------- +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#0D1B2A80" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_normal] + background = "#0D1B2A80" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_critical] + background = "#90000080" + foreground = "#ffffff" + frame_color = "#ff0000ee" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #icon = /path/to/icon diff --git a/.config/hypr/#hyprland.conf# b/.config/hypr/#hyprland.conf# new file mode 100644 index 0000000..5df0c2c --- /dev/null +++ b/.config/hypr/#hyprland.conf# @@ -0,0 +1,65 @@ +source=binds.conf +source=monitors.conf +source=style.conf +source=windowrules.conf + +# Slow app launch fix +exec-once = systemctl --user import-environment & +exec-once = hash dbus-update-activation-environment 2>/dev/null & +exec-once = dbus-update-activation-environment --systemd & +#exec-once = xdg-desktop-portal-hyprland & + +exec-once = hyprctl setcursor HyprBibataModernClassicSVG 24 +exec-once = hyprctl dispatch workspace 1 +exec-once = xrandr --output XWAYLAND0 --primary +exec-once = gsettings set org.gnome.desktop.interface cursor-theme "Bibata-Modern-Classic" +exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" +exec-once = gsettings set org.gnome.desktop.interface gtk-theme Adwaita +exec-once = hyprpaper +exec-once = waybar + +# Some default env vars. +env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = XCURSOR_THEME,"Bibata-Modern-Classic" +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG +env = HYPRCURSOR_SIZE,64 +env = LIBVA_DRIVER_NAME,nvidia +env = GBM_BACKEND,nvidia-drm +env = __GLX_VENDOR_LIBRARY_NAME,nvidia + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = ctrl:nocaps + kb_rules = + + follow_mouse = 1 + + repeat_delay = 300 + repeat_rate = 30 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + layout = dwindle + #layout = master + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ +windowrulev2 = noanim,class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ +windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ +windowrulev2 = noblur,class:^(xwaylandvideobridge)$ diff --git a/.config/hypr/#hyprpaper.conf# b/.config/hypr/#hyprpaper.conf# new file mode 100644 index 0000000..60a08a1 --- /dev/null +++ b/.config/hypr/#hyprpaper.conf# @@ -0,0 +1,2 @@ +preload = /home/nahtaiv3l/wallpapers/current_wallpaper/ +wallpaper = ,/home/nahtaiv3l/wallpapers/current_wallpaper diff --git a/.config/hypr/#monitors.conf# b/.config/hypr/#monitors.conf# new file mode 100644 index 0000000..9fd450f --- /dev/null +++ b/.config/hypr/#monitors.conf# @@ -0,0 +1,26 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor=DP-1,2560x1440@144,0x0,auto +monitor=eDP1,highres,auto,1 +#monitor=DP-2,1920x1080@60,2560x0,auto + +# FOR HYPRSOME (MULTIPLE MONITORS) +workspace=1,monitor:eDP-1 +workspace=2,monitor:eDP-1 +workspace=3,monitor:eDP-1 +workspace=4,monitor:eDP-1 +workspace=5,monitor:eDP-1 +workspace=6,monitor:eDP-1 +workspace=7,monitor:eDP-1 +workspace=8,monitor:eDP-1 +workspace=9,monitor:eDP-1 +workspace=10,monitor:eDP-1 + +workspace=11,monitor:eDP-2 +workspace=12,monitor:eDP-2 +workspace=13,monitor:eDP-2 +workspace=14,monitor:eDP-2 +workspace=15,monitor:eDP-2 +workspace=17,monitor:eDP-2 +workspace=18,monitor:eDP-2 +workspace=19,monitor:eDP-2 +workspace=10,monitor:eDP-2 diff --git a/.config/hypr/binds.conf b/.config/hypr/binds.conf new file mode 100644 index 0000000..ae659c0 --- /dev/null +++ b/.config/hypr/binds.conf @@ -0,0 +1,81 @@ +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Set programs that you use +$terminal = alacritty +$fileManager = kitty xplr +$browser = waterfox +$menu = wmenu-run + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, RETURN, exec, $menu +bind = $mainMod, A, exec, $terminal +bind = $mainMod, D, killactive, +bind = $mainMod CTRL SHIFT, D, exec, hyprctl kill +bind = $mainMod, S, exec, hyprshot -m region +bind = , PRINT, exec, hyprshot -m output +bind = $mainMod, PRINT, exec, hyprshot -m window +bind = $mainMod, M, exit, +bind = $mainMod, V, togglefloating, +bind = $mainMod, P, exec, hyprpicker -a +bind = $mainMod, L, exec, hyprlock +bind = $mainMod, R, togglesplit, # dwindle +bind = $mainMod, F, fullscreen +bind = $mainMod, G, fullscreenstate, 0 3 +bind = $mainMod, W, exec, $browser +bind = $mainMod, X, exec, $fileManager +bind = $mainMod, K, exec, $terminal -e htop +bind = $mainMod SHIFT, B, exec, /bin/sh -c "pidof waybar && pkill -x waybar || waybar" +bind = $mainMod SHIFT, Q, exit, +bind = $mainMod SHIFT, RETURN, layoutmsg, swapwithmaster +bind = $mainMod, E, exec, emacsclient -c + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, lp +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +bind = $mainMod SHIFT,left ,movewindow, l +bind = $mainMod SHIFT,right ,movewindow, r +bind = $mainMod SHIFT,up ,movewindow, u +bind = $mainMod SHIFT,down ,movewindow, d + +# screenshot + crop keybind +bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" "${HOME}/Pictures/screenshots/screenshot-$(date +%F-%T).png" + +# Example special workspace (scratchpad) COMMENTED OUT FOR SCREENSHOT KEYBIND +# bind = $mainMod, S, togglespecialworkspace, magic +# bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# switch workspaces with mainMod + [0-9] +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 + +# move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 +bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 +bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 +bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 +bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 +bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 diff --git a/hypr/.config/hypr/binds.conf b/.config/hypr/binds.conf~ index 8f3d423..0973750 100644 --- a/hypr/.config/hypr/binds.conf +++ b/.config/hypr/binds.conf~ @@ -2,13 +2,13 @@ $mainMod = SUPER # Set programs that you use -$terminal = kitty +$terminal = alacritty $fileManager = kitty xplr -$browser = cachy-browser -$menu = wofi --show drun +$browser = waterfox +$menu = wmenu-run # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bindr = SUPER, SUPER_L, exec, $menu +bind = $mainMod, RETURN, exec, $menu bind = $mainMod, A, exec, $terminal bind = $mainMod, D, killactive, bind = $mainMod CTRL SHIFT, D, exec, hyprctl kill @@ -25,11 +25,12 @@ bind = $mainMod, G, fullscreenstate, 0 3 bind = $mainMod, W, exec, $browser bind = $mainMod, X, exec, $fileManager bind = $mainMod, K, exec, kitty btm -bind = $mainMod, backslash, exec, "${HOME}/.config/hypr/scripts/layout.sh" -bind = $mainMod SHIFT, backslash, exec, "${HOME}/.config/hypr/scripts/layout2.sh" +bind = $mainMod SHIFT, B, exec, /bin/sh -c "pidof waybar && pkill -x waybar || waybar" +bind = $mainMod SHIFT, Q, exit, +bind = $mainMod SHIFT, RETURN, layoutmsg, swapwithmaster # Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l +bind = $mainMod, left, movefocus, lp bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d @@ -55,25 +56,25 @@ bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, exec, hyprsome workspace 1 -bind = $mainMod, 2, exec, hyprsome workspace 2 -bind = $mainMod, 3, exec, hyprsome workspace 3 -bind = $mainMod, 4, exec, hyprsome workspace 4 -bind = $mainMod, 5, exec, hyprsome workspace 5 -bind = $mainMod, 6, exec, hyprsome workspace 6 -bind = $mainMod, 7, exec, hyprsome workspace 7 -bind = $mainMod, 8, exec, hyprsome workspace 8 -bind = $mainMod, 9, exec, hyprsome workspace 9 -bind = $mainMod, 0, exec, hyprsome workspace 10 +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 # move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, exec, hyprsome move 1 -bind = $mainMod SHIFT, 2, exec, hyprsome move 2 -bind = $mainMod SHIFT, 3, exec, hyprsome move 3 -bind = $mainMod SHIFT, 4, exec, hyprsome move 4 -bind = $mainMod SHIFT, 5, exec, hyprsome move 5 -bind = $mainMod SHIFT, 6, exec, hyprsome move 6 -bind = $mainMod SHIFT, 7, exec, hyprsome move 7 -bind = $mainMod SHIFT, 8, exec, hyprsome move 8 -bind = $mainMod SHIFT, 9, exec, hyprsome move 9 -bind = $mainMod SHIFT, 0, exec, hyprsome move 10 +bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 +bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 +bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 +bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 +bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 +bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf new file mode 100644 index 0000000..8a4a3c0 --- /dev/null +++ b/.config/hypr/hypridle.conf @@ -0,0 +1,9 @@ +general { + before_sleep_cmd = pidof hyprlock || hyprlock + after_sleep_cmd = hyprctl dispatch dpms on +} + +listener { + timeout = 300 # 5min + on-timeout = loginctl suspend +} diff --git a/hypr/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 99f0b46..3042e6e 100644 --- a/hypr/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -7,50 +7,47 @@ source=windowrules.conf exec-once = systemctl --user import-environment & exec-once = hash dbus-update-activation-environment 2>/dev/null & exec-once = dbus-update-activation-environment --systemd & +exec-once = startup #exec-once = xdg-desktop-portal-hyprland & -exec-once = hyprctl setcursor HyprBibataModernClassicSVG 24 exec-once = hyprctl dispatch workspace 1 -exec-once = xrandr --output XWAYLAND0 --primary + exec-once = gsettings set org.gnome.desktop.interface cursor-theme "Bibata-Modern-Classic" exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" exec-once = gsettings set org.gnome.desktop.interface gtk-theme Adwaita -exec-once = hyprpaper -exec-once = waybar # Some default env vars. env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that -env = WLR_DRM_NO_ATOMIC,1 # some nvidia fix env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = XCURSOR_THEME,"Bibata-Modern-Classic" env = XCURSOR_SIZE,24 env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG -env = HYPRCURSOR_SIZE,64 -env = LIBVA_DRIVER_NAME,nvidia -env = GBM_BACKEND,nvidia-drm -env = __GLX_VENDOR_LIBRARY_NAME,nvidia # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = - kb_options = + kb_options = ctrl:nocaps kb_rules = follow_mouse = 1 + repeat_delay = 300 + repeat_rate = 30 + touchpad { - natural_scroll = no + natural_scroll = yes + disable_while_typing = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { - layout = dwindle - #layout = master + #layout = dwindle + layout = master # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false diff --git a/.config/hypr/hyprland.conf~ b/.config/hypr/hyprland.conf~ new file mode 100644 index 0000000..672ef72 --- /dev/null +++ b/.config/hypr/hyprland.conf~ @@ -0,0 +1,62 @@ +source=binds.conf +source=monitors.conf +source=style.conf +source=windowrules.conf + +# Slow app launch fix +exec-once = systemctl --user import-environment & +exec-once = hash dbus-update-activation-environment 2>/dev/null & +exec-once = dbus-update-activation-environment --systemd & +exec-once = startup +#exec-once = xdg-desktop-portal-hyprland & + +exec-once = hyprctl dispatch workspace 1 + +exec-once = gsettings set org.gnome.desktop.interface cursor-theme "Bibata-Modern-Classic" +exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" +exec-once = gsettings set org.gnome.desktop.interface gtk-theme Adwaita +exec-once = hyprpaper +exec-once = waybar + +# Some default env vars. +env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = XCURSOR_THEME,"Bibata-Modern-Classic" +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = ctrl:nocaps + kb_rules = + + follow_mouse = 1 + + repeat_delay = 300 + repeat_rate = 30 + + touchpad { + natural_scroll = yes + disable_while_typing = true + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + #layout = dwindle + layout = master + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ +windowrulev2 = noanim,class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ +windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ +windowrulev2 = noblur,class:^(xwaylandvideobridge)$ diff --git a/hypr/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf index 3150f25..3150f25 100644 --- a/hypr/.config/hypr/hyprlock.conf +++ b/.config/hypr/hyprlock.conf diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..5c09733 --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,2 @@ +preload = /home/jack/.dotfiles/wallpapers/signalis.png +wallpaper = ,/home/jack/.dotfiles/wallpapers/signalis.png diff --git a/.config/hypr/hyprpaper.conf~ b/.config/hypr/hyprpaper.conf~ new file mode 100644 index 0000000..2612cc8 --- /dev/null +++ b/.config/hypr/hyprpaper.conf~ @@ -0,0 +1,2 @@ +preload = /home/nahtaiv3l/wallpapers/current_wallpaper +wallpaper = ,/home/nahtaiv3l/wallpapers/current_wallpaper diff --git a/hypr/.config/hypr/misc.conf b/.config/hypr/misc.conf index e69de29..e69de29 100644 --- a/hypr/.config/hypr/misc.conf +++ b/.config/hypr/misc.conf diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..813f6d6 --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,26 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor=DP-1,2560x1440@144,0x0,auto +monitor=,highres,auto,1 +#monitor=DP-2,1920x1080@60,2560x0,auto + +# FOR HYPRSOME (MULTIPLE MONITORS) +workspace=1,monitor:eDP-1 +workspace=2,monitor:eDP-1 +workspace=3,monitor:eDP-1 +workspace=4,monitor:eDP-1 +workspace=5,monitor:eDP-1 +workspace=6,monitor:eDP-1 +workspace=7,monitor:eDP-1 +workspace=8,monitor:eDP-1 +workspace=9,monitor:eDP-1 +workspace=10,monitor:eDP-1 + +workspace=11,monitor:eDP-2 +workspace=12,monitor:eDP-2 +workspace=13,monitor:eDP-2 +workspace=14,monitor:eDP-2 +workspace=15,monitor:eDP-2 +workspace=17,monitor:eDP-2 +workspace=18,monitor:eDP-2 +workspace=19,monitor:eDP-2 +workspace=10,monitor:eDP-2 diff --git a/.config/hypr/monitors.conf~ b/.config/hypr/monitors.conf~ new file mode 100644 index 0000000..9fd450f --- /dev/null +++ b/.config/hypr/monitors.conf~ @@ -0,0 +1,26 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor=DP-1,2560x1440@144,0x0,auto +monitor=eDP1,highres,auto,1 +#monitor=DP-2,1920x1080@60,2560x0,auto + +# FOR HYPRSOME (MULTIPLE MONITORS) +workspace=1,monitor:eDP-1 +workspace=2,monitor:eDP-1 +workspace=3,monitor:eDP-1 +workspace=4,monitor:eDP-1 +workspace=5,monitor:eDP-1 +workspace=6,monitor:eDP-1 +workspace=7,monitor:eDP-1 +workspace=8,monitor:eDP-1 +workspace=9,monitor:eDP-1 +workspace=10,monitor:eDP-1 + +workspace=11,monitor:eDP-2 +workspace=12,monitor:eDP-2 +workspace=13,monitor:eDP-2 +workspace=14,monitor:eDP-2 +workspace=15,monitor:eDP-2 +workspace=17,monitor:eDP-2 +workspace=18,monitor:eDP-2 +workspace=19,monitor:eDP-2 +workspace=10,monitor:eDP-2 diff --git a/hypr/.config/hypr/style.conf b/.config/hypr/style.conf index 617eaed..e818cbf 100644 --- a/hypr/.config/hypr/style.conf +++ b/.config/hypr/style.conf @@ -3,7 +3,7 @@ general { gaps_out = 25 border_size = 2 - col.active_border = rgba(EEABC4aa) + col.active_border = rgba(EEABC4aa) rgba(0099ccee) 45deg col.inactive_border = rgba(595959aa) } @@ -45,7 +45,8 @@ dwindle { master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - #new_is_master = true + new_status = master + new_on_top = true mfact = 0.5 } diff --git a/.config/hypr/style.conf~ b/.config/hypr/style.conf~ new file mode 100644 index 0000000..ceef549 --- /dev/null +++ b/.config/hypr/style.conf~ @@ -0,0 +1,61 @@ +general { + gaps_in = 3 + gaps_out = 25 + + border_size = 2 + col.active_border = rgba(EEABC4aa) + col.inactive_border = rgba(595959aa) +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 4 + + blur { + enabled = true + size = 2 + passes = 3 + } + + drop_shadow = no + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + bezier = defaultBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, defaultBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 3, default + animation = workspaces, 1, 6, defaultBezier +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_status = master + new_on_top = true + mfact = 0.5 +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = on +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +} diff --git a/hypr/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index 30cbcaa..30cbcaa 100644 --- a/hypr/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf diff --git a/.config/pipewire/pipewire.conf.d/10-wireplumber.conf b/.config/pipewire/pipewire.conf.d/10-wireplumber.conf new file mode 100644 index 0000000..50c64d3 --- /dev/null +++ b/.config/pipewire/pipewire.conf.d/10-wireplumber.conf @@ -0,0 +1 @@ +context.exec = [ { path = "/usr/bin/wireplumber" args = "" } ] diff --git a/.config/pipewire/pipewire.conf.d/20-pipewire-pulse.conf b/.config/pipewire/pipewire.conf.d/20-pipewire-pulse.conf new file mode 100644 index 0000000..4e650f7 --- /dev/null +++ b/.config/pipewire/pipewire.conf.d/20-pipewire-pulse.conf @@ -0,0 +1 @@ +context.exec = [ { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" } ] diff --git a/.config/waybar/config b/.config/waybar/config index 86f731b..c285e80 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -1,142 +1,64 @@ { "layer": "top", - "position": "top", - "mode": "dock", - "margin-bottom": 0, - "modules-left": [ - "clock", - "custom/separator", - "hyprland/workspaces", - "custom/separator", - "tray" - ], - "modules-center": [ - "hyprland/window" - ], - "modules-right": [ - "memory", - "cpu", - "pulseaudio", - "battery", - "network", - "custom/separ" - ], - "custom/separator": { - "exec": "echo \"|\"", - "format": "{}" - }, - "tray": { - "icon-size": 16, - "spacing": 8 - }, - "clock": { - "format": " {:%I:%M %p} ", - "interval": 60, - "tooltip": true, - "on-click": "kitty -e calcurse", - "tooltip-format": "{:%d %B %H:%M}" - }, + "height": 15, + "margin": "10 25 -15 25", + + "modules-left": ["hyprland/workspaces", "custom/separator", "tray"], + "modules-center": ["hyprland/window"], + "modules-right": ["wireplumber", "custom/brightness", "battery", "cpu", "memory", "network", "clock"], + "hyprland/workspaces": { - "format": "{icon}", - "separate-outputs": false, - "active-only": false, - // turn on true to show same all workspaces on each monitor - "all-outputs": false, - "format-icons": { - // 1-10 - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - // 11-10 - "11": "1", - "12": "2", - "13": "3", - "14": "4", - "15": "5", - "16": "6", - "17": "7", - "18": "8", - "19": "9", - "110": "10" - - // // 1-10 - // "1": "一", - // "2": "二", - // "3": "三", - // "4": "四", - // "5": "五", - // "6": "六", - // "7": "七", - // "8": "八", - // "9": "九", - // "10": "十", - // // 11-10 - // "11": "一", - // "12": "二", - // "13": "三", - // "14": "四", - // "15": "五", - // "16": "六", - // "17": "七", - // "18": "八", - // "19": "九", - // "110": "十" - } + "format": "{id}", }, - "hyprland/window": { + "custom/separator": { + "exec": "echo \" | \"", "format": "{}" }, "network": { - "format": " ", - "tooltip": "{ifname}", - "tooltip-format": "{essid}", - "on-click": "kitty nmtui", - "interval": 2 + "format-wifi": "{essid} {signalStrength}% ", + "format-ethernet": "{ipaddr}/{cidr}", + "format-disconnected": "Disconnected ", + "tooltip-format": "{ifname}: {gwaddr}", + "format": "{ifname}: {essid}" }, - "temperature": { - "format": "{icon} {temperatureC}°C ", - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format-icons": [ - "", - "", - "" - ] + "hyprland/window": { + "format": "{title}", + }, + "cpu": { + "format": "{usage}% ", + "interval": 1, }, "memory": { - "format": " {}% ", - "tooltip": "false" + "format": "{percentage}% ", + "interval": 1, }, - "cpu": { - "format": " {usage}% ", - "tooltip": "false" + "clock": { + // "timezone": "America/New_York", + "format": "{:%r}", + "tooltip-format": "{:%d %B %Y}", + "interval": 1, }, - "pulseaudio": { - "format": " {volume}%", - "scroll-step": 1, - "on-click": "pavucontrol" + "tray": { + "icon-size": 16, + "spacing": 8, + }, + "wireplumber": { + "format": "{volume}% {icon}", + "format-muted": "", + "tooltip-format": "{volume}% {node_name}", + "scroll-step": 0, + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", + "on-click-right": "helvum", + "format-icons": ["", "", ""] }, "battery": { + "bat": "BAT0", + "interval": 0, + "format-charging": "{capacity}% ", + "format-not charging": "{capacity}% ", + "format-discharging": "{capacity}% {icon}", "format": "{capacity}% {icon}", - "format-icons": [ - "", - "", - "", - "", - "" - ] + "format-icons": ["", "", ""], + "interval": 1, }, - "custom/powermenu": { - "format": " Power ", - "tooltip": false, - "on-click": "exec wlogout -p layer-shell" - } } - diff --git a/.config/waybar/config-hypr b/.config/waybar/config-hypr deleted file mode 100644 index 0e713b9..0000000 --- a/.config/waybar/config-hypr +++ /dev/null @@ -1,367 +0,0 @@ -{ - // ------------------------------------------------------------------------- - // Global configuration - // ------------------------------------------------------------------------- - - "layer": "top", - - "position": "top", - - //"height": 20, - - "margin-left": 10, - "margin-bottom": 0, - "margin-right": 10, - - "spacing": 5, // Gaps between modules (4px) - - "modules-left": [ - //"custom/rofi", - "hyprland/workspaces", - //"hyprland/submap", - "temperature", - //"idle_inhibitor", - //"mpd" - "custom/media" - ], - "modules-center": [ - //"hyprland/window" - "clock#date", - "custom/weather" - //"custom/gammastep" - ], - "modules-right": [ - "backlight", - "custom/storage", - "memory", - "cpu", - "battery", - //"pulseaudio", - "wireplumber", - "custom/screenshot_t", - "custom/power", - "tray" - ], - - - // ------------------------------------------------------------------------- - // Modules - // ------------------------------------------------------------------------- - - "custom/sp1": { - "format": " | ", - "tooltip": false - }, - "custom/sp2": { - "format": " |", - "tooltip": false - }, - - - "custom/rofi": { - "format": "", - "tooltip": false, - "on-click-right": "nwg-drawer", - "on-click": "wofi --show run", - "on-click-middle": "pkill -9 wofi" - }, - "custom/screenshot_t":{ - "format":"", - "on-click": "~/.config/hypr/scripts/screenshot_full", - "on-click-right":"~/.config/hypr/scripts/screenshot_area" - }, - - "clock#1": { - "format": " {:%a}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#2": { - "format": " {:%d-%h-%Y}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#3": { - "format": " {:%H:%M:%S %p}", - "tooltip": false, - "on-click": "gsimplecal" - }, - - "temperature": { - // "thermal-zone": 1, - "interval": 4, - //"hwmon-path": "/sys/class/hwmon/hwmon3/temp1_input", - "critical-threshold": 80, - // "format-critical": " {temperatureC}°C", - "format-critical": " {temperatureC}°C", - "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", ""], - "max-length": 7, - "min-length": 7, - "on-click": "xsensors" - }, - - "memory": { - "interval": 30, - "format": " {used:0.2f} / {total:0.0f} GB", - "on-click": "alacritty -e btop" - }, - - "battery": { - "interval": 2, - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-icons": [ - "", - "", - "", - "", - "" - ] - }, - "network": { - "format-wifi": " {essid} ({signalStrength}%)", - "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", - "format-linked": "{ifname} (No IP) ", - "format": "", - "format-disconnected": "", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", - "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", - "tooltip-format": " {bandwidthUpBits} {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", - "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits} {bandwidthDownBits}", - "interval": 10 - }, - "custom/storage": { - "format": " {}", - "format-alt": "{percentage}% ", - "format-alt-click": "click-right", - "return-type": "json", - "interval": 60, - "exec": "~/.config/waybar/modules/storage.sh" - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon} {percent}%", - "format-alt": "{percent}% {icon}", - "format-alt-click": "click-right", - //"format-icons": ["", ""], - "format-icons": ["", ""], - "on-scroll-down": "brightnessctl s 5%-", - "on-scroll-up": "brightnessctl s +5%" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - }, - "tooltip": "true" - }, - "custom/weather": { - "format": "{}", - "format-alt": "{alt}: {}", - "format-alt-click": "click-right", - "interval": 3600, - "exec": "curl -s 'https://wttr.in/?format=1'", - //"return-type": "json", - //"exec": "~/.config/waybar/modules/weather.sh", - "exec-if": "ping wttr.in -c1" - }, - "custom/pacman": { - "format": "<big></big> {}", - "interval": 3600, // every hour - "exec": "checkupdates | wc -l", // # of updates - "exec-if": "exit 0", // always run; consider advanced run conditions - "on-click": "alacritty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system - "signal": 8, - "max-length": 5, - "min-length": 3 - }, - - "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 - }, - - "custom/power": { - "format": "", - "tooltip": false, - "on-click": "wlogout" - }, - - "clock": { - "format": " {:%H:%M %e %b}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "today-format": "<b>{}</b>" - }, - - "clock#date": { - "format": "❤️ {:%H:%M %e %b}", // Icon: calendar-alt - //"format": "{:%I:%M %p %A %b %d}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "today-format": "<b>{}</b>" - }, - - "custom/gammastep": { - "interval": 5, - "return-type": "json", - "exec": { - "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", - "alt": "${status:-inactive}", - "tooltip": "Gammastep is $status", - }, - "format": "{icon}", - "format-icons": { - "activating": " ", - "deactivating": " ", - "inactive": "? ", - "active (Night)": " ", - "active (Nighttime)": " ", - "active (Transition (Night)": " ", - "active (Transition (Nighttime)": " ", - "active (Day)": " ", - "active (Daytime)": " ", - "active (Transition (Day)": " ", - "active (Transition (Daytime)": " ", - }, - "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep", - }, - - "cpu": { - "interval": 1, - //"format": " {}%", // Icon: microchip - "format": "{max_frequency}GHz <span color=\"darkgray\">| {usage}%</span>", - "max-length": 13, - "min-length": 13 - }, - - "mpd": { - "max-length": 25, - "format": "<span foreground='#bb9af7'></span> {title}", - "format-paused": " {title}", - "format-stopped": "<span foreground='#bb9af7'></span>", - "format-disconnected": "", - "on-click": "mpc --quiet toggle", - "on-click-right": "mpc update; mpc ls | mpc add", - "on-click-middle": "alacritty -e ncmpcpp", - "on-scroll-up": "mpc --quiet prev", - "on-scroll-down": "mpc --quiet next", - "smooth-scrolling-threshold": 5, - "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" - }, - - "custom/title": { - "format": "{}", - "interval": 0, - "return-type": "json", - //"max-length": 35, - "tooltip": false - }, - - "custom/title#name": { - "format": "{}", - "interval": 0, - "return-type": "json", - - "max-length": 35, - "exec": "$HOME/.scripts/title" - }, - - /*"custom/keyboard": { - "format": " {}", - "interval": 1, - "exec": "$HOME/.config/waybar/get_kbdlayout.sh" - },*/ - - "hyprland/workspaces": { - "all-outputs": true, - "format": "{name}", - "format-icons": { - "1": "一", - "2": "二", - "3": "三", - "4": "四", - "5": "五", - "6": "六", - "7": "七", - "8": "八", - "9": "九", - "10": "十", - }, - "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", - "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", - "sort-by-number": true, - "active-only": false, - }, - - "hyprland/window": { - "max-length": 100, - "separate-outputs": true - }, - - "pulseaudio": { - "scroll-step": 3, // %, can be a float - "format": "{icon} {volume}% {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-source": "", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle" - }, - - "wireplumber": { - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle 1>/dev/null", - //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; - //on-scroll-down: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+"; - //on-scroll-up: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-"; - "format": "<span foreground='#fab387'>{icon}</span> {volume}%", - "format-muted": " ", - "format-source": "", - "format-source-muted": "", - //"format-muted": "<span foreground='#fab387'> </span>", - //"format-icons": [ "<span foreground='#fab387'></span>" ] - "format-icons": { - "headphone": " ", - "hands-free": " ", - "headset": " ", - "phone": " ", - "portable": " ", - "car": " ", - "default": [" ", " ", " "] - }, - }, - - "tray": { - "icon-size": 15, - "spacing": 5 - } -} diff --git a/.config/waybar/mediaplayer.py b/.config/waybar/mediaplayer.py deleted file mode 100755 index 03dbdeb..0000000 --- a/.config/waybar/mediaplayer.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env python3 -import argparse -import logging -import sys -import signal -import gi -import json -gi.require_version('Playerctl', '2.0') -from gi.repository import Playerctl, GLib - -logger = logging.getLogger(__name__) - - -def write_output(text, player): - logger.info('Writing output') - - output = {'text': text, - 'class': 'custom-' + player.props.player_name, - 'alt': player.props.player_name} - - sys.stdout.write(json.dumps(output) + '\n') - sys.stdout.flush() - - -def on_play(player, status, manager): - logger.info('Received new playback status') - on_metadata(player, player.props.metadata, manager) - - -def on_metadata(player, metadata, manager): - logger.info('Received new metadata') - track_info = '' - - if player.props.player_name == 'spotify' and \ - 'mpris:trackid' in metadata.keys() and \ - ':ad:' in player.props.metadata['mpris:trackid']: - track_info = 'AD PLAYING' - elif player.get_artist() != '' and player.get_title() != '': - track_info = '{artist} - {title}'.format(artist=player.get_artist(), - title=player.get_title()) - else: - track_info = player.get_title() - - if player.props.status != 'Playing' and track_info: - track_info = ' ' + track_info - write_output(track_info, player) - - -def on_player_appeared(manager, player, selected_player=None): - if player is not None and (selected_player is None or player.name == selected_player): - init_player(manager, player) - else: - logger.debug("New player appeared, but it's not the selected player, skipping") - - -def on_player_vanished(manager, player): - logger.info('Player has vanished') - sys.stdout.write('\n') - sys.stdout.flush() - - -def init_player(manager, name): - logger.debug('Initialize player: {player}'.format(player=name.name)) - player = Playerctl.Player.new_from_name(name) - player.connect('playback-status', on_play, manager) - player.connect('metadata', on_metadata, manager) - manager.manage_player(player) - on_metadata(player, player.props.metadata, manager) - - -def signal_handler(sig, frame): - logger.debug('Received signal to stop, exiting') - sys.stdout.write('\n') - sys.stdout.flush() - # loop.quit() - sys.exit(0) - - -def parse_arguments(): - parser = argparse.ArgumentParser() - - # Increase verbosity with every occurance of -v - parser.add_argument('-v', '--verbose', action='count', default=0) - - # Define for which player we're listening - parser.add_argument('--player') - - return parser.parse_args() - - -def main(): - arguments = parse_arguments() - - # Initialize logging - logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, - format='%(name)s %(levelname)s %(message)s') - - # Logging is set by default to WARN and higher. - # With every occurrence of -v it's lowered by one - logger.setLevel(max((3 - arguments.verbose) * 10, 0)) - - # Log the sent command line arguments - logger.debug('Arguments received {}'.format(vars(arguments))) - - manager = Playerctl.PlayerManager() - loop = GLib.MainLoop() - - manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player)) - manager.connect('player-vanished', on_player_vanished) - - signal.signal(signal.SIGINT, signal_handler) - signal.signal(signal.SIGTERM, signal_handler) - - for player in manager.props.player_names: - if arguments.player is not None and arguments.player != player.name: - logger.debug('{player} is not the filtered player, skipping it' - .format(player=player.name) - ) - continue - - init_player(manager, player) - - loop.run() - - -if __name__ == '__main__': - main() - diff --git a/.config/waybar/modules/mail.py b/.config/waybar/modules/mail.py deleted file mode 100755 index 31958f7..0000000 --- a/.config/waybar/modules/mail.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import os -import imaplib - -import mailsecrets - -def getmails(username, password, server): - imap = imaplib.IMAP4_SSL(server, 993) - imap.login(username, password) - imap.select('INBOX') - ustatus, uresponse = imap.uid('search', None, 'UNSEEN') - if ustatus == 'OK': - unread_msg_nums = uresponse[0].split() - else: - unread_msg_nums = [] - - fstatus, fresponse = imap.uid('search', None, 'FLAGGED') - if fstatus == 'OK': - flagged_msg_nums = fresponse[0].split() - else: - flagged_msg_nums = [] - - return [len(unread_msg_nums), len(flagged_msg_nums)] - -ping = os.system("ping " + mailsecrets.server + " -c1 > /dev/null 2>&1") -if ping == 0: - mails = getmails(mailsecrets.username, mailsecrets.password, mailsecrets.server) - text = '' - alt = '' - - if mails[0] > 0: - text = alt = str(mails[0]) - if mails[1] > 0: - alt = str(mails[1]) + " " + alt - else: - exit(1) - - print('{"text":"' + text + '", "alt": "' + alt + '"}') - -else: - exit(1) - diff --git a/.config/waybar/modules/spotify.sh b/.config/waybar/modules/spotify.sh deleted file mode 100755 index 1d13620..0000000 --- a/.config/waybar/modules/spotify.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -class=$(playerctl metadata --player=spotify --format '{{lc(status)}}') -icon="" - -if [[ $class == "playing" ]]; then - info=$(playerctl metadata --player=spotify --format '{{artist}} - {{title}}') - if [[ ${#info} > 40 ]]; then - info=$(echo $info | cut -c1-40)"..." - fi - text=$info" "$icon -elif [[ $class == "paused" ]]; then - text=$icon -elif [[ $class == "stopped" ]]; then - text="" -fi - -echo -e "{\"text\":\""$text"\", \"class\":\""$class"\"}" - diff --git a/.config/waybar/modules/storage.sh b/.config/waybar/modules/storage.sh deleted file mode 100755 index 90cc3dc..0000000 --- a/.config/waybar/modules/storage.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -mount="/" -warning=20 -critical=10 - -df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical ' -/\/.*/ { - text=$4 - tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6 - use=$5 - exit 0 -} -END { - class="" - gsub(/%$/,"",use) - if ((100 - use) < critical) { - class="critical" - } else if ((100 - use) < warning) { - class="warning" - } - print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}" -} -' - diff --git a/.config/waybar/modules/weather.sh b/.config/waybar/modules/weather.sh deleted file mode 100755 index 2ddeee2..0000000 --- a/.config/waybar/modules/weather.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -cachedir=~/.cache/rbn -cachefile=${0##*/}-$1 - -if [ ! -d $cachedir ]; then - mkdir -p $cachedir -fi - -if [ ! -f $cachedir/$cachefile ]; then - touch $cachedir/$cachefile -fi - -# Save current IFS -SAVEIFS=$IFS -# Change IFS to new line. -IFS=$'\n' - -cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile"))) -if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then - data=($(curl -s https://en.wttr.in/$1\?0qnT 2>&1)) - echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile - echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile - echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile -fi - -weather=($(cat $cachedir/$cachefile)) - -# Restore IFSClear -IFS=$SAVEIFS - -temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]])+\.\./\1 to /g') - -#echo ${weather[1]##*,} - -# https://fontawesome.com/icons?s=solid&c=weather -case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in -"clear" | "sunny") - condition="" - ;; -"partly cloudy") - condition="杖" - ;; -"cloudy") - condition="" - ;; -"overcast") - condition="" - ;; -"mist" | "fog" | "freezing fog") - condition="" - ;; -"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "rain") - condition="" - ;; -"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower") - condition="" - ;; -"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers") - condition="ﭽ" - ;; -"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers") - condition="流" - ;; -"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers") - condition="ﰕ" - ;; -"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder") - condition="" - ;; -*) - condition="" - echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}" - ;; -esac - -#echo $temp $condition - -echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}" - diff --git a/.config/waybar/old-config b/.config/waybar/old-config deleted file mode 100644 index 9f78d67..0000000 --- a/.config/waybar/old-config +++ /dev/null @@ -1,92 +0,0 @@ -{ - "layer": "top", - "position": "top", - "margin-bottom": 0, - "modules-left": [ - "clock", - "custom/separator", - "hyprland/workspaces", - "custom/separator", - "tray" - ], - "modules-center": [ - "hyprland/window" - ], - "modules-right": [ - "network", - "temperature", - "memory", - "cpu", - "pulseaudio", - "battery", - "custom/separator", - "custom/powermenu" - ], - "custom/separator": { - "exec": "echo \"|\"", - "format": "{}" - }, - "tray": { - "icon-size": 16, - "spacing": 8 - }, - "clock": { - "format": " {:%H:%M} ", - "interval": 60, - "tooltip": true, - "tooltip-format": "{:%d %B %H:%M}" - }, - "hyprland/workspaces": { - "format": "{icon}", - "separate-outputs": true, - "active-only": false, - "all-outputs": true - }, - "hyprland/window": { - "format": "{}" - }, - "network": { - "format": " ", - "tooltip-format-ethernet": "{ifname} ", - "interface": "enp34s0", - "interval": 2 - }, - "temperature": { - "format": "{icon} {temperatureC}°C ", - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format-icons": [ - "", - "", - "" - ] - }, - "memory": { - "format": " {}% ", - "tooltip": "false" - }, - "cpu": { - "format": " {usage}% ", - "tooltip": "false" - }, - "pulseaudio": { - "format": " {volume}%", - "scroll-step": 1, - "on-click": "pavucontrol" - }, - "battery": { - "format": "{capacity}% {icon}", - "format-icons": [ - "", - "", - "", - "", - "" - ] - }, - "custom/powermenu": { - "format": " ", - "tooltip": false, - "on-click": "exec wlogout -p layer-shell" - } -} diff --git a/.config/waybar/old-config-hypr b/.config/waybar/old-config-hypr deleted file mode 100644 index 0e713b9..0000000 --- a/.config/waybar/old-config-hypr +++ /dev/null @@ -1,367 +0,0 @@ -{ - // ------------------------------------------------------------------------- - // Global configuration - // ------------------------------------------------------------------------- - - "layer": "top", - - "position": "top", - - //"height": 20, - - "margin-left": 10, - "margin-bottom": 0, - "margin-right": 10, - - "spacing": 5, // Gaps between modules (4px) - - "modules-left": [ - //"custom/rofi", - "hyprland/workspaces", - //"hyprland/submap", - "temperature", - //"idle_inhibitor", - //"mpd" - "custom/media" - ], - "modules-center": [ - //"hyprland/window" - "clock#date", - "custom/weather" - //"custom/gammastep" - ], - "modules-right": [ - "backlight", - "custom/storage", - "memory", - "cpu", - "battery", - //"pulseaudio", - "wireplumber", - "custom/screenshot_t", - "custom/power", - "tray" - ], - - - // ------------------------------------------------------------------------- - // Modules - // ------------------------------------------------------------------------- - - "custom/sp1": { - "format": " | ", - "tooltip": false - }, - "custom/sp2": { - "format": " |", - "tooltip": false - }, - - - "custom/rofi": { - "format": "", - "tooltip": false, - "on-click-right": "nwg-drawer", - "on-click": "wofi --show run", - "on-click-middle": "pkill -9 wofi" - }, - "custom/screenshot_t":{ - "format":"", - "on-click": "~/.config/hypr/scripts/screenshot_full", - "on-click-right":"~/.config/hypr/scripts/screenshot_area" - }, - - "clock#1": { - "format": " {:%a}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#2": { - "format": " {:%d-%h-%Y}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#3": { - "format": " {:%H:%M:%S %p}", - "tooltip": false, - "on-click": "gsimplecal" - }, - - "temperature": { - // "thermal-zone": 1, - "interval": 4, - //"hwmon-path": "/sys/class/hwmon/hwmon3/temp1_input", - "critical-threshold": 80, - // "format-critical": " {temperatureC}°C", - "format-critical": " {temperatureC}°C", - "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", ""], - "max-length": 7, - "min-length": 7, - "on-click": "xsensors" - }, - - "memory": { - "interval": 30, - "format": " {used:0.2f} / {total:0.0f} GB", - "on-click": "alacritty -e btop" - }, - - "battery": { - "interval": 2, - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-icons": [ - "", - "", - "", - "", - "" - ] - }, - "network": { - "format-wifi": " {essid} ({signalStrength}%)", - "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", - "format-linked": "{ifname} (No IP) ", - "format": "", - "format-disconnected": "", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", - "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", - "tooltip-format": " {bandwidthUpBits} {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", - "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits} {bandwidthDownBits}", - "interval": 10 - }, - "custom/storage": { - "format": " {}", - "format-alt": "{percentage}% ", - "format-alt-click": "click-right", - "return-type": "json", - "interval": 60, - "exec": "~/.config/waybar/modules/storage.sh" - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon} {percent}%", - "format-alt": "{percent}% {icon}", - "format-alt-click": "click-right", - //"format-icons": ["", ""], - "format-icons": ["", ""], - "on-scroll-down": "brightnessctl s 5%-", - "on-scroll-up": "brightnessctl s +5%" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - }, - "tooltip": "true" - }, - "custom/weather": { - "format": "{}", - "format-alt": "{alt}: {}", - "format-alt-click": "click-right", - "interval": 3600, - "exec": "curl -s 'https://wttr.in/?format=1'", - //"return-type": "json", - //"exec": "~/.config/waybar/modules/weather.sh", - "exec-if": "ping wttr.in -c1" - }, - "custom/pacman": { - "format": "<big></big> {}", - "interval": 3600, // every hour - "exec": "checkupdates | wc -l", // # of updates - "exec-if": "exit 0", // always run; consider advanced run conditions - "on-click": "alacritty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system - "signal": 8, - "max-length": 5, - "min-length": 3 - }, - - "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 - }, - - "custom/power": { - "format": "", - "tooltip": false, - "on-click": "wlogout" - }, - - "clock": { - "format": " {:%H:%M %e %b}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "today-format": "<b>{}</b>" - }, - - "clock#date": { - "format": "❤️ {:%H:%M %e %b}", // Icon: calendar-alt - //"format": "{:%I:%M %p %A %b %d}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "today-format": "<b>{}</b>" - }, - - "custom/gammastep": { - "interval": 5, - "return-type": "json", - "exec": { - "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", - "alt": "${status:-inactive}", - "tooltip": "Gammastep is $status", - }, - "format": "{icon}", - "format-icons": { - "activating": " ", - "deactivating": " ", - "inactive": "? ", - "active (Night)": " ", - "active (Nighttime)": " ", - "active (Transition (Night)": " ", - "active (Transition (Nighttime)": " ", - "active (Day)": " ", - "active (Daytime)": " ", - "active (Transition (Day)": " ", - "active (Transition (Daytime)": " ", - }, - "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep", - }, - - "cpu": { - "interval": 1, - //"format": " {}%", // Icon: microchip - "format": "{max_frequency}GHz <span color=\"darkgray\">| {usage}%</span>", - "max-length": 13, - "min-length": 13 - }, - - "mpd": { - "max-length": 25, - "format": "<span foreground='#bb9af7'></span> {title}", - "format-paused": " {title}", - "format-stopped": "<span foreground='#bb9af7'></span>", - "format-disconnected": "", - "on-click": "mpc --quiet toggle", - "on-click-right": "mpc update; mpc ls | mpc add", - "on-click-middle": "alacritty -e ncmpcpp", - "on-scroll-up": "mpc --quiet prev", - "on-scroll-down": "mpc --quiet next", - "smooth-scrolling-threshold": 5, - "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" - }, - - "custom/title": { - "format": "{}", - "interval": 0, - "return-type": "json", - //"max-length": 35, - "tooltip": false - }, - - "custom/title#name": { - "format": "{}", - "interval": 0, - "return-type": "json", - - "max-length": 35, - "exec": "$HOME/.scripts/title" - }, - - /*"custom/keyboard": { - "format": " {}", - "interval": 1, - "exec": "$HOME/.config/waybar/get_kbdlayout.sh" - },*/ - - "hyprland/workspaces": { - "all-outputs": true, - "format": "{name}", - "format-icons": { - "1": "一", - "2": "二", - "3": "三", - "4": "四", - "5": "五", - "6": "六", - "7": "七", - "8": "八", - "9": "九", - "10": "十", - }, - "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", - "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", - "sort-by-number": true, - "active-only": false, - }, - - "hyprland/window": { - "max-length": 100, - "separate-outputs": true - }, - - "pulseaudio": { - "scroll-step": 3, // %, can be a float - "format": "{icon} {volume}% {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-source": "", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle" - }, - - "wireplumber": { - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle 1>/dev/null", - //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; - //on-scroll-down: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+"; - //on-scroll-up: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-"; - "format": "<span foreground='#fab387'>{icon}</span> {volume}%", - "format-muted": " ", - "format-source": "", - "format-source-muted": "", - //"format-muted": "<span foreground='#fab387'> </span>", - //"format-icons": [ "<span foreground='#fab387'></span>" ] - "format-icons": { - "headphone": " ", - "hands-free": " ", - "headset": " ", - "phone": " ", - "portable": " ", - "car": " ", - "default": [" ", " ", " "] - }, - }, - - "tray": { - "icon-size": 15, - "spacing": 5 - } -} diff --git a/.config/waybar/old-style.css b/.config/waybar/old-style.css deleted file mode 100644 index a3fbfc9..0000000 --- a/.config/waybar/old-style.css +++ /dev/null @@ -1,64 +0,0 @@ -* { - font-family: "Fira Code"; -} - -#waybar { - background: #171717; - color: #fff; -} - -#clock { - color: #fff; -} - -#tray { - padding-left: 2px; -} - -#workspaces button:hover { - background-color: transparent; -} - -#workspaces button { - color: #737373; - padding-left: 2px; - padding-right: 2px; - border: none; -} - -#workspaces button.active { - color: #84cc16; -} - -#window { - color: #fff; -} - -#network { - color: #3b82f6; - margin-right: 8px; -} - -#pulseaudio { - color: #14b8a6; - margin-right: 4px; -} - -#cpu { - color: #0ea5e9; - margin-right: 4px; -} - -#temperature { - color: #eab308; - margin-right: 4px; -} - -#memory { - color: #d946ef; - margin-right: 4px; -} - -#custom-powermenu { - color: #f43f5e; -} diff --git a/.config/waybar/style.css b/.config/waybar/style.css index ce9310f..bfa642d 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,68 +1,77 @@ -* { - font-family: "Fira Code"; -} -#waybar { - background: #171717; - color: #fff; -} -#clock { - color: #fff; -} - -#tray { - padding-left: 4px; +* { + font-family: "DejaVu Sans Mono", "Symbols Nerd Font"; + font-size: 14px; } -#workspaces button:hover { - background-color: transparent; +window#waybar { + background-color: rgba(13, 27, 42, 0.5); + color: rgba(228, 228, 239, 1); + border: 1px solid rgba(238, 171, 196, 0.8); + border-radius: 10px; } -#workspaces button { - color: #737373; - padding-left: 4px; - padding-right: 4px; - border-radius: 0px; +#window { + margin: 0 10px; } -#workspaces button:hover { - background-color: #262626; +.modules-right:last-child { + /* background-color: rgba(51, 102, 0, 0.5); */ + /* margin: 0 2px 0 0; */ + margin-right: 10px; + /* padding: 0 3px; */ } -#workspaces button.active { - color: #84cc16; +.modules-center { + /* background-color: #1d1f21; */ + /* background-color: #2a3f38; */ + /* background-color: rgba(51, 102, 0, 0.5); */ + /* margin: 0 0 0 0; */ + /* padding: 0 3px; */ } -#window { - color: #fff; +.modules-left { + /* background-color: #1d1f21; */ + /* background-color: #2a3f38; */ + /* background-color: rgba(51, 102, 0, 0.5); */ + /* margin: 0 0 0 2px; */ + /* padding: 0 3px 0 0; */ } -#network { - color: #3b82f6; - margin-right: 8px; +tooltip { + background-color: rgba(13, 27, 42, 1); + color: rgba(228, 228, 239, 1); + border: 1px solid rgba(238, 171, 196, 0.8); + border-radius: 10px; } -#pulseaudio { - color: #14b8a6; - margin-right: 4px; +#workspaces button { + color: rgba(228, 228, 239, 1); + /* padding: 0 3px; */ } -#cpu { - color: #0ea5e9; - margin-right: 4px; +#workspaces button.focused { + color: rgba(238, 171, 196, 0.8); } -#temperature { - color: #eab308; - margin-right: 4px; +#workspaces button.active { + color: rgba(238, 171, 196, 0.8); } -#memory { - color: #d946ef; - margin-right: 4px; +#workspaces button:hover { + background: transparent; + border-color: rgba(238, 171, 196, 0.8); + box-shadow: none; + text-shadow: none; } -#custom-powermenu { - color: #f43f5e; +#network, +#wireplumber, +#custom-brightness, +#battery, +#cpu, +#memory, +#clock { + padding: 0 10px; } diff --git a/.config/waybar/waybar.sh b/.config/waybar/waybar.sh deleted file mode 100755 index 720620c..0000000 --- a/.config/waybar/waybar.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env sh - -# Terminate already running bar instances -killall -q waybar - -# Wait until the processes have been shut down -while pgrep -x waybar >/dev/null; do sleep 1; done - -# Launch main -waybar diff --git a/.stow-local-ignore b/.stow-local-ignore new file mode 100644 index 0000000..0ae4a8e --- /dev/null +++ b/.stow-local-ignore @@ -0,0 +1,9 @@ +/files +/scripts +.*~undo-tree~ +/.git +.gitignore +README.md +install.sh +/wallpapers +#.*#
\ No newline at end of file diff --git a/fish/.config/fish/auto-Hypr.fish b/fish/.config/fish/auto-Hypr.fish deleted file mode 100644 index c3c1890..0000000 --- a/fish/.config/fish/auto-Hypr.fish +++ /dev/null @@ -1,5 +0,0 @@ -# Auto start Hyprland on tty1 -if test -z "$DISPLAY" ;and test "$XDG_VTNR" -eq 1 - mkdir -p ~/.cache - exec Hyprland > ~/.cache/hyprland.log ^&1 -end diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish deleted file mode 100644 index 400596f..0000000 --- a/fish/.config/fish/config.fish +++ /dev/null @@ -1,144 +0,0 @@ -# custom greeting -set KERNEL (uname -r) -set fish_greeting (set_color --bold efcf40)">"(set_color ef9540)"<"(set_color ea3838)">" \ - (set_color normal)"fish $FISH_VERSION" \ - (set_color normal)"| $KERNEL - " - -function fish_user_key_bindings - fish_vi_key_bindings - - # set kj to <Esc> - bind -M insert -m default kj backward-char force-repaint -end - -# remove default clock -function fish_right_prompt - echo (set_color e5e5e5)"$USER"@(hostname) -end - -# indicator for vi -function fish_mode_prompt - switch "$fish_bind_mode" - case "default" - echo -n (set_color f43f5e)"𝓷" - case "insert" - echo -n (set_color 84cc16)"𝒾" - case "visual" - echo -n (set_color 8b5cf6)"𝓿" - case "*" - echo -n "?" - end - - echo -n " " -end - -# custom prompt -function fish_prompt - set_color --bold 4086ef - - set transformed_pwd (prompt_pwd | string replace -r "^~" (set_color --bold 06b6d4)"~"(set_color --bold 3b82f6)) - - echo -n $transformed_pwd - - # git branch - if git rev-parse --is-inside-work-tree >/dev/null 2>&1 - #space - echo -n " " - - echo -n (set_color --bold 4338ca)"(" - - set_color f0abfc - echo -n (git branch --show-current) - - echo -n (set_color --bold 4338ca)")" - set_color normal - end - - # space - echo -n " " - - # arrows - # echo -n (set_color --bold efcf40)"❱" - # echo -n (set_color --bold ef9540)"❱" - # echo -n (set_color --bold ea3838)"❱" - - echo -n (set_color --bold 14b8a6)"→" - - #space - echo -n " " - - set_color normal -end - -# set environment variables -set -x PATH $PATH:/usr/local/bin:/opt/bin - -# set editor -set -x EDITOR "code" - -# for hyprland -set -x WLR_NO_HARDWARE_CURSORS 1 - -# wayland -set -x GDK_BACKEND wayland -set -x QT_QPA_PLATFORM wayland - -# fzf -export FZF_DEFAULT_OPTS=" ---bind='ctrl-j:down,ctrl-k:up,ctrl-t:toggle-all,ctrl-v:toggle-preview,ctrl-space:toggle-preview' ---color=fg:#ffffff,hl:#00ff00,fg+:#a5b4fc,bg+:#737373,hl+:#ffff00,info:#14b8a6,spinner:#00ffff,pointer:#f59e0b -" - -alias ls "exa --icons" -alias treelist "tree -a -I '.git'" -alias fetch "fastfetch --localip-show-ipv4 false" - -# TokyoNight Color Palette from https://github.com/folke/tokyonight.nvim/blob/main/extras/fish/tokyonight_storm.fish -set -l foreground c0caf5 -# changed from default -set -l selection 6366f1 -# changed from default -set -l comment 737373 -set -l red f7768e -set -l orange ff9e64 -set -l yellow e0af68 -set -l green 9ece6a -set -l purple 9d7cd8 -set -l cyan 7dcfff -set -l pink bb9af7 - -# Syntax Highlighting Colors -set -g fish_color_normal $foreground -set -g fish_color_command $cyan -set -g fish_color_keyword $pink -set -g fish_color_quote $yellow -set -g fish_color_redirection $foreground -set -g fish_color_end $orange -set -g fish_color_error $red -set -g fish_color_param $purple -set -g fish_color_comment $comment -set -g fish_color_selection --background=$selection -set -g fish_color_search_match --background=$selection -set -g fish_color_operator $green -set -g fish_color_escape $pink -set -g fish_color_autosuggestion $comment - -# Completion Pager Colors -set -g fish_pager_color_progress $comment -set -g fish_pager_color_prefix $cyan -set -g fish_pager_color_completion $foreground -set -g fish_pager_color_description $comment -set -g fish_pager_color_selected_background --background=$selection - -# bun -set --export BUN_INSTALL "$HOME/.bun" -set --export PATH $BUN_INSTALL/bin $PATH - -# pnpm -set -gx PNPM_HOME "/home/mh/.local/share/pnpm" -if not string match -q -- $PNPM_HOME $PATH - set -gx PATH "$PNPM_HOME" $PATH -end -# pnpm end - diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables deleted file mode 100755 index bee8cd5..0000000 --- a/fish/.config/fish/fish_variables +++ /dev/null @@ -1,79 +0,0 @@ -# This file contains fish universal variable definitions. -# VERSION: 3.0 -SETUVAR __fish_initialized:3400 -SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish -SETUVAR _fisher_plugins:jorgebucaran/fisher -SETUVAR _fisher_upgraded_to_4_4:\x1d -SETUVAR fish_color_autosuggestion:555\x1ebrblack -SETUVAR fish_color_cancel:\x2dr -SETUVAR fish_color_command:blue -SETUVAR fish_color_comment:red -SETUVAR fish_color_cwd:green -SETUVAR fish_color_cwd_root:red -SETUVAR fish_color_end:green -SETUVAR fish_color_error:brred -SETUVAR fish_color_escape:brcyan -SETUVAR fish_color_history_current:\x2d\x2dbold -SETUVAR fish_color_host:normal -SETUVAR fish_color_host_remote:yellow -SETUVAR fish_color_normal:normal -SETUVAR fish_color_operator:brcyan -SETUVAR fish_color_param:cyan -SETUVAR fish_color_quote:yellow -SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold -SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d111 -SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack -SETUVAR fish_color_status:red -SETUVAR fish_color_user:brgreen -SETUVAR fish_color_valid_path:\x2d\x2dunderline -SETUVAR fish_key_bindings:fish_vi_key_bindings -SETUVAR fish_pager_color_completion:normal -SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di -SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dbold\x1e\x2d\x2dunderline -SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan -SETUVAR fish_pager_color_selected_background:\x2dr -SETUVAR pure_begin_prompt_with_current_directory:true -SETUVAR pure_check_for_new_release:false -SETUVAR pure_color_at_sign:pure_color_mute -SETUVAR pure_color_command_duration:pure_color_warning -SETUVAR pure_color_current_directory:pure_color_primary -SETUVAR pure_color_danger:red -SETUVAR pure_color_dark:black -SETUVAR pure_color_git_branch:pure_color_mute -SETUVAR pure_color_git_dirty:pure_color_mute -SETUVAR pure_color_git_stash:pure_color_info -SETUVAR pure_color_git_unpulled_commits:pure_color_info -SETUVAR pure_color_git_unpushed_commits:pure_color_info -SETUVAR pure_color_hostname:pure_color_mute -SETUVAR pure_color_info:cyan -SETUVAR pure_color_jobs:pure_color_normal -SETUVAR pure_color_light:white -SETUVAR pure_color_mute:brblack -SETUVAR pure_color_normal:normal -SETUVAR pure_color_prefix_root_prompt:pure_color_danger -SETUVAR pure_color_primary:blue -SETUVAR pure_color_prompt_on_error:pure_color_danger -SETUVAR pure_color_prompt_on_success:pure_color_success -SETUVAR pure_color_success:magenta -SETUVAR pure_color_system_time:pure_color_mute -SETUVAR pure_color_username_normal:pure_color_mute -SETUVAR pure_color_username_root:pure_color_light -SETUVAR pure_color_virtualenv:pure_color_mute -SETUVAR pure_color_warning:yellow -SETUVAR pure_enable_git:true -SETUVAR pure_enable_single_line_prompt:false -SETUVAR pure_reverse_prompt_symbol_in_vimode:true -SETUVAR pure_separate_prompt_on_error:false -SETUVAR pure_show_jobs:false -SETUVAR pure_show_prefix_root_prompt:false -SETUVAR pure_show_subsecond_command_duration:false -SETUVAR pure_show_system_time:false -SETUVAR pure_symbol_git_dirty:\x2a -SETUVAR pure_symbol_git_stash:\u2261 -SETUVAR pure_symbol_git_unpulled_commits:\u21e3 -SETUVAR pure_symbol_git_unpushed_commits:\u21e1 -SETUVAR pure_symbol_prefix_root_prompt:\x23 -SETUVAR pure_symbol_prompt:\u276f -SETUVAR pure_symbol_reverse_prompt:\u276e -SETUVAR pure_symbol_title_bar_separator:\x2d -SETUVAR pure_threshold_command_duration:5 diff --git a/hypr/.config/hypr/hyprpaper.conf b/hypr/.config/hypr/hyprpaper.conf deleted file mode 100644 index af1318f..0000000 --- a/hypr/.config/hypr/hyprpaper.conf +++ /dev/null @@ -1,13 +0,0 @@ -$wallpapername = fogForest-transformed2.png - -preload = ~/.dotfiles/wallpapers/$wallpapername - -wallpaper = DP-1,~/.dotfiles/wallpapers/$wallpapername -wallpaper = DP-2,~/.dotfiles/wallpapers/$wallpapername -# .. more monitors - -# disable messages on bottom -splash = false - -# fully disable ipc -# ipc = off diff --git a/hypr/.config/hypr/monitors.conf b/hypr/.config/hypr/monitors.conf deleted file mode 100644 index d839996..0000000 --- a/hypr/.config/hypr/monitors.conf +++ /dev/null @@ -1,25 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-1,2560x1440@144,0x0,auto -#monitor=DP-2,1920x1080@60,2560x0,auto - -# FOR HYPRSOME (MULTIPLE MONITORS) -workspace=1,monitor:DP-1 -workspace=2,monitor:DP-1 -workspace=3,monitor:DP-1 -workspace=4,monitor:DP-1 -workspace=5,monitor:DP-1 -workspace=6,monitor:DP-1 -workspace=7,monitor:DP-1 -workspace=8,monitor:DP-1 -workspace=9,monitor:DP-1 -workspace=10,monitor:DP-1 - -workspace=11,monitor:DP-2 -workspace=12,monitor:DP-2 -workspace=13,monitor:DP-2 -workspace=14,monitor:DP-2 -workspace=15,monitor:DP-2 -workspace=17,monitor:DP-2 -workspace=18,monitor:DP-2 -workspace=19,monitor:DP-2 -workspace=110,monitor:DP-2 diff --git a/scripts/colors b/scripts/colors new file mode 100755 index 0000000..1abfd0e --- /dev/null +++ b/scripts/colors @@ -0,0 +1,17 @@ +#!/bin/bash +T='gYw' # The test text + +echo -e "\n 40m 41m 42m 43m\ + 44m 45m 46m 47m"; + +for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ + '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ + ' 36m' '1;36m' ' 37m' '1;37m'; + do FG=${FGs// /} + echo -en " $FGs \033[$FG $T " + for BG in 40m 41m 42m 43m 44m 45m 46m 47m; + do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; + done + echo; +done +echo diff --git a/scripts/git-ps1 b/scripts/git-ps1 new file mode 100755 index 0000000..0b860cd --- /dev/null +++ b/scripts/git-ps1 @@ -0,0 +1,9 @@ +#!/bin/sh +out=$(git branch --show-current 2>/dev/null) +if [ -z "$out" ] ; then + out="" +else + out="($out) " +fi +echo -n "$out" + diff --git a/scripts/git-ps1~ b/scripts/git-ps1~ new file mode 100644 index 0000000..22093d4 --- /dev/null +++ b/scripts/git-ps1~ @@ -0,0 +1,9 @@ +#!/bin/sh +out=$(git branch --show-current) +if [ -z "$out" ] then + out-"" +else + out="($out)" +fi +echo -n "($out)" +
\ No newline at end of file diff --git a/scripts/restart b/scripts/restart new file mode 100755 index 0000000..8528a0a --- /dev/null +++ b/scripts/restart @@ -0,0 +1,3 @@ +#!/bin/sh +pkill -x "$1" +$1 & diff --git a/scripts/restartemacs b/scripts/restartemacs new file mode 100755 index 0000000..7f2cee4 --- /dev/null +++ b/scripts/restartemacs @@ -0,0 +1,3 @@ +#!/bin/sh +pkill -x emacs +emacs --daemon diff --git a/scripts/startup b/scripts/startup new file mode 100755 index 0000000..6a423a2 --- /dev/null +++ b/scripts/startup @@ -0,0 +1,8 @@ +#!/bin/sh +gpgconf -K gpg-agent +restartemacs >/dev/null & +pipewire & +mpd & +dunst & +waybar & +gpg-agent --daemon diff --git a/scripts/startup~ b/scripts/startup~ new file mode 100755 index 0000000..f0da64f --- /dev/null +++ b/scripts/startup~ @@ -0,0 +1,10 @@ +#!/bin/sh +backlightctrl -set 10 +gpgconf -K gpg-agent +restartsearxng & +restartemacs >/dev/null & +pipewire & +mpd & +dunst & +waybar & +gpg-agent --daemon |
