diff options
126 files changed, 7 insertions, 16209 deletions
diff --git a/.gitmodules b/.gitmodules index b3d9f09..f477143 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,9 +7,3 @@ [submodule "qutebrowser/jmatrix"] path = qutebrowser/jmatrix url = https://gitlab.com/jgkamat/jmatrix.git -[submodule "awesome/bling"] - path = awesome/bling - url = https://github.com/BlingCorp/bling.git -[submodule "awesome/awesome-wm-widgets"] - path = awesome/awesome-wm-widgets - url = https://git.zachir.xyz/awesome-wm-widgets.git @@ -55,6 +55,7 @@ install-shconfigs: $(SCONFS) @echo "Installing sh conf files..." @echo ".profile..." @ln -sf `pwd`/sh/profile ~/.profile + @echo "Done." vimplug-vim: installers/vimplug_vim.sh ifdef VIM diff --git a/X11/xinitrc b/X11/xinitrc deleted file mode 100755 index e949fbc..0000000 --- a/X11/xinitrc +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -[ -x ~/.screenlayout/layout.sh ] && ~/.screenlayout/layout.sh -xwallpaper --zoom ~/Pictures/background.png & -picom & -setxkbmap -option "caps:escape" & -systemctl --user start dunst & -sxhkd & -xss-lock slockd & -xrdb ~/.config/X11/xresources -exec dwm diff --git a/X11/xprofile b/X11/xprofile deleted file mode 100755 index 1a24852..0000000 --- a/X11/xprofile +++ /dev/null @@ -1 +0,0 @@ -#!/bin/sh diff --git a/X11/xresources b/X11/xresources deleted file mode 100644 index 2624d72..0000000 --- a/X11/xresources +++ /dev/null @@ -1,461 +0,0 @@ -!! dmenu - -dmenu.font: JetBrainsMono Nerd Font:size=15 - -dmenu.selbackground: #198844 -dmenu.selforeground: #000000 -dmenu.hibackground: #000000 -dmenu.hiforeground: #39c1ed -dmenu.selhibackground: #198844 -dmenu.selhiforeground: #39c1ed - -!! dwm - -dwm.normbgcolor: #000000 -dwm.normbordercolor: #1b1d1c -dwm.normfgcolor: #ffffff -dwm.selbgcolor: #198844 -dwm.selbordercolor: #198844 -dwm.selfgcolor: #ffffff -dwm.urgfgcolor: #ffffff -dwm.urgbordercolor: #198844 -dwm.urgbgcolor: #cc342b -dwm.borderpx: 3 -dwm.gappx: 6 -dwm.snap: 32 -dwm.showbar: 1 -dwm.topbar: 1 -dwm.nmaster: 1 -dwm.resizehints: 1 -dwm.mfact: 0.50 - -!! st - -! These options only take effect on startup. -st.termname: st-256color -! if you do not set shell, precedence is: -e arg, utmp option, SHELL env var, /etc/passwd shell -st.shell: /usr/bin/tmux - -! The following options options can be reloaded via USR1 signal. -!st.font: JetBrainsMono Nerd Font:pixelsize=12:antialias=true:autohint=true; -!st.font2: Symbola:pixelsize=12:antialias=true:autohint=true; -st.borderpx: 3 -! st alpha -st.alpha: 0.8 -st.alphaUnfocused: 0.8 -! Available cursor values: 2 4 6 7 = █ _ | ☃ ( 1 3 5 are blinking versions) -st.cursorshape: 6 -! thickness of underline and bar cursors -st.cursorthickness: 2 -! 0: normal blinking, 1: leave cursor border and blink with cursor''s background -st.cursorblinkstyle: 0 -! 0: cursor blinks with a constant interval; 1: blinking cycle resets on key input -st.cursorblinkontype: 1 -! st.bold_font: 0 -st.xfps: 120 -st.actionfps: 60 -! Amount of lines scrolled -st.mouseScrollLines: 1 -! Kerning / character bounding-box height multiplier -st.chscale: 1.0 -! Kerning / character bounding-box width multiplier -st.cwscale: 1.0 -! blinking timeout for terminal and cursor blinking (0 disables) -st.blinktimeout: 800 -! bell volume. Value between -100 and 100. (0 disables) -st.bellvolume: 0 -! this is a char that is exposed like so: `printf '\033[z'` -st.prompt_char: $ -! This option is can be preedit style. Available values: `root` `overthespot` (Default taken `root`) -st.imstyle: root -! This option sets the number of spaces for a tab -st.tabspaces: 2 - -!! RXVT-Unicode (urxvt) config -! do not scroll with output -URxvt.scrollTtyOutput: false -! scroll in relation to buffer (with mouse scroll or Shift+Page Up) -URxvt.scrollWithBuffer: true -! scroll back to the bottom on keypress -URxvt.scrollTtyKeypress: true -! disable scrollback buffer for secondary screen -URxvt.secondaryScreen: 1 -URxvt.secondaryScroll: 0 -URxvt.secondaryWheel: 1 -! URxvt font -URxvt.font: xft:JetBrainsMono:regular:size=8,xft:symbola:regular:size=9 -! fix font spacing -URxvt.letterSpace: -1 -! Disable printing -URxvt.print-pipe: "cat > /dev/null" -! disable iso14755 -URxvt.iso14755: false -URxvt.iso14755_52: false -! enable transparency -URxvt.depth: 32 -URxvt.background: rgba:0000/0000/0200/c800 -! disable scrollbar -URxvt.scrollBar: false - -!! perls -! perls -URxvt.perl-ext: default,url-select,tabbed,resize-font,clipboard -! clipboard -URxvt.clipboard.autocopy: true -URxvt.keysym.Shift-Control-C: perl:clipboard:copy -URxvt.keysym.Shift-Control-V: perl:clipboard:paste -! url-select -URxvt.keysum.M-u: perl:url-select:select-next -URxvt.url-select.launcher: /usr/bin/xdg-open -URxvt.url-select.underline: true -! tabbed -URxvt.tabbed.tabbar-fg: 2 -URxvt.tabbed.tabbar-bg: 0 -URxvt.tabbed.tab-fg: 3 -URxvt.tabbed.tab-bg: 0 -! resize-font -URxvt.keysym.C-Minus: resize-font:smaller -URxvt.keysym.C-Plus: resize-font:bigger - -! "Enabled modi" Set from: Default -rofi.modi: window,run,ssh,drun.5 -! "Window width" Set from: Default -rofi.width: 1366 -! "Number of lines" Set from: Default -! rofi.lines: 15 -! "Number of columns" Set from: Default -! rofi.columns: 1 -! "Font to use" Set from: Default -rofi.font: JetBrainsMono 9 -! "Border width" Set from: Default -! rofi.bw: 1 -! "Location on screen" Set from: Default -rofi.location: 2 -! "Padding" Set from: Default -! rofi.padding: 5 -! "Y-offset relative to location" Set from: Default -! rofi.yoffset: 0 -! "X-offset relative to location" Set from: Default -! rofi.xoffset: 0 -! "Always show number of lines" Set from: Default -! rofi.fixed-num-lines: true -! "Whether to load and show icons" Set from: Default -! rofi.show-icons: false -! "Terminal to use" Set from: Default -! rofi.terminal: rofi-sensible-terminal -! "Ssh client to use" Set from: Default -! rofi.ssh-client: ssh -! "Ssh command to execute" Set from: Default -! rofi.ssh-command: {terminal} -e {ssh-client} {host} [-p {port}] -! "Run command to execute" Set from: Default -! rofi.run-command: {cmd} -! "Command to get extra run targets" Set from: Default -! rofi.run-list-command: -! "Run command to execute that runs in shell" Set from: Default -! rofi.run-shell-command: {terminal} -e {cmd} -! "Command to executed when -kb-accept-alt binding is hit on selected window " Set from: Default -! rofi.window-command: wmctrl -i -R {window} -! "Window fields to match in window mode" Set from: Default -! rofi.window-match-fields: all -! "Theme to use to look for icons" Set from: Default -! rofi.icon-theme: -! "Desktop entry fields to match in drun" Set from: Default -! rofi.drun-match-fields: name,generic,exec,categories,keywords -! "Only show Desktop entry from these categories" Set from: Default -! rofi.drun-categories: -! "Desktop entry show actions." Set from: Default -! rofi.drun-show-actions: false -! "DRUN format string. (Supports: generic,name,comment,exec,categories)" Set from: Default -! rofi.drun-display-format: {name} [<span weight='light' size='small'><i>({generic})</i></span>] -! "Command to open an Desktop Entry that is a Link." Set from: Default -! rofi.drun-url-launcher: xdg-open -! "Disable history in run/ssh" Set from: Default -! rofi.disable-history: false -! "Programs ignored for history" Set from: Default -! rofi.ignored-prefixes: -! "Use sorting" Set from: Default -! rofi.sort: false -! "Choose the strategy used for sorting: normal (levenshtein) or fzf." Set from: Default -! rofi.sorting-method: normal -! "Set case-sensitivity" Set from: Default -! rofi.case-sensitive: false -! "Cycle through the results list" Set from: Default -! rofi.cycle: true -! "Enable sidebar-mode" Set from: Default -! rofi.sidebar-mode: false -! "Row height (in chars)" Set from: Default -! rofi.eh: 1 -! "Enable auto select mode" Set from: Default -! rofi.auto-select: false -! "Parse hosts file for ssh mode" Set from: Default -! rofi.parse-hosts: false -! "Parse known_hosts file for ssh mode" Set from: Default -! rofi.parse-known-hosts: true -! "Set the modi to combine in combi mode" Set from: Default -! rofi.combi-modi: window,run -! "Set the matching algorithm. (normal, regex, glob, fuzzy)" Set from: Default -! rofi.matching: normal -! "Tokenize input string" Set from: Default -! rofi.tokenize: true -! "Monitor id to show on" Set from: Default -! rofi.m: -5 -! "Margin between rows *DEPRECATED*" Set from: Default -! rofi.line-margin: 2 -! "Padding within rows *DEPRECATED*" Set from: Default -! rofi.line-padding: 1 -! "Pre-set filter" Set from: Default -! rofi.filter: -! "Separator style (none, dash, solid) *DEPRECATED*" Set from: Default -! rofi.separator-style: dash -! "Hide scroll-bar *DEPRECATED*" Set from: Default -! rofi.hide-scrollbar: false -! "Fullscreen" Set from: Default -! rofi.fullscreen: false -! "Fake transparency *DEPRECATED*" Set from: Default -! rofi.fake-transparency: false -! "DPI" Set from: Default -! rofi.dpi: -1 -! "Threads to use for string matching" Set from: Default -! rofi.threads: 0 -! "Scrollbar width *DEPRECATED*" Set from: Default -! rofi.scrollbar-width: 8 -! "Scrolling method. (0: Page, 1: Centered)" Set from: Default -! rofi.scroll-method: 0 -! "Background to use for fake transparency. (background or screenshot) *DEPRECATED*" Set from: Default -! rofi.fake-background: screenshot -! "Window Format. w (desktop name), t (title), n (name), r (role), c (class)" Set from: Default -! rofi.window-format: {w} {c} {t} -! "Click outside the window to exit" Set from: Default -! rofi.click-to-exit: true -! "Indicate how it match by underlining it." Set from: Default -! rofi.show-match: true -! "New style theme file" Set from: Default -! rofi.theme: -! "Color scheme for normal row" Set from: Default -! 'bg' 'fg' 'bgalt' 'hlbg' 'hlfg' -rofi.color-normal: #000000, #b4b7b5, #89231d, #cc342b, #000000 -! "Color scheme for urgent row" Set from: Default -! rofi.color-urgent: -! "Color scheme for active row" Set from: Default -! rofi.color-active: -! "Color scheme window" Set from: Default -! 'background' 'border' 'separator' -rofi.color-window: #1d1f21, #101010, #000000 -! "Max history size (WARNING: can cause slowdowns when set to high)." Set from: Default -! rofi.max-history-size: 25 -! "Hide the prefix mode prefix on the combi view." Set from: Default -! rofi.combi-hide-mode-prefix: false -! "Set the character used to negate the matching. ('\0' to disable)" Set from: Default -! rofi.matching-negate-char: - -! "Directory where history and temporary files are stored." Set from: Default -! rofi.cache-dir: -! "Show window thumbnail (if available) as icon in window switcher." Set from: Default -! rofi.window-thumbnail: false -! "DRUN: build and use a cache with desktop file content." Set from: Default -! rofi.drun-use-desktop-cache: false -! "DRUN: If enabled, reload the cache with desktop file content." Set from: Default -! rofi.drun-reload-desktop-cache: false -! "Normalize string when matching (implies -no-show-match)." Set from: Default -! rofi.normalize-match: false -! "Pidfile location" Set from: Default -! rofi.pid: /run/user/1000/rofi.pid -! "The display name of this browser" Set from: Default -! rofi.display-window: -! "The display name of this browser" Set from: Default -! rofi.display-windowcd: -! "The display name of this browser" Set from: Default -! rofi.display-run: -! "The display name of this browser" Set from: Default -! rofi.display-ssh: -! "The display name of this browser" Set from: Default -! rofi.display-drun: -! "The display name of this browser" Set from: Default -! rofi.display-combi: -! "The display name of this browser" Set from: Default -! rofi.display-keys: -! "The display name of this browser" Set from: Default -! rofi.display-file-browser: -! "Paste primary selection" Set from: Default -! rofi.kb-primary-paste: Control+V,Shift+Insert -! "Paste clipboard" Set from: Default -! rofi.kb-secondary-paste: Control+v,Insert -! "Clear input line" Set from: Default -! rofi.kb-clear-line: Control+w -! "Beginning of line" Set from: Default -! rofi.kb-move-front: Control+a -! "End of line" Set from: Default -! rofi.kb-move-end: Control+e -! "Move back one word" Set from: Default -! rofi.kb-move-word-back: Alt+b,Control+Left -! "Move forward one word" Set from: Default -! rofi.kb-move-word-forward: Alt+f,Control+Right -! "Move back one char" Set from: Default -! rofi.kb-move-char-back: Left,Control+b -! "Move forward one char" Set from: Default -! rofi.kb-move-char-forward: Right,Control+f -! "Delete previous word" Set from: Default -! rofi.kb-remove-word-back: Control+Alt+h,Control+BackSpace -! "Delete next word" Set from: Default -! rofi.kb-remove-word-forward: Control+Alt+d -! "Delete next char" Set from: Default -! rofi.kb-remove-char-forward: Delete,Control+d -! "Delete previous char" Set from: Default -! rofi.kb-remove-char-back: BackSpace,Shift+BackSpace,Control+h -! "Delete till the end of line" Set from: Default -! rofi.kb-remove-to-eol: Control+k -! "Delete till the start of line" Set from: Default -! rofi.kb-remove-to-sol: Control+u -! "Accept entry" Set from: Default -! rofi.kb-accept-entry: Control+j,Control+m,Return,KP_Enter -! "Use entered text as command (in ssh/run modi)" Set from: Default -! rofi.kb-accept-custom: Control+Return -! "Use alternate accept command." Set from: Default -! rofi.kb-accept-alt: Shift+Return -! "Delete entry from history" Set from: Default -! rofi.kb-delete-entry: Shift+Delete -! "Switch to the next mode." Set from: Default -! rofi.kb-mode-next: Shift+Right,Control+Tab -! "Switch to the previous mode." Set from: Default -! rofi.kb-mode-previous: Shift+Left,Control+ISO_Left_Tab -! "Go to the previous column" Set from: Default -! rofi.kb-row-left: Control+Page_Up -! "Go to the next column" Set from: Default -! rofi.kb-row-right: Control+Page_Down -! "Select previous entry" Set from: Default -! rofi.kb-row-up: Up,Control+p,ISO_Left_Tab -! "Select next entry" Set from: Default -! rofi.kb-row-down: Down,Control+n -! "Go to next row, if one left, accept it, if no left next mode." Set from: Default -! rofi.kb-row-tab: Tab -! "Go to the previous page" Set from: Default -! rofi.kb-page-prev: Page_Up -! "Go to the next page" Set from: Default -! rofi.kb-page-next: Page_Down -! "Go to the first entry" Set from: Default -! rofi.kb-row-first: Home,KP_Home -! "Go to the last entry" Set from: Default -! rofi.kb-row-last: End,KP_End -! "Set selected item as input text" Set from: Default -! rofi.kb-row-select: Control+space -! "Take a screenshot of the rofi window" Set from: Default -! rofi.kb-screenshot: Alt+S -! "Toggle between ellipsize modes for displayed data" Set from: Default -! rofi.kb-ellipsize: Alt+period -! "Toggle case sensitivity" Set from: Default -! rofi.kb-toggle-case-sensitivity: grave,dead_grave -! "Toggle sort" Set from: Default -! rofi.kb-toggle-sort: Alt+grave -! "Quit rofi" Set from: Default -! rofi.kb-cancel: Escape,Control+g,Control+bracketleft -! "Custom keybinding 1" Set from: Default -! rofi.kb-custom-1: Alt+1 -! "Custom keybinding 2" Set from: Default -! rofi.kb-custom-2: Alt+2 -! "Custom keybinding 3" Set from: Default -! rofi.kb-custom-3: Alt+3 -! "Custom keybinding 4" Set from: Default -! rofi.kb-custom-4: Alt+4 -! "Custom Keybinding 5" Set from: Default -! rofi.kb-custom-5: Alt+5 -! "Custom keybinding 6" Set from: Default -! rofi.kb-custom-6: Alt+6 -! "Custom Keybinding 7" Set from: Default -! rofi.kb-custom-7: Alt+7 -! "Custom keybinding 8" Set from: Default -! rofi.kb-custom-8: Alt+8 -! "Custom keybinding 9" Set from: Default -! rofi.kb-custom-9: Alt+9 -! "Custom keybinding 10" Set from: Default -! rofi.kb-custom-10: Alt+0 -! "Custom keybinding 11" Set from: Default -! rofi.kb-custom-11: Alt+exclam -! "Custom keybinding 12" Set from: Default -! rofi.kb-custom-12: Alt+at -! "Custom keybinding 13" Set from: Default -! rofi.kb-custom-13: Alt+numbersign -! "Custom keybinding 14" Set from: Default -! rofi.kb-custom-14: Alt+dollar -! "Custom keybinding 15" Set from: Default -! rofi.kb-custom-15: Alt+percent -! "Custom keybinding 16" Set from: Default -! rofi.kb-custom-16: Alt+dead_circumflex -! "Custom keybinding 17" Set from: Default -! rofi.kb-custom-17: Alt+ampersand -! "Custom keybinding 18" Set from: Default -! rofi.kb-custom-18: Alt+asterisk -! "Custom Keybinding 19" Set from: Default -! rofi.kb-custom-19: Alt+parenleft -! "Select row 1" Set from: Default -! rofi.kb-select-1: Super+1 -! "Select row 2" Set from: Default -! rofi.kb-select-2: Super+2 -! "Select row 3" Set from: Default -! rofi.kb-select-3: Super+3 -! "Select row 4" Set from: Default -! rofi.kb-select-4: Super+4 -! "Select row 5" Set from: Default -! rofi.kb-select-5: Super+5 -! "Select row 6" Set from: Default -! rofi.kb-select-6: Super+6 -! "Select row 7" Set from: Default -! rofi.kb-select-7: Super+7 -! "Select row 8" Set from: Default -! rofi.kb-select-8: Super+8 -! "Select row 9" Set from: Default -! rofi.kb-select-9: Super+9 -! "Select row 10" Set from: Default -! rofi.kb-select-10: Super+0 -! "Go to the previous column" Set from: Default -! rofi.ml-row-left: ScrollLeft -! "Go to the next column" Set from: Default -! rofi.ml-row-right: ScrollRight -! "Select previous entry" Set from: Default -! rofi.ml-row-up: ScrollUp -! "Select next entry" Set from: Default -! rofi.ml-row-down: ScrollDown -! "Select hovered row" Set from: Default -! rofi.me-select-entry: MousePrimary -! "Accept hovered row" Set from: Default -! rofi.me-accept-entry: MouseDPrimary -! "Accept hovered row with custom action" Set from: Default -! rofi.me-accept-custom: Control+MouseDPrimary - -! special -*.foreground: #c5c8c6 -*.background: #000000 -*.cursorColor: #c5c8c6 -*.reverseCursor: #333536 - -! black -*.color0: #1b1d1c -*.color8: #969896 - -! red -*.color1: #89231d -*.color9: #cc342b - -! green -*.color2: #198844 -*.color10: #4eec4e - -! yellow -*.color3: #ae7518 -*.color11: #fba922 - -! blue -*.color4: #2b55b2 -*.color12: #3971ed - -! magenta -*.color5: #784e93 -*.color13: #a36ac7 - -! cyan -*.color6: #2783a1 -*.color14: #39c1ed - -! white -*.color7: #b4b7b5 -*.color15: #ffffff -Xcursor.theme: BreezeX-Black -Xcursor.size: 32 diff --git a/X11/xserverrc b/X11/xserverrc deleted file mode 100755 index c96ab6d..0000000 --- a/X11/xserverrc +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec /usr/bin/Xorg -nolisten tcp "$@" vt$XDG_VTNR diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml deleted file mode 100644 index 0b30805..0000000 --- a/alacritty/alacritty.yml +++ /dev/null @@ -1,852 +0,0 @@ -# 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: xterm-256color - -window: - # Window dimensions (changes require restart) - # - # Number of lines/columns (not pixels) in the terminal. 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 - - # 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 - - # GTK theme variant (Linux/BSD only) - # - # Override the variant of the GTK theme. Commonly supported values are `dark` - # and `light`. Set this to `None` to use the default theme variant. - #gtk_theme_variant: None - - # Background opacity - # - opacity: 0.8 - -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: JetBrainsMono Nerd Font - - # The `style` can be specified to pick a specific face. - style: Regular - - # Bold font face - bold: - # Font family - # - # If the bold family is not specified, it will fall back to the - # value specified for the normal font. - family: JetBrainsMono Nerd Font - - # 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: JetBrainsMono Nerd Font - - # The `style` can be specified to pick a specific face. - style: Italic - - # Bold italic font face - bold_italic: - # Font family - # - # If the bold italic family is not specified, it will fall back to the - # value specified for the normal font. - family: JetBrainsMono Nerd Font - - # The `style` can be specified to pick a specific face. - style: Bold Italic - - # Point size - size: 12.0 - - # Offset is the extra space around each character. `offset.y` can be thought - # of as modifying the line spacing, and `offset.x` as modifying the letter - # spacing. - #offset: - # x: 0 - # y: 0 - - # Glyph offset determines the locations of the glyphs within their cells with - # the default being at the bottom. Increasing `x` moves the glyph to the - # right, increasing `y` moves the glyph upward. - #glyph_offset: - # x: 0 - # y: 0 - - # Thin stroke font rendering (macOS only) - # - # Thin strokes are suitable for retina displays, but for non-retina screens - # it is recommended to set `use_thin_strokes` to `false`. - #use_thin_strokes: true - -# If `true`, bold text is drawn using the bright color variants. -draw_bold_text_with_bright_colors: true - -# Colors (ZachIR) -colors: - # Default colors - - footer_bar: - background: '#c5c8c6' - foreground: '#1d1f21' - - - primary: - background: '#000000' - foreground: '#c5c8c6' - - # Bright and dim foreground colors - # - # The dimmed foreground color is calculated automatically if it is not - # present. If the bright foreground color is not set, or - # `draw_bold_text_with_bright_colors` is `false`, the normal foreground - # color will be used. - dim_foreground: '#828482' - bright_foreground: '#eaeaea' - - # Cursor colors - # - # Colors which should be used to draw the terminal cursor. - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - cursor: - text: CellBackground - cursor: CellForeground - - # Vi mode cursor colors - # - # Colors for the cursor when the vi mode is active. - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - vi_mode_cursor: - text: CellBackground - cursor: CellForeground - - # Search colors - # - # Colors used for the search bar and match highlighting. - search: - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - matches: - foreground: '#000000' - background: '#ffffff' - focused_match: - foreground: '#ffffff' - background: '#000000' - - # Keyboard regex 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 - - # 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: '#89231d' - green: '#146e37' - yellow: '#ae7518' - blue: '#2b55b2' - magenta: '#784e93' - cyan: '#2783a1' - white: '#b4b7b5' - - # Bright colors - bright: - black: '#969896' - red: '#cc342b' - green: '#198844' - yellow: '#fba922' - blue: '#3971ed' - magenta: '#a36ac7' - cyan: '#39c1ed' - white: '#ffffff' - - # 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: [] - -# 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 - - # 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: -# - (macOS) /bin/bash --login -# - (Linux/BSD) user login shell -# - (Windows) powershell -# shell: - # program: /bin/ksh - #args: - # - --login - -# Startup directory -# -# Directory the shell is started in. If this is unset, or `None`, the working -# directory of the parent process will be used. -#working_directory: None - -# Send ESC (\x1b) before characters when alt is pressed. -#alt_send_esc: true - -#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 - -# Regex hints -# -# Terminal hints can be used to find text 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 a `regex` and either an `action` or a `command` field. - # The fields `mouse`, `binding` and `post_processing` are optional. - # - # The fields `command`, `binding.key`, `binding.mods` 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. - # - # 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{-}\\^⟨⟩`]+" - # 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) -# -# And optionally: -# -# - `mods` (see key bindings) -#mouse_bindings: -# - { mouse: Middle, action: PasteSelection } - -# Key bindings -# -# Key bindings are specified as a list of objects. For example, this is the -# default paste binding: -# -# `- { key: V, mods: Control|Shift, action: Paste }` -# -# Each key binding will specify a: -# -# - `key`: Identifier of the key pressed -# -# - A-Z -# - F1-F24 -# - Key0-Key9 -# -# A full list with available key codes can be found here: -# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants -# -# Instead of using the name of the keys, the `key` field also supports using -# the scancode of the desired key. Scancodes have to be specified as a -# decimal number. This command will allow you to display the hex scancodes -# for certain keys: -# -# `showkey --scancodes`. -# -# Then exactly one of: -# -# - `chars`: Send a byte sequence to the running application -# -# The `chars` field writes the specified string to the terminal. This makes -# it possible to pass escape sequences. To find escape codes for bindings -# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside -# of tmux. Note that applications use terminfo to map escape sequences back -# to keys. It is therefore required to update the terminfo when changing an -# escape sequence. -# -# - `action`: Execute a predefined action -# -# - ToggleViMode -# - SearchForward -# Start searching toward the right of the search origin. -# - SearchBackward -# Start searching toward the left of the search origin. -# - Copy -# - Paste -# - IncreaseFontSize -# - DecreaseFontSize -# - ResetFontSize -# - ScrollPageUp -# - ScrollPageDown -# - ScrollHalfPageUp -# - ScrollHalfPageDown -# - ScrollLineUp -# - ScrollLineDown -# - ScrollToTop -# - ScrollToBottom -# - ClearHistory -# Remove the terminal's scrollback history. -# - Hide -# Hide the Alacritty window. -# - Minimize -# Minimize the Alacritty window. -# - Quit -# Quit Alacritty. -# - ToggleFullscreen -# - SpawnNewInstance -# Spawn a new instance of Alacritty. -# - 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`. -# -# - Vi mode exclusive cursor motion actions: -# -# - Up -# One line up. -# - Down -# One line down. -# - Left -# One character left. -# - Right -# One character right. -# - First -# First column, or beginning of the line when already at the first column. -# - Last -# Last column, or beginning of the line when already at the last column. -# - FirstOccupied -# First non-empty cell in this terminal row, or first non-empty cell of -# the line when already at the first cell of the row. -# - High -# Top of the screen. -# - Middle -# Center of the screen. -# - Low -# Bottom of the screen. -# - SemanticLeft -# Start of the previous semantically separated word. -# - SemanticRight -# Start of the next semantically separated word. -# - SemanticLeftEnd -# End of the previous semantically separated word. -# - SemanticRightEnd -# End of the next semantically separated word. -# - WordLeft -# Start of the previous whitespace separated word. -# - WordRight -# Start of the next whitespace separated word. -# - WordLeftEnd -# End of the previous whitespace separated word. -# - WordRightEnd -# End of the next whitespace separated word. -# - Bracket -# Character matching the bracket at the cursor's location. -# - SearchNext -# Beginning of the next match. -# - SearchPrevious -# Beginning of the previous match. -# - SearchStart -# Start of the match to the left of the vi mode cursor. -# - SearchEnd -# End of the match to the right of the vi mode cursor. -# -# - Search mode exclusive actions: -# - SearchFocusNext -# Move the focus to the next search match. -# - SearchFocusPrevious -# Move the focus to the previous search match. -# - SearchConfirm -# - SearchCancel -# - SearchClear -# Reset the search regex. -# - SearchDeleteWord -# Delete the last word in the search regex. -# - SearchHistoryPrevious -# Go to the previous regex in the search history. -# - SearchHistoryNext -# Go to the next regex in the search history. -# -# - macOS exclusive actions: -# - ToggleSimpleFullscreen -# Enter fullscreen without occupying another space. -# -# - Linux/BSD exclusive actions: -# -# - CopySelection -# Copy from the selection buffer. -# - PasteSelection -# Paste from the selection buffer. -# -# - `command`: Fork and execute a specified command plus arguments -# -# The `command` field must be a map containing a `program` string and an -# `args` array of command line parameter strings. For example: -# `{ program: "alacritty", args: ["-e", "vttest"] }` -# -# And optionally: -# -# - `mods`: Key modifiers to filter binding actions -# -# - Command -# - Control -# - Option -# - Super -# - Shift -# - Alt -# -# Multiple `mods` can be combined using `|` like this: -# `mods: Control|Shift`. -# Whitespace and capitalization are relevant and must match the example. -# -# - `mode`: Indicate a binding for only specific terminal reported modes -# -# This is mainly used to send applications the correct escape sequences -# when in different modes. -# -# - AppCursor -# - AppKeypad -# - Search -# - Alt -# - Vi -# -# A `~` operator can be used before a mode to apply the binding whenever -# the mode is *not* active, e.g. `~Alt`. -# -# Bindings are always filled by default, but will be replaced when a new -# binding with the same triggers is defined. To unset a default binding, it can -# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for -# a no-op if you do not wish to receive input characters for that binding. -# -# If the same trigger is assigned to multiple actions, all of them are executed -# in the order they were defined in. -#key_bindings: - #- { key: Paste, action: Paste } - #- { key: Copy, action: Copy } - #- { key: L, mods: Control, action: ClearLogNotice } - #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" } - #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, } - #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } - #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, } - #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } - - # Vi Mode - #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } - #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } - #- { key: Escape, mode: Vi|~Search, action: ClearSelection } - #- { key: I, mode: Vi|~Search, action: ScrollToBottom } - #- { key: I, mode: Vi|~Search, action: ToggleViMode } - #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode } - #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp } - #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown } - #- { key: G, mode: Vi|~Search, action: ScrollToTop } - #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom } - #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp } - #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown } - #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp } - #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown } - #- { key: Y, mode: Vi|~Search, action: Copy } - #- { key: Y, mode: Vi|~Search, action: ClearSelection } - #- { key: Copy, mode: Vi|~Search, action: ClearSelection } - #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection } - #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection } - #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection } - #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection } - #- { key: Return, mode: Vi|~Search, action: Open } - #- { key: K, mode: Vi|~Search, action: Up } - #- { key: J, mode: Vi|~Search, action: Down } - #- { key: H, mode: Vi|~Search, action: Left } - #- { key: L, mode: Vi|~Search, action: Right } - #- { key: Up, mode: Vi|~Search, action: Up } - #- { key: Down, mode: Vi|~Search, action: Down } - #- { key: Left, mode: Vi|~Search, action: Left } - #- { key: Right, mode: Vi|~Search, action: Right } - #- { key: Key0, mode: Vi|~Search, action: First } - #- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last } - #- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied } - #- { key: H, mods: Shift, mode: Vi|~Search, action: High } - #- { key: M, mods: Shift, mode: Vi|~Search, action: Middle } - #- { key: L, mods: Shift, mode: Vi|~Search, action: Low } - #- { key: B, mode: Vi|~Search, action: SemanticLeft } - #- { key: W, mode: Vi|~Search, action: SemanticRight } - #- { key: E, mode: Vi|~Search, action: SemanticRightEnd } - #- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft } - #- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight } - #- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd } - #- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket } - #- { key: Slash, mode: Vi|~Search, action: SearchForward } - #- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward } - #- { key: N, mode: Vi|~Search, action: SearchNext } - #- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious } - - # Search Mode - #- { key: Return, mode: Search|Vi, action: SearchConfirm } - #- { key: Escape, mode: Search, action: SearchCancel } - #- { key: C, mods: Control, mode: Search, action: SearchCancel } - #- { key: U, mods: Control, mode: Search, action: SearchClear } - #- { key: W, mods: Control, mode: Search, action: SearchDeleteWord } - #- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious } - #- { key: N, mods: Control, mode: Search, action: SearchHistoryNext } - #- { key: Up, mode: Search, action: SearchHistoryPrevious } - #- { key: Down, mode: Search, action: SearchHistoryNext } - #- { key: Return, mode: Search|~Vi, action: SearchFocusNext } - #- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious } - - # (Windows, Linux, and BSD only) - #- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste } - #- { key: C, mods: Control|Shift, action: Copy } - #- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward } - #- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward } - #- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection } - #- { key: Insert, mods: Shift, action: PasteSelection } - #- { key: Key0, mods: Control, action: ResetFontSize } - #- { key: Equals, mods: Control, action: IncreaseFontSize } - #- { key: Plus, mods: Control, action: IncreaseFontSize } - #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize } - #- { key: Minus, mods: Control, action: DecreaseFontSize } - #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } - - # (Windows only) - #- { key: Return, mods: Alt, action: ToggleFullscreen } - - # (macOS only) - #- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" } - #- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory } - #- { key: Key0, mods: Command, action: ResetFontSize } - #- { key: Equals, mods: Command, action: IncreaseFontSize } - #- { key: Plus, mods: Command, action: IncreaseFontSize } - #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } - #- { key: Minus, mods: Command, action: DecreaseFontSize } - #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize } - #- { key: V, mods: Command, action: Paste } - #- { key: C, mods: Command, action: Copy } - #- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection } - #- { key: H, mods: Command, action: Hide } - #- { key: H, mods: Command|Alt, action: HideOtherApplications } - #- { key: M, mods: Command, action: Minimize } - #- { key: Q, mods: Command, action: Quit } - #- { key: W, mods: Command, action: Quit } - #- { key: N, mods: Command, action: SpawnNewInstance } - #- { key: F, mods: Command|Control, action: ToggleFullscreen } - #- { key: F, mods: Command, mode: ~Search, action: SearchForward } - #- { key: B, mods: Command, mode: ~Search, action: SearchBackward } - -#debug: - # Display the time it takes to redraw each frame. - #render_timer: false - - # Keep the log file after quitting Alacritty. - #persistent_logging: false - - # Log level - # - # Values for `log_level`: - # - Off - # - Error - # - Warn - # - Info - # - Debug - # - Trace - #log_level: Warn - - # Print all received window events. - #print_events: false diff --git a/autostart.sh b/autostart.sh deleted file mode 100755 index 42eb092..0000000 --- a/autostart.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -runifnot () { - if type $1 >/dev/null; then - echo $1 - if [ -z "$(pgrep -Uzachir -f $1)" ]; then - $@ & - fi - fi -} -killandrun () { - if type $1 >/dev/null; then - echo $1 - if [ -n "$(pgrep -Uzachir -f $1)" ]; then - pkill -Uzachir $1 - fi - $@ & - fi -} - -if [ -n "${WAYLAND_DISPLAY}${DISPLAY}" ]; then - notify-sound.sh off & - runifnot swayidle - killandrun hyprpaper - runifnot waybar - import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest-Solid' - import-gsettings icon-theme 'Mint-X-Grey' - xrdb "$XDG_CONFIG_HOME/X11/xresources" -fi - -[ -x "$XDG_CONFIG_HOME/computerrc.sh" ] && "$XDG_CONFIG_HOME/computerrc.sh" diff --git a/awesome/awesome-wm-widgets b/awesome/awesome-wm-widgets deleted file mode 160000 -Subproject 15f4ff3a389cce34f2134c4b65414b1204a0f43 diff --git a/awesome/bling b/awesome/bling deleted file mode 160000 -Subproject 1f6bd0d5ef150a1801d20c69437ceff61d65fac diff --git a/awesome/rc.lua b/awesome/rc.lua deleted file mode 100644 index 7fa49ef..0000000 --- a/awesome/rc.lua +++ /dev/null @@ -1,1053 +0,0 @@ --- If LuaRocks is installed, make sure that packages installed through it are --- found (e.g. lgi). If LuaRocks is not installed, do nothing. -pcall(require, "luarocks.loader") - --- Standard awesome library -local gears = require("gears") -local awful = require("awful") -require("awful.autofocus") --- Widget and layout library -local wibox = require("wibox") --- Theme handling library -local beautiful = require("beautiful") --- Notification library -local naughty = require("naughty") -package.loaded["naughty.dbus"] = {} -local menubar = require("menubar") -local hotkeys_popup = require("awful.hotkeys_popup") --- Enable hotkeys help widget for VIM and other apps --- when client with a matching name is opened: -require("awful.hotkeys_popup.keys") - --- {{{ Error handling --- Check if awesome encountered an error during startup and fell back to --- another config (This code will only ever execute for the fallback config) -if awesome.startup_errors then - naughty.notify({ preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors }) -end - --- Handle runtime errors after startup -do - local in_error = false - awesome.connect_signal("debug::error", function (err) - -- Make sure we don't go into an endless error loop - if in_error then return end - in_error = true - - naughty.notify({ preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = tostring(err) }) - in_error = false - end) -end --- }}} - --- {{{ Variable definitions --- Themes define colours, icons, font and wallpapers. -local theme = {} -theme.name = "zachir" -home_dir = os.getenv("HOME") -if (os.getenv("XDG_CONFIG_HOME")) then - config_dir = os.getenv("XDG_CONFIG_HOME") -else - config_dir = string.format("%s/.config", os.getenv("HOME")) -end -awesome_config_folder = config_dir .. "awesome" -theme.dir = string.format("%s/awesome/themes/%s", config_dir, theme.name) -beautiful.init(theme.dir .. "/theme.lua") -beautiful.useless_gap = 5 -font = beautiful.font or "JetBrainsMono Nerd Font 18" - --- Library I'm using for swallowing, but it does much more - -local bling = require("bling") - --- Widget definitions/initializations - -local battery_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc") -local mpd_widget = require("awesome-wm-widgets.mpdarc-widget.mpdarc") -local volume_widget = require("awesome-wm-widgets.volume-widget.volume") -local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget") -local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget") -local brightness_widget = require("awesome-wm-widgets.brightness-widget.brightness") -local net_speed = require("awesome-wm-widgets.net-speed-widget.net-speed") - --- Disable keybindings - -local inertmode = false - --- Spawn windows at bottom of stack - -local spawnatbottom = false - -terminal="kitty" -editor = os.getenv("EDITOR") or "nvim" -editor_cmd = terminal .. " -e " .. editor - --- Default modkey. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. -modkey = "Mod4" - --- Table of layouts to cover with awful.layout.inc, order matters. -awful.layout.layouts = { - --awful.layout.suit.floating, - awful.layout.suit.tile, - --awful.layout.suit.tile.left, - --awful.layout.suit.tile.bottom, - --awful.layout.suit.tile.top, - --awful.layout.suit.fair, - --awful.layout.suit.fair.horizontal, - --awful.layout.suit.spiral, - --awful.layout.suit.spiral.dwindle, - --awful.layout.suit.max, - --awful.layout.suit.max.fullscreen, - --awful.layout.suit.magnifier, - --awful.layout.suit.corner.nw, - -- awful.layout.suit.corner.ne, - -- awful.layout.suit.corner.sw, - -- awful.layout.suit.corner.se, -} --- }}} - --- Config function definitions {{{ -function terminal_sp_cmd (spc, cmd, geo) - if terminal == "st" then - cflag = "-c" - gflag = "-g" - xflag = "-e" - elseif terminal == "alacritty" then - cflag = "--class" - gflag = false - xflag = "-e" - elseif terminal == "kitty" then - cflag = "--class" - gflag = false - xflag = "" - end - if cflag and spc then - cl = " " .. cflag .. " " .. spc - else - cl = "" - end - if gflag and geo then - gl = " " .. gflag .. " " .. geo - else - gl = "" - end - if xflag and cmd then - xl = " " .. xflag .. " " .. cmd - else - xl = "" - end - return terminal .. cl .. gl .. xl -end - --- }}} - ---{{{ bling scratchpad definitions ---{{{ sphtop -local sphtop = bling.module.scratchpad { - command = terminal_sp_cmd("sphtop", "htop", nil), - rule = { class = "sphtop" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spterm -local spterm = bling.module.scratchpad { - command = terminal_sp_cmd("spterm", nil, nil), - rule = { class = "spterm" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ sppmxr -local sppmxr = bling.module.scratchpad { - command = terminal_sp_cmd("sppmxr", "pulsemixer", nil), - rule = { class = "sppmxr" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spblue -local spblue = bling.module.scratchpad { - command = terminal_sp_cmd("spblue", "bluetoothctl", nil), - rule = { class = "spblue" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spncmp -local spncmp = bling.module.scratchpad { - command = terminal_sp_cmd("spncmp", "ncmpcpp", nil), - rule = { class = "spncmp" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spmutt -local spmutt = bling.module.scratchpad { - command = terminal_sp_cmd("spmutt", "neomutt", nil), - rule = { class = "spmutt" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spprof -local spprof = bling.module.scratchpad { - command = terminal_sp_cmd("spprof", "profanity", nil), - rule = { class = "spprof" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ spirss -local spirss = bling.module.scratchpad { - command = terminal_sp_cmd("spirss", "irssi", nil), - rule = { class = "spirss" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ sptodo -local sptodo = bling.module.scratchpad { - command = terminal_sp_cmd("sptodo", "todo", nil), - rule = { class = "sptodo" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ sptrem -local sptrem = bling.module.scratchpad { - command = terminal_sp_cmd("sptrem", "tremc", nil), - rule = { class = "sptrem" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---{{{ qpwgraph -local qpwgraph = bling.module.scratchpad { - command = "qpwgraph", - rule = { class = "qpwgraph" }, - sticky = true, - autoclose = true, - floating = true, - geometry = { x = 575, y = 275, height = 530, width = 770 }, - reapply = true, - dont_focus_before_close = false -} ---}}} ---}}} - --- {{{ Menu --- Create a launcher widget and a main menu -myawesomemenu = { - { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, - { "manual", terminal .. " -e man awesome" }, - { "edit config", editor_cmd .. " " .. awesome.conffile }, - { "restart", awesome.restart }, - { "quit", function() awesome.quit() end }, -} - -mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, - { "open terminal", terminal } - } - }) - -mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, - menu = mymainmenu }) - --- Menubar configuration -menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} - --- Keyboard map indicator and switcher -mykeyboardlayout = awful.widget.keyboardlayout() - --- {{{ Wibar --- Create a textclock widget -mytextclock = wibox.widget.textclock() - --- Create a wibox for each screen and add it -local taglist_buttons = gears.table.join( - awful.button({ }, 1, function(t) t:view_only() end), - awful.button({ modkey }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({ }, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), - awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) - ) - -local tasklist_buttons = gears.table.join( - awful.button({ }, 1, function (c) - if c == client.focus then - c.minimized = true - else - c:emit_signal( - "request::activate", - "tasklist", - {raise = true} - ) - end - end), - awful.button({ }, 3, function() - awful.menu.client_list({ theme = { width = 250 } }) - end), - awful.button({ }, 4, function () - awful.client.focus.byidx(1) - end), - awful.button({ }, 5, function () - awful.client.focus.byidx(-1) - end)) - -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s, true) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - -awful.screen.connect_for_each_screen(function(s) - -- -- Wallpaper - set_wallpaper(s) - - -- Each screen has its own tag table. - awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) - - -- Create a promptbox for each screen - s.mypromptbox = awful.widget.prompt() - -- Create an imagebox widget which will contain an icon indicating which layout we're using. - -- We need one layoutbox per screen. - s.mylayoutbox = awful.widget.layoutbox(s) - s.mylayoutbox:buttons(gears.table.join( - awful.button({ }, 1, function () awful.layout.inc( 1) end), - awful.button({ }, 3, function () awful.layout.inc(-1) end), - awful.button({ }, 4, function () awful.layout.inc( 1) end), - awful.button({ }, 5, function () awful.layout.inc(-1) end))) - -- Create a taglist widget - s.mytaglist = awful.widget.taglist { - screen = s, - filter = awful.widget.taglist.filter.all, - buttons = taglist_buttons - } - - -- Create a tasklist widget - s.mytasklist = awful.widget.tasklist { - screen = s, - filter = awful.widget.tasklist.filter.focused, - buttons = tasklist_buttons - } - - -- Create the wibox - s.mywibox = awful.wibar({ position = "top", screen = s, height = 36}) - - -- Add widgets to the wibox - ---[[ Uncomment for Linux - s.mywibox:setup { - layout = wibox.layout.align.horizontal, - { -- Left widgets - layout = wibox.layout.fixed.horizontal, - mylauncher, - s.mytaglist, - s.mypromptbox, - }, - s.mytasklist, -- Middle widget - { - layout = wibox.layout.fixed.horizontal, - mpd_widget, - net_speed { - font = beautiful.font2, - width = 100, - interface = net - }, - ram_widget({ - color_used=beautiful.bg_focus, - color_free=beautiful.fg_normal, - color_buf=beautiful.bg_accent, - widget_height=32, - widget_width=32, - widget_show_buf=true, - timeout=1 - }), - cpu_widget({ - width=50, - step_width=2, - step_spacing=1, - color=beautiful.fg_normal, - enable_kill_button=false, - process_info_max_length=-1, - timeout=1 - }), - brightness_widget { - type = "arc", - program = "light", - step = 5, - base = 20, - path_to_icon = "/usr/share/icons/Paper/scalable/status/display-brightness-symbolic.svg", - timeout = 1, - tooltip = false, - percentage = false - }, - volume_widget { - path_to_icon = "/usr/share/icons/Paper/scalable/status/audio-volume-muted-symbolic.svg", - widget_type = "arc", - mute_color = "#ff111111", - device = "pulse", - }, - battery_widget { - font = font, - arc_thickness = 2, - show_current_level = false, - size = 18, - timeout = 10, - main_color = beautiful.fg_color, - bg_color = "#ffffff11", - low_level_color = "#e53935", - medium_level_color = "#c0ca33", - warning_msg_title = "Houston, we have a problem", - warning_msg_text = "Battery is dying", - warning_msg_position = "bottom_right", -- "bottom_right" is default, or top_right, top_left, bottom_left, bottom_right, top_middle, bottom_middle - warning_msg_icon = "~/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg", - enable_battery_warning = true, - show_notification_mode = "on_click", -- "on_hover" is default, or "on_click" or "off" - notification_position = "top_right" -- "top_left is default, or top_right, top_left, bottom_left, bottom_right, top_middle, bottom_middle - }, - mykeyboardlayout, - wibox.widget.systray(), - mytextclock, - s.mylayoutbox, - }, - } - --]] -end) - --- }}} - --- {{{ Mouse bindings -root.buttons(gears.table.join( - --[[ - awful.button({ }, 3, function () mymainmenu:toggle() end), - awful.button({ }, 4, awful.tag.viewnext), - awful.button({ }, 5, awful.tag.viewprev) - --]] -)) - -client.connect_signal("mouse::enter", function(c) - c:emit_signal("request::activate", "mouse_enter", {raise = false}) -end) --- }}} - --- {{{ Key bindings - - -globalkeys = gears.table.join( - ---[[ Toggles scratchpads - awful.key({ modkey, "Control" }, "z", - function () - sphtop:toggle() - end, - {description = "Toggle htop scratchpad"}), - awful.key({ modkey, "Control" }, "x", - function () - spterm:toggle() - end, - {description = "Toggle term scratchpad"}), - awful.key({ modkey, "Control" }, "c", - function () - sppmxr:toggle() - end, - {description = "Toggle pulsemixer scratchpad"}), - awful.key({ modkey, "Control" }, "v", - function () - spblue:toggle() - end, - {description = "Toggle bluetoothctl scratchpad"}), - awful.key({ modkey, "Control" }, "b", - function () - spncmp:toggle() - end, - {description = "Toggle ncmpcpp scratchpad"}), - awful.key({ modkey, "Control" }, "a", - function () - spmutt:toggle() - end, - {description = "Toggle neomutt scratchpad"}), - awful.key({ modkey, "Control" }, "s", - function () - spprof:toggle() - end, - {description = "Toggle profanity scratchpad"}), - awful.key({ modkey, "Control" }, "d", - function () - spirss:toggle() - end, - {description = "Toggle irssi scratchpad"}), - awful.key({ modkey, "Control" }, "f", - function () - sptodo:toggle() - end, - {description = "Toggle todo.txt scratchpad"}), - awful.key({ modkey, "Control" }, "g", - function () - sptrem:toggle() - end, - {description = "Toggle tremc scratchpad"}), - awful.key({ modkey, "Control" }, "q", - function () - qpwgraph:toggle() - end, - {description = "Toggle qpwgraph scratchpad"}), - --]] - - ---[[ spawnatbottom Toggles where in the stack new windows spawn - -- (at the bottom or not) - awful.key({ modkey }, "a", - function () - spawnatbottom = not spawnatbottom - end, - {description = "toggle attach at bottom", group = "layout"}), - --]] - - ---[[ inertkeys toggles keybindings on and off - awful.key({ modkey }, "b", - function () - root.keys(inertkeys) - end, - {description = "turn inert mode on", group = "awesome"}), - --]] - - --[[ Shows the awesome menu where the mouse is - awful.key({ modkey }, "w", - function () - mymainmenu:show() - end, - {description = "show main menu", group = "awesome"}), - --]] - - ---[[ Standard programs - -- Spawns the terminal defined by "terminal" - awful.key({ modkey }, "Return", - function () - awful.spawn(terminal) - end, - {description = "open a terminal", group = "launcher"}), - --]] - - ---[[ Awesome stop/restart - awful.key({ modkey, "Shift" }, "e", - function () - awesome.quit() - end, - {description = "quit awesome", group = "awesome"}), - awful.key({ modkey, "Shift" }, "r", - function () - awesome.restart() - end, - {description = "reload awesome", group = "awesome"}), - --]] - - ---[[ Changes master/slave ratio - awful.key({ modkey }, "l", - function () - awful.tag.incmwfact( 0.05) - end, - {description = "increase master width factor", group = "layout"}), - awful.key({ modkey }, "h", - function () - awful.tag.incmwfact(-0.05) - end, - {description = "decrease master width factor", group = "layout"}), - --]] - - ---[[ Changes the number of masters - awful.key({ modkey, "Shift" }, "h", - function () - awful.tag.incnmaster( 1, nil, true) - end, - {description = "increase te number of master clients", group = "layout"}), - awful.key({ modkey, "Shift" }, "l", - function () - awful.tag.incnmaster(-1, nil, true) - end, - {description = "decrease the number of master clients", group = "layout"}), - --]] - - ---[[ Changes the number of columns - awful.key({ modkey, "Control" }, "h", - function () - awful.tag.incncol( 1, nil, true) - end, - {description = "increase the number of columns", group = "layout"}), - awful.key({ modkey, "Control" }, "l", - function () - awful.tag.incncol(-1, nil, true) - end, - {description = "decrease the number of columns", group = "layout"}), - --]] - - ---[[ Hides the statusbar - awful.key({ modkey, "Shift" }, "b", - function () - myscreen = awful.screen.focused() - myscreen.mywibox.visible = not myscreen.mywibox.visible - end, - { description = "toggle statusbar", group = "awesome" }) - --]] - - --[[ Changes the layout used - awful.key({ modkey }, "space", - function () - awful.layout.inc( 1) - end, - {description = "select next", group = "layout"}), - awful.key({ modkey, "Shift" }, "space", - function () - awful.layout.inc(-1) - end, - {description = "select previous", group = "layout"}), - --]] - - --[[ Runs arbitrary Lua code - awful.key({ modkey }, "x", - function () - awful.prompt.run { - prompt = "Run Lua code: ", - textbox = awful.screen.focused().mypromptbox.widget, - exe_callback = awful.util.eval, - history_path = awful.util.get_cache_dir() .. "/history_eval" - } - end, - {description = "lua execute prompt", group = "awesome"}) - --]] -) - ----[[ Keybindings for messing with clients -clientkeys = gears.table.join( - ---[[ Client manipulation - -- Moves focus up and down the stack - awful.key({ modkey }, "j", - function () - awful.client.focus.byidx( 1) - end, - {description = "focus next by index", group = "client"}), - awful.key({ modkey }, "k", - function () - awful.client.focus.byidx(-1) - end, - {description = "focus previous by index", group = "client"}), - -- Moves client up and down the stack - awful.key({ modkey, "Shift" }, "j", - function () - awful.client.swap.byidx( 1) - end, - {description = "swap with next client by index", group = "client"}), - awful.key({ modkey, "Shift" }, "k", - function () - awful.client.swap.byidx( -1) - end, - {description = "swap with previous client by index", group = "client"}), - -- Moves focus between screens - awful.key({ modkey, "Control" }, "j", - function () - awful.screen.focus_relative( 1) - end, - {description = "focus the next screen", group = "screen"}), - awful.key({ modkey, "Control" }, "k", - function () - awful.screen.focus_relative(-1) - end, - {description = "focus the previous screen", group = "screen"}), - -- Focuses the previous client - awful.key({ modkey }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, - {description = "go back", group = "client"}), - --]] - - ---[[ Closes client - awful.key({ modkey, "Shift" }, "q", - function (c) - c:kill() - end, - {description = "close", group = "client"}), - --]] - - ---[[ Toggles client state - -- Toggles fullscreen - awful.key({ modkey }, "f", - function (c) - c.fullscreen = not c.fullscreen - c:raise() - end, - {description = "toggle fullscreen", group = "client"}), - - -- Toggles client floating - awful.key({ modkey, "Control" }, "space", - function (c) - c.floating = not c.floating - end, - {description = "toggle floating", group = "client"}), - - -- Toggles keeping the client on top - awful.key({ modkey }, "t", - function (c) - c.ontop = not c.ontop - end, - {description = "toggle keep on top", group = "client"}), - - -- Toggles maximizing the client - awful.key({ modkey }, "m", - function (c) - c.maximized = not c.maximized - c:raise() - end, - {description = "toggle maximize", group = "client"}), - - -- Toggles vertically maximizing the client - awful.key({ modkey, "Control" }, "m", - function (c) - c.maximized_vertical = not c.maximized_vertical - c:raise() - end, - {description = "toggle maximize vertically", group = "client"}), - - -- Toggles horizontally maximizing the client - awful.key({ modkey, "Shift" }, "m", - function (c) - c.maximized_horizontal = not c.maximized_horizontal - c:raise() - end, - {description = "toggle maximize horizontally", group = "client"}), - --]] - - ---[[ Moves the client to the master position - -- Or, if client is the master, does nothing - awful.key({ modkey, "Shift" }, "Return", - function (c) - c:swap(awful.client.getmaster()) - end, - {description = "move to master", group = "client"}), - --]] - - ---[[ Moves the client to the next screen - awful.key({ modkey }, "o", - function (c) - c:move_to_screen() - end, - {description = "move to screen", group = "client"}), - --]] - - ---[[ Minimization - -- Minimizes the client - awful.key({ modkey }, "n", - function (c) - -- The client currently has the input focus, so it cannot be - -- minimized, since minimized clients can't have the focus. - c.minimized = true - end , - {description = "minimize", group = "client"}), - - -- Unminimizes one client - awful.key({ modkey, "Control" }, "n", - function () - local c = awful.client.restore() - -- Focus restored client - if c then - c:emit_signal("request::activate", "key.unminimize", {raise = true}) - end - end, - {description = "restore minimized", group = "client"}) - --]] -) - ----[[ Tag keybindings --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join(globalkeys, - ---[[ View tag only. - awful.key({ modkey }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, - {description = "view tag #"..i, group = "tag"}), - --]] - ---[[ Toggle tag display. - awful.key({ modkey, "Control" }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, - {description = "toggle tag #" .. i, group = "tag"}), - --]] - ---[[ Move client to tag. - awful.key({ modkey, "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, - {description = "move focused client to tag #"..i, group = "tag"}), - --]] - ---[[ Toggle tag on focused client. - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, - {description = "toggle focused client on tag #" .. i, group = "tag"}) - --]] - ) -end ---]] - ----[[ Mouse keybindings -clientbuttons = gears.table.join( - ---[[ Focus client when clicked on - awful.button({ 0 }, 1, - function (c) - c:emit_signal("request::activate", "mouse_click", {raise = true}) - end), - --]] - ---[[ Move client when left clicked with modkey - awful.button({ modkey }, 1, - function (c) - c:emit_signal("request::activate", "mouse_click", {raise = true}) - awful.mouse.client.move(c) - end), - --]] - ---[[ Resize client when right clicked with modkey - awful.button({ modkey }, 3, - function (c) - c:emit_signal("request::activate", "mouse_click", {raise = true}) - awful.mouse.client.resize(c) - end) - --]] -) ---]] - ----[[ Keybindings for the "inert" mode -inertkeys = gears.table.join( - ---[[ Go back to normal bindings - awful.key({ modkey }, "b", - function () - root.keys(globalkeys) - end, - {description = "turn inert mode off", group = "awesome"}) - --]] -) ---]] - --- Set keys -root.keys(globalkeys) --- }}} - --- {{{ Rules --- Rules to apply to new clients (through the "manage" signal). -awful.rules.rules = { - -- All clients will match this rule. - { rule = { }, - properties = { border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = awful.client.focus.filter, - raise = true, - keys = clientkeys, - buttons = clientbuttons, - screen = awful.screen.preferred, - placement = awful.placement.no_overlap+awful.placement.no_offscreen - } - }, - - { rule_any = { - class = { - "QjackCtl", - "Tk", - "gcr-prompter" - } - }, - properties = { floating = true }, - callback = function(c) - awful.placement.centered(c,nil) - end - }, - - -- Floating clients. - { rule_any = { - instance = { - "DTA", -- Firefox addon DownThemAll. - "copyq", -- Includes session name in class. - "pinentry", - }, - class = { - --"mpv", - "ProtonMail Bridge", - "TheFiniteDemo", - "Arandr", - "Blueman-manager", - "Gpick", - "Kruler", - "MessageWin", -- kalarm. - -- "Sxiv", - "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. - "Wpa_gui", - "veromix", - "xtightvncviewer" - }, - - -- Note that the name property shown in xprop might be set slightly after creation of the client - -- and the name shown there might not match defined rules here. - name = { - "Event Tester", -- xev. - }, - role = { - "AlarmWindow", -- Thunderbird's calendar. - "ConfigManager", -- Thunderbird's about:config. - "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. - } - }, properties = { floating = true } - }, - - -- Add titlebars to normal clients and dialogs - { rule_any = { - type = { "normal", "dialog" } - }, - properties = { titlebars_enabled = true } - }, - - -- These windows will be force resized to fit - { rule_any = - { - class = { - "mpv", - "Lutris", - "polychromatic-controller" - }, - }, properties = { size_hints_honor = false } - }, -} --- }}} - ---{{{ bling window swallowing -bling.module.window_swallowing.start() ---}}} - --- {{{ Autostart ---[[ Commands to run: - xrdb ~/.Xresources - setxkbmap -option 'caps:escape' - picom - sxhkd - xwallpaper --center ~/background.jpg - jamesdsp -t ---]] --- Autostart commands that only run once -awful.spawn.with_shell( - 'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' .. - 'xrdb -merge <<< "awesome.started:true";' .. - -- list each of your autostart commands, followed by ; inside single quotes, - -- followed by .. - 'xss-lock slockd' -) --- Autostart commands that run every restart -awful.spawn.with_shell( - -- list each of your autostart commands, followed by ; inside single quotes, - -- followed by .. - 'setxkbmap -option "caps:escape";' .. - 'picom &;' .. - 'sxhkd &;' .. - 'jamedsp -t &' -) --- }}} - --- spawn windows as slaves {{{ -client.connect_signal( - "manage", - function(c) - if not awesome.startup then - if spawnatbottom then - awful.client.setslave(c) - end - end - end -) --- }}} diff --git a/awesome/themes/zachir/README b/awesome/themes/zachir/README deleted file mode 100644 index 1ddb349..0000000 --- a/awesome/themes/zachir/README +++ /dev/null @@ -1,3 +0,0 @@ -Background images: - Mikael Eriksson <mikael_eriksson@miffe.org> - Licensed under CC-BY-SA-3.0 diff --git a/awesome/themes/zachir/background.jpg b/awesome/themes/zachir/background.jpg deleted file mode 120000 index 525f4e6..0000000 --- a/awesome/themes/zachir/background.jpg +++ /dev/null @@ -1 +0,0 @@ -/home/zachir/background.jpg
\ No newline at end of file diff --git a/awesome/themes/zachir/background.png b/awesome/themes/zachir/background.png Binary files differdeleted file mode 100644 index 8f52b6b..0000000 --- a/awesome/themes/zachir/background.png +++ /dev/null diff --git a/awesome/themes/zachir/background_white.png b/awesome/themes/zachir/background_white.png Binary files differdeleted file mode 100644 index bb0c5d0..0000000 --- a/awesome/themes/zachir/background_white.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornerne.png b/awesome/themes/zachir/layouts/cornerne.png Binary files differdeleted file mode 100644 index c85bd56..0000000 --- a/awesome/themes/zachir/layouts/cornerne.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornernew.png b/awesome/themes/zachir/layouts/cornernew.png Binary files differdeleted file mode 100644 index c3fd986..0000000 --- a/awesome/themes/zachir/layouts/cornernew.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornernw.png b/awesome/themes/zachir/layouts/cornernw.png Binary files differdeleted file mode 100644 index dfe78b3..0000000 --- a/awesome/themes/zachir/layouts/cornernw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornernww.png b/awesome/themes/zachir/layouts/cornernww.png Binary files differdeleted file mode 100644 index f489010..0000000 --- a/awesome/themes/zachir/layouts/cornernww.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornerse.png b/awesome/themes/zachir/layouts/cornerse.png Binary files differdeleted file mode 100644 index 023ae79..0000000 --- a/awesome/themes/zachir/layouts/cornerse.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornersew.png b/awesome/themes/zachir/layouts/cornersew.png Binary files differdeleted file mode 100644 index f7cfa1c..0000000 --- a/awesome/themes/zachir/layouts/cornersew.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornersw.png b/awesome/themes/zachir/layouts/cornersw.png Binary files differdeleted file mode 100644 index c1453c9..0000000 --- a/awesome/themes/zachir/layouts/cornersw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/cornersww.png b/awesome/themes/zachir/layouts/cornersww.png Binary files differdeleted file mode 100644 index a65a043..0000000 --- a/awesome/themes/zachir/layouts/cornersww.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/dwindle.png b/awesome/themes/zachir/layouts/dwindle.png Binary files differdeleted file mode 100644 index 9902d22..0000000 --- a/awesome/themes/zachir/layouts/dwindle.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/dwindlew.png b/awesome/themes/zachir/layouts/dwindlew.png Binary files differdeleted file mode 100644 index 9199049..0000000 --- a/awesome/themes/zachir/layouts/dwindlew.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fairh.png b/awesome/themes/zachir/layouts/fairh.png Binary files differdeleted file mode 100644 index d41deea..0000000 --- a/awesome/themes/zachir/layouts/fairh.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fairhw.png b/awesome/themes/zachir/layouts/fairhw.png Binary files differdeleted file mode 100644 index bb50e3a..0000000 --- a/awesome/themes/zachir/layouts/fairhw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fairv.png b/awesome/themes/zachir/layouts/fairv.png Binary files differdeleted file mode 100644 index f5f0288..0000000 --- a/awesome/themes/zachir/layouts/fairv.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fairvw.png b/awesome/themes/zachir/layouts/fairvw.png Binary files differdeleted file mode 100644 index 4f4ed52..0000000 --- a/awesome/themes/zachir/layouts/fairvw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/floating.png b/awesome/themes/zachir/layouts/floating.png Binary files differdeleted file mode 100644 index b8061a0..0000000 --- a/awesome/themes/zachir/layouts/floating.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/floatingw.png b/awesome/themes/zachir/layouts/floatingw.png Binary files differdeleted file mode 100644 index 4815894..0000000 --- a/awesome/themes/zachir/layouts/floatingw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fullscreen.png b/awesome/themes/zachir/layouts/fullscreen.png Binary files differdeleted file mode 100644 index d02f6fc..0000000 --- a/awesome/themes/zachir/layouts/fullscreen.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/fullscreenw.png b/awesome/themes/zachir/layouts/fullscreenw.png Binary files differdeleted file mode 100644 index 5c35bfa..0000000 --- a/awesome/themes/zachir/layouts/fullscreenw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/magnifier.png b/awesome/themes/zachir/layouts/magnifier.png Binary files differdeleted file mode 100644 index 2925414..0000000 --- a/awesome/themes/zachir/layouts/magnifier.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/magnifierw.png b/awesome/themes/zachir/layouts/magnifierw.png Binary files differdeleted file mode 100644 index 6209556..0000000 --- a/awesome/themes/zachir/layouts/magnifierw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/max.png b/awesome/themes/zachir/layouts/max.png Binary files differdeleted file mode 100644 index 8d20844..0000000 --- a/awesome/themes/zachir/layouts/max.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/maxw.png b/awesome/themes/zachir/layouts/maxw.png Binary files differdeleted file mode 100644 index 85f5ce3..0000000 --- a/awesome/themes/zachir/layouts/maxw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/spiral.png b/awesome/themes/zachir/layouts/spiral.png Binary files differdeleted file mode 100644 index d9434be..0000000 --- a/awesome/themes/zachir/layouts/spiral.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/spiralw.png b/awesome/themes/zachir/layouts/spiralw.png Binary files differdeleted file mode 100644 index b78dd86..0000000 --- a/awesome/themes/zachir/layouts/spiralw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tile.png b/awesome/themes/zachir/layouts/tile.png Binary files differdeleted file mode 100644 index 3ede21e..0000000 --- a/awesome/themes/zachir/layouts/tile.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tilebottom.png b/awesome/themes/zachir/layouts/tilebottom.png Binary files differdeleted file mode 100644 index 6f8c257..0000000 --- a/awesome/themes/zachir/layouts/tilebottom.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tilebottomw.png b/awesome/themes/zachir/layouts/tilebottomw.png Binary files differdeleted file mode 100644 index a1de7b2..0000000 --- a/awesome/themes/zachir/layouts/tilebottomw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tileleft.png b/awesome/themes/zachir/layouts/tileleft.png Binary files differdeleted file mode 100644 index 31d6870..0000000 --- a/awesome/themes/zachir/layouts/tileleft.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tileleftw.png b/awesome/themes/zachir/layouts/tileleftw.png Binary files differdeleted file mode 100644 index cf14c25..0000000 --- a/awesome/themes/zachir/layouts/tileleftw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tiletop.png b/awesome/themes/zachir/layouts/tiletop.png Binary files differdeleted file mode 100644 index 98cade2..0000000 --- a/awesome/themes/zachir/layouts/tiletop.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tiletopw.png b/awesome/themes/zachir/layouts/tiletopw.png Binary files differdeleted file mode 100644 index d1d0872..0000000 --- a/awesome/themes/zachir/layouts/tiletopw.png +++ /dev/null diff --git a/awesome/themes/zachir/layouts/tilew.png b/awesome/themes/zachir/layouts/tilew.png Binary files differdeleted file mode 100644 index fde2ca4..0000000 --- a/awesome/themes/zachir/layouts/tilew.png +++ /dev/null diff --git a/awesome/themes/zachir/submenu.png b/awesome/themes/zachir/submenu.png Binary files differdeleted file mode 100644 index b2778e2..0000000 --- a/awesome/themes/zachir/submenu.png +++ /dev/null diff --git a/awesome/themes/zachir/taglist/squarefw.png b/awesome/themes/zachir/taglist/squarefw.png Binary files differdeleted file mode 100644 index 2a86430..0000000 --- a/awesome/themes/zachir/taglist/squarefw.png +++ /dev/null diff --git a/awesome/themes/zachir/taglist/squarew.png b/awesome/themes/zachir/taglist/squarew.png Binary files differdeleted file mode 100644 index 913f2ca..0000000 --- a/awesome/themes/zachir/taglist/squarew.png +++ /dev/null diff --git a/awesome/themes/zachir/theme.lua b/awesome/themes/zachir/theme.lua deleted file mode 100644 index 30a575a..0000000 --- a/awesome/themes/zachir/theme.lua +++ /dev/null @@ -1,240 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -local theme_assets = require("beautiful.theme_assets") -local xresources = require("beautiful.xresources") -local dpi = xresources.apply_dpi -local xrdb = xresources.get_current_theme() - -local gfs = require("gears.filesystem") -local themes_path = gfs.get_themes_dir() - -local theme = {} - -theme.font = "JetBrainsMono Nerd Font 18" -theme.font2 = "JetBrainsMono Nerd Font 12" - -theme.bg_normal = xrdb.background -theme.bg_focus = xrdb.color2 -theme.bg_accent = xrdb.color8 -theme.bg_urgent = xrdb.color9 -theme.bg_minimize = xrdb.color0 -theme.bg_systray = theme.bg_focus - -theme.fg_normal = xrdb.color7 -theme.fg_focus = xrdb.background -theme.fg_urgent = xrdb.color15 -theme.fg_minimize = xrdb.color15 -theme.useless_gap = dpi(0) -theme.border_width = dpi(1) -theme.border_normal = xrdb.color0 -theme.border_focus = xrdb.color2 -theme.border_marked = xrdb.color8 - --- There are other variable sets --- overriding the default one when --- defined, the sets are: --- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] --- tasklist_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] --- mouse_finder_[color|timeout|animate_timeout|radius|factor] --- prompt_[fg|bg|fg_cursor|bg_cursor|font] --- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] --- Example: ---theme.taglist_bg_focus = "#ff0000" - --- Generate taglist squares: -local taglist_square_size = dpi(4) -theme.taglist_squares_sel = theme_assets.taglist_squares_sel( - taglist_square_size, theme.fg_normal -) -theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( - taglist_square_size, theme.fg_normal -) - --- Variables set for theming notifications: --- notification_font --- notification_[bg|fg] --- notification_[width|height|margin] --- notification_[border_color|border_width|shape|opacity] - --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = themes_path.."zachir/submenu.png" -theme.menu_height = dpi(15) -theme.menu_width = dpi(100) - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---theme.bg_widget = "#cc0000" - --- Define the image to load -theme.titlebar_close_button_normal = themes_path.."zachir/titlebar/close_normal.png" -theme.titlebar_close_button_focus = themes_path.."zachir/titlebar/close_focus.png" - -theme.titlebar_minimize_button_normal = themes_path.."zachir/titlebar/minimize_normal.png" -theme.titlebar_minimize_button_focus = themes_path.."zachir/titlebar/minimize_focus.png" - -theme.titlebar_ontop_button_normal_inactive = themes_path.."zachir/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = themes_path.."zachir/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = themes_path.."zachir/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = themes_path.."zachir/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = themes_path.."zachir/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = themes_path.."zachir/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = themes_path.."zachir/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = themes_path.."zachir/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = themes_path.."zachir/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = themes_path.."zachir/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = themes_path.."zachir/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = themes_path.."zachir/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = themes_path.."zachir/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = themes_path.."zachir/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = themes_path.."zachir/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = themes_path.."zachir/titlebar/maximized_focus_active.png" - -local home_dir = os.getenv("HOME") -theme.wallpaper = home_dir .. "/background.jpg" - --- You can use your own layout icons like this: -theme.layout_fairh = themes_path.."zachir/layouts/fairhw.png" -theme.layout_fairv = themes_path.."zachir/layouts/fairvw.png" -theme.layout_floating = themes_path.."zachir/layouts/floatingw.png" -theme.layout_magnifier = themes_path.."zachir/layouts/magnifierw.png" -theme.layout_max = themes_path.."zachir/layouts/maxw.png" -theme.layout_fullscreen = themes_path.."zachir/layouts/fullscreenw.png" -theme.layout_tilebottom = themes_path.."zachir/layouts/tilebottomw.png" -theme.layout_tileleft = themes_path.."zachir/layouts/tileleftw.png" -theme.layout_tile = themes_path.."zachir/layouts/tilew.png" -theme.layout_tiletop = themes_path.."zachir/layouts/tiletopw.png" -theme.layout_spiral = themes_path.."zachir/layouts/spiralw.png" -theme.layout_dwindle = themes_path.."zachir/layouts/dwindlew.png" -theme.layout_cornernw = themes_path.."zachir/layouts/cornernww.png" -theme.layout_cornerne = themes_path.."zachir/layouts/cornernew.png" -theme.layout_cornersw = themes_path.."zachir/layouts/cornersww.png" -theme.layout_cornerse = themes_path.."zachir/layouts/cornersew.png" - --- Generate Awesome icon: -theme.awesome_icon = theme_assets.awesome_icon( - theme.menu_height, theme.bg_focus, theme.fg_focus -) - --- Define the icon theme for application icons. If not set then the icons --- from /usr/share/icons and /usr/share/icons/hicolor will be used. -theme.icon_theme = nil - --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 ---[[ Bling theme variables template - -This file has all theme variables of the bling module. -Every variable has a small comment on what it does. -You might just want to copy that whole part into your theme.lua and start adjusting from there. - ---]] --- LuaFormatter off --- window swallowing -theme.parent_filter_list = { "ampbox.exe", "Brave-browser", "Carla2", "carla", "firefox", "Gimp", "LibreWolf", "Lutris", "MultiMC", "obs", "REAPER", "steam", "xviix64.exe", "yabridge" } -- class names list of parents that should not be swallowed -theme.child_filter_list = { "Brave-browser", "Dragon", "librepcb", "LibrePCB", "REAPER", "yabridge" } -- class names list that should not swallow their parents -theme.swallowing_filter = true -- whether the filters above should be active - --- flash focus -theme.flash_focus_start_opacity = 0.6 -- the starting opacity -theme.flash_focus_step = 0.01 -- the step of animation - --- playerctl signal -theme.playerctl_backend = "playerctl_cli" -- backend to use -theme.playerctl_ignore = {} -- list of players to be ignored -theme.playerctl_player = {} -- list of players to be used in priority order -theme.playerctl_update_on_activity = true -- whether to prioritize the most recently active players or not -theme.playerctl_position_update_interval = 1 -- the update interval for fetching the position from playerctl - --- tabbed -theme.tabbed_spawn_in_tab = false -- whether a new client should spawn into the focused tabbing container - --- tabbar general -theme.tabbar_disable = false -- disable the tab bar entirely -theme.tabbar_ontop = false -theme.tabbar_radius = 0 -- border radius of the tabbar -theme.tabbar_style = "default" -- style of the tabbar ("default", "boxes" or "modern") -theme.tabbar_font = "JetBrainsMono Nerd Font 24" -- font of the tabbar -theme.tabbar_size = 40 -- size of the tabbar -theme.tabbar_position = "top" -- position of the tabbar -theme.tabbar_bg_normal = "#000000" -- background color of the focused client on the tabbar -theme.tabbar_fg_normal = "#ffffff" -- foreground color of the focused client on the tabbar -theme.tabbar_bg_focus = "#1A2026" -- background color of unfocused clients on the tabbar -theme.tabbar_fg_focus = "#ff0000" -- foreground color of unfocused clients on the tabbar -theme.tabbar_bg_focus_inactive = nil -- background color of the focused client on the tabbar when inactive -theme.tabbar_fg_focus_inactive = nil -- foreground color of the focused client on the tabbar when inactive -theme.tabbar_bg_normal_inactive = nil -- background color of unfocused clients on the tabbar when inactive -theme.tabbar_fg_normal_inactive = nil -- foreground color of unfocused clients on the tabbar when inactive - --- mstab -theme.mstab_bar_disable = false -- disable the tabbar -theme.mstab_bar_ontop = false -- whether you want to allow the bar to be ontop of clients -theme.mstab_dont_resize_slaves = false -- whether the tabbed stack windows should be smaller than the --- currently focused stack window (set it to true if you use --- transparent terminals. False if you use shadows on solid ones -theme.mstab_bar_padding = "default" -- how much padding there should be between clients and your tabbar --- by default it will adjust based on your useless gaps. --- If you want a custom value. Set it to the number of pixels (int) -theme.mstab_border_radius = 0 -- border radius of the tabbar -theme.mstab_bar_height = 40 -- height of the tabbar -theme.mstab_tabbar_position = "top" -- position of the tabbar (mstab currently does not support left,right) -theme.mstab_tabbar_style = "default" -- style of the tabbar ("default", "boxes" or "modern") --- defaults to the tabbar_style so only change if you want a --- different style for mstab and tabbed - --- the following variables are currently only for the "modern" tabbar style -theme.tabbar_color_close = "#f9929b" -- changes the color of the close button -theme.tabbar_color_min = "#fbdf90" -- changes the color of the minimize button -theme.tabbar_color_float = "#ccaced" -- changes the color of the float button - --- tag preview widget -theme.tag_preview_widget_border_radius = 0 -- Border radius of the widget (With AA) -theme.tag_preview_client_border_radius = 0 -- Border radius of each client in the widget (With AA) -theme.tag_preview_client_opacity = 0.5 -- Opacity of each client -theme.tag_preview_client_bg = "#000000" -- The bg color of each client -theme.tag_preview_client_border_color = "#ffffff" -- The border color of each client -theme.tag_preview_client_border_width = 3 -- The border width of each client -theme.tag_preview_widget_bg = "#000000" -- The bg color of the widget -theme.tag_preview_widget_border_color = "#ffffff" -- The border color of the widget -theme.tag_preview_widget_border_width = 3 -- The border width of the widget -theme.tag_preview_widget_margin = 0 -- The margin of the widget - --- task preview widget -theme.task_preview_widget_border_radius = 0 -- Border radius of the widget (With AA) -theme.task_preview_widget_bg = "#000000" -- The bg color of the widget -theme.task_preview_widget_border_color = "#ffffff" -- The border color of the widget -theme.task_preview_widget_border_width = 3 -- The border width of the widget -theme.task_preview_widget_margin = 0 -- The margin of the widget - --- window switcher -theme.window_switcher_widget_bg = "#000000" -- The bg color of the widget -theme.window_switcher_widget_border_width = 3 -- The border width of the widget -theme.window_switcher_widget_border_radius = 0 -- The border radius of the widget -theme.window_switcher_widget_border_color = "#ffffff" -- The border color of the widget -theme.window_switcher_clients_spacing = 20 -- The space between each client item -theme.window_switcher_client_icon_horizontal_spacing = 5 -- The space between client icon and text -theme.window_switcher_client_width = 150 -- The width of one client widget -theme.window_switcher_client_height = 250 -- The height of one client widget -theme.window_switcher_client_margins = 10 -- The margin between the content and the border of the widget -theme.window_switcher_thumbnail_margins = 10 -- The margin between one client thumbnail and the rest of the widget -theme.thumbnail_scale = false -- If set to true, the thumbnails fit policy will be set to "fit" instead of "auto" -theme.window_switcher_name_margins = 10 -- The margin of one clients title to the rest of the widget -theme.window_switcher_name_valign = "center" -- How to vertically align one clients title -theme.window_switcher_name_forced_width = 200 -- The width of one title -theme.window_switcher_name_font = "Sans 11" -- The font of all titles -theme.window_switcher_name_normal_color = "#ffffff" -- The color of one title if the client is unfocused -theme.window_switcher_name_focus_color = "#ff0000" -- The color of one title if the client is focused -theme.window_switcher_icon_valign = "center" -- How to vertically align the one icon -theme.window_switcher_icon_width = 40 -- The width of one icon - --- LuaFormatter on -return theme - diff --git a/awesome/themes/zachir/titlebar/close_focus.png b/awesome/themes/zachir/titlebar/close_focus.png Binary files differdeleted file mode 100644 index 01ef825..0000000 --- a/awesome/themes/zachir/titlebar/close_focus.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/close_normal.png b/awesome/themes/zachir/titlebar/close_normal.png Binary files differdeleted file mode 100644 index 5448ed8..0000000 --- a/awesome/themes/zachir/titlebar/close_normal.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/floating_focus_active.png b/awesome/themes/zachir/titlebar/floating_focus_active.png Binary files differdeleted file mode 100644 index 82dcc7c..0000000 --- a/awesome/themes/zachir/titlebar/floating_focus_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/floating_focus_inactive.png b/awesome/themes/zachir/titlebar/floating_focus_inactive.png Binary files differdeleted file mode 100644 index c19ba80..0000000 --- a/awesome/themes/zachir/titlebar/floating_focus_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/floating_normal_active.png b/awesome/themes/zachir/titlebar/floating_normal_active.png Binary files differdeleted file mode 100644 index 62342d1..0000000 --- a/awesome/themes/zachir/titlebar/floating_normal_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/floating_normal_inactive.png b/awesome/themes/zachir/titlebar/floating_normal_inactive.png Binary files differdeleted file mode 100644 index e2bbdfa..0000000 --- a/awesome/themes/zachir/titlebar/floating_normal_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/maximized_focus_active.png b/awesome/themes/zachir/titlebar/maximized_focus_active.png Binary files differdeleted file mode 100644 index d7dffd7..0000000 --- a/awesome/themes/zachir/titlebar/maximized_focus_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/maximized_focus_inactive.png b/awesome/themes/zachir/titlebar/maximized_focus_inactive.png Binary files differdeleted file mode 100644 index 844389f..0000000 --- a/awesome/themes/zachir/titlebar/maximized_focus_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/maximized_normal_active.png b/awesome/themes/zachir/titlebar/maximized_normal_active.png Binary files differdeleted file mode 100644 index a705f81..0000000 --- a/awesome/themes/zachir/titlebar/maximized_normal_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/maximized_normal_inactive.png b/awesome/themes/zachir/titlebar/maximized_normal_inactive.png Binary files differdeleted file mode 100644 index 4c1ab1f..0000000 --- a/awesome/themes/zachir/titlebar/maximized_normal_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/minimize_focus.png b/awesome/themes/zachir/titlebar/minimize_focus.png Binary files differdeleted file mode 100644 index caaceb2..0000000 --- a/awesome/themes/zachir/titlebar/minimize_focus.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/minimize_normal.png b/awesome/themes/zachir/titlebar/minimize_normal.png Binary files differdeleted file mode 100644 index 36621d0..0000000 --- a/awesome/themes/zachir/titlebar/minimize_normal.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/ontop_focus_active.png b/awesome/themes/zachir/titlebar/ontop_focus_active.png Binary files differdeleted file mode 100644 index 312c00b..0000000 --- a/awesome/themes/zachir/titlebar/ontop_focus_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/ontop_focus_inactive.png b/awesome/themes/zachir/titlebar/ontop_focus_inactive.png Binary files differdeleted file mode 100644 index a48e1c5..0000000 --- a/awesome/themes/zachir/titlebar/ontop_focus_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/ontop_normal_active.png b/awesome/themes/zachir/titlebar/ontop_normal_active.png Binary files differdeleted file mode 100644 index 117a203..0000000 --- a/awesome/themes/zachir/titlebar/ontop_normal_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/ontop_normal_inactive.png b/awesome/themes/zachir/titlebar/ontop_normal_inactive.png Binary files differdeleted file mode 100644 index d3a10c8..0000000 --- a/awesome/themes/zachir/titlebar/ontop_normal_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/sticky_focus_active.png b/awesome/themes/zachir/titlebar/sticky_focus_active.png Binary files differdeleted file mode 100644 index 814499b..0000000 --- a/awesome/themes/zachir/titlebar/sticky_focus_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/sticky_focus_inactive.png b/awesome/themes/zachir/titlebar/sticky_focus_inactive.png Binary files differdeleted file mode 100644 index 21b000d..0000000 --- a/awesome/themes/zachir/titlebar/sticky_focus_inactive.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/sticky_normal_active.png b/awesome/themes/zachir/titlebar/sticky_normal_active.png Binary files differdeleted file mode 100644 index bdb5595..0000000 --- a/awesome/themes/zachir/titlebar/sticky_normal_active.png +++ /dev/null diff --git a/awesome/themes/zachir/titlebar/sticky_normal_inactive.png b/awesome/themes/zachir/titlebar/sticky_normal_inactive.png Binary files differdeleted file mode 100644 index a96b9b1..0000000 --- a/awesome/themes/zachir/titlebar/sticky_normal_inactive.png +++ /dev/null diff --git a/ctpv/config b/ctpv/config deleted file mode 100644 index e69de29..0000000 --- a/ctpv/config +++ /dev/null diff --git a/dunst/dunstrc b/dunst/dunstrc deleted file mode 100644 index 6377f26..0000000 --- a/dunst/dunstrc +++ /dev/null @@ -1,418 +0,0 @@ -[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 = mouse - - # The geometry of the window: - # [{width}]x{height}[+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in number of notifications everything else - # in pixels. If the width is omitted but the height is given - # ("-geometry x2"), the message window expands over the whole screen - # (dmenu-like). If width is 0, the window expands to the longest - # message displayed. A positive x is measured from the left, a - # negative from the right side of the screen. Y is measured from - # the top and down respectively. - # The width can be negative. In this case the actual width is the - # screen width minus the width defined in within the geometry option. - geometry = "0x0-30+20" - - # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes - - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = no - - # 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.). - transparency = 10 - - # The height of the entire notification. If the height is smaller - # than the font height and padding combined, it will be raised - # to the font height and padding. - notification_height = 0 - - # Draw a line of "separator_height" pixel height between two - # notifications. - # Set to 0 to disable. - separator_height = 2 - - # Padding between text and separator. - padding = 8 - - # Horizontal padding. - horizontal_padding = 8 - - # Defines width in pixels of frame around the notification window. - # Set to 0 to disable. - frame_width = 3 - - # Defines color of the frame around the notification window. - frame_color = "#aaaaaa" - - # 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 = JetBrainsMono Nerd Font 18 - - # 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 - # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.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 - - # Show age of message if message is older than show_age_threshold - # seconds. - # Set to -1 to disable. - show_age_threshold = 60 - - # Split notifications into multiple lines if they don't fit into - # geometry. - word_wrap = yes - - # When word_wrap is set to no, 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 ### - - # Align icons left/right/off - icon_position = off - - # Scale larger icons down to this size, set to 0 to disable - max_icon_size = 24 - - # Paths to default icons. - 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/firefox -new-tab - - # 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 - - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false - - # Manage dunst's desire for talking - # Can be one of the following values: - # crit: Critical features. Dunst aborts - # warn: Only non-fatal warnings - # mesg: Important Messages - # info: all unimportant stuff - # debug: all less than unimportant stuff - verbosity = mesg - - # 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 = 0 - - ### 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 action of mouse event - # Possible values are: - # * none: Don't do anything. - # * do_action: If the notification has exactly one action, or one is marked as default, - # invoke it. If there are multiple and no default, open the context menu. - # * close_current: Close current notification. - # * close_all: Close all notifications. - mouse_left_click = close_current - mouse_middle_click = do_action - 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 - -[shortcuts] - - # Shortcuts are specified as [modifier+][modifier+]...key - # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", - # "mod3" and "mod4" (windows-key). - # Xev might be helpful to find names for keys. - - # Close notification. - close = ctrl+space - - # Close all notifications. - close_all = ctrl+shift+space - - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". Make sure this key actually exists on your keyboard layout, - # e.g. check output of 'xmodmap -pke' - history = ctrl+grave - - # Context menu. - context = ctrl+shift+period - -[urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#222222" - foreground = "#888888" - timeout = 10 - # Icon for notifications with low urgency, uncomment to enable - #icon = /path/to/icon - -[urgency_normal] - background = "#285577" - foreground = "#ffffff" - timeout = 10 - # Icon for notifications with normal urgency, uncomment to enable - #icon = /path/to/icon - -[urgency_critical] - background = "#900000" - foreground = "#ffffff" - frame_color = "#ff0000" - timeout = 0 - # Icon for notifications with critical urgency, uncomment to enable - #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 -# timeout -# urgency -# -# 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: if you don't want a notification to be displayed, set the format -# to "". -# 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" -# format = "" - -#[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" - -[play_sound] - summary = "*" - script = notify-sound.sh - -# vim: ft=cfg diff --git a/dwm/autostart.sh b/dwm/autostart.sh deleted file mode 100755 index 07f82d1..0000000 --- a/dwm/autostart.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -pgrep -x slstatus || slstatus diff --git a/gtk-2.0/gtkrc b/gtk-2.0/gtkrc deleted file mode 100644 index 42f1844..0000000 --- a/gtk-2.0/gtkrc +++ /dev/null @@ -1,19 +0,0 @@ -# DO NOT EDIT! This file will be overwritten by nwg-look. -# Any customization should be done in ~/.gtkrc-2.0.mine instead. - -include "/home/zachir/.gtkrc-2.0.mine" -gtk-theme-name="Flat-Remix-GTK-Green-Darkest" -gtk-icon-theme-name="Papirus-Dark" -gtk-font-name="Noto Sans, 10" -gtk-cursor-theme-name="BreezeX-Black" -gtk-cursor-theme-size=32 -gtk-toolbar-style=3 -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR -gtk-button-images=0 -gtk-menu-images=0 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=0 -gtk-xft-antialias=1 -gtk-xft-hinting=1 -gtk-xft-hintstyle="hintslight" -gtk-xft-rgba="rgb" diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini deleted file mode 100644 index 809e192..0000000 --- a/gtk-3.0/settings.ini +++ /dev/null @@ -1,23 +0,0 @@ -[Settings] -gtk-theme-name=Flat-Remix-GTK-Green-Darkest -gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Noto Sans, 10 -gtk-cursor-theme-name=BreezeX-Black -gtk-cursor-theme-size=32 -gtk-toolbar-style=3 -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR -gtk-button-images=0 -gtk-menu-images=0 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=0 -gtk-xft-antialias=1 -gtk-xft-hinting=1 -gtk-xft-hintstyle=hintslight -gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=1 -gtk-decoration-layout=icon:minimize,maximize,close -gtk-enable-animations=true -gtk-modules=colorreload-gtk-module -gtk-primary-button-warps-slider=true -gtk-sound-theme-name=ocean -gtk-xft-dpi=98304 diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf deleted file mode 100644 index 3a58aea..0000000 --- a/hypr/hypridle.conf +++ /dev/null @@ -1,34 +0,0 @@ -general { - lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. - before_sleep_cmd = loginctl lock-session # lock before suspend. - after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. -} - -listener { - timeout = 150 # 2.5min. - on-timeout = brightnessctl set 1 # set monitor backlight to minimum, avoid 0 on OLED monitor. - on-resume = brightnessctl -r # monitor backlight restore. -} - -# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. -listener { - timeout = 150 # 2.5min. - on-timeout = brightnessctl -d led::kbd_backlight set 0 # turn off keyboard backlight. - on-resume = brightnessctl -rd led::kbd_backlight # turn on keyboard backlight. -} - -listener { - timeout = 300 # 5min - on-timeout = loginctl lock-session # lock screen when timeout has passed -} - -listener { - timeout = 330 # 5.5min - on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed - on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. -} - -listener { - timeout = 1800 # 30min - on-timeout = systemctl suspend # suspend pc -} diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf deleted file mode 100644 index 6c32a42..0000000 --- a/hypr/hyprland.conf +++ /dev/null @@ -1,476 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Monitors/ -#{{{ Monitor config -#monitor = DP-2, 1920x1080@75, 0x0, 1 -#monitor = HDMI-A-1, 1920x1080@75, 1920x0, 1 -#monitor = eDP-1, 1920x1080@60, 0x0, 1 -monitor = , preferred, auto, 1 -#}}} - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -#{{{ Plugins -plugin = /var/cache/hyprpm/zachir/hyprland-plugins/hyprscrolling.so -plugin = /var/cache/hyprpm/zachir/hyprsplit/hyprsplit.so -#}}} - -#{{{ Autostart -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox -exec-once = hyprpm reload -n -exec-once = xdph -exec-once = hyprpaper -#exec-once = hypridle -exec-once = waybar -exec-once = pypr -exec-once = hyprscratch init -exec-once = lxqt-policykit-agent -exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest' -exec-once = import-gsettings icon-theme 'Papirus-Dark' -exec-once = import-gsettings cursor-theme 'BreezeX-Black' -exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' -exec-once = xrdb -load "$XDG_CONFIG_HOME"/X11/xresources -exec-once = com.github.wwmm.easyeffects -exec-once = systemctl --user start dunst -exec-once = systemctl --user start hypridle -#exec-once = mpd -#}}} - -#{{{ env -# Environment variables set at launch -env = HYPRCURSOR_THEME,theme_BreezeX-Black -env = HYPRCURSOR_SIZE,32 -env = XCURSOR_THEME,BreezeX-Black -env = XCURSOR_SIZE,32 -#}}} - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf - -# Debug {{{ -debug { - enable_stdout_logs = false - disable_logs = true - full_cm_proto = true -} -# }}} - -# device {{{ -$LAPTOP_TP_ENABLED = true -device { - name = synps/2-synaptics-touchpad - enabled = $LAPTOP_TP_ENABLED -} -# }}} - -#{{{ Input options -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us - kb_variant = - kb_model = - kb_options = caps:escape - kb_rules = - numlock_by_default = true - scroll_method = "2fg" - follow_mouse = 1 - mouse_refocus = false - touchpad { - disable_while_typing = true - natural_scroll = false - tap_button_map = "lrm" - clickfinger_behavior = true - tap-to-click = true - drag_lock = false - tap-and-drag = true - } - float_switch_override_focus = 0 - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} -#}}} - -#{{{ General options -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 - gaps_out = 20 - border_size = 2 - #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - #col.inactive_border = rgba(595959aa) - col.active_border = rgba(198844ee) - col.inactive_border = rgba(1b1d1cee) - layout = scrolling -} -#}}} - -#{{{ cursor -cursor { - no_warps = false -} -#}}} - -#{{{ Misc options -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - enable_swallow = true - swallow_regex = ^(kitty)$ - swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*|.*dragon.*)$ - vfr = true - vrr = 3 -} -#}}} - -#{{{ Decoration options -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 - #{{{ Blur options - blur { - enabled = true - size = 3 - passes = 1 - new_optimizations = true - xray = true - } - #}}} - #{{{ Shadow options - shadow { - enabled = false - range = 4 - render_power = 3 - color = 0xee1a1a1a - } - #}}} -} - -#}}} - -#{{{ Animations options -animations { - enabled = yes - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} -#}}} - -#{{{ Dwindle layout options -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 - special_scale_factor = 0.55 -} -#}}} - -#{{{ Master layout options -master { - special_scale_factor = 0.55 - mfact = 0.55 - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = slave - new_on_top = false - new_on_active = before - #no_gaps_when_only = false - orientation = left - inherit_fullscreen = true - drop_at_cursor = true -} -#}}} - -#{{{ Gestures options -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off -} -#}}} - -#{{{ plugin options -plugin { - hyprsplit { - num_workspaces = 9 - persistent_workspaces = true - } - - hyprscrolling { - fullscreen_on_one_column = true - column_width = 0.5 - explicit_column_widths = 0.333, 0.5, 0.667, 1.0 - focus_fit_method = 1 - follow_focus = true - } -} -#}}} - -#{{{ Windowrules -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrule = float, class:^(kitty)$, title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrulev2 = workspace special:easyeffects silent, class: ^(com\.github\.wwmm\.easyeffects)$ -# Fix brave xray menus -windowrulev2 = xray 0, class: ^(\s*), title: ^(\s*)$ -#}}} - -#{{{ Layerrules -layerrule = blur, waybar -#}}} - -#{{{ Mods -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER -$secdMod = ALT -#}}} - -#{{{ Layout toggle bind -# Layout toggle -#bind = $mainMod $secdMod, A, exec, hypr-layout -t -#}}} - -#{{{ Master layout binds -## Master layout binds -#bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER -#bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER -#bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER -#bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER -#bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER -#binde = $mainMod, J, layoutmsg, cyclenext #MASTER -#binde = $mainMod, K, layoutmsg, cycleprev #MASTER -#binde = $mainMod, H, splitratio, -0.01 #MASTER -#binde = $mainMod, L, splitratio, +0.01 #MASTER -#bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER -#bind = $mainMod, O, splitratio, exact 0.69 #MASTER -#}}} - -#{{{ hyprscrolling layout binds -# hyprscrolling layout binds -#bind = $mainMod+SHIFT, H, layoutmsg, move -1 #HYPRSCROLLING -#bind = $mainMod+SHIFT, L, layoutmsg, move +1 #HYPRSCROLLING -bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING -bind = $mainMod+SHIFT, J, layoutmsg, movewindowto d #HYPRSCROLLING -bind = $mainMod+SHIFT, K, layoutmsg, movewindowto u #HYPRSCROLLING -bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING -bind = $mainMod+CONTROL, H, exec, hyprswap.sh -l -bind = $mainMod+CONTROL, L, exec, hyprswap.sh -r -#bind = $mainMod+SHIFT, H, movewindow, l #HYPRSCROLLING -#bind = $mainMod+SHIFT, L, movewindow, r #HYPRSCROLLING -#bind = $mainMod+SHIFT, K, movewindow, u #HYPRSCROLLING -#bind = $mainMod+SHIFT, J, movewindow, d #HYPRSCROLLING -bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING -bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING -bind = $mainMod, K, layoutmsg, focus u #HYPRSCROLLING -bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING -bind = $mainMod+SHIFT, R, layoutmsg, colresize +conf #HYPRSCROLLING -bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING -#}}} - -#{{{ tab binds -bind = $mainMod+ALT, O, togglegroup -bind = $mainMod+ALT, J, changegroupactive, f -bind = $mainMod+ALT, K, changegroupactive, b -#}}} - -#{{{ Group binds -# Group binds -#bind = $mainMod CONTROL, G, togglegroup, -#bind = $mainMod CONTROL, I, lockgroups, lock -#bind = $mainMod CONTROL, U, lockgroups, unlock -#bind = $mainMod CONTROL, H, moveintogroup, r -#bind = $mainMod CONTROL, L, moveintogroup, l -#bind = $mainMod CONTROL, J, moveintogroup, d -#bind = $mainMod CONTROL, K, moveintogroup, u -#}}} - -#{{{ Device binds -bind = $mainMod, Backspace, exec, touchpad.sh -#}}} - -#{{{ WC binds -bind = $mainMod SHIFT, Q, killactive, -bind = $mainMod SHIFT, E, exit, -bind = $mainMod SHIFT, SPACE, togglefloating, -bind = $mainMod $secdMod, F2, exec, ~/.config/hypr/gamemode.sh -bind = $mainMod, F, fullscreen, 0 -bind = $mainMod, M, fullscreen, 1 -bind = $mainMod, N, exec, pypr toggle_special -bind = $mainMod SHIFT, N, togglespecialworkspace, minimized -#}}} - -#{{{ Workspace binds (using hyprsplit plugin!) -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, split:workspace, 1 -bind = $mainMod, 2, split:workspace, 2 -bind = $mainMod, 3, split:workspace, 3 -bind = $mainMod, 4, split:workspace, 4 -bind = $mainMod, 5, split:workspace, 5 -bind = $mainMod, 6, split:workspace, 6 -bind = $mainMod, 7, split:workspace, 7 -bind = $mainMod, 8, split:workspace, 8 -bind = $mainMod, 9, split:workspace, 9 -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, split:movetoworkspacesilent, 1 -bind = $mainMod SHIFT, 2, split:movetoworkspacesilent, 2 -bind = $mainMod SHIFT, 3, split:movetoworkspacesilent, 3 -bind = $mainMod SHIFT, 4, split:movetoworkspacesilent, 4 -bind = $mainMod SHIFT, 5, split:movetoworkspacesilent, 5 -bind = $mainMod SHIFT, 6, split:movetoworkspacesilent, 6 -bind = $mainMod SHIFT, 7, split:movetoworkspacesilent, 7 -bind = $mainMod SHIFT, 8, split:movetoworkspacesilent, 8 -bind = $mainMod SHIFT, 9, split:movetoworkspacesilent, 9 -bind = $mainMod CONTROL SHIFT, 1, split:movetoworkspace, 1 -bind = $mainMod CONTROL SHIFT, 2, split:movetoworkspace, 2 -bind = $mainMod CONTROL SHIFT, 3, split:movetoworkspace, 3 -bind = $mainMod CONTROL SHIFT, 4, split:movetoworkspace, 4 -bind = $mainMod CONTROL SHIFT, 5, split:movetoworkspace, 5 -bind = $mainMod CONTROL SHIFT, 6, split:movetoworkspace, 6 -bind = $mainMod CONTROL SHIFT, 7, split:movetoworkspace, 7 -bind = $mainMod CONTROL SHIFT, 8, split:movetoworkspace, 8 -bind = $mainMod CONTROL SHIFT, 9, split:movetoworkspace, 9 -#bind = $mainMod, mouse_down, split:workspace, e+1 -#bind = $mainMod, mouse_up, split:workspace, e-1 -bind = $mainMod, G, split:grabroguewindows -bind = $mainMod, comma, focusmonitor, -1 -bind = $mainMod, period, focusmonitor, +1 -bind = $mainMod SHIFT, comma, movewindow, mon:-1 -bind = $mainMod SHIFT, period, movewindow, mon:+1 -#}}} - -#{{{ Workspace binds (not using hyprsplit plugin) -## 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 -## 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 CONTROL SHIFT, 1, movetoworkspace, 1 -#bind = $mainMod CONTROL SHIFT, 2, movetoworkspace, 2 -#bind = $mainMod CONTROL SHIFT, 3, movetoworkspace, 3 -#bind = $mainMod CONTROL SHIFT, 4, movetoworkspace, 4 -#bind = $mainMod CONTROL SHIFT, 5, movetoworkspace, 5 -#bind = $mainMod CONTROL SHIFT, 6, movetoworkspace, 6 -#bind = $mainMod CONTROL SHIFT, 7, movetoworkspace, 7 -#bind = $mainMod CONTROL SHIFT, 8, movetoworkspace, 8 -#bind = $mainMod CONTROL SHIFT, 9, movetoworkspace, 9 -#bind = $mainMod, comma, focusmonitor, -1 -#bind = $mainMod, period, focusmonitor, +1 -#bind = $mainMod SHIFT, comma, movewindow, mon:-1 -#bind = $mainMod SHIFT, period, movewindow, mon:+1 -#}}} - -#{{{ Mouse binds -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow -#}}} - -#{{{ Resize submap binds -bind = $mainMod $secdMod, R, submap, resize -submap = resize -binde = CONTROL, L, resizeactive, 10 0 -binde = CONTROL, H, resizeactive, -10 0 -binde = CONTROL, K, resizeactive, 0 -10 -binde = CONTROL, J, resizeactive, 0 10 -binde = , escape, submap, reset -submap = reset -#}}} - -#{{{ Menu bindings -bind = $mainMod, E, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical" -bind = $mainMod, D, exec, sh -c "$(tofi-run -c $HOME/.config/tofi/themes/dmenu_vertical)" -bind = $mainMod, R, exec, rs -bind = $mainMod $secdMod, Q, exec, qbc -bind = $mainMod $secdMod, W, exec, lwc -bind = $mainMod $secdMod, E, exec, mbc -bind = $mainMod $secdMod, R, exec, ffc -bind = $mainMod $secdMod, 1, exec, bm -bind = $mainMod $secdMod, comma, exec, dmount -p -bind = $mainMod $secdMod, period, exec, dmenuumount -bind = $mainMod $secdMod CONTROL, U, exec, dmenuunicode -bind = $mainMod $secdMod, U, exec, mprisctl -bind = $mainMod $secdMod, P, exec, passmenu -#}}} - -#{{{ Misc bindings -bind = $mainMod, Return, exec, kitty -bind = $mainMod $secdMod, F, exec, kitty lf -bind = $mainMod, W, exec, pkill -USR1 waybar -bind = $mainMod, Q, exec, loginctl lock-session -bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend -bind = $mainMod SHIFT, G, exec, get-app-id -bind = $mainMod Control, M, exec, volsv -m -#bind = $mainMod, Comma, exec, acpi-notify.sh -#bind = $mainMod CONTROL, R, exec, startx -- /usr/bin/Xephyr -screen 1920x1080 :1 -#}}} - -#{{{ Scratchpads -bind = $mainMod CONTROL, Z, exec, hyprscratch toggle sphtop -bind = $mainMod CONTROL, X, exec, hyprscratch toggle spterm -bind = $mainMod CONTROL, C, exec, hyprscratch toggle sppmxr -bind = $mainMod CONTROL, V, exec, hyprscratch toggle spblue -bind = $mainMod CONTROL, B, exec, hyprscratch toggle spncmp -bind = $mainMod CONTROL, A, exec, hyprscratch toggle spmutt -bind = $mainMod CONTROL, S, exec, hyprscratch toggle spprof -bind = $mainMod CONTROL, D, exec, hyprscratch toggle spirss -bind = $mainMod CONTROL, F, exec, hyprscratch toggle sptodo -bind = $mainMod CONTROL, G, exec, hyprscratch toggle sptrmc -bind = $mainMod CONTROL, Q, exec, hyprscratch toggle helvum -bind = $mainMod CONTROL, E, exec, hyprscratch toggle easyeffects -#}}} - -#{{{ OBS bindings -bind = $mainMod CONTROL, 1, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 2, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 3, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 4, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 5, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 6, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 7, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 8, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 9, pass, ^(com\.obsproject\.Studio)$ -bind = $mainMod CONTROL, 0, pass, ^(com\.obsproject\.Studio)$ -#}}} - -#{{{ Inert submap binds -bind = $mainMod, B, submap, inert -submap = inert -bind = $mainMod, B, submap, reset -submap = reset -#}}} - -#{{{ Media bindings -bindl = $secdMod, P, exec, playerctl play-pause -bindel = , XF86AudioRaiseVolume, exec, volsv -i 5 -bindel = , XF86AudioLowerVolume, exec, volsv -d 5 -bind = , XF86AudioPlay, exec, playerctl play-pause -bind = , XF86AudioStop, exec, playerctl stop -bind = , XF86AudioPrev, exec, playerctl previous -bind = , XF86AudioNext, exec, playerctl next -bind = , XF86AudioMute, exec, volsv -t -#bindl = , XF86AudioMicMute, exec, volsv -m -bind = , XF86AudioMicMute, exec, volsv -m -bindel = , XF86MonBrightnessUp, exec, bl -i -bindel = , XF86MonBrightnessDown, exec, bl -d -bindl = $mainMod, XF86MonBrightnessUp, exec, bl -I 1 -bindl = $mainMod, XF86MonBrightnessDown, exec, bl -D 1 -bind = , Print, exec, scrshot -#}}} diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf deleted file mode 100644 index 8ee636d..0000000 --- a/hypr/hyprlock.conf +++ /dev/null @@ -1,55 +0,0 @@ -general { - hide_cursor = true - immediate_render = true -} - -animations { - enabled = false -} - -background { - monitor = - path = - color = rgba(0, 0, 0, 1.0) - - # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations - #blur_passes = 0 # 0 disables blurring - #blur_size = 7 - #noise = 0.0117 - #contrast = 0.8916 - #brightness = 0.8172 - #vibrancy = 0.1696 - #vibrancy_darkness = 0.0 -} - -input-field { - monitor = - size = 200, 50 - outline_thickness = 3 - dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = false - dots_rounding = -1 # -1 default circle, -2 follow input-field rounding - outer_color = rgb(151515) - inner_color = rgb(200, 200, 200) - font_color = rgb(10, 10, 10) - fade_on_empty = true - fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. - placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty. - hide_input = false - rounding = -1 # -1 means complete rounding (circle/oval) - check_color = rgb(204, 136, 34) - fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color - fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty - #fail_transition = 300 # transition time in ms between normal outer_color and fail_color - capslock_color = -1 - numlock_color = -1 - bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) - invert_numlock = false # change color if numlock is off - swap_font_color = false # see below - - position = 0, -20 - halign = center - valign = center -} - diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf deleted file mode 100644 index 728c00c..0000000 --- a/hypr/hyprpaper.conf +++ /dev/null @@ -1,15 +0,0 @@ -preload = ~/Pictures/background.png -#if more than one preload is desired then continue to preload other backgrounds -#preload = /path/to/next_image.png -# .. more preloads - -#set the default wallpaper(s) seen on inital workspace(s) --depending on the number of monitors used -wallpaper = eDP-1,~/Pictures/background.png -wallpaper = HDMI-A-1,~/Pictures/background.png -wallpaper = HDMI-A-2,~/Pictures/background.png -wallpaper = DP-1,~/Pictures/background.png -wallpaper = DP-2,~/Pictures/background.png -#if more than one monitor in use, can load a 2nd image -#wallpaper = monitor2,~/background.png -# .. more monitors -splash = false diff --git a/hypr/hyprscratch.conf b/hypr/hyprscratch.conf deleted file mode 100644 index 4274dcd..0000000 --- a/hypr/hyprscratch.conf +++ /dev/null @@ -1,125 +0,0 @@ -# Optional globals that apply to all scratchpads -daemon_options = clean - -global_rules = size 50% 50% - -sphtop { - # Mandatory fields - title = sphtop - command = kitty -T sphtop htop - - # Optional fields - options = lazy - options = special -} - -spterm { - # Mandatory fields - title = spterm - command = kitty -T spterm - - # Optional fields - options = lazy - options = special -} - -sppmxr { - # Mandatory fields - title = sppmxr - command = kitty -T sppmxr pulsemixer - - # Optional fields - options = lazy - options = special -} - -spblue { - # Mandatory fields - title = spblue - command = kitty -T spblue bluetoothctl - - # Optional fields - options = lazy - options = special -} - -spncmp { - # Mandatory fields - title = spncmp - command = kitty -T spncmp ncmpcpp - - # Optional fields - options = lazy - options = special -} - -spmutt { - # Mandatory fields - title = spmutt - command = kitty -T spmutt neomutt - - # Optional fields - options = lazy - options = special -} - -spprof { - # Mandatory fields - title = spprof - command = kitty -T spprof profanity - - # Optional fields - options = lazy - options = special -} - -spirss { - # Mandatory fields - title = spirss - command = kitty -T spirss irssi - - # Optional fields - options = lazy - options = special -} - -sptodo { - # Mandatory fields - title = sptodo - command = kitty -T sptodo todo - - # Optional fields - options = lazy - options = special -} - -sptrmc { - # Mandatory fields - title = sptrmc - command = kitty -T sptrmc tremc - - # Optional fields - options = lazy - options = special -} - -helvum { - # Mandatory fields - title = Helvum - Pipewire Patchbay - command = helvum - - # Optional fields - options = lazy - options = special -} - -easyeffects { - # Mandatory fields - title = Easy Effects - command = easyeffects - - # Optional fields - options = lazy - options = special -} - diff --git a/hypr/pyprland.toml b/hypr/pyprland.toml deleted file mode 100644 index cacd7f1..0000000 --- a/hypr/pyprland.toml +++ /dev/null @@ -1,5 +0,0 @@ -[pyprland] -plugins = [ - "toggle_special", - "expose" -] diff --git a/kitty/kitty.conf b/kitty/kitty.conf deleted file mode 100644 index 7afcb30..0000000 --- a/kitty/kitty.conf +++ /dev/null @@ -1,2346 +0,0 @@ -# vim:fileencoding=utf-8:foldmethod=marker - -#: Fonts {{{ - -#: kitty has very powerful font management. You can configure -#: individual font faces and even specify special fonts for particular -#: characters. - -font_family JetBrainsMono Nerd Font -bold_font auto -italic_font auto -bold_italic_font auto - -#: You can specify different fonts for the bold/italic/bold-italic -#: variants. To get a full list of supported fonts use the `kitty -#: +list-fonts` command. By default they are derived automatically, by -#: the OSes font system. When bold_font or bold_italic_font is set to -#: auto on macOS, the priority of bold fonts is semi-bold, bold, -#: heavy. Setting them manually is useful for font families that have -#: many weight variants like Book, Medium, Thick, etc. For example:: - -#: font_family Operator Mono Book -#: bold_font Operator Mono Medium -#: italic_font Operator Mono Book Italic -#: bold_italic_font Operator Mono Medium Italic - -font_size 15.0 - -#: Font size (in pts) - -# force_ltr no - -#: kitty does not support BIDI (bidirectional text), however, for RTL -#: scripts, words are automatically displayed in RTL. That is to say, -#: in an RTL script, the words "HELLO WORLD" display in kitty as -#: "WORLD HELLO", and if you try to select a substring of an RTL- -#: shaped string, you will get the character that would be there had -#: the the string been LTR. For example, assuming the Hebrew word -#: ירושלים, selecting the character that on the screen appears to be ם -#: actually writes into the selection buffer the character י. kitty's -#: default behavior is useful in conjunction with a filter to reverse -#: the word order, however, if you wish to manipulate RTL glyphs, it -#: can be very challenging to work with, so this option is provided to -#: turn it off. Furthermore, this option can be used with the command -#: line program GNU FriBidi -#: <https://github.com/fribidi/fribidi#executable> to get BIDI -#: support, because it will force kitty to always treat the text as -#: LTR, which FriBidi expects for terminals. - -# symbol_map - -#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols - -#: Map the specified Unicode codepoints to a particular font. Useful -#: if you need special rendering for some symbols, such as for -#: Powerline. Avoids the need for patched fonts. Each Unicode code -#: point is specified in the form `U+<code point in hexadecimal>`. You -#: can specify multiple code points, separated by commas and ranges -#: separated by hyphens. This option can be specified multiple times. -#: The syntax is:: - -#: symbol_map codepoints Font Family Name - -# narrow_symbols - -#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 - -#: Usually, for Private Use Unicode characters and some symbol/dingbat -#: characters, if the character is followed by one or more spaces, -#: kitty will use those extra cells to render the character larger, if -#: the character in the font has a wide aspect ratio. Using this -#: option you can force kitty to restrict the specified code points to -#: render in the specified number of cells (defaulting to one cell). -#: This option can be specified multiple times. The syntax is:: - -#: narrow_symbols codepoints [optionally the number of cells] - -# disable_ligatures never - -#: Choose how you want to handle multi-character ligatures. The -#: default is to always render them. You can tell kitty to not render -#: them when the cursor is over them by using cursor to make editing -#: easier, or have kitty never render them at all by using always, if -#: you don't like them. The ligature strategy can be set per-window -#: either using the kitty remote control facility or by defining -#: shortcuts for it in kitty.conf, for example:: - -#: map alt+1 disable_ligatures_in active always -#: map alt+2 disable_ligatures_in all never -#: map alt+3 disable_ligatures_in tab cursor - -#: Note that this refers to programming ligatures, typically -#: implemented using the calt OpenType feature. For disabling general -#: ligatures, use the font_features option. - -# font_features - -#: E.g. font_features none - -#: Choose exactly which OpenType features to enable or disable. This -#: is useful as some fonts might have features worthwhile in a -#: terminal. For example, Fira Code includes a discretionary feature, -#: zero, which in that font changes the appearance of the zero (0), to -#: make it more easily distinguishable from Ø. Fira Code also includes -#: other discretionary features known as Stylistic Sets which have the -#: tags ss01 through ss20. - -#: For the exact syntax to use for individual features, see the -#: HarfBuzz documentation <https://harfbuzz.github.io/harfbuzz-hb- -#: common.html#hb-feature-from-string>. - -#: Note that this code is indexed by PostScript name, and not the font -#: family. This allows you to define very precise feature settings; -#: e.g. you can disable a feature in the italic font but not in the -#: regular font. - -#: On Linux, font features are first read from the FontConfig database -#: and then this option is applied, so they can be configured in a -#: single, central place. - -#: To get the PostScript name for a font, use `kitty +list-fonts -#: --psnames`: - -#: .. code-block:: sh - -#: $ kitty +list-fonts --psnames | grep Fira -#: Fira Code -#: Fira Code Bold (FiraCode-Bold) -#: Fira Code Light (FiraCode-Light) -#: Fira Code Medium (FiraCode-Medium) -#: Fira Code Regular (FiraCode-Regular) -#: Fira Code Retina (FiraCode-Retina) - -#: The part in brackets is the PostScript name. - -#: Enable alternate zero and oldstyle numerals:: - -#: font_features FiraCode-Retina +zero +onum - -#: Enable only alternate zero in the bold font:: - -#: font_features FiraCode-Bold +zero - -#: Disable the normal ligatures, but keep the calt feature which (in -#: this font) breaks up monotony:: - -#: font_features TT2020StyleB-Regular -liga +calt - -#: In conjunction with force_ltr, you may want to disable Arabic -#: shaping entirely, and only look at their isolated forms if they -#: show up in a document. You can do this with e.g.:: - -#: font_features UnifontMedium +isol -medi -fina -init - -# modify_font - -#: Modify font characteristics such as the position or thickness of -#: the underline and strikethrough. The modifications can have the -#: suffix px for pixels or % for percentage of original value. No -#: suffix means use pts. For example:: - -#: modify_font underline_position -2 -#: modify_font underline_thickness 150% -#: modify_font strikethrough_position 2px - -#: Additionally, you can modify the size of the cell in which each -#: font glyph is rendered and the baseline at which the glyph is -#: placed in the cell. For example:: - -#: modify_font cell_width 80% -#: modify_font cell_height -2px -#: modify_font baseline 3 - -#: Note that modifying the baseline will automatically adjust the -#: underline and strikethrough positions by the same amount. -#: Increasing the baseline raises glyphs inside the cell and -#: decreasing it lowers them. Decreasing the cell size might cause -#: rendering artifacts, so use with care. - -# box_drawing_scale 0.001, 1, 1.5, 2 - -#: The sizes of the lines used for the box drawing Unicode characters. -#: These values are in pts. They will be scaled by the monitor DPI to -#: arrive at a pixel value. There must be four values corresponding to -#: thin, normal, thick, and very thick lines. - -# undercurl_style thin-sparse - -#: The style with which undercurls are rendered. This option takes the -#: form (thin|thick)-(sparse|dense). Thin and thick control the -#: thickness of the undercurl. Sparse and dense control how often the -#: curl oscillates. With sparse the curl will peak once per character, -#: with dense twice. - -# text_composition_strategy platform - -#: Control how kitty composites text glyphs onto the background color. -#: The default value of platform tries for text rendering as close to -#: "native" for the platform kitty is running on as possible. - -#: A value of legacy uses the old (pre kitty 0.28) strategy for how -#: glyphs are composited. This will make dark text on light -#: backgrounds look thicker and light text on dark backgrounds -#: thinner. It might also make some text appear like the strokes are -#: uneven. - -#: You can fine tune the actual contrast curve used for glyph -#: composition by specifying two space separated numbers for this -#: setting. - -#: The first number is the gamma adjustment, which controls the -#: thickness of dark text on light backgrounds. Increasing the value -#: will make text appear thicker. The default value for this is 1.0 on -#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result -#: is scaled based on the luminance difference between the background -#: and the foreground. Dark text on light backgrounds receives the -#: full impact of the curve while light text on dark backgrounds is -#: affected very little. - -#: The second number is an additional multiplicative contrast. It is -#: percentage ranging from 0 to 100. The default value is 0 on Linux -#: and 30 on macOS. - -#: If you wish to achieve similar looking thickness in light and dark -#: themes, a good way to experiment is start by setting the value to -#: 1.0 0 and use a dark theme. Then adjust the second parameter until -#: it looks good. Then switch to a light theme and adjust the first -#: parameter until the perceived thickness matches the dark theme. - -#: }}} - -#: Cursor customization {{{ - -cursor #c5c8c6 - -#: Default cursor color. If set to the special value none the cursor -#: will be rendered with a "reverse video" effect. It's color will be -#: the color of the text in the cell it is over and the text will be -#: rendered with the background color of the cell. Note that if the -#: program running in the terminal sets a cursor color, this takes -#: precedence. Also, the cursor colors are modified if the cell -#: background and foreground colors have very low contrast. - -cursor_text_color #333536 - -#: The color of text under the cursor. If you want it rendered with -#: the background color of the cell underneath instead, use the -#: special keyword: background. Note that if cursor is set to none -#: then this option is ignored. - -cursor_shape block - -#: The cursor shape can be one of block, beam, underline. Note that -#: when reloading the config this will be changed only if the cursor -#: shape has not been set by the program running in the terminal. This -#: sets the default cursor shape, applications running in the terminal -#: can override it. In particular, shell integration -#: <https://sw.kovidgoyal.net/kitty/shell-integration/> in kitty sets -#: the cursor shape to beam at shell prompts. You can avoid this by -#: setting shell_integration to no-cursor. - -# cursor_beam_thickness 1.5 - -#: The thickness of the beam cursor (in pts). - -# cursor_underline_thickness 2.0 - -#: The thickness of the underline cursor (in pts). - -# cursor_blink_interval -1 - -#: The interval to blink the cursor (in seconds). Set to zero to -#: disable blinking. Negative values mean use system default. Note -#: that the minimum interval will be limited to repaint_delay. - -# cursor_stop_blinking_after 15.0 - -#: Stop blinking cursor after the specified number of seconds of -#: keyboard inactivity. Set to zero to never stop blinking. - -#: }}} - -#: Scrollback {{{ - -# scrollback_lines 2000 - -#: Number of lines of history to keep in memory for scrolling back. -#: Memory is allocated on demand. Negative numbers are (effectively) -#: infinite scrollback. Note that using very large scrollback is not -#: recommended as it can slow down performance of the terminal and -#: also use large amounts of RAM. Instead, consider using -#: scrollback_pager_history_size. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER - -#: Program with which to view scrollback in a new window. The -#: scrollback buffer is passed as STDIN to this program. If you change -#: it, make sure the program you use can handle ANSI escape sequences -#: for colors and text formatting. INPUT_LINE_NUMBER in the command -#: line above will be replaced by an integer representing which line -#: should be at the top of the screen. Similarly CURSOR_LINE and -#: CURSOR_COLUMN will be replaced by the current cursor position or -#: set to 0 if there is no cursor, for example, when showing the last -#: command output. - -# scrollback_pager_history_size 0 - -#: Separate scrollback history size (in MB), used only for browsing -#: the scrollback buffer with pager. This separate buffer is not -#: available for interactive scrolling but will be piped to the pager -#: program when viewing scrollback buffer in a separate window. The -#: current implementation stores the data in UTF-8, so approximatively -#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, -#: unformatted text. A value of zero or less disables this feature. -#: The maximum allowed size is 4GB. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -scrollback_fill_enlarged_window no - -#: Fill new space with lines from the scrollback buffer after -#: enlarging a window. - -# wheel_scroll_multiplier 5.0 - -#: Multiplier for the number of lines scrolled by the mouse wheel. -#: Note that this is only used for low precision scrolling devices, -#: not for high precision scrolling devices on platforms such as macOS -#: and Wayland. Use negative numbers to change scroll direction. See -#: also wheel_scroll_min_lines. - -# wheel_scroll_min_lines 1 - -#: The minimum number of lines scrolled by the mouse wheel. The scroll -#: multiplier wheel_scroll_multiplier only takes effect after it -#: reaches this number. Note that this is only used for low precision -#: scrolling devices like wheel mice that scroll by very small amounts -#: when using the wheel. With a negative number, the minimum number of -#: lines will always be added. - -# touch_scroll_multiplier 1.0 - -#: Multiplier for the number of lines scrolled by a touchpad. Note -#: that this is only used for high precision scrolling devices on -#: platforms such as macOS and Wayland. Use negative numbers to change -#: scroll direction. - -#: }}} - -#: Mouse {{{ - -mouse_hide_wait -1.0 - -#: Hide mouse cursor after the specified number of seconds of the -#: mouse not being used. Set to zero to disable mouse cursor hiding. -#: Set to a negative value to hide the mouse cursor immediately when -#: typing text. Disabled by default on macOS as getting it to work -#: robustly with the ever-changing sea of bugs that is Cocoa is too -#: much effort. - -url_color #0087bd -url_style curly - -#: The color and style for highlighting URLs on mouse-over. url_style -#: can be one of: none, straight, double, curly, dotted, dashed. - -open_url_with url_handler.sh - -#: The program to open clicked URLs. The special value default with -#: first look for any URL handlers defined via the open_actions -#: <https://sw.kovidgoyal.net/kitty/open_actions/> facility and if non -#: are found, it will use the Operating System's default URL handler -#: (open on macOS and xdg-open on Linux). - -url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh - -#: The set of URL prefixes to look for when detecting a URL under the -#: mouse cursor. - -detect_urls yes - -#: Detect URLs under the mouse. Detected URLs are highlighted with an -#: underline and the mouse cursor becomes a hand over them. Even if -#: this option is disabled, URLs are still clickable. - -# url_excluded_characters - -#: Additional characters to be disallowed from URLs, when detecting -#: URLs under the mouse cursor. By default, all characters that are -#: legal in URLs are allowed. Additionally, newlines are allowed (but -#: stripped). This is to accommodate programs such as mutt that add -#: hard line breaks even for continued lines. \n can be added to this -#: option to disable this behavior. Special characters can be -#: specified using backslash escapes, to specify a backslash use a -#: double backslash. - -show_hyperlink_targets no - -#: When the mouse hovers over a terminal hyperlink, show the actual -#: URL that will be activated when the hyperlink is clicked. - -copy_on_select no - -#: Copy to clipboard or a private buffer on select. With this set to -#: clipboard, selecting text with the mouse will cause the text to be -#: copied to clipboard. Useful on platforms such as macOS that do not -#: have the concept of primary selection. You can instead specify a -#: name such as a1 to copy to a private kitty buffer. Map a shortcut -#: with the paste_from_buffer action to paste from this private -#: buffer. For example:: - -#: copy_on_select a1 -#: map shift+cmd+v paste_from_buffer a1 - -#: Note that copying to the clipboard is a security risk, as all -#: programs, including websites open in your browser can read the -#: contents of the system clipboard. - -paste_actions quote-urls-at-prompt - -#: A comma separated list of actions to take when pasting text into -#: the terminal. The supported paste actions are: - -#: quote-urls-at-prompt: -#: If the text being pasted is a URL and the cursor is at a shell prompt, -#: automatically quote the URL (needs shell_integration). -#: confirm: -#: Confirm the paste if bracketed paste mode is not active or there is -#: a large amount of text being pasted. -#: filter: -#: Run the filter_paste() function from the file paste-actions.py in -#: the kitty config directory on the pasted text. The text returned by the -#: function will be actually pasted. - -strip_trailing_spaces smart - -#: Remove spaces at the end of lines when copying to clipboard. A -#: value of smart will do it when using normal selections, but not -#: rectangle selections. A value of always will always do it. - -select_by_word_characters @-./_~?&=%+# - -#: Characters considered part of a word when double clicking. In -#: addition to these characters any character that is marked as an -#: alphanumeric character in the Unicode database will be matched. - -# select_by_word_characters_forward - -#: Characters considered part of a word when extending the selection -#: forward on double clicking. In addition to these characters any -#: character that is marked as an alphanumeric character in the -#: Unicode database will be matched. - -#: If empty (default) select_by_word_characters will be used for both -#: directions. - -# click_interval -1.0 - -#: The interval between successive clicks to detect double/triple -#: clicks (in seconds). Negative numbers will use the system default -#: instead, if available, or fallback to 0.5. - -focus_follows_mouse yes - -#: Set the active window to the window under the mouse when moving the -#: mouse around. - -# pointer_shape_when_grabbed arrow - -#: The shape of the mouse pointer when the program running in the -#: terminal grabs the mouse. Valid values are: arrow, beam and hand. - -# default_pointer_shape beam - -#: The default shape of the mouse pointer. Valid values are: arrow, -#: beam and hand. - -# pointer_shape_when_dragging beam - -#: The default shape of the mouse pointer when dragging across text. -#: Valid values are: arrow, beam and hand. - -#: Mouse actions {{{ - -#: Mouse buttons can be mapped to perform arbitrary actions. The -#: syntax is: - -#: .. code-block:: none - -#: mouse_map button-name event-type modes action - -#: Where button-name is one of left, middle, right, b1 ... b8 with -#: added keyboard modifiers. For example: ctrl+shift+left refers to -#: holding the Ctrl+Shift keys while clicking with the left mouse -#: button. The value b1 ... b8 can be used to refer to up to eight -#: buttons on a mouse. - -#: event-type is one of press, release, doublepress, triplepress, -#: click, doubleclick. modes indicates whether the action is performed -#: when the mouse is grabbed by the program running in the terminal, -#: or not. The values are grabbed or ungrabbed or a comma separated -#: combination of them. grabbed refers to when the program running in -#: the terminal has requested mouse events. Note that the click and -#: double click events have a delay of click_interval to disambiguate -#: from double and triple presses. - -#: You can run kitty with the kitty --debug-input command line option -#: to see mouse events. See the builtin actions below to get a sense -#: of what is possible. - -#: If you want to unmap an action, map it to no_op. For example, to -#: disable opening of URLs with a plain click:: - -#: mouse_map left click ungrabbed no_op - -#: See all the mappable actions including mouse actions here -#: <https://sw.kovidgoyal.net/kitty/actions/>. - -#: .. note:: -#: Once a selection is started, releasing the button that started it will -#: automatically end it and no release event will be dispatched. - -# clear_all_mouse_actions no - -#: Remove all mouse action definitions up to this point. Useful, for -#: instance, to remove the default mouse actions. - -#: Click the link under the mouse or move the cursor - -# mouse_map left click ungrabbed mouse_handle_click selection link prompt - -#:: First check for a selection and if one exists do nothing. Then -#:: check for a link under the mouse cursor and if one exists, click -#:: it. Finally check if the click happened at the current shell -#:: prompt and if so, move the cursor to the click location. Note -#:: that this requires shell integration -#:: <https://sw.kovidgoyal.net/kitty/shell-integration/> to work. - -#: Click the link under the mouse or move the cursor even when grabbed - -# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt - -#:: Same as above, except that the action is performed even when the -#:: mouse is grabbed by the program running in the terminal. - -#: Click the link under the mouse cursor - -# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link - -#:: Variant with Ctrl+Shift is present because the simple click based -#:: version has an unavoidable delay of click_interval, to -#:: disambiguate clicks from double clicks. - -#: Discard press event for link click - -# mouse_map ctrl+shift+left press grabbed discard_event - -#:: Prevent this press event from being sent to the program that has -#:: grabbed the mouse, as the corresponding release event is used to -#:: open a URL. - -#: Paste from the primary selection - -# mouse_map middle release ungrabbed paste_from_selection - -#: Start selecting text - -# mouse_map left press ungrabbed mouse_selection normal - -#: Start selecting text in a rectangle - -# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle - -#: Select a word - -# mouse_map left doublepress ungrabbed mouse_selection word - -#: Select a line - -# mouse_map left triplepress ungrabbed mouse_selection line - -#: Select line from point - -# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line. - -#: Extend the current selection - -# mouse_map right press ungrabbed mouse_selection extend - -#:: If you want only the end of the selection to be moved instead of -#:: the nearest boundary, use move-end instead of extend. - -#: Paste from the primary selection even when grabbed - -# mouse_map shift+middle release ungrabbed,grabbed paste_selection -# mouse_map shift+middle press grabbed discard_event - -#: Start selecting text even when grabbed - -# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal - -#: Start selecting text in a rectangle even when grabbed - -# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle - -#: Select a word even when grabbed - -# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word - -#: Select a line even when grabbed - -# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line - -#: Select line from point even when grabbed - -# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line even when -#:: grabbed. - -#: Extend the current selection even when grabbed - -# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend - -#: Show clicked command output in pager - -# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output - -#:: Requires shell integration -#:: <https://sw.kovidgoyal.net/kitty/shell-integration/> to work. - -#: }}} - -#: }}} - -#: Performance tuning {{{ - -repaint_delay 10 - -#: Delay between screen updates (in milliseconds). Decreasing it, -#: increases frames-per-second (FPS) at the cost of more CPU usage. -#: The default value yields ~100 FPS which is more than sufficient for -#: most uses. Note that to actually achieve 100 FPS, you have to -#: either set sync_to_monitor to no or use a monitor with a high -#: refresh rate. Also, to minimize latency when there is pending input -#: to be processed, this option is ignored. - -# input_delay 3 - -#: Delay before input from the program running in the terminal is -#: processed (in milliseconds). Note that decreasing it will increase -#: responsiveness, but also increase CPU usage and might cause flicker -#: in full screen programs that redraw the entire screen on each loop, -#: because kitty is so fast that partial screen updates will be drawn. - -sync_to_monitor yes - -#: Sync screen updates to the refresh rate of the monitor. This -#: prevents screen tearing -#: <https://en.wikipedia.org/wiki/Screen_tearing> when scrolling. -#: However, it limits the rendering speed to the refresh rate of your -#: monitor. With a very high speed mouse/high keyboard repeat rate, -#: you may notice some slight input latency. If so, set this to no. - -#: }}} - -#: Terminal bell {{{ - -enable_audio_bell no - -#: The audio bell. Useful to disable it in environments that require -#: silence. - -visual_bell_duration 0.0 - -#: The visual bell duration (in seconds). Flash the screen when a bell -#: occurs for the specified number of seconds. Set to zero to disable. - -visual_bell_color none - -#: The color used by visual bell. Set to none will fall back to -#: selection background color. If you feel that the visual bell is too -#: bright, you can set it to a darker color. - -window_alert_on_bell yes - -#: Request window attention on bell. Makes the dock icon bounce on -#: macOS or the taskbar flash on linux. - -# bell_on_tab "🔔 " - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has a bell. If you want to use leading -#: or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -#: For backwards compatibility, values of yes, y and true are -#: converted to the default bell symbol and no, n, false and none are -#: converted to the empty string. - -command_on_bell none - -#: Program to run when a bell occurs. The environment variable -#: KITTY_CHILD_CMDLINE can be used to get the program running in the -#: window in which the bell occurred. - -bell_path none - -#: Path to a sound file to play as the bell sound. If set to none, the -#: system default bell sound is used. Must be in a format supported by -#: the operating systems sound API, such as WAV or OGA on Linux -#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound) - -# linux_bell_theme __custom - -#: The XDG Sound Theme kitty will use to play the bell sound. Defaults -#: to the custom theme name used by GNOME and Budgie, falling back to -#: the default freedesktop theme if it does not exist. This option may -#: be removed if Linux ever provides desktop-agnostic support for -#: setting system sound themes. - -#: }}} - -#: Window layout {{{ - -# remember_window_size yes -initial_window_width 960 -initial_window_height 540 - -#: If enabled, the OS Window size will be remembered so that new -#: instances of kitty will have the same size as the previous -#: instance. If disabled, the OS Window will initially have size -#: configured by initial_window_width/height, in pixels. You can use a -#: suffix of "c" on the width/height values to have them interpreted -#: as number of cells instead of pixels. - -enabled_layouts all - -#: The enabled window layouts. A comma separated list of layout names. -#: The special value all means all layouts. The first listed layout -#: will be used as the startup layout. Default configuration is all -#: layouts in alphabetical order. For a list of available layouts, see -#: the layouts <https://sw.kovidgoyal.net/kitty/overview/#layouts>. - -window_resize_step_cells 2 -window_resize_step_lines 2 - -#: The step size (in units of cell width/cell height) to use when -#: resizing kitty windows in a layout with the shortcut -#: start_resizing_window. The cells value is used for horizontal -#: resizing, and the lines value is used for vertical resizing. - -window_border_width 0.5pt - -#: The width of window borders. Can be either in pixels (px) or pts -#: (pt). Values in pts will be rounded to the nearest number of pixels -#: based on screen resolution. If not specified, the unit is assumed -#: to be pts. Note that borders are displayed only when more than one -#: window is visible. They are meant to separate multiple windows. - -draw_minimal_borders yes - -#: Draw only the minimum borders needed. This means that only the -#: borders that separate the window from a neighbor are drawn. Note -#: that setting a non-zero window_margin_width overrides this and -#: causes all borders to be drawn. - -window_margin_width 0 - -#: The window margin (in pts) (blank area outside the border). A -#: single value sets all four sides. Two values set the vertical and -#: horizontal sides. Three values set top, horizontal and bottom. Four -#: values set top, right, bottom and left. - -# single_window_margin_width -1 - -#: The window margin to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_margin_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# window_padding_width 0 - -#: The window padding (in pts) (blank area between the text and the -#: window border). A single value sets all four sides. Two values set -#: the vertical and horizontal sides. Three values set top, horizontal -#: and bottom. Four values set top, right, bottom and left. - -placement_strategy center - -#: When the window size is not an exact multiple of the cell size, the -#: cell area of the terminal window will have some extra padding on -#: the sides. You can control how that padding is distributed with -#: this option. Using a value of center means the cell area will be -#: placed centrally. A value of top-left means the padding will be -#: only at the bottom and right edges. - -# active_border_color #00ff00 - -#: The color for the border of the active window. Set this to none to -#: not draw borders around the active window. - -# inactive_border_color #cccccc - -#: The color for the border of inactive windows. - -# bell_border_color #ff5a00 - -#: The color for the border of inactive windows in which a bell has -#: occurred. - -# inactive_text_alpha 1.0 - -#: Fade the text in inactive windows by the specified amount (a number -#: between zero and one, with zero being fully faded). - -# hide_window_decorations no - -#: Hide the window decorations (title-bar and window borders) with -#: yes. On macOS, titlebar-only can be used to only hide the titlebar. -#: Whether this works and exactly what effect it has depends on the -#: window manager/operating system. Note that the effects of changing -#: this option when reloading config are undefined. - -# window_logo_path none - -#: Path to a logo image. Must be in PNG format. Relative paths are -#: interpreted relative to the kitty config directory. The logo is -#: displayed in a corner of every kitty window. The position is -#: controlled by window_logo_position. Individual windows can be -#: configured to have different logos either using the launch action -#: or the remote control <https://sw.kovidgoyal.net/kitty/remote- -#: control/> facility. - -# window_logo_position bottom-right - -#: Where to position the window logo in the window. The value can be -#: one of: top-left, top, top-right, left, center, right, bottom-left, -#: bottom, bottom-right. - -# window_logo_alpha 0.5 - -#: The amount the logo should be faded into the background. With zero -#: being fully faded and one being fully opaque. - -# resize_debounce_time 0.1 - -#: The time to wait before redrawing the screen when a resize event is -#: received (in seconds). On platforms such as macOS, where the -#: operating system sends events corresponding to the start and end of -#: a resize, this number is ignored. - -resize_draw_strategy static - -#: Choose how kitty draws a window while a resize is in progress. A -#: value of static means draw the current window contents, mostly -#: unchanged. A value of scale means draw the current window contents -#: scaled. A value of blank means draw a blank window. A value of size -#: means show the window size in cells. - -# resize_in_steps no - -#: Resize the OS window in steps as large as the cells, instead of -#: with the usual pixel accuracy. Combined with initial_window_width -#: and initial_window_height in number of cells, this option can be -#: used to keep the margins as small as possible when resizing the OS -#: window. Note that this does not currently work on Wayland. - -# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ - -#: The list of characters for visual window selection. For example, -#: for selecting a window to focus on with focus_visible_window. The -#: value should be a series of unique numbers or alphabets, case -#: insensitive, from the set [0-9A-Z]. Specify your preference as a -#: string of characters. - -confirm_os_window_close 0 - -#: Ask for confirmation when closing an OS window or a tab with at -#: least this number of kitty windows in it by window manager (e.g. -#: clicking the window close button or pressing the operating system -#: shortcut to close windows) or by the close_tab action. A value of -#: zero disables confirmation. This confirmation also applies to -#: requests to quit the entire application (all OS windows, via the -#: quit action). Negative values are converted to positive ones, -#: however, with shell_integration enabled, using negative values -#: means windows sitting at a shell prompt are not counted, only -#: windows where some command is currently running. Note that if you -#: want confirmation when closing individual windows, you can map the -#: close_window_with_confirmation action. - -#: }}} - -#: Tab bar {{{ - -# tab_bar_edge bottom - -#: The edge to show the tab bar on, top or bottom. - -# tab_bar_margin_width 0.0 - -#: The margin to the left and right of the tab bar (in pts). - -# tab_bar_margin_height 0.0 0.0 - -#: The margin above and below the tab bar (in pts). The first number -#: is the margin between the edge of the OS Window and the tab bar. -#: The second number is the margin between the tab bar and the -#: contents of the current tab. - -tab_bar_style powerline - -#: The tab bar style, can be one of: - -#: fade -#: Each tab's edges fade into the background color. (See also tab_fade) -#: slant -#: Tabs look like the tabs in a physical file. -#: separator -#: Tabs are separated by a configurable separator. (See also -#: tab_separator) -#: powerline -#: Tabs are shown as a continuous line with "fancy" separators. -#: (See also tab_powerline_style) -#: custom -#: A user-supplied Python function called draw_tab is loaded from the file -#: tab_bar.py in the kitty config directory. For examples of how to -#: write such a function, see the functions named draw_tab_with_* in -#: kitty's source code: kitty/tab_bar.py. See also -#: this discussion <https://github.com/kovidgoyal/kitty/discussions/4447> -#: for examples from kitty users. -#: hidden -#: The tab bar is hidden. If you use this, you might want to create -#: a mapping for the select_tab action which presents you with a list of -#: tabs and allows for easy switching to a tab. - -# tab_bar_align left - -#: The horizontal alignment of the tab bar, can be one of: left, -#: center, right. - -# tab_bar_min_tabs 2 - -#: The minimum number of tabs that must exist before the tab bar is -#: shown. - -# tab_switch_strategy previous - -#: The algorithm to use when switching to a tab when the current tab -#: is closed. The default of previous will switch to the last used -#: tab. A value of left will switch to the tab to the left of the -#: closed tab. A value of right will switch to the tab to the right of -#: the closed tab. A value of last will switch to the right-most tab. - -# tab_fade 0.25 0.5 0.75 1 - -#: Control how each tab fades into the background when using fade for -#: the tab_bar_style. Each number is an alpha (between zero and one) -#: that controls how much the corresponding cell fades into the -#: background, with zero being no fade and one being full fade. You -#: can change the number of cells used by adding/removing entries to -#: this list. - -# tab_separator " ┇" - -#: The separator between tabs in the tab bar when using separator as -#: the tab_bar_style. - -# tab_powerline_style angled - -#: The powerline separator style between tabs in the tab bar when -#: using powerline as the tab_bar_style, can be one of: angled, -#: slanted, round. - -# tab_activity_symbol none - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has some activity. If you want to use -#: leading or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -# tab_title_max_length 0 - -#: The maximum number of cells that can be used to render the text in -#: a tab. A value of zero means that no limit is applied. - -# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" - -#: A template to render the tab title. The default just renders the -#: title with optional symbols for bell and activity. If you wish to -#: include the tab-index as well, use something like: {index}:{title}. -#: Useful if you have shortcuts mapped for goto_tab N. If you prefer -#: to see the index as a superscript, use {sup.index}. All data -#: available is: - -#: title -#: The current tab title. -#: index -#: The tab index useable with goto_tab N goto_tab shortcuts. -#: layout_name -#: The current layout name. -#: num_windows -#: The number of windows in the tab. -#: num_window_groups -#: The number of window groups (not counting overlay windows) in the tab. -#: tab.active_wd -#: The working directory of the currently active window in the tab -#: (expensive, requires syscall). Use active_oldest_wd to get -#: the directory of the oldest foreground process rather than the newest. -#: tab.active_exe -#: The name of the executable running in the foreground of the currently -#: active window in the tab (expensive, requires syscall). Use -#: active_oldest_exe for the oldest foreground process. -#: max_title_length -#: The maximum title length available. - -#: Note that formatting is done by Python's string formatting -#: machinery, so you can use, for instance, {layout_name[:2].upper()} -#: to show only the first two letters of the layout name, upper-cased. -#: If you want to style the text, you can use styling directives, for -#: example: -#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. -#: Similarly, for bold and italic: -#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. -#: Note that for backward compatibility, if {bell_symbol} or -#: {activity_symbol} are not present in the template, they are -#: prepended to it. - -# active_tab_title_template none - -#: Template to use for active tabs. If not specified falls back to -#: tab_title_template. - -# active_tab_foreground #000 -# active_tab_background #eee -# active_tab_font_style bold-italic -# inactive_tab_foreground #444 -# inactive_tab_background #999 -# inactive_tab_font_style normal - -#: Tab bar colors and styles. - -# tab_bar_background none - -#: Background color for the tab bar. Defaults to using the terminal -#: background color. - -# tab_bar_margin_color none - -#: Color for the tab bar margin area. Defaults to using the terminal -#: background color for margins above and below the tab bar. For side -#: margins the default color is chosen to match the background color -#: of the neighboring tab. - -#: }}} - -#: Color scheme {{{ - -foreground #c5c8c6 -background #000000 - -#: The foreground and background colors. - -background_opacity 0.8 - -#: The opacity of the background. A number between zero and one, where -#: one is opaque and zero is fully transparent. This will only work if -#: supported by the OS (for instance, when using a compositor under -#: X11). Note that it only sets the background color's opacity in -#: cells that have the same background color as the default terminal -#: background, so that things like the status bar in vim, powerline -#: prompts, etc. still look good. But it means that if you use a color -#: theme with a background color in your editor, it will not be -#: rendered as transparent. Instead you should change the default -#: background color in your kitty config and not use a background -#: color in the editor color scheme. Or use the escape codes to set -#: the terminals default colors in a shell script to launch your -#: editor. Be aware that using a value less than 1.0 is a (possibly -#: significant) performance hit. If you want to dynamically change -#: transparency of windows, set dynamic_background_opacity to yes -#: (this is off by default as it has a performance cost). Changing -#: this option when reloading the config will only work if -#: dynamic_background_opacity was enabled in the original config. - -background_image none - -#: Path to a background image. Must be in PNG format. - -# background_image_layout tiled - -#: Whether to tile, scale or clamp the background image. The value can -#: be one of tiled, mirror-tiled, scaled, clamped or centered. - -# background_image_linear no - -#: When background image is scaled, whether linear interpolation -#: should be used. - -# dynamic_background_opacity no - -#: Allow changing of the background_opacity dynamically, using either -#: keyboard shortcuts (increase_background_opacity and -#: decrease_background_opacity) or the remote control facility. -#: Changing this option by reloading the config is not supported. - -# background_tint 0.0 - -#: How much to tint the background image by the background color. This -#: option makes it easier to read the text. Tinting is done using the -#: current background color for each window. This option applies only -#: if background_opacity is set and transparent windows are supported -#: or background_image is set. - -# background_tint_gaps 1.0 - -#: How much to tint the background image at the window gaps by the -#: background color, after applying background_tint. Since this is -#: multiplicative with background_tint, it can be used to lighten the -#: tint over the window gaps for a *separated* look. - -# dim_opacity 0.75 - -#: How much to dim text that has the DIM/FAINT attribute set. One -#: means no dimming and zero means fully dimmed (i.e. invisible). - -# selection_foreground #000000 -# selection_background #fffacd - -#: The foreground and background colors for text selected with the -#: mouse. Setting both of these to none will cause a "reverse video" -#: effect for selections, where the selection will be the cell text -#: color and the text will become the cell background color. Setting -#: only selection_foreground to none will cause the foreground color -#: to be used unchanged. Note that these colors can be overridden by -#: the program running in the terminal. - -#: The color table {{{ - -#: The 256 terminal colors. There are 8 basic colors, each color has a -#: dull and bright version, for the first 16 colors. You can set the -#: remaining 240 colors as color16 to color255. - -color0 #1b1d1c -color8 #969896 - -#: black - -color1 #89231d -color9 #cc342b - -#: red - -color2 #198844 -color10 #4eec4e - -#: green - -color3 #ae7518 -color11 #fba922 - -#: yellow - -color4 #2b55b2 -color12 #3971ed - -#: blue - -color5 #784e93 -color13 #a36ac7 - -#: magenta - -color6 #2783a1 -color14 #39c1ed - -#: cyan - -color7 #b4b7b5 -color15 #ffffff - -#: white - -# mark1_foreground black - -#: Color for marks of type 1 - -# mark1_background #98d3cb - -#: Color for marks of type 1 (light steel blue) - -# mark2_foreground black - -#: Color for marks of type 2 - -# mark2_background #f2dcd3 - -#: Color for marks of type 1 (beige) - -# mark3_foreground black - -#: Color for marks of type 3 - -# mark3_background #f274bc - -#: Color for marks of type 3 (violet) - -#: }}} - -#: }}} - -#: Advanced {{{ - -# shell . - -#: The shell program to execute. The default value of . means to use -#: whatever shell is set as the default shell for the current user. -#: Note that on macOS if you change this, you might need to add -#: --login and --interactive to ensure that the shell starts in -#: interactive mode and reads its startup rc files. - -# editor . - -#: The terminal based text editor (such as vim or nano) to use when -#: editing the kitty config file or similar tasks. - -#: The default value of . means to use the environment variables -#: VISUAL and EDITOR in that order. If these variables aren't set, -#: kitty will run your shell ($SHELL -l -i -c env) to see if your -#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, -#: kitty will cycle through various known editors (vim, emacs, etc.) -#: and take the first one that exists on your system. - -# close_on_child_death no - -#: Close the window when the child process (shell) exits. With the -#: default value no, the terminal will remain open when the child -#: exits as long as there are still processes outputting to the -#: terminal (for example disowned or backgrounded processes). When -#: enabled with yes, the window will close as soon as the child -#: process exits. Note that setting it to yes means that any -#: background processes still using the terminal can fail silently -#: because their stdout/stderr/stdin no longer work. - -# remote_control_password - -#: Allow other programs to control kitty using passwords. This option -#: can be specified multiple times to add multiple passwords. If no -#: passwords are present kitty will ask the user for permission if a -#: program tries to use remote control with a password. A password can -#: also *optionally* be associated with a set of allowed remote -#: control actions. For example:: - -#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab - -#: Only the specified actions will be allowed when using this -#: password. Glob patterns can be used too, for example:: - -#: remote_control_password "my passphrase" set-tab-* resize-* - -#: To get a list of available actions, run:: - -#: kitty @ --help - -#: A set of actions to be allowed when no password is sent can be -#: specified by using an empty password. For example:: - -#: remote_control_password "" *-colors - -#: Finally, the path to a python module can be specified that provides -#: a function is_cmd_allowed that is used to check every remote -#: control command. For example:: - -#: remote_control_password "my passphrase" my_rc_command_checker.py - -#: Relative paths are resolved from the kitty configuration directory. -#: See rc_custom_auth <https://sw.kovidgoyal.net/kitty/remote- -#: control/#rc-custom-auth> for details. - -# allow_remote_control no - -#: Allow other programs to control kitty. If you turn this on, other -#: programs can control all aspects of kitty, including sending text -#: to kitty windows, opening new windows, closing windows, reading the -#: content of windows, etc. Note that this even works over SSH -#: connections. The default setting of no prevents any form of remote -#: control. The meaning of the various values are: - -#: password -#: Remote control requests received over both the TTY device and the socket -#: are confirmed based on passwords, see remote_control_password. - -#: socket-only -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are denied. -#: See listen_on. - -#: socket -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are confirmed based on -#: password. - -#: no -#: Remote control is completely disabled. - -#: yes -#: Remote control requests are always accepted. - -# listen_on none - -#: Listen to the specified UNIX socket for remote control connections. -#: Note that this will apply to all kitty instances. It can be -#: overridden by the kitty --listen-on command line option, which also -#: supports listening on a TCP socket. This option accepts only UNIX -#: sockets, such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). -#: Environment variables are expanded and relative paths are resolved -#: with respect to the temporary directory. If {kitty_pid} is present, -#: then it is replaced by the PID of the kitty process, otherwise the -#: PID of the kitty process is appended to the value, with a hyphen. -#: See the help for kitty --listen-on for more details. Note that this -#: will be ignored unless allow_remote_control is set to either: yes, -#: socket or socket-only. Changing this option by reloading the config -#: is not supported. - -# env - -#: Specify the environment variables to be set in all child processes. -#: Using the name with an equal sign (e.g. env VAR=) will set it to -#: the empty string. Specifying only the name (e.g. env VAR) will -#: remove the variable from the child process' environment. Note that -#: environment variables are expanded recursively, for example:: - -#: env VAR1=a -#: env VAR2=${HOME}/${VAR1}/b - -#: The value of VAR2 will be <path to home directory>/a/b. - -# watcher - -#: Path to python file which will be loaded for watchers -#: <https://sw.kovidgoyal.net/kitty/launch/#watchers>. Can be -#: specified more than once to load multiple watchers. The watchers -#: will be added to every kitty window. Relative paths are resolved -#: relative to the kitty config directory. Note that reloading the -#: config will only affect windows created after the reload. - -# exe_search_path - -#: Control where kitty finds the programs to run. The default search -#: order is: First search the system wide PATH, then ~/.local/bin and -#: ~/bin. If still not found, the PATH defined in the login shell -#: after sourcing all its startup files is tried. Finally, if present, -#: the PATH specified by the env option is tried. - -#: This option allows you to prepend, append, or remove paths from -#: this search order. It can be specified multiple times for multiple -#: paths. A simple path will be prepended to the search order. A path -#: that starts with the + sign will be append to the search order, -#: after ~/bin above. A path that starts with the - sign will be -#: removed from the entire search order. For example:: - -#: exe_search_path /some/prepended/path -#: exe_search_path +/some/appended/path -#: exe_search_path -/some/excluded/path - -# update_check_interval 24 - -#: The interval to periodically check if an update to kitty is -#: available (in hours). If an update is found, a system notification -#: is displayed informing you of the available update. The default is -#: to check every 24 hours, set to zero to disable. Update checking is -#: only done by the official binary builds. Distro packages or source -#: builds do not do update checking. Changing this option by reloading -#: the config is not supported. - -# startup_session none - -#: Path to a session file to use for all kitty instances. Can be -#: overridden by using the kitty --session =none command line option -#: for individual instances. See sessions -#: <https://sw.kovidgoyal.net/kitty/overview/#sessions> in the kitty -#: documentation for details. Note that relative paths are interpreted -#: with respect to the kitty config directory. Environment variables -#: in the path are expanded. Changing this option by reloading the -#: config is not supported. - -# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask - -#: Allow programs running in kitty to read and write from the -#: clipboard. You can control exactly which actions are allowed. The -#: possible actions are: write-clipboard, read-clipboard, write- -#: primary, read-primary, read-clipboard-ask, read-primary-ask. The -#: default is to allow writing to the clipboard and primary selection -#: and to ask for permission when a program tries to read from the -#: clipboard. Note that disabling the read confirmation is a security -#: risk as it means that any program, even the ones running on a -#: remote server via SSH can read your clipboard. See also -#: clipboard_max_size. - -# clipboard_max_size 512 - -#: The maximum size (in MB) of data from programs running in kitty -#: that will be stored for writing to the system clipboard. A value of -#: zero means no size limit is applied. See also clipboard_control. - -# file_transfer_confirmation_bypass - -#: The password that can be supplied to the file transfer kitten -#: <https://sw.kovidgoyal.net/kitty/kittens/transfer/> to skip the -#: transfer confirmation prompt. This should only be used when -#: initiating transfers from trusted computers, over trusted networks -#: or encrypted transports, as it allows any programs running on the -#: remote machine to read/write to the local filesystem, without -#: permission. - -# allow_hyperlinks yes - -#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 -#: escape sequences are ignored. Otherwise they become clickable -#: links, that you can click with the mouse or by using the hints -#: kitten <https://sw.kovidgoyal.net/kitty/kittens/hints/>. The -#: special value of ask means that kitty will ask before opening the -#: link when clicked. - -# shell_integration enabled - -#: Enable shell integration on supported shells. This enables features -#: such as jumping to previous prompts, browsing the output of the -#: previous command in a pager, etc. on supported shells. Set to -#: disabled to turn off shell integration, completely. It is also -#: possible to disable individual features, set to a space separated -#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- -#: prompt-mark, no-complete. See Shell integration -#: <https://sw.kovidgoyal.net/kitty/shell-integration/> for details. - -# allow_cloning ask - -#: Control whether programs running in the terminal can request new -#: windows to be created. The canonical example is clone-in-kitty -#: <https://sw.kovidgoyal.net/kitty/shell-integration/#clone-shell>. -#: By default, kitty will ask for permission for each clone request. -#: Allowing cloning unconditionally gives programs running in the -#: terminal (including over SSH) permission to execute arbitrary code, -#: as the user who is running the terminal, on the computer that the -#: terminal is running on. - -# clone_source_strategies venv,conda,env_var,path - -#: Control what shell code is sourced when running clone-in-kitty in -#: the newly cloned window. The supported strategies are: - -#: venv -#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the -#: Python stdlib venv module and allows cloning venvs automatically. -#: conda -#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual -#: environments created by conda. -#: env_var -#: Execute the contents of the environment variable -#: KITTY_CLONE_SOURCE_CODE with eval. -#: path -#: Source the file pointed to by the environment variable -#: KITTY_CLONE_SOURCE_PATH. - -#: This option must be a comma separated list of the above values. -#: This only source the first valid one in the above order. - -term xterm-256color - -#: The value of the TERM environment variable to set. Changing this -#: can break many terminal programs, only change it if you know what -#: you are doing, not because you read some advice on "Stack Overflow" -#: to change it. The TERM variable is used by various programs to get -#: information about the capabilities and behavior of the terminal. If -#: you change it, depending on what programs you run, and how -#: different the terminal you are changing it to is, various things -#: from key-presses, to colors, to various advanced features may not -#: work. Changing this option by reloading the config will only affect -#: newly created windows. - -#: }}} - -#: OS specific tweaks {{{ - -# wayland_titlebar_color system - -#: The color of the kitty window's titlebar on Wayland systems with -#: client side window decorations such as GNOME. A value of system -#: means to use the default system color, a value of background means -#: to use the background color of the currently active window and -#: finally you can use an arbitrary color, such as #12af59 or red. - -# macos_titlebar_color system - -#: The color of the kitty window's titlebar on macOS. A value of -#: system means to use the default system color, light or dark can -#: also be used to set it explicitly. A value of background means to -#: use the background color of the currently active window and finally -#: you can use an arbitrary color, such as #12af59 or red. WARNING: -#: This option works by using a hack when arbitrary color (or -#: background) is configured, as there is no proper Cocoa API for it. -#: It sets the background color of the entire window and makes the -#: titlebar transparent. As such it is incompatible with -#: background_opacity. If you want to use both, you are probably -#: better off just hiding the titlebar with hide_window_decorations. - -# macos_option_as_alt no - -#: Use the Option key as an Alt key on macOS. With this set to no, -#: kitty will use the macOS native Option+Key to enter Unicode -#: character behavior. This will break any Alt+Key keyboard shortcuts -#: in your terminal programs, but you can use the macOS Unicode input -#: technique. You can use the values: left, right or both to use only -#: the left, right or both Option keys as Alt, instead. Note that -#: kitty itself always treats Option the same as Alt. This means you -#: cannot use this option to configure different kitty shortcuts for -#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using -#: Option/Alt+Key will take priority, so that any such key presses -#: will not be passed to terminal programs running inside kitty. -#: Changing this option by reloading the config is not supported. - -# macos_hide_from_tasks no - -#: Hide the kitty window from running tasks on macOS (⌘+Tab and the -#: Dock). Changing this option by reloading the config is not -#: supported. - -# macos_quit_when_last_window_closed no - -#: Have kitty quit when all the top-level windows are closed on macOS. -#: By default, kitty will stay running, even with no open windows, as -#: is the expected behavior on macOS. - -# macos_window_resizable yes - -#: Disable this if you want kitty top-level OS windows to not be -#: resizable on macOS. Changing this option by reloading the config -#: will only affect newly created OS windows. - -# macos_thicken_font 0 - -#: Draw an extra border around the font with the given width, to -#: increase legibility at small font sizes on macOS. For example, a -#: value of 0.75 will result in rendering that looks similar to sub- -#: pixel antialiasing at common font sizes. Note that in modern kitty, -#: this option is obsolete (although still supported). Consider using -#: text_composition_strategy instead. - -# macos_traditional_fullscreen no - -#: Use the macOS traditional full-screen transition, that is faster, -#: but less pretty. - -# macos_show_window_title_in all - -#: Control where the window title is displayed on macOS. A value of -#: window will show the title of the currently active window at the -#: top of the macOS window. A value of menubar will show the title of -#: the currently active window in the macOS global menu bar, making -#: use of otherwise wasted space. A value of all will show the title -#: in both places, and none hides the title. See -#: macos_menubar_title_max_length for how to control the length of the -#: title in the menu bar. - -# macos_menubar_title_max_length 0 - -#: The maximum number of characters from the window title to show in -#: the macOS global menu bar. Values less than one means that there is -#: no maximum limit. - -# macos_custom_beam_cursor no - -#: Use a custom mouse cursor for macOS that is easier to see on both -#: light and dark backgrounds. Nowadays, the default macOS cursor -#: already comes with a white border. WARNING: this might make your -#: mouse cursor invisible on dual GPU machines. Changing this option -#: by reloading the config is not supported. - -# macos_colorspace srgb - -#: The colorspace in which to interpret terminal colors. The default -#: of srgb will cause colors to match those seen in web browsers. The -#: value of default will use whatever the native colorspace of the -#: display is. The value of displayp3 will use Apple's special -#: snowflake display P3 color space, which will result in over -#: saturated (brighter) colors with some color shift. Reloading -#: configuration will change this value only for newly created OS -#: windows. - -# linux_display_server auto - -#: Choose between Wayland and X11 backends. By default, an appropriate -#: backend based on the system state is chosen automatically. Set it -#: to x11 or wayland to force the choice. Changing this option by -#: reloading the config is not supported. - -#: }}} - -#: Keyboard shortcuts {{{ - -#: Keys are identified simply by their lowercase Unicode characters. -#: For example: a for the A key, [ for the left square bracket key, -#: etc. For functional keys, such as Enter or Escape, the names are -#: present at Functional key definitions -#: <https://sw.kovidgoyal.net/kitty/keyboard-protocol/#functional>. -#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt -#: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods -#: <https://www.glfw.org/docs/latest/group__mods.html> - -#: On Linux you can also use XKB key names to bind keys that are not -#: supported by GLFW. See XKB keys -#: <https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon- -#: keysyms.h> for a list of key names. The name to use is the part -#: after the XKB_KEY_ prefix. Note that you can only use an XKB key -#: name for keys that are not known as GLFW keys. - -#: Finally, you can use raw system key codes to map keys, again only -#: for keys that are not known as GLFW keys. To see the system key -#: code for a key, start kitty with the kitty --debug-input option, -#: kitty will output some debug text for every key event. In that text -#: look for native_code, the value of that becomes the key name in the -#: shortcut. For example: - -#: .. code-block:: none - -#: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a' - -#: Here, the key name for the A key is 0x61 and you can use it with:: - -#: map ctrl+0x61 something - -#: to map Ctrl+A to something. - -#: You can use the special action no_op to unmap a keyboard shortcut -#: that is assigned in the default configuration:: - -#: map kitty_mod+space no_op - -#: If you would like kitty to completely ignore a key event, not even -#: sending it to the program running in the terminal, map it to -#: discard_event:: - -#: map kitty_mod+f1 discard_event - -#: You can combine multiple actions to be triggered by a single -#: shortcut with combine action, using the syntax below:: - -#: map key combine <separator> action1 <separator> action2 <separator> action3 ... - -#: For example:: - -#: map kitty_mod+e combine : new_window : next_layout - -#: This will create a new window and switch to the next available -#: layout. - -#: You can use multi-key shortcuts with the syntax shown below:: - -#: map key1>key2>key3 action - -#: For example:: - -#: map ctrl+f>2 set_font_size 20 - -#: The full list of actions that can be mapped to key presses is -#: available here <https://sw.kovidgoyal.net/kitty/actions/>. - -# kitty_mod ctrl+shift - -#: Special modifier key alias for default shortcuts. You can change -#: the value of this option to alter all default shortcuts that use -#: kitty_mod. - -# clear_all_shortcuts no - -#: Remove all shortcut definitions up to this point. Useful, for -#: instance, to remove the default shortcuts. - -# action_alias - -#: E.g. action_alias launch_tab launch --type=tab --cwd=current - -#: Define action aliases to avoid repeating the same options in -#: multiple mappings. Aliases can be defined for any action and will -#: be expanded recursively. For example, the above alias allows you to -#: create mappings to launch a new tab in the current working -#: directory without duplication:: - -#: map f1 launch_tab vim -#: map f2 launch_tab emacs - -#: Similarly, to alias kitten invocation:: - -#: action_alias hints kitten hints --hints-offset=0 - -# kitten_alias - -#: E.g. kitten_alias hints hints --hints-offset=0 - -#: Like action_alias above, but specifically for kittens. Generally, -#: prefer to use action_alias. This option is a legacy version, -#: present for backwards compatibility. It causes all invocations of -#: the aliased kitten to be substituted. So the example above will -#: cause all invocations of the hints kitten to have the --hints- -#: offset=0 option applied. - -#: Clipboard {{{ - -#: Copy to clipboard - -# map kitty_mod+c copy_to_clipboard -# map cmd+c copy_to_clipboard - -#:: There is also a copy_or_interrupt action that can be optionally -#:: mapped to Ctrl+C. It will copy only if there is a selection and -#:: send an interrupt otherwise. Similarly, -#:: copy_and_clear_or_interrupt will copy and clear the selection or -#:: send an interrupt if there is no selection. - -#: Paste from clipboard - -# map kitty_mod+v paste_from_clipboard -# map cmd+v paste_from_clipboard - -#: Paste from selection - -# map kitty_mod+s paste_from_selection -# map shift+insert paste_from_selection - -#: Pass selection to program - -# map kitty_mod+o pass_selection_to_program - -#:: You can also pass the contents of the current selection to any -#:: program with pass_selection_to_program. By default, the system's -#:: open program is used, but you can specify your own, the selection -#:: will be passed as a command line argument to the program. For -#:: example:: - -#:: map kitty_mod+o pass_selection_to_program firefox - -#:: You can pass the current selection to a terminal program running -#:: in a new kitty window, by using the @selection placeholder:: - -#:: map kitty_mod+y new_window less @selection - -#: }}} - -#: Scrolling {{{ - -#: Scroll line up - -# map kitty_mod+up scroll_line_up -map kitty_mod+k scroll_line_up -# map opt+cmd+page_up scroll_line_up -# map cmd+up scroll_line_up - -#: Scroll line down - -# map kitty_mod+down scroll_line_down -map kitty_mod+j scroll_line_down -# map opt+cmd+page_down scroll_line_down -# map cmd+down scroll_line_down - -#: Scroll page up - -map kitty_mod+page_up scroll_page_up -# map cmd+page_up scroll_page_up - -#: Scroll page down - -map kitty_mod+page_down scroll_page_down -# map cmd+page_down scroll_page_down - -#: Scroll to top - -map kitty_mod+home scroll_home -# map cmd+home scroll_home - -#: Scroll to bottom - -map kitty_mod+end scroll_end -# map cmd+end scroll_end - -#: Scroll to previous shell prompt - -map kitty_mod+z scroll_to_prompt -1 - -#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last -#:: jumped to or the last clicked position. Requires shell -#:: integration <https://sw.kovidgoyal.net/kitty/shell-integration/> -#:: to work. - -#: Scroll to next shell prompt - -map kitty_mod+x scroll_to_prompt 1 - -#: Browse scrollback buffer in pager - -map kitty_mod+h show_scrollback - -#:: You can pipe the contents of the current screen and history -#:: buffer as STDIN to an arbitrary program using launch --stdin- -#:: source. For example, the following opens the scrollback buffer in -#:: less in an overlay window:: - -#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R - -#:: For more details on piping screen and buffer contents to external -#:: programs, see launch <https://sw.kovidgoyal.net/kitty/launch/>. - -#: Browse output of the last shell command in pager - -map kitty_mod+g show_last_command_output - -#:: You can also define additional shortcuts to get the command -#:: output. For example, to get the first command output on screen:: - -#:: map f1 show_first_command_output_on_screen - -#:: To get the command output that was last accessed by a keyboard -#:: action or mouse action:: - -#:: map f1 show_last_visited_command_output - -#:: You can pipe the output of the last command run in the shell -#:: using the launch action. For example, the following opens the -#:: output in less in an overlay window:: - -#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R - -#:: map f1 launch --stdin-source=@last_cmd_output --type=background wl-copy - -#:: To get the output of the first command on the screen, use -#:: @first_cmd_output_on_screen. To get the output of the last jumped -#:: to command, use @last_visited_cmd_output. - -#:: Requires shell integration -#:: <https://sw.kovidgoyal.net/kitty/shell-integration/> to work. - -#: }}} - -#: Window management {{{ - -#: New window - -# map kitty_mod+enter new_window -# map cmd+enter new_window - -#:: You can open a new kitty window running an arbitrary program, for -#:: example:: - -#:: map kitty_mod+y launch mutt - -#:: You can open a new window with the current working directory set -#:: to the working directory of the current window using:: - -#:: map ctrl+alt+enter launch --cwd=current - -#:: You can open a new window that is allowed to control kitty via -#:: the kitty remote control facility with launch --allow-remote- -#:: control. Any programs running in that window will be allowed to -#:: control kitty. For example:: - -#:: map ctrl+enter launch --allow-remote-control some_program - -#:: You can open a new window next to the currently active window or -#:: as the first window, with:: - -#:: map ctrl+n launch --location=neighbor -#:: map ctrl+f launch --location=first - -#:: For more details, see launch -#:: <https://sw.kovidgoyal.net/kitty/launch/>. - -#: New OS window - -# map kitty_mod+n new_os_window -# map cmd+n new_os_window - -#:: Works like new_window above, except that it opens a top-level OS -#:: window. In particular you can use new_os_window_with_cwd to open -#:: a window with the current working directory. - -#: Close window - -# map kitty_mod+w close_window -# map shift+cmd+d close_window - -#: Next window - -# map kitty_mod+] next_window - -#: Previous window - -# map kitty_mod+[ previous_window - -#: Move window forward - -# map kitty_mod+f move_window_forward - -#: Move window backward - -# map kitty_mod+b move_window_backward - -#: Move window to top - -# map kitty_mod+` move_window_to_top - -#: Start resizing window - -# map kitty_mod+r start_resizing_window -# map cmd+r start_resizing_window - -#: First window - -# map kitty_mod+1 first_window -# map cmd+1 first_window - -#: Second window - -# map kitty_mod+2 second_window -# map cmd+2 second_window - -#: Third window - -# map kitty_mod+3 third_window -# map cmd+3 third_window - -#: Fourth window - -# map kitty_mod+4 fourth_window -# map cmd+4 fourth_window - -#: Fifth window - -# map kitty_mod+5 fifth_window -# map cmd+5 fifth_window - -#: Sixth window - -# map kitty_mod+6 sixth_window -# map cmd+6 sixth_window - -#: Seventh window - -# map kitty_mod+7 seventh_window -# map cmd+7 seventh_window - -#: Eight window - -# map kitty_mod+8 eighth_window -# map cmd+8 eighth_window - -#: Ninth window - -# map kitty_mod+9 ninth_window -# map cmd+9 ninth_window - -#: Tenth window - -# map kitty_mod+0 tenth_window - -#: Visually select and focus window - -# map kitty_mod+f7 focus_visible_window - -#:: Display overlay numbers and alphabets on the window, and switch -#:: the focus to the window when you press the key. When there are -#:: only two windows, the focus will be switched directly without -#:: displaying the overlay. You can change the overlay characters and -#:: their order with option visual_window_select_characters. - -#: Visually swap window with another - -# map kitty_mod+f8 swap_with_window - -#:: Works like focus_visible_window above, but swaps the window. - -#: }}} - -#: Tab management {{{ - -#: Next tab - -# map kitty_mod+right next_tab -# map shift+cmd+] next_tab -# map ctrl+tab next_tab - -#: Previous tab - -# map kitty_mod+left previous_tab -# map shift+cmd+[ previous_tab -# map ctrl+shift+tab previous_tab - -#: New tab - -# map kitty_mod+t new_tab -# map cmd+t new_tab - -#: Close tab - -# map kitty_mod+q close_tab -# map cmd+w close_tab - -#: Close OS window - -# map shift+cmd+w close_os_window - -#: Move tab forward - -# map kitty_mod+. move_tab_forward - -#: Move tab backward - -# map kitty_mod+, move_tab_backward - -#: Set tab title - -# map kitty_mod+alt+t set_tab_title -# map shift+cmd+i set_tab_title - - -#: You can also create shortcuts to go to specific tabs, with 1 being -#: the first tab, 2 the second tab and -1 being the previously active -#: tab, and any number larger than the last tab being the last tab:: - -#: map ctrl+alt+1 goto_tab 1 -#: map ctrl+alt+2 goto_tab 2 - -#: Just as with new_window above, you can also pass the name of -#: arbitrary commands to run when using new_tab and new_tab_with_cwd. -#: Finally, if you want the new tab to open next to the current tab -#: rather than at the end of the tabs list, use:: - -#: map ctrl+t new_tab !neighbor [optional cmd to run] -#: }}} - -#: Layout management {{{ - -#: Next layout - -# map kitty_mod+l next_layout - - -#: You can also create shortcuts to switch to specific layouts:: - -#: map ctrl+alt+t goto_layout tall -#: map ctrl+alt+s goto_layout stack - -#: Similarly, to switch back to the previous layout:: - -#: map ctrl+alt+p last_used_layout - -#: There is also a toggle_layout action that switches to the named -#: layout or back to the previous layout if in the named layout. -#: Useful to temporarily "zoom" the active window by switching to the -#: stack layout:: - -#: map ctrl+alt+z toggle_layout stack -#: }}} - -#: Font sizes {{{ - -#: You can change the font size for all top-level kitty OS windows at -#: a time or only the current one. - -#: Increase font size - -map kitty_mod+equal change_font_size all +0.5 -# map kitty_mod+plus change_font_size all +2.0 -# map kitty_mod+kp_add change_font_size all +2.0 -# map cmd+plus change_font_size all +2.0 -map cmd+equal change_font_size all +0.5 -# map shift+cmd+equal change_font_size all +2.0 - -#: Decrease font size - -map kitty_mod+minus change_font_size all -0.5 -# map kitty_mod+kp_subtract change_font_size all -2.0 -map cmd+minus change_font_size all -0.5 -# map shift+cmd+minus change_font_size all -2.0 - -#: Reset font size - -map kitty_mod+plus change_font_size all 0 -# map kitty_mod+backspace change_font_size all 0 -# map cmd+0 change_font_size all 0 - - -#: To setup shortcuts for specific font sizes:: - -#: map kitty_mod+f6 change_font_size all 10.0 - -#: To setup shortcuts to change only the current OS window's font -#: size:: - -#: map kitty_mod+f6 change_font_size current 10.0 -#: }}} - -#: Select and act on visible text {{{ - -#: Use the hints kitten to select text and either pass it to an -#: external program or insert it into the terminal or copy it to the -#: clipboard. - -#: Open URL - -# map kitty_mod+e open_url_with_hints - -#:: Open a currently visible URL using the keyboard. The program used -#:: to open the URL is specified in open_url_with. - -#: Insert selected path - -# map kitty_mod+p>f kitten hints --type path --program - - -#:: Select a path/filename and insert it into the terminal. Useful, -#:: for instance to run git commands on a filename output from a -#:: previous git command. - -#: Open selected path - -# map kitty_mod+p>shift+f kitten hints --type path - -#:: Select a path/filename and open it with the default open program. - -#: Insert selected line - -# map kitty_mod+p>l kitten hints --type line --program - - -#:: Select a line of text and insert it into the terminal. Useful for -#:: the output of things like: `ls -1`. - -#: Insert selected word - -# map kitty_mod+p>w kitten hints --type word --program - - -#:: Select words and insert into terminal. - -#: Insert selected hash - -# map kitty_mod+p>h kitten hints --type hash --program - - -#:: Select something that looks like a hash and insert it into the -#:: terminal. Useful with git, which uses SHA1 hashes to identify -#:: commits. - -#: Open the selected file at the selected line - -# map kitty_mod+p>n kitten hints --type linenum - -#:: Select something that looks like filename:linenum and open it in -#:: vim at the specified line number. - -#: Open the selected hyperlink - -# map kitty_mod+p>y kitten hints --type hyperlink - -#:: Select a hyperlink (i.e. a URL that has been marked as such by -#:: the terminal program, for example, by `ls --hyperlink=auto`). - - -#: The hints kitten has many more modes of operation that you can map -#: to different shortcuts. For a full description see hints kitten -#: <https://sw.kovidgoyal.net/kitty/kittens/hints/>. -#: }}} - -#: Miscellaneous {{{ - -#: Show documentation - -# map kitty_mod+f1 show_kitty_doc overview - -#: Toggle fullscreen - -# map kitty_mod+f11 toggle_fullscreen -# map ctrl+cmd+f toggle_fullscreen - -#: Toggle maximized - -# map kitty_mod+f10 toggle_maximized - -#: Toggle macOS secure keyboard entry - -# map opt+cmd+s toggle_macos_secure_keyboard_entry - -#: Unicode input - -# map kitty_mod+u kitten unicode_input -# map ctrl+cmd+space kitten unicode_input - -#: Edit config file - -# map kitty_mod+f2 edit_config_file -# map cmd+, edit_config_file - -#: Open the kitty command shell - -# map kitty_mod+escape kitty_shell window - -#:: Open the kitty shell in a new window / tab / overlay / os_window -#:: to control kitty using commands. - -#: Increase background opacity - -# map kitty_mod+a>m set_background_opacity +0.1 - -#: Decrease background opacity - -# map kitty_mod+a>l set_background_opacity -0.1 - -#: Make background fully opaque - -# map kitty_mod+a>1 set_background_opacity 1 - -#: Reset background opacity - -# map kitty_mod+a>d set_background_opacity default - -#: Reset the terminal - -# map kitty_mod+delete clear_terminal reset active -# map opt+cmd+r clear_terminal reset active - -#:: You can create shortcuts to clear/reset the terminal. For -#:: example:: - -#:: # Reset the terminal -#:: map f1 clear_terminal reset active -#:: # Clear the terminal screen by erasing all contents -#:: map f1 clear_terminal clear active -#:: # Clear the terminal scrollback by erasing it -#:: map f1 clear_terminal scrollback active -#:: # Scroll the contents of the screen into the scrollback -#:: map f1 clear_terminal scroll active -#:: # Clear everything up to the line with the cursor -#:: map f1 clear_terminal to_cursor active - -#:: If you want to operate on all kitty windows instead of just the -#:: current one, use all instead of active. - -#:: It is also possible to remap Ctrl+L to both scroll the current -#:: screen contents into the scrollback buffer and clear the screen, -#:: instead of just clearing the screen, for example, for ZSH add the -#:: following to ~/.zshrc: - -#:: .. code-block:: zsh - -#:: scroll-and-clear-screen() { -#:: printf '\n%.0s' {1..$LINES} -#:: zle clear-screen -#:: } -#:: zle -N scroll-and-clear-screen -#:: bindkey '^l' scroll-and-clear-screen - -#: Clear up to cursor line - -# map cmd+k clear_terminal to_cursor active - -#: Reload kitty.conf - -# map kitty_mod+f5 load_config_file -# map ctrl+cmd+, load_config_file - -#:: Reload kitty.conf, applying any changes since the last time it -#:: was loaded. Note that a handful of options cannot be dynamically -#:: changed and require a full restart of kitty. Particularly, when -#:: changing shortcuts for actions located on the macOS global menu -#:: bar, a full restart is needed. You can also map a keybinding to -#:: load a different config file, for example:: - -#:: map f5 load_config /path/to/alternative/kitty.conf - -#:: Note that all options from the original kitty.conf are discarded, -#:: in other words the new configuration *replace* the old ones. - -#: Debug kitty configuration - -# map kitty_mod+f6 debug_config -# map opt+cmd+, debug_config - -#:: Show details about exactly what configuration kitty is running -#:: with and its host environment. Useful for debugging issues. - -#: Send arbitrary text on key presses - -#:: E.g. map ctrl+shift+alt+h send_text all Hello World - -#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the -#:: client program when pressing specified shortcut keys. For -#:: example:: - -#:: map ctrl+alt+a send_text all Special text - -#:: This will send "Special text" when you press the Ctrl+Alt+A key -#:: combination. The text to be sent decodes ANSI C escapes -#:: <https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC- -#:: Quoting.html> so you can use escapes like \e to send control -#:: codes or \u21fb to send Unicode characters (or you can just input -#:: the Unicode characters directly as UTF-8 text). You can use -#:: `kitty +kitten show_key` to get the key escape codes you want to -#:: emulate. - -#:: The first argument to send_text is the keyboard modes in which to -#:: activate the shortcut. The possible values are normal, -#:: application, kitty or a comma separated combination of them. The -#:: modes normal and application refer to the DECCKM cursor key mode -#:: for terminals, and kitty refers to the kitty extended keyboard -#:: protocol. The special value all means all of them. - -#:: Some more examples:: - -#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) -#:: map ctrl+alt+a send_text normal Word\e[H -#:: map ctrl+alt+a send_text application Word\eOH -#:: # Run a command at a shell prompt (like typing the command and pressing Enter) -#:: map ctrl+alt+a send_text normal,application some command with arguments\r - -#: Open kitty Website - -# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ - -#: Hide macOS kitty application - -# map cmd+h hide_macos_app - -#: Hide macOS other applications - -# map opt+cmd+h hide_macos_other_apps - -#: Minimize macOS window - -# map cmd+m minimize_macos_window - -#: Quit kitty - -# map cmd+q quit - -#: }}} - -#: }}} diff --git a/mpv/input.conf b/mpv/input.conf deleted file mode 100644 index d28ab28..0000000 --- a/mpv/input.conf +++ /dev/null @@ -1,2 +0,0 @@ -Ctrl+f script-binding quality_menu/video_formats_toggle -Ctrl+a script-binding quality_menu/audio_formats_toggle diff --git a/mpv/mpv.conf b/mpv/mpv.conf deleted file mode 100644 index 649af35..0000000 --- a/mpv/mpv.conf +++ /dev/null @@ -1,5 +0,0 @@ -save-position-on-quit -ao=pipewire,pulse,jack -vo=gpu -hwdec=yes -audio-channels=2 diff --git a/mpv/script-opts/quality-menu.conf b/mpv/script-opts/quality-menu.conf deleted file mode 100644 index 80ab845..0000000 --- a/mpv/script-opts/quality-menu.conf +++ /dev/null @@ -1,95 +0,0 @@ -# KEY BINDINGS - -# move the menu cursor up -up_binding=UP WHEEL_UP -# move the menu cursor down -down_binding=DOWN WHEEL_DOWN -# select menu entry -select_binding=ENTER MBTN_LEFT -# close menu -close_menu_binding=ESC MBTN_RIGHT Ctrl+f Alt+f - -# youtube-dl version(could be youtube-dl or yt-dlp, or something else) -ytdl_ver=yt-dlp - -# formatting / cursors -selected_and_active=▶ - -selected_and_inactive=● - -unselected_and_active=▷ - -unselected_and_inactive=○ - - -# font size scales by window, if false requires larger font and padding sizes -scale_playlist_by_window=yes - -# playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua -# example {\\fnUbuntu\\fs10\\b0\\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 -# read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags -# undeclared tags will use default osd settings -# these styles will be used for the whole playlist. More specific styling will need to be hacked in -# -# (a monospaced font is recommended but not required) -style_ass_tags={\\fnmonospace\\fs10\\bord1} - -# paddings for top left corner -text_padding_x=5 -text_padding_y=5 - -# how many seconds until the quality menu times out -# setting this to 0 deactivates the timeout -menu_timeout=6 - -# use youtube-dl to fetch a list of available formats (overrides quality_strings) -fetch_formats=yes - -# list of ytdl-format strings to choose from -quality_strings=[ {"4320p" : "bestvideo[height<=?4320p]+bestaudio/best"}, {"2160p" : "bestvideo[height<=?2160]+bestaudio/best"}, {"1440p" : "bestvideo[height<=?1440]+bestaudio/best"}, {"1080p" : "bestvideo[height<=?1080]+bestaudio/best"}, {"720p" : "bestvideo[height<=?720]+bestaudio/best"}, {"480p" : "bestvideo[height<=?480]+bestaudio/best"}, {"360p" : "bestvideo[height<=?360]+bestaudio/best"}, {"240p" : "bestvideo[height<=?240]+bestaudio/best"}, {"144p" : "bestvideo[height<=?144]+bestaudio/best"} ] - -# reset youtube-dl format to the original format string when changing files (e.g. going to the next playlist entry) -# if file was opened previously, reset to previously selected format -reset_format=yes - -# automatically fetch available formats when opening an url -fetch_on_start=yes - -# show the video format menu after opening an url -start_with_menu=no - -# include unknown formats in the list -# Unfortunately choosing which formats are video or audio is not always perfect. -# Set to true to make sure you don't miss any formats, but then the list -# might also include formats that aren't actually video or audio. -# Formats that are known to not be video or audio are still filtered out. -include_unknown=no - -# hide columns that are identical for all formats -hide_identical_columns=yes - -# which columns are shown in which order -# comma separated list, prefix column with "-" to align left -# -# columns that might be useful are: -# resolution, width, height, fps, dynamic_range, tbr, vbr, abr, asr, -# filesize, filesize_approx, vcodec, acodec, ext, video_ext, audio_ext, -# language, format, format_note, quality -# -# columns that are derived from the above, but with special treatment: -# frame_rate, bitrate_total, bitrate_video, bitrate_audio, -# codec_video, codec_audio, audio_sample_rate -# -# If those still aren't enough or you're just curious, run: -# yt-dlp -j <url> -# This outputs unformatted JSON. -# Format it and look under "formats" to see what's available. -# -# Not all videos have all columns available. -# Be careful, misspelled columns simply won't be displayed, there is no error. -columns_video=-resolution,frame_rate,dynamic_range,language,bitrate_total,size,-codec_video,-codec_audio -columns_audio=audio_sample_rate,bitrate_total,size,language,-codec_audio - -# columns used for sorting, see "columns_video" for available columns -# comma separated list, prefix column with "-" to reverse sorting order -# Leaving this empty keeps the order from yt-dlp/youtube-dl. -# Be careful, misspelled columns won't result in an error, -# but they might influence the result. -sort_video=height,fps,tbr,size,format_id -sort_audio=asr,tbr,size,format_id diff --git a/mpv/script-opts/youtube-download.conf b/mpv/script-opts/youtube-download.conf deleted file mode 100644 index 33630bf..0000000 --- a/mpv/script-opts/youtube-download.conf +++ /dev/null @@ -1,48 +0,0 @@ -# KEY BINDINGS -download_video_binding=ctrl+d -download_audio_binding=ctrl+a -#download_subtitle_binding=ctrl+s -#download_video_embed_subtitle_binding=ctrl+i -#select_range_binding=ctrl+r - -# Specify audio format: "best", "aac","flac", "mp3", "m4a", "opus", "vorbis", or "wav" -audio_format=best - -# Specify ffmpeg/avconv audio quality -# insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K -audio_quality=0 - -# Same as youtube-dl --format FORMAT -# see https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection -# set to "current" to download the same quality that is currently playing -video_format=best - -# Encode the video to another format if necessary (currently supported: mp4|flv|ogg|webm|mkv|avi) -# recode_video="mp4" - -# Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames -restrict_filenames=yes - -# Download the whole playlist (no) or only one video (yes) -# Same as youtube-dl --no-playlist -no_playlist=yes - -# Use an archive file, see youtube-dl --download-archive -# You have these options: -# * Set to empty string "" to not use an archive file -# * Set an absolute path to use one archive for all downloads e.g. download_archive="/home/user/archive.txt" -# * Set a relative path/only a filename to use one archive per directory e.g. download_archive="archive.txt" -# * Use $PLAYLIST to create one archive per playlist e.g. download_archive="/home/user/archives/$PLAYLIST.txt" -download_archive=~/Videos/archive/archive.txt - -# Filename or full path -# Same youtube-dl -o -# see https://github.com/ytdl-org/youtube-dl/blob/master/README.md#output-template -filename=~/Videos/%(title)s.%(ext)s - -# Use a cookies file for youtube-dl -# Same as youtube-dl --cookies -#cookies=C:\Users\username\cookies.txt - -# Write download errors to a log file -log_file=~/.config/mpv/download.log diff --git a/mpv/scripts/quality-menu.lua b/mpv/scripts/quality-menu.lua deleted file mode 100644 index c5da0d3..0000000 --- a/mpv/scripts/quality-menu.lua +++ /dev/null @@ -1,806 +0,0 @@ --- quality-menu.lua --- --- Change the stream video and audio quality on the fly. --- --- Usage: --- add bindings to input.conf: --- Ctrl+f script-message-to quality_menu video_formats_toggle --- Alt+f script-message-to quality_menu audio_formats_toggle --- --- Displays a menu that lets you switch to different ytdl-format settings while --- you're in the middle of a video (just like you were using the web player). - -local mp = require 'mp' -local utils = require 'mp.utils' -local msg = require 'mp.msg' -local assdraw = require 'mp.assdraw' -local opt = require('mp.options') - -local opts = { - --key bindings - up_binding = "UP WHEEL_UP", - down_binding = "DOWN WHEEL_DOWN", - select_binding = "ENTER MBTN_LEFT", - close_menu_binding = "ESC MBTN_RIGHT Ctrl+f Alt+f", - - --youtube-dl version(could be youtube-dl or yt-dlp, or something else) - ytdl_ver = "yt-dlp", - - --formatting / cursors - selected_and_active = "▶ - ", - selected_and_inactive = "● - ", - unselected_and_active = "▷ - ", - unselected_and_inactive = "○ - ", - - --font size scales by window, if false requires larger font and padding sizes - scale_playlist_by_window=true, - - --playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua - --example {\\fnUbuntu\\fs10\\b0\\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 - --read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags - --undeclared tags will use default osd settings - --these styles will be used for the whole playlist. More specific styling will need to be hacked in - -- - --(a monospaced font is recommended but not required) - style_ass_tags = "{\\fnmonospace\\fs10\\bord1}", - - --paddings for top left corner - text_padding_x = 5, - text_padding_y = 5, - - --how many seconds until the quality menu times out - --setting this to 0 deactivates the timeout - menu_timeout = 6, - - --use youtube-dl to fetch a list of available formats (overrides quality_strings) - fetch_formats = true, - - --default menu entries - quality_strings=[[ - [ - {"4320p" : "bestvideo[height<=?4320p]+bestaudio/best"}, - {"2160p" : "bestvideo[height<=?2160]+bestaudio/best"}, - {"1440p" : "bestvideo[height<=?1440]+bestaudio/best"}, - {"1080p" : "bestvideo[height<=?1080]+bestaudio/best"}, - {"720p" : "bestvideo[height<=?720]+bestaudio/best"}, - {"480p" : "bestvideo[height<=?480]+bestaudio/best"}, - {"360p" : "bestvideo[height<=?360]+bestaudio/best"}, - {"240p" : "bestvideo[height<=?240]+bestaudio/best"}, - {"144p" : "bestvideo[height<=?144]+bestaudio/best"} - ] - ]], - - --reset ytdl-format to the original format string when changing files (e.g. going to the next playlist entry) - --if file was opened previously, reset to previously selected format - reset_format = true, - - --automatically fetch available formats when opening an url - fetch_on_start = true, - - --show the video format menu after opening an url - start_with_menu = false, - - --include unknown formats in the list - --Unfortunately choosing which formats are video or audio is not always perfect. - --Set to true to make sure you don't miss any formats, but then the list - --might also include formats that aren't actually video or audio. - --Formats that are known to not be video or audio are still filtered out. - include_unknown = false, - - --hide columns that are identical for all formats - hide_identical_columns = true, - - --which columns are shown in which order - --comma separated list, prefix column with "-" to align left - -- - --columns that might be useful are: - --resolution, width, height, fps, dynamic_range, tbr, vbr, abr, asr, - --filesize, filesize_approx, vcodec, acodec, ext, video_ext, audio_ext, - --language, format, format_note, quality - -- - --columns that are derived from the above, but with special treatment: - --frame_rate, bitrate_total, bitrate_video, bitrate_audio, - --codec_video, codec_audio, audio_sample_rate - -- - --If those still aren't enough or you're just curious, run: - --yt-dlp -j <url> - --This outputs unformatted JSON. - --Format it and look under "formats" to see what's available. - -- - --Not all videos have all columns available. - --Be careful, misspelled columns simply won't be displayed, there is no error. - columns_video = '-resolution,frame_rate,dynamic_range,language,bitrate_total,size,-codec_video,-codec_audio', - columns_audio = 'audio_sample_rate,bitrate_total,size,language,-codec_audio', - - --columns used for sorting, see "columns_video" for available columns - --comma separated list, prefix column with "-" to reverse sorting order - --Leaving this empty keeps the order from yt-dlp/youtube-dl. - --Be careful, misspelled columns won't result in an error, - --but they might influence the result. - sort_video = 'height,fps,tbr,size,format_id', - sort_audio = 'asr,tbr,size,format_id', -} -opt.read_options(opts, "quality-menu") -opts.quality_strings = utils.parse_json(opts.quality_strings) - --- special thanks to reload.lua (https://github.com/4e6/mpv-reload/) -local function reload_resume() - local playlist_pos = mp.get_property_number("playlist-pos") - local reload_duration = mp.get_property_native("duration") - local time_pos = mp.get_property("time-pos") - - mp.set_property_number("playlist-pos", playlist_pos) - - -- Tries to determine live stream vs. pre-recorded VOD. VOD has non-zero - -- duration property. When reloading VOD, to keep the current time position - -- we should provide offset from the start. Stream doesn't have fixed start. - -- Decent choice would be to reload stream from it's current 'live' position. - -- That's the reason we don't pass the offset when reloading streams. - if reload_duration and reload_duration > 0 then - local function seeker() - mp.commandv("seek", time_pos, "absolute") - mp.unregister_event(seeker) - end - mp.register_event("file-loaded", seeker) - end -end - -local ytdl = { - path = opts.ytdl_ver, - searched = false, - blacklisted = {} -} - -local function process_json(json) - local function is_video(format) - -- "none" means it is not a video - -- nil means it is unknown - return (opts.include_unknown or format.vcodec) and format.vcodec ~= "none" - end - - local function is_audio(format) - return (opts.include_unknown or format.acodec) and format.acodec ~= "none" - end - - local vfmt = nil - local afmt = nil - local requested_formats = json["requested_formats"] or json["requested_downloads"] - for _, format in ipairs(requested_formats) do - if is_video(format) then - vfmt = format["format_id"] - elseif is_audio(format) then - afmt = format["format_id"] - end - end - - local video_formats = {} - local audio_formats = {} - local all_formats = {} - for i = #json.formats, 1, -1 do - local format = json.formats[i] - if is_video(format) then - video_formats[#video_formats+1] = format - all_formats[#all_formats+1] = format - elseif is_audio(format) then - audio_formats[#audio_formats+1] = format - all_formats[#all_formats+1] = format - end - end - - local function populate_special_fields(format) - format.size = format.filesize or format.filesize_approx - format.frame_rate = format.fps - format.bitrate_total = format.tbr - format.bitrate_video = format.vbr - format.bitrate_audio = format.abr - format.codec_video = format.vcodec - format.codec_audio = format.acodec - format.audio_sample_rate = format.asr - end - - for _,format in ipairs(all_formats) do - populate_special_fields(format) - end - - local function strip_minus(list) - local stripped_list = {} - local had_minus = {} - for i, val in ipairs(list) do - if string.sub(val, 1, 1) == "-" then - val = string.sub(val, 2) - had_minus[val] = true - end - stripped_list[i] = val - end - return stripped_list, had_minus - end - - local function string_split (inputstr, sep) - if sep == nil then - sep = "%s" - end - local t={} - for str in string.gmatch(inputstr, "([^"..sep.."]+)") do - table.insert(t, str) - end - return t - end - - local sort_video, reverse_video = strip_minus(string_split(opts.sort_video, ',')) - local sort_audio, reverse_audio = strip_minus(string_split(opts.sort_audio, ',')) - - local function comp(properties, reverse) - return function (a, b) - for _,prop in ipairs(properties) do - local a_val = a[prop] - local b_val = b[prop] - if a_val and b_val and type(a_val) ~= 'table' and a_val ~= b_val then - if reverse[prop] then - return a_val < b_val - else - return a_val > b_val - end - end - end - return false - end - end - - if #sort_video > 0 then - table.sort(video_formats, comp(sort_video, reverse_video)) - end - if #sort_audio > 0 then - table.sort(audio_formats, comp(sort_audio, reverse_audio)) - end - - local function scale_filesize(size) - if size == nil then - return "" - end - size = tonumber(size) - - local counter = 0 - while size > 1024 do - size = size / 1024 - counter = counter+1 - end - - if counter >= 3 then return string.format("%.1fGiB", size) - elseif counter >= 2 then return string.format("%.1fMiB", size) - elseif counter >= 1 then return string.format("%.1fKiB", size) - else return string.format("%.1fB ", size) - end - end - - local function scale_bitrate(br) - if br == nil then - return "" - end - br = tonumber(br) - - local counter = 0 - while br > 1000 do - br = br / 1000 - counter = counter+1 - end - - if counter >= 2 then return string.format("%.1fGbps", br) - elseif counter >= 1 then return string.format("%.1fMbps", br) - else return string.format("%.1fKbps", br) - end - end - - local function format_special_fields(format) - local size_prefix = not format.filesize and format.filesize_approx and "~" or "" - format.size = (size_prefix) .. scale_filesize(format.size) - format.frame_rate = format.fps and format.fps.."fps" or "" - format.bitrate_total = scale_bitrate(format.tbr) - format.bitrate_video = scale_bitrate(format.vbr) - format.bitrate_audio = scale_bitrate(format.abr) - format.codec_video = format.vcodec == nil and "unknown" or format.vcodec == "none" and "" or format.vcodec - format.codec_audio = format.acodec == nil and "unknown" or format.acodec == "none" and "" or format.acodec - format.audio_sample_rate = format.asr and tostring(format.asr) .. "Hz" or "" - end - - for _,format in ipairs(all_formats) do - format_special_fields(format) - end - - local function format_table(formats, columns) - local function calc_shown_columns() - local display_col = {} - local column_widths = {} - local column_values = {} - local columns, column_align_left = strip_minus(columns) - - for _,format in pairs(formats) do - for col, prop in ipairs(columns) do - local label = tostring(format[prop] or "") - format[prop] = label - - if not column_widths[col] or column_widths[col] < label:len() then - column_widths[col] = label:len() - end - - column_values[col] = column_values[col] or label - display_col[col] = display_col[col] or (column_values[col] ~= label) - end - end - - local show_columns={} - for i, width in ipairs(column_widths) do - if width > 0 and not opts.hide_identical_columns or display_col[i] then - local prop = columns[i] - show_columns[#show_columns+1] = { - prop=prop, - width=width, - align_left=column_align_left[prop] - } - end - end - return show_columns - end - - local show_columns = calc_shown_columns() - - local spacing = 2 - local res = {} - for _,f in ipairs(formats) do - local row = '' - for i,column in ipairs(show_columns) do - -- lua errors out with width > 99 ("invalid conversion specification") - local width = math.min(column.width * (column.align_left and -1 or 1), 99) - row = row .. (i > 1 and string.format('%' .. spacing .. 's', '') or '') - .. string.format('%' .. width .. 's', f[column.prop] or "") - end - res[#res+1] = {label=row, format=f.format_id} - end - return res - end - - local columns_video = string_split(opts.columns_video, ',') - local columns_audio = string_split(opts.columns_audio, ',') - local vres = format_table(video_formats, columns_video) - local ares = format_table(audio_formats, columns_audio) - return vres, ares , vfmt, afmt -end - -local function get_url() - local path = mp.get_property("path") - path = string.gsub(path, "ytdl://", "") -- Strip possible ytdl:// prefix. - - local function is_url(s) - -- adapted the regex from https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url - return nil ~= string.match(path, "^[%w]-://[-a-zA-Z0-9@:%._\\+~#=]+%.[a-zA-Z0-9()][a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[-a-zA-Z0-9()@:%_\\+.~#?&/=]*") - end - - return is_url(path) and path or nil -end - -local uosc = false -local url_data={} -local function process_json_string(url, json) - local json, err = utils.parse_json(json) - - if (json == nil) then - mp.osd_message("fetching formats failed...", 2) - msg.error("failed to parse JSON data: " .. err) - return - end - - if json.formats == nil then - return - end - - local vres, ares , vfmt, afmt = process_json(json) - url_data[url] = {voptions=vres, aoptions=ares, vfmt=vfmt, afmt=afmt} - if uosc and get_url() == url then - mp.commandv('script-message-to', 'uosc', 'set', 'vformats', #vres) - mp.commandv('script-message-to', 'uosc', 'set', 'aformats', #ares) - end - return vres, ares , vfmt, afmt -end - -local function download_formats(url) - - mp.osd_message("fetching available formats with youtube-dl...", 60) - - if not (ytdl.searched) then - local ytdl_mcd = mp.find_config_file(opts.ytdl_ver) - if not (ytdl_mcd == nil) then - msg.verbose("found youtube-dl at: " .. ytdl_mcd) - ytdl.path = ytdl_mcd - end - ytdl.searched = true - end - - local function exec(args) - local res, err = mp.command_native({name = "subprocess", args = args, capture_stdout = true, capture_stderr = true}) - return res.status, res.stdout, res.stderr - end - - local ytdl_format = mp.get_property("ytdl-format") - local command = nil - if (ytdl_format == nil or ytdl_format == "") then - command = {ytdl.path, "--no-warnings", "--no-playlist", "-J", url} - else - command = {ytdl.path, "--no-warnings", "--no-playlist", "-J", "-f", ytdl_format, url} - end - - msg.verbose("calling youtube-dl with command: " .. table.concat(command, " ")) - - local es, stdout, stderr = exec(command) - - if (es < 0) or (stdout == nil) or (stdout == "") then - mp.osd_message("fetching formats failed...", 2) - msg.error("failed to get format list: " .. es) - msg.error("stderr: " .. stderr) - return - end - - msg.verbose("youtube-dl succeeded!") - mp.osd_message("", 0) - - local vres, ares , vfmt, afmt = process_json_string(url, stdout) - return vres, ares , vfmt, afmt -end - -local function send_formats_to(type, url, script_name, options, format_id) - mp.commandv('script-message-to', script_name, type .. '_formats', url, utils.format_json(options or {}), format_id or '') -end - -local queue_callback_video = {} -local queue_callback_audio = {} -local function get_formats() - - local url = get_url() - if url == nil then - return - end - - if url_data[url] then - local data = url_data[url] - return data.voptions, data.aoptions, data.vfmt, data.afmt, url - end - - if opts.fetch_formats == false then - local vres = {} - for i,v in ipairs(opts.quality_strings) do - for k,v2 in pairs(v) do - vres[i] = {label = k, format=v2} - end - end - url_data[url] = {voptions=vres, aoptions={}, vfmt=nil, afmt=nil} - return vres, {}, nil, nil, url - end - - local vres, ares , vfmt, afmt = download_formats(url) - - for _, script_name in ipairs(queue_callback_video[url] or {}) do - send_formats_to('video', url, script_name, vres, vfmt) - end - for _, script_name in ipairs(queue_callback_audio[url] or {}) do - send_formats_to('audio', url, script_name, ares, afmt) - end - - queue_callback_video[url] = nil - queue_callback_audio[url] = nil - return vres, ares , vfmt, afmt, url -end - -local function format_string(vfmt, afmt) - if vfmt and afmt then - return vfmt.."+"..afmt - elseif vfmt then - return vfmt - elseif afmt then - return afmt - else - return "" - end -end - -local function set_format(url, vfmt, afmt) - if (url_data[url].vfmt ~= vfmt or url_data[url].afmt ~= afmt) then - url_data[url].afmt = afmt - url_data[url].vfmt = vfmt - if url == mp.get_property("path") then - mp.set_property("ytdl-format", format_string(vfmt, afmt)) - reload_resume() - end - end -end - -local destroyer = nil -local function show_menu(isvideo) - - if destroyer then - destroyer() - end - - local voptions, aoptions, vfmt, afmt, url = get_formats() - - local options - local fmt - if isvideo then - options = voptions - fmt = vfmt - else - options = aoptions - fmt = afmt - end - - if options == nil then - if uosc then - if isvideo then - mp.commandv('script-binding', 'uosc/video') - else - mp.commandv('script-binding', 'uosc/audio') - end - end - - return - end - - msg.verbose("current ytdl-format: "..format_string(vfmt, afmt)) - - local active = 0 - local selected = 1 - --set the cursor to the current format - if fmt then - for i,v in ipairs(options) do - if v.format == fmt then - active = i - selected = active - break - end - end - else - active = #options + 1 - selected = active - end - - if uosc then - local menu = { - title = isvideo and 'Video Formats' or 'Audio Formats', - items = {}, - type = (isvideo and 'video' or 'audio') .. '_formats', - } - for i, option in ipairs(options) do - menu.items[i] = { - title = option.label, - active = i == active, - value = { - 'script-message-to', - 'quality_menu', - (isvideo and 'video' or 'audio') .. '-format-set', - url, - option.format} - } - end - menu.items[#menu.items + 1] = { - title = 'None', - value = { - 'script-message-to', - 'quality_menu', - (isvideo and 'video' or 'audio') .. '-format-set', - url} - } - local json = utils.format_json(menu) - mp.commandv('script-message-to', 'uosc', 'open-menu', json) - return - end - - local function choose_prefix(i) - if i == selected and i == active then return opts.selected_and_active - elseif i == selected then return opts.selected_and_inactive end - - if i ~= selected and i == active then return opts.unselected_and_active - elseif i ~= selected then return opts.unselected_and_inactive end - return "> " --shouldn't get here. - end - - local function draw_menu() - local ass = assdraw.ass_new() - - ass:pos(opts.text_padding_x, opts.text_padding_y) - ass:append(opts.style_ass_tags) - - if #options > 0 then - for i,v in ipairs(options) do - ass:append(choose_prefix(i)..v.label.."\\N") - end - ass:append(choose_prefix(#options+1).."None") - else - ass:append("no formats found") - end - - local w, h = mp.get_osd_size() - if opts.scale_playlist_by_window then w,h = 0, 0 end - mp.set_osd_ass(w, h, ass.text) - end - - local num_options = #options + 1 - local timeout = nil - - local function selected_move(amt) - selected = selected + amt - if selected < 1 then selected = num_options - elseif selected > num_options then selected = 1 end - if timeout then - timeout:kill() - timeout:resume() - end - draw_menu() - end - - local function bind_keys(keys, name, func, opts) - if not keys then - mp.add_forced_key_binding(keys, name, func, opts) - return - end - local i = 1 - for key in keys:gmatch("[^%s]+") do - local prefix = i == 1 and '' or i - mp.add_forced_key_binding(key, name..prefix, func, opts) - i = i + 1 - end - end - - local function unbind_keys(keys, name) - if not keys then - mp.remove_key_binding(name) - return - end - local i = 1 - for key in keys:gmatch("[^%s]+") do - local prefix = i == 1 and '' or i - mp.remove_key_binding(name..prefix) - i = i + 1 - end - end - - local function destroy() - if timeout then - timeout:kill() - end - mp.set_osd_ass(0,0,"") - unbind_keys(opts.up_binding, "move_up") - unbind_keys(opts.down_binding, "move_down") - unbind_keys(opts.select_binding, "select") - unbind_keys(opts.close_menu_binding, "close") - destroyer = nil - end - - if opts.menu_timeout > 0 then - timeout = mp.add_periodic_timer(opts.menu_timeout, destroy) - end - destroyer = destroy - - bind_keys(opts.up_binding, "move_up", function() selected_move(-1) end, {repeatable=true}) - bind_keys(opts.down_binding, "move_down", function() selected_move(1) end, {repeatable=true}) - if #options > 0 then - bind_keys(opts.select_binding, "select", function() - destroy() - if selected == active then return end - - fmt = options[selected] and options[selected].format or nil - if isvideo then - vfmt = fmt - else - afmt = fmt - end - set_format(url, vfmt, afmt) - end) - end - bind_keys(opts.close_menu_binding, "close", destroy) --close menu using ESC - mp.osd_message("", 0) - draw_menu() -end - -local ui_callback = {} - -local function video_formats_toggle() - if #ui_callback > 0 then - for _, name in ipairs(ui_callback) do - mp.commandv('script-message-to', name, 'video-formats-menu') - end - else - show_menu(true) - end -end - -local function audio_formats_toggle() - if #ui_callback > 0 then - for _, name in ipairs(ui_callback) do - mp.commandv('script-message-to', name, 'audio-formats-menu') - end - else - show_menu(false) - end -end - --- keybind to launch menu -mp.add_key_binding(nil, "video_formats_toggle", video_formats_toggle) -mp.add_key_binding(nil, "audio_formats_toggle", audio_formats_toggle) -mp.add_key_binding(nil, "reload", reload_resume) - -local original_format = mp.get_property("ytdl-format") -local path = nil -local function file_start() - local new_path = get_url() - if not new_path then return end - - local data = url_data[new_path] - - if uosc then - if data then - mp.commandv('script-message-to', 'uosc', 'set', 'vformats', #data.voptions) - mp.commandv('script-message-to', 'uosc', 'set', 'aformats', #data.aoptions) - else - mp.commandv('script-message-to', 'uosc', 'set', 'vformats', 0) - mp.commandv('script-message-to', 'uosc', 'set', 'aformats', 0) - end - end - - if opts.reset_format and path and new_path ~= path then - if data then - msg.verbose("setting previously set format") - mp.set_property("ytdl-format", format_string(data.vfmt, data.afmt)) - else - msg.verbose("setting original format") - mp.set_property("ytdl-format", original_format) - end - end - if opts.start_with_menu and new_path ~= path then - video_formats_toggle() - elseif opts.fetch_on_start and not data then - download_formats(new_path) - end - path = new_path -end -mp.register_event("start-file", file_start) - -mp.register_script_message('video-formats-get', function(url, script_name) - local data = url_data[url] - if data then - send_formats_to('video', url, script_name, data.voptions, data.vfmt) - else - local queue = queue_callback_video[url] or {} - queue[#queue + 1] = script_name - queue_callback_video[url] = queue - get_formats() - end -end) - -mp.register_script_message('audio-formats-get', function(url, script_name) - local data = url_data[url] - if data then - send_formats_to('audio', url, script_name, data.aoptions, data.afmt) - else - local queue = queue_callback_audio[url] or {} - queue[#queue + 1] = script_name - queue_callback_audio[url] = queue - get_formats() - end -end) - -mp.register_script_message('video-format-set', function(url, format_id) - set_format(url, format_id, url_data[url].afmt) -end) - -mp.register_script_message('audio-format-set', function(url, format_id) - set_format(url, url_data[url].vfmt, format_id) -end) - -mp.register_script_message('register-ui', function(script_name) - ui_callback[#ui_callback + 1] = script_name -end) - --- check if uosc is running -mp.register_script_message('uosc-version', function(version) - version = tonumber((version:gsub('%.', ''))) ----@diagnostic disable-next-line: cast-local-type - uosc = version and version >= 400 -end) -mp.commandv('script-message-to', 'uosc', 'get-version', mp.get_script_name())
\ No newline at end of file diff --git a/mpv/scripts/youtube-download.lua b/mpv/scripts/youtube-download.lua deleted file mode 100644 index 3050b39..0000000 --- a/mpv/scripts/youtube-download.lua +++ /dev/null @@ -1,758 +0,0 @@ --- youtube-download.lua --- --- Download video/audio from youtube via youtube-dl and ffmpeg/avconv --- This is forked/based on https://github.com/jgreco/mpv-youtube-quality --- --- Video download bound to ctrl-d by default. --- Audio download bound to ctrl-a by default. - --- Requires youtube-dl in PATH for video download --- Requires ffmpeg or avconv in PATH for audio download - -local mp = require 'mp' -local utils = require 'mp.utils' -local msg = require 'mp.msg' - -local opts = { - -- Key bindings - -- Set to empty string "" to disable - download_video_binding = "ctrl+d", - download_audio_binding = "ctrl+a", - download_subtitle_binding = "ctrl+s", - download_video_embed_subtitle_binding = "ctrl+i", - select_range_binding = "ctrl+r", - - -- Specify audio format: "best", "aac","flac", "mp3", "m4a", "opus", "vorbis", or "wav" - audio_format = "mp3", - - -- Specify ffmpeg/avconv audio quality - -- insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K - audio_quality = "0", - - -- Same as youtube-dl --format FORMAT - -- see https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection - -- set to "current" to download the same quality that is currently playing - video_format = "", - - -- Encode the video to another format if necessary: "mp4", "flv", "ogg", "webm", "mkv", "avi" - recode_video = "", - - -- Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames - restrict_filenames = true, - - -- Download the whole playlist (false) or only one video (true) - -- Same as youtube-dl --no-playlist - no_playlist = true, - - -- Use an archive file, see youtube-dl --download-archive - -- You have these options: - -- * Set to empty string "" to not use an archive file - -- * Set an absolute path to use one archive for all downloads e.g. download_archive="/home/user/archive.txt" - -- * Set a relative path/only a filename to use one archive per directory e.g. download_archive="archive.txt" - -- * Use $PLAYLIST to create one archive per playlist e.g. download_archive="/home/user/archives/$PLAYLIST.txt" - download_archive = "", - - -- Use a cookies file for youtube-dl - -- Same as youtube-dl --cookies - -- On Windows you need to use a double blackslash or a single fordwardslash - -- For example "C:\\Users\\Username\\cookies.txt" - -- Or "C:/Users/Username/cookies.txt" - cookies = "", - - -- Filename or full path - -- Same as youtube-dl -o FILETEMPLATE - -- see https://github.com/ytdl-org/youtube-dl/blob/master/README.md#output-template - -- A relative path or a file name is relative to the path mpv was launched from - -- On Windows you need to use a double blackslash or a single fordwardslash - -- For example "C:\\Users\\Username\\Downloads\\%(title)s.%(ext)s" - -- Or "C:/Users/Username/Downloads/%(title)s.%(ext)s" - filename = "%(title)s.%(ext)s", - - -- Subtitle language - -- Same as youtube-dl --sub-lang en - sub_lang = "en", - - -- Subtitle format - -- Same as youtube-dl --sub-format best - sub_format = "best", - - -- Log file for download errors - log_file = "", - -} - ---Read configuration file -(require 'mp.options').read_options(opts, "youtube-download") - ---Read command line arguments -local ytdl_raw_options = mp.get_property("ytdl-raw-options") -if ytdl_raw_options ~= nil and ytdl_raw_options:find("cookies=") ~= nil then - local cookie_file = ytdl_raw_options:match("cookies=([^,]+)") - if cookie_file ~= nil then - opts.cookies = cookie_file - end -end - -local function exec(args, capture_stdout, capture_stderr) - local ret = mp.command_native({ - name = "subprocess", - playback_only = false, - capture_stdout = capture_stdout, - capture_stderr = capture_stderr, - args = args, - }) - return ret.status, ret.stdout, ret.stderr, ret -end - -local function trim(str) - return str:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function not_empty(str) - if str == nil or str == "" then - return false - end - return trim(str) ~= "" -end - -local function path_separator() - return package.config:sub(1,1) -end - -local function path_join(...) - return table.concat({...}, path_separator()) -end - -local function get_current_format() - -- get the current youtube-dl format or the default value - local ytdl_format = mp.get_property("options/ytdl-format") - if not_empty(ytdl_format) then - return ytdl_format - end - ytdl_format = mp.get_property("ytdl-format") - if not_empty(ytdl_format) then - return ytdl_format - end - return "bestvideo+bestaudio/best" -end - -local DOWNLOAD = { - VIDEO=1, - AUDIO=2, - SUBTITLE=3, - VIDEO_EMBED_SUBTITLE=4 -} -local select_range_mode = 0 -local start_time_seconds = nil -local start_time_formated = nil -local end_time_seconds = nil -local end_time_formated = nil - -local is_downloading = false - -local function disable_select_range() - -- Disable range mode - select_range_mode = 0 - -- Remove the arrow key key bindings - mp.remove_key_binding("select-range-set-up") - mp.remove_key_binding("select-range-set-down") - mp.remove_key_binding("select-range-set-left") - mp.remove_key_binding("select-range-set-right") -end - - -local function download(download_type) - local start_time = os.date("%c") - if is_downloading then - return - end - is_downloading = true - - local ass0 = mp.get_property("osd-ass-cc/0") - local ass1 = mp.get_property("osd-ass-cc/1") - local url = mp.get_property("path") - - url = string.gsub(url, "ytdl://", "") -- Strip possible ytdl:// prefix. - - if string.find(url, "//youtu.be/") == nil - and string.find(url, "//ww.youtu.be/") == nil - and string.find(url, "//youtube.com/") == nil - and string.find(url, "//www.youtube.com/") == nil - then - mp.osd_message("Not a youtube URL: " .. tostring(url), 10) - is_downloading = false - return - end - - local list_match = url:match("list=(%w+)") - local download_archive = opts.download_archive - if list_match ~= nil and opts.download_archive ~= nil and opts.download_archive:find("$PLAYLIST", 1, true) then - download_archive = opts.download_archive:gsub("$PLAYLIST", list_match) - end - - if download_type == DOWNLOAD.AUDIO then - mp.osd_message("Audio download started", 2) - elseif download_type == DOWNLOAD.SUBTITLE then - mp.osd_message("Subtitle download started", 2) - elseif download_type == DOWNLOAD.VIDEO_EMBED_SUBTITLE then - mp.osd_message("Video w/ subtitle download started", 2) - else - mp.osd_message("Video download started", 2) - end - - -- Compose command line arguments - local command = {} - - local range_mode_file_name = nil - local range_mode_subtitle_file_name = nil - local start_time_offset = 0 - - if select_range_mode == 0 or (select_range_mode > 0 and (download_type == DOWNLOAD.AUDIO or download_type == DOWNLOAD.SUBTITLE)) then - table.insert(command, "youtube-dl") - table.insert(command, "--no-overwrites") - if opts.restrict_filenames then - table.insert(command, "--restrict-filenames") - end - if not_empty(opts.filename) then - table.insert(command, "-o") - table.insert(command, opts.filename) - end - if opts.no_playlist then - table.insert(command, "--no-playlist") - end - if not_empty(download_archive) then - table.insert(command, "--download-archive") - table.insert(command, download_archive) - end - - if download_type == DOWNLOAD.SUBTITLE then - table.insert(command, "--sub-lang") - table.insert(command, opts.sub_lang) - table.insert(command, "--write-sub") - table.insert(command, "--skip-download") - if not_empty(opts.sub_format) then - table.insert(command, "--sub-format") - table.insert(command, opts.sub_format) - end - if select_range_mode > 0 then - mp.osd_message("Range mode is not available for subtitle-only download", 10) - is_downloading = false - return - end - elseif download_type == DOWNLOAD.AUDIO then - table.insert(command, "--extract-audio") - if not_empty(opts.audio_format) then - table.insert(command, "--audio-format") - table.insert(command, opts.audio_format) - end - if not_empty(opts.audio_quality) then - table.insert(command, "--audio-quality") - table.insert(command, opts.audio_quality) - end - if select_range_mode > 0 then - local start_time_str = tostring(start_time_seconds) - local end_time_str = tostring(end_time_seconds) - table.insert(command, "--external-downloader") - table.insert(command, "ffmpeg") - table.insert(command, "--external-downloader-args") - table.insert(command, "-loglevel warning -nostats -hide_banner -ss ".. start_time_str .. " -to " .. end_time_str .. " -avoid_negative_ts make_zero") - end - else --DOWNLOAD.VIDEO or DOWNLOAD.VIDEO_EMBED_SUBTITLE - if download_type == DOWNLOAD.VIDEO_EMBED_SUBTITLE then - table.insert(command, "--all-subs") - table.insert(command, "--write-sub") - table.insert(command, "--embed-subs") - if not_empty(opts.sub_format) then - table.insert(command, "--sub-format") - table.insert(command, opts.sub_format) - end - end - if not_empty(opts.video_format) then - table.insert(command, "--format") - if opts.video_format == "current" then - table.insert(command, get_current_format()) - else - table.insert(command, opts.video_format) - end - end - if not_empty(opts.recode_video) then - table.insert(command, "--recode-video") - table.insert(command, opts.recode_video) - end - end - if not_empty(opts.cookies) then - table.insert(command, "--cookies") - table.insert(command, opts.cookies) - end - table.insert(command, url) - - elseif select_range_mode > 0 and - (download_type == DOWNLOAD.VIDEO or download_type == DOWNLOAD.VIDEO_EMBED_SUBTITLE) then - - -- Show download indicator - mp.set_osd_ass(0, 0, "{\\an9}{\\fs12}⌛🔗") - - start_time_seconds = math.floor(start_time_seconds) - end_time_seconds = math.ceil(end_time_seconds) - - local start_time_str = tostring(start_time_seconds) - local end_time_str = tostring(end_time_seconds) - - -- Add time to the file name of the video - local filename_format - -- Insert start time/end time - if not_empty(opts.filename) then - if opts.filename:find("%%%(start_time%)") ~= nil then - -- Found "start_time" -> replace it - filename_format = tostring(opts.filename: - gsub("%%%(start_time%)[^diouxXeEfFgGcrs]*[diouxXeEfFgGcrs]", start_time_str): - gsub("%%%(end_time%)[^diouxXeEfFgGcrs]*[diouxXeEfFgGcrs]", end_time_str)) - else - local ext_pattern = "%(ext)s" - if opts.filename:sub(-#ext_pattern) == ext_pattern then - -- Insert before ext - filename_format = opts.filename:sub(1, #(opts.filename) - #ext_pattern) .. - start_time_str .. "-" .. - end_time_str .. ".%(ext)s" - else - -- append at end - filename_format = opts.filename .. start_time_str .. "-" .. end_time_str - end - end - else - -- default youtube-dl filename pattern - filename_format = "%(title)s-%(id)s." .. start_time_str .. "-" .. end_time_str .. ".%(ext)s" - end - - -- Find a suitable format - local format = "bestvideo[ext*=mp4]+bestaudio/best[ext*=mp4]/best" - local requested_format = opts.video_format - if requested_format == "current" then - requested_format = get_current_format() - end - if requested_format == nil or requested_format == "" then - format = format - elseif requested_format == "best" then - -- "best" works, because its a single file stream - format = "best" - elseif requested_format:find("mp4") ~= nil then - -- probably a mp4 format, so use it - format = requested_format - else - -- custom format, no "mp4" found -> use default - msg.warn("Select range mode requires a .mp4 format or \"best\", found " .. - requested_format .. "\n(" .. opts.video_format .. ")" .. - "\nUsing default format instead: " .. format) - end - - -- Get the download url of the video file - -- e.g.: youtube-dl -g -f bestvideo[ext*=mp4]+bestaudio/best[ext*=mp4]/best -s --get-filename https://www.youtube.com/watch?v=abcdefg - command = {"youtube-dl"} - if opts.restrict_filenames then - table.insert(command, "--restrict-filenames") - end - if not_empty(opts.cookies) then - table.insert(command, "--cookies") - table.insert(command, opts.cookies) - end - table.insert(command, "-g") - table.insert(command, "--no-playlist") - table.insert(command, "-f") - table.insert(command, format) - table.insert(command, "-o") - table.insert(command, filename_format) - table.insert(command, "-s") - table.insert(command, "--get-filename") - table.insert(command, url) - - msg.debug("info exec: " .. table.concat(command, " ")) - local info_status, info_stdout, info_stderr = exec(command, true, true) - if info_status ~= 0 then - mp.set_osd_ass(0, 0, "") - mp.osd_message("Could not retieve download stream url: status=" .. tostring(info_status) .. "\n" .. - ass0 .. "{\\fs8} " .. info_stdout:gsub("\r", "") .."\n" .. info_stderr:gsub("\r", "") .. ass1, 20) - msg.debug("info_stdout:\n" .. info_stdout) - msg.debug("info_stderr:\n" .. info_stderr) - mp.set_osd_ass(0, 0, "") - is_downloading = false - return - end - - -- Split result into lines - local info_lines = {} - local last_index = 0 - local info_lines_N = 0 - while true do - local start_i, end_i = info_stdout:find("\n", last_index, true) - if start_i then - local line = tostring(trim(info_stdout:sub(last_index, start_i))) - if line ~= "" then - table.insert(info_lines, line) - info_lines_N = info_lines_N + 1 - end - else - break - end - last_index = end_i + 1 - end - - if info_lines_N < 2 then - mp.set_osd_ass(0, 0, "") - mp.osd_message("Could not extract download stream urls and filename from output\n" .. - ass0 .. "{\\fs8} " .. info_stdout:gsub("\r", "") .."\n" .. info_stderr:gsub("\r", "") .. ass1, 20) - msg.debug("info_stdout:\n" .. info_stdout) - msg.debug("info_stderr:\n" .. info_stderr) - mp.set_osd_ass(0, 0, "") - is_downloading = false - return - end - range_mode_file_name = info_lines[info_lines_N] - table.remove(info_lines) - - if download_type == DOWNLOAD.VIDEO_EMBED_SUBTITLE then - -- youtube-dl --write-sub --skip-download https://www.youtube.com/watch?v=abcdefg -o "temp.%(ext)s" - command = {"youtube-dl", "--write-sub", "--skip-download", "--sub-lang", opts.sub_lang} - if not_empty(opts.sub_format) then - table.insert(command, "--sub-format") - table.insert(command, opts.sub_format) - end - local randomName = "tmp_" .. tostring(math.random()) - table.insert(command, "-o") - table.insert(command, randomName .. ".%(ext)s") - table.insert(command, url) - - -- Start subtitle download - msg.debug("exec: " .. table.concat(command, " ")) - local subtitle_status, subtitle_stdout, subtitle_stderr = exec(command, true, true) - if subtitle_status == 0 and subtitle_stdout:find(randomName) then - local i, j = subtitle_stdout:find(randomName .. "[^\n]+") - range_mode_subtitle_file_name = trim(subtitle_stdout:sub(i, j)) - if range_mode_subtitle_file_name ~= "" then - if range_mode_file_name:sub(-4) ~= ".mkv" then - -- Only mkv supports all kinds of subtitle formats - range_mode_file_name = range_mode_file_name:sub(1,-4) .. "mkv" - end - end - else - mp.osd_message("Could not find a suitable subtitle") - msg.debug("subtitle_stdout:\n" .. subtitle_stdout) - msg.debug("subtitle_stderr:\n" .. subtitle_stderr) - end - - end - - -- Download earlier (cut off afterwards) - start_time_offset = math.min(15, start_time_seconds) - start_time_seconds = start_time_seconds - start_time_offset - - start_time_str = tostring(start_time_seconds) - end_time_str = tostring(end_time_seconds) - - command = {"ffmpeg", "-loglevel", "warning", "-nostats", "-hide_banner", "-y"} - for _, value in ipairs(info_lines) do - table.insert(command, "-ss") - table.insert(command, start_time_str) - table.insert(command, "-to") - table.insert(command, end_time_str) - table.insert(command, "-i") - table.insert(command, value) - end - if not_empty(range_mode_subtitle_file_name) then - table.insert(command, "-ss") - table.insert(command, start_time_str) - table.insert(command, "-i") - table.insert(command, range_mode_subtitle_file_name) - table.insert(command, "-to") -- To must be after input for subtitle - table.insert(command, end_time_str) - end - table.insert(command, "-c") - table.insert(command, "copy") - table.insert(command, range_mode_file_name) - - disable_select_range() - end - - -- Show download indicator - mp.set_osd_ass(0, 0, "{\\an9}{\\fs12}⌛💾") - - -- Start download - msg.debug("exec: " .. table.concat(command, " ")) - local status, stdout, stderr = exec(command, true, true) - - if status == 0 and range_mode_file_name ~= nil then - mp.set_osd_ass(0, 0, "{\\an9}{\\fs12}⌛🔨") - - -- Cut first few seconds to fix errors - local start_time_offset_str = tostring(start_time_offset) - if #start_time_offset_str == 1 then - start_time_offset_str = "0" .. start_time_offset_str - end - local max_length = end_time_seconds - start_time_seconds + start_time_offset + 12 - local tmp_file_name = range_mode_file_name .. ".tmp." .. range_mode_file_name:sub(-3) - command = {"ffmpeg", "-loglevel", "warning", "-nostats", "-hide_banner", "-y", - "-i", range_mode_file_name, "-ss", "00:00:" .. start_time_offset_str, - "-c", "copy", "-avoid_negative_ts", "make_zero", "-t", tostring(max_length), tmp_file_name} - msg.debug("mux exec: " .. table.concat(command, " ")) - local muxstatus, muxstdout, muxstderr = exec(command, true, true) - if muxstatus ~= 0 and not_empty(muxstderr) then - msg.warn("Remux log:" .. tostring(muxstdout)) - msg.warn("Remux errorlog:" .. tostring(muxstderr)) - end - if muxstatus == 0 then - os.remove(range_mode_file_name) - os.rename(tmp_file_name, range_mode_file_name) - if not_empty(range_mode_subtitle_file_name) then - os.remove(range_mode_subtitle_file_name) - end - end - - end - - - is_downloading = false - - -- Hide download indicator - mp.set_osd_ass(0, 0, "") - - local wrote_error_log = false - if stderr ~= nil and not_empty(opts.log_file) and not_empty(stderr) then - -- Write stderr to log file - local title = mp.get_property("media-title") - local file = io.open (opts.log_file , "a+") - file:write("\n[") - file:write(start_time) - file:write("] ") - file:write(url) - file:write("\n[\"") - file:write(title) - file:write("\"]\n") - file:write(stderr) - file:close() - wrote_error_log = true - end - - if (status ~= 0) then - mp.osd_message("download failed:\n" .. tostring(stderr), 10) - msg.error("URL: " .. tostring(url)) - msg.error("Return status code: " .. tostring(status)) - msg.debug(tostring(stderr)) - msg.debug(tostring(stdout)) - return - end - - if string.find(stdout, "has already been recorded in archive") ~=nil then - mp.osd_message("Has already been recorded in archive", 5) - return - end - - -- Retrieve the file name - local filename = nil - if range_mode_file_name == nil and stdout then - local i, j, last_i, start_index = 0 - while i ~= nil do - last_i, start_index = i, j - i, j = stdout:find ("Destination: ",j, true) - end - - if last_i ~= nil then - local end_index = stdout:find ("\n", start_index, true) - if end_index ~= nil and start_index ~= nil then - filename = trim(stdout:sub(start_index, end_index)) - end - end - elseif not_empty(range_mode_file_name) then - filename = range_mode_file_name - end - - local osd_text = "Download succeeded\n" - local osd_time = 5 - -- Find filename or directory - if filename then - local filepath - local basepath - if filename:find("/") == nil and filename:find("\\") == nil then - basepath = utils.getcwd() - filepath = path_join(utils.getcwd(), filename) - else - basepath = "" - filepath = filename - end - - if filepath:len() < 100 then - osd_text = osd_text .. ass0 .. "{\\fs12} " .. filepath .. " {\\fs20}" .. ass1 - elseif basepath == "" then - osd_text = osd_text .. ass0 .. "{\\fs8} " .. filepath .. " {\\fs20}" .. ass1 - else - osd_text = osd_text .. ass0 .. "{\\fs11} " .. basepath .. "\n" .. filename .. " {\\fs20}" .. ass1 - end - if wrote_error_log then - -- Write filename and end time to log file - local file = io.open (opts.log_file , "a+") - file:write("[" .. filepath .. "]\n") - file:write(os.date("[end %c]\n")) - file:close() - end - else - if wrote_error_log then - -- Write directory and end time to log file - local file = io.open (opts.log_file , "a+") - file:write("[" .. utils.getcwd() .. "]\n") - file:write(os.date("[end %c]\n")) - file:close() - end - osd_text = osd_text .. utils.getcwd() - end - - -- Show warnings - if not_empty(stderr) then - msg.warn("Errorlog:" .. tostring(stderr)) - if stderr:find("incompatible for merge") == nil then - local i = stderr:find("Input #") - if i ~= nil then - stderr = stderr:sub(i) - end - osd_text = osd_text .. "\n" .. ass0 .. "{\\fs8} " .. stderr:gsub("\r", "") .. ass1 - osd_time = osd_time + 5 - end - end - - mp.osd_message(osd_text, osd_time) -end - -local function select_range_show() - local status - if select_range_mode > 0 then - if select_range_mode == 2 then - status = "Download range: Fine tune\n← → start time\n↓ ↑ end time\n" .. - tostring(opts.select_range_binding) .. " next mode" - elseif select_range_mode == 1 then - status = "Download range: Select interval\n← start here\n→ end here\n↓from beginning\n↑til end\n" .. - tostring(opts.select_range_binding) .. " next mode" - end - mp.osd_message("Start: " .. start_time_formated .. "\nEnd: " .. end_time_formated .. "\n" .. status, 30) - else - status = "Download range: Disabled (download full length)" - mp.osd_message(status, 3) - end -end - -local function select_range_set_left() - if select_range_mode == 2 then - start_time_seconds = math.max(0, start_time_seconds - 1) - if start_time_seconds < 86400 then - start_time_formated = os.date("!%H:%M:%S", start_time_seconds) - else - start_time_formated = tostring(start_time_seconds) .. "s" - end - elseif select_range_mode == 1 then - start_time_seconds = mp.get_property_number("time-pos") - start_time_formated = mp.command_native({"expand-text","${time-pos}"}) - end - select_range_show() -end - -local function select_range_set_start() - if select_range_mode == 2 then - end_time_seconds = math.max(1, end_time_seconds - 1) - if end_time_seconds < 86400 then - end_time_formated = os.date("!%H:%M:%S", end_time_seconds) - else - end_time_formated = tostring(end_time_seconds) .. "s" - end - elseif select_range_mode == 1 then - start_time_seconds = 0 - start_time_formated = "00:00:00" - end - select_range_show() -end - -local function select_range_set_end() - if select_range_mode == 2 then - end_time_seconds = math.min(mp.get_property_number("duration"), end_time_seconds + 1) - if end_time_seconds < 86400 then - end_time_formated = os.date("!%H:%M:%S", end_time_seconds) - else - end_time_formated = tostring(end_time_seconds) .. "s" - end - elseif select_range_mode == 1 then - end_time_seconds = mp.get_property_number("duration") - end_time_formated = mp.command_native({"expand-text","${duration}"}) - end - select_range_show() -end - -local function select_range_set_right() - if select_range_mode == 2 then - start_time_seconds = math.min(mp.get_property_number("duration") - 1, start_time_seconds + 1) - if start_time_seconds < 86400 then - start_time_formated = os.date("!%H:%M:%S", start_time_seconds) - else - start_time_formated = tostring(start_time_seconds) .. "s" - end - elseif select_range_mode == 1 then - end_time_seconds = mp.get_property_number("time-pos") - end_time_formated = mp.command_native({"expand-text","${time-pos}"}) - end - select_range_show() -end - - -local function select_range() - -- Cycle through modes - if select_range_mode == 2 then - -- Disable range mode - disable_select_range() - elseif select_range_mode == 1 then - -- Switch to "fine tune" mode - select_range_mode = 2 - else - select_range_mode = 1 - -- Add keybinds for arrow keys - mp.add_key_binding("up", "select-range-set-up", select_range_set_end) - mp.add_key_binding("down", "select-range-set-down", select_range_set_start) - mp.add_key_binding("left", "select-range-set-left", select_range_set_left) - mp.add_key_binding("right", "select-range-set-right", select_range_set_right) - - -- Defaults - if start_time_seconds == nil then - start_time_seconds = mp.get_property_number("time-pos") - start_time_formated = mp.command_native({"expand-text","${time-pos}"}) - end_time_seconds = mp.get_property_number("duration") - end_time_formated = mp.command_native({"expand-text","${duration}"}) - end - end - select_range_show() -end - -local function download_video() - return download(DOWNLOAD.VIDEO) -end - -local function download_audio() - return download(DOWNLOAD.AUDIO) -end - -local function download_subtitle() - return download(DOWNLOAD.SUBTITLE) -end - -local function download_embed_subtitle() - return download(DOWNLOAD.VIDEO_EMBED_SUBTITLE) -end - --- keybind -if not_empty(opts.download_video_binding) then - mp.add_key_binding(opts.download_video_binding, "download-video", download_video) -end -if not_empty(opts.download_audio_binding) then - mp.add_key_binding(opts.download_audio_binding, "download-audio", download_audio) -end -if not_empty(opts.download_subtitle_binding) then - mp.add_key_binding(opts.download_subtitle_binding, "download-subtitle", download_subtitle) -end -if not_empty(opts.download_video_embed_subtitle_binding) then - mp.add_key_binding(opts.download_video_embed_subtitle_binding, "download-embed-subtitle", download_embed_subtitle) -end -if not_empty(opts.select_range_binding) then - mp.add_key_binding(opts.select_range_binding, "select-range-start", select_range) -end diff --git a/niri/config.kdl b/niri/config.kdl deleted file mode 100644 index 16e8c11..0000000 --- a/niri/config.kdl +++ /dev/null @@ -1,612 +0,0 @@ -// This config is in the KDL format: https://kdl.dev -// "/-" comments out the following node. -// Check the wiki for a full description of the configuration: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction - -// Input device configuration. -// Find the full list of options on the wiki: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Input -input { - keyboard { - xkb { - // You can set rules, model, layout, variant and options. - // For more information, see xkeyboard-config(7). - - // For example: - // layout "us,ru" - // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" - layout "us" - options "caps:escape" - } - - // Enable numlock on startup, omitting this setting disables it. - numlock - } - - // Next sections include libinput settings. - // Omitting settings disables them, or leaves them at their default values. - touchpad { - // off - tap - // dwt - // dwtp - // drag false - // drag-lock - // natural-scroll - // accel-speed 0.2 - // accel-profile "flat" - scroll-method "two-finger" - // disabled-on-external-mouse - } - - mouse { - // off - // natural-scroll - // accel-speed 0.2 - // accel-profile "flat" - // scroll-method "no-scroll" - } - - trackpoint { - // off - // natural-scroll - // accel-speed 0.2 - // accel-profile "flat" - // scroll-method "on-button-down" - // scroll-button 273 - // middle-emulation - } - - // Uncomment this to make the mouse warp to the center of newly focused windows. - warp-mouse-to-focus - - // Focus windows and outputs automatically when moving the mouse into them. - // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. - focus-follows-mouse max-scroll-amount="0%" -} - -// You can configure outputs by their name, which you can find -// by running `niri msg outputs` while inside a niri instance. -// The built-in laptop monitor is usually called "eDP-1". -// Find more information on the wiki: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs -// Remember to uncomment the node by removing "/-"! -/-output "eDP-1" { - // Uncomment this line to disable this output. - //off - - // Resolution and, optionally, refresh rate of the output. - // The format is "<width>x<height>" or "<width>x<height>@<refresh rate>". - // If the refresh rate is omitted, niri will pick the highest refresh rate - // for the resolution. - // If the mode is omitted altogether or is invalid, niri will pick one automatically. - // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes. - mode "1920x1080@60.000" - - // You can use integer or fractional scale, for example use 1.5 for 150% scale. - scale 1 - - // Transform allows to rotate the output counter-clockwise, valid values are: - // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. - transform "normal" - - // Position of the output in the global coordinate space. - // This affects directional monitor actions like "focus-monitor-left", and cursor movement. - // The cursor can only move between directly adjacent outputs. - // Output scale and rotation has to be taken into account for positioning: - // outputs are sized in logical, or scaled, pixels. - // For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080, - // so to put another output directly adjacent to it on the right, set its x to 1920. - // If the position is unset or results in an overlap, the output is instead placed - // automatically. - position x=0 y=0 -} - -/-output "DP-2" { - mode "1920x1080@75.000" - scale 1 - transform "normal" - position x=0 y=0 -} - -/-output "HDMI-A-1" { - mode "1920x1080@75.000" - scale 1 - transform "normal" - position x=1920 y=0 -} - -// Settings that influence how windows are positioned and sized. -// Find more information on the wiki: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout -layout { - // Set gaps around windows in logical pixels. - gaps 16 - - // When to center a column when changing focus, options are: - // - "never", default behavior, focusing an off-screen column will keep at the left - // or right edge of the screen. - // - "always", the focused column will always be centered. - // - "on-overflow", focusing a column will center it if it doesn't fit - // together with the previously focused column. - center-focused-column "never" - - // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. - preset-column-widths { - // Proportion sets the width as a fraction of the output width, taking gaps into account. - // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. - // The default preset widths are 1/3, 1/2 and 2/3 of the output. - proportion 0.33333 - proportion 0.5 - proportion 0.66667 - - // Fixed sets the width in logical pixels exactly. - // fixed 1920 - } - - // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. - // preset-window-heights { } - - // You can change the default width of the new windows. - default-column-width { proportion 0.5; } - // If you leave the brackets empty, the windows themselves will decide their initial width. - // default-column-width {} - - // By default focus ring and border are rendered as a solid background rectangle - // behind windows. That is, they will show up through semitransparent windows. - // This is because windows using client-side decorations can have an arbitrary shape. - // - // If you don't like that, you should uncomment `prefer-no-csd` below. - // Niri will draw focus ring and border *around* windows that agree to omit their - // client-side decorations. - // - // Alternatively, you can override it with a window rule called - // `draw-border-with-background`. - - // You can change how the focus ring looks. - focus-ring { - // Uncomment this line to disable the focus ring. - // off - - // How many logical pixels the ring extends out from the windows. - width 4 - - // Colors can be set in a variety of ways: - // - CSS named colors: "red" - // - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa" - // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others. - - // Color of the ring on the active monitor. - active-color "#198844" - - // Color of the ring on inactive monitors. - inactive-color "#1b1d1c" - - // You can also use gradients. They take precedence over solid colors. - // Gradients are rendered the same as CSS linear-gradient(angle, from, to). - // The angle is the same as in linear-gradient, and is optional, - // defaulting to 180 (top-to-bottom gradient). - // You can use any CSS linear-gradient tool on the web to set these up. - // Changing the color space is also supported, check the wiki for more info. - // - // active-gradient from="#80c8ff" to="#bbddff" angle=45 - - // You can also color the gradient relative to the entire view - // of the workspace, rather than relative to just the window itself. - // To do that, set relative-to="workspace-view". - // - // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" - } - - // You can also add a border. It's similar to the focus ring, but always visible. - border { - // The settings are the same as for the focus ring. - // If you enable the border, you probably want to disable the focus ring. - off - - width 4 - active-color "#198844" - inactive-color "#1b1d1c" - - // Color of the border around windows that request your attention. - urgent-color "#9b0000" - - // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" - // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" - } - - // You can enable drop shadows for windows. - shadow { - // Uncomment the next line to enable shadows. - // on - - // By default, the shadow draws only around its window, and not behind it. - // Uncomment this setting to make the shadow draw behind its window. - // - // Note that niri has no way of knowing about the CSD window corner - // radius. It has to assume that windows have square corners, leading to - // shadow artifacts inside the CSD rounded corners. This setting fixes - // those artifacts. - // - // However, instead you may want to set prefer-no-csd and/or - // geometry-corner-radius. Then, niri will know the corner radius and - // draw the shadow correctly, without having to draw it behind the - // window. These will also remove client-side shadows if the window - // draws any. - // - // draw-behind-window true - - // You can change how shadows look. The values below are in logical - // pixels and match the CSS box-shadow properties. - - // Softness controls the shadow blur radius. - softness 30 - - // Spread expands the shadow. - spread 5 - - // Offset moves the shadow relative to the window. - offset x=0 y=5 - - // You can also change the shadow color and opacity. - color "#0007" - } - - // Struts shrink the area occupied by windows, similarly to layer-shell panels. - // You can think of them as a kind of outer gaps. They are set in logical pixels. - // Left and right struts will cause the next window to the side to always be visible. - // Top and bottom struts will simply add outer gaps in addition to the area occupied by - // layer-shell panels and regular gaps. - struts { - // left 64 - // right 64 - // top 64 - // bottom 64 - } -} - -// Add lines like this to spawn processes at startup. -// Note that running niri as a session supports xdg-desktop-autostart, -// which may be more convenient to use. -// See the binds section below for more spawn examples. - -// This line starts waybar, a commonly used bar for Wayland compositors. -spawn-at-startup "waybar" -spawn-at-startup "hyprpaper" -spawn-at-startup "hypridle" -spawn-at-startup "dunst" -spawn-at-startup "xwayland-satellite" - -environment { - DISPLAY ":0" -} - -// Uncomment this line to ask the clients to omit their client-side decorations if possible. -// If the client will specifically ask for CSD, the request will be honored. -// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. -// This option will also fix border/focus ring drawing behind some semitransparent windows. -// After enabling or disabling this, you need to restart the apps for this to take effect. -prefer-no-csd - -// You can change the path where screenshots are saved. -// A ~ at the front will be expanded to the home directory. -// The path is formatted with strftime(3) to give you the screenshot date and time. -screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" - -// You can also set this to null to disable saving screenshots to disk. -// screenshot-path null - -// Animation settings. -// The wiki explains how to configure individual animations: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations -animations { - // Uncomment to turn off all animations. - // off - - // Slow down all animations by this factor. Values below 1 speed them up instead. - // slowdown 3.0 -} - -// Window rules let you adjust behavior for individual windows. -// Find more information on the wiki: -// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules - -// Work around WezTerm's initial configure bug -// by setting an empty default-column-width. -window-rule { - // This regular expression is intentionally made as specific as possible, - // since this is the default config, and we want no false positives. - // You can get away with just app-id="wezterm" if you want. - match app-id=r#"^org\.wezfurlong\.wezterm$"# - default-column-width {} -} - -// Open the Firefox picture-in-picture player as floating by default. -window-rule { - // This app-id regular expression will work for both: - // - host Firefox (app-id is "firefox") - // - Flatpak Firefox (app-id is "org.mozilla.firefox") - match app-id=r#"firefox$"# title="^Picture-in-Picture$" - open-floating true -} - -// Example: block out two password managers from screen capture. -// (This example rule is commented out with a "/-" in front.) -/-window-rule { - match app-id=r#"^org\.keepassxc\.KeePassXC$"# - match app-id=r#"^org\.gnome\.World\.Secrets$"# - - block-out-from "screen-capture" - - // Use this instead if you want them visible on third-party screenshot tools. - // block-out-from "screencast" -} - -// Example: enable rounded corners for all windows. -// (This example rule is commented out with a "/-" in front.) -window-rule { - geometry-corner-radius 10 - clip-to-geometry true -} - -binds { - // Keys consist of modifiers separated by + signs, followed by an XKB key name - // in the end. To find an XKB name for a particular key, you may use a program - // like wev. - // - // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt - // when running as a winit window. - // - // Most actions that you can bind here can also be invoked programmatically with - // `niri msg action do-something`. - - // Mod-Shift-/, which is usually the same as Mod-?, - // shows a list of important hotkeys. - Mod+Shift+Slash { show-hotkey-overlay; } - - // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; } - Mod+D hotkey-overlay-title="Run an Application: tofi-run" { spawn "sh" "-c" "$(tofi-run -c ~/.config/tofi/themes/dmenu_vertical)"; } - Mod+E hotkey-overlay-title="Run an Application: tofi-drun" { spawn "sh" "-c" "$(tofi-drun -c ~/.config/tofi/themes/dmenu_vertical)"; } - Mod+Q hotkey-overlay-title="Lock the Screen" { spawn "loginctl" "lock-session"; } - - // You can also use a shell. Do this if you need pipes, multiple commands, etc. - // Note: the entire command goes as a single argument in the end. - // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } - - // Example volume keys mappings for PipeWire & WirePlumber. - // The allow-when-locked=true property makes them work even when the session is locked. - XF86AudioRaiseVolume allow-when-locked=true { spawn "volsv" "-i"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "volsv" "-d"; } - XF86AudioMute allow-when-locked=true { spawn "volsv" "-t"; } - XF86AudioMicMute allow-when-locked=true { spawn "volsv" "-m"; } - - // Open/close the Overview: a zoomed-out view of workspaces and windows. - // You can also move the mouse into the top-left hot corner, - // or do a four-finger swipe up on a touchpad. - Mod+O repeat=false { toggle-overview; } - - Mod+Shift+Q { close-window; } - - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - Mod+Ctrl+L { move-column-right; } - - // Alternative commands that move across workspaces when reaching - // the first or last window in a column. - // Mod+J { focus-window-or-workspace-down; } - // Mod+K { focus-window-or-workspace-up; } - // Mod+Ctrl+J { move-window-down-or-to-workspace-down; } - // Mod+Ctrl+K { move-window-up-or-to-workspace-up; } - - Mod+Home { focus-column-first; } - Mod+End { focus-column-last; } - Mod+Ctrl+Home { move-column-to-first; } - Mod+Ctrl+End { move-column-to-last; } - - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } - - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - - // Alternatively, there are commands to move just a single window: - // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } - // ... - - // And you can also move a whole workspace to another monitor: - // Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } - // ... - - Mod+Page_Down { focus-workspace-down; } - Mod+Page_Up { focus-workspace-up; } - Mod+U { focus-workspace-down; } - Mod+I { focus-workspace-up; } - Mod+Ctrl+Page_Down { move-column-to-workspace-down; } - Mod+Ctrl+Page_Up { move-column-to-workspace-up; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+I { move-column-to-workspace-up; } - - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } - // ... - - Mod+Shift+Page_Down { move-workspace-down; } - Mod+Shift+Page_Up { move-workspace-up; } - Mod+Shift+U { move-workspace-down; } - Mod+Shift+I { move-workspace-up; } - - // You can bind mouse wheel scroll ticks using the following syntax. - // These binds will change direction based on the natural-scroll setting. - // - // To avoid scrolling through workspaces really fast, you can use - // the cooldown-ms property. The bind will be rate-limited to this value. - // You can set a cooldown on any bind, but it's most useful for the wheel. - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - - // Usually scrolling up and down with Shift in applications results in - // horizontal scrolling; these binds replicate that. - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - - // Similarly, you can bind touchpad scroll "ticks". - // Touchpad scrolling is continuous, so for these binds it is split into - // discrete intervals. - // These binds are also affected by touchpad's natural-scroll, so these - // example binds are "inverted", since we have natural-scroll enabled for - // touchpads by default. - // Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } - // Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } - - // You can refer to workspaces by index. However, keep in mind that - // niri is a dynamic workspace system, so these commands are kind of - // "best effort". Trying to refer to a workspace index bigger than - // the current workspace count will instead refer to the bottommost - // (empty) workspace. - // - // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on - // will all refer to the 3rd workspace. - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+Ctrl+1 { move-column-to-workspace 1; } - Mod+Ctrl+2 { move-column-to-workspace 2; } - Mod+Ctrl+3 { move-column-to-workspace 3; } - Mod+Ctrl+4 { move-column-to-workspace 4; } - Mod+Ctrl+5 { move-column-to-workspace 5; } - Mod+Ctrl+6 { move-column-to-workspace 6; } - Mod+Ctrl+7 { move-column-to-workspace 7; } - Mod+Ctrl+8 { move-column-to-workspace 8; } - Mod+Ctrl+9 { move-column-to-workspace 9; } - - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+1 { move-window-to-workspace 1; } - - // Switches focus between the current and the previous workspace. - // Mod+Tab { focus-workspace-previous; } - - // The following binds move the focused window in and out of a column. - // If the window is alone, they will consume it into the nearby column to the side. - // If the window is already in a column, they will expel it out. - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - - // Consume one window from the right to the bottom of the focused column. - Mod+Comma { consume-window-into-column; } - // Expel the bottom window from the focused column to the right. - Mod+Period { expel-window-from-column; } - - Mod+R { switch-preset-column-width; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } - Mod+Shift+F { fullscreen-window; } - - // Expand the focused column to space not taken up by other fully visible columns. - // Makes the column "fill the rest of the space". - Mod+Ctrl+F { expand-column-to-available-width; } - - Mod+C { center-column; } - - // Center all fully visible columns on screen. - Mod+Ctrl+C { center-visible-columns; } - - // Finer width adjustments. - // This command can also: - // * set width in pixels: "1000" - // * adjust width in pixels: "-5" or "+5" - // * set width as a percentage of screen width: "25%" - // * adjust width as a percentage of screen width: "-10%" or "+10%" - // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, - // set-column-width "100" will make the column occupy 200 physical screen pixels. - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - // Finer height adjustments when in column with other windows. - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } - - // Move the focused window between the floating and the tiling layout. - Mod+V { toggle-window-floating; } - Mod+Shift+V { switch-focus-between-floating-and-tiling; } - - // Toggle tabbed column display mode. - // Windows in this column will appear as vertical tabs, - // rather than stacked on top of each other. - Mod+W { toggle-column-tabbed-display; } - - // Actions to switch layouts. - // Note: if you uncomment these, make sure you do NOT have - // a matching layout switch hotkey configured in xkb options above. - // Having both at once on the same hotkey will break the switching, - // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). - // Mod+Space { switch-layout "next"; } - // Mod+Shift+Space { switch-layout "prev"; } - - Print { screenshot; } - Ctrl+Print { screenshot-screen; } - Alt+Print { screenshot-window; } - - // Applications such as remote-desktop clients and software KVM switches may - // request that niri stops processing the keyboard shortcuts defined here - // so they may, for example, forward the key presses as-is to a remote machine. - // It's a good idea to bind an escape hatch to toggle the inhibitor, - // so a buggy application can't hold your session hostage. - // - // The allow-inhibiting=false property can be applied to other binds as well, - // which ensures niri always processes them, even when an inhibitor is active. - Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } - - // The quit action will show a confirmation dialog to avoid accidental exits. - Mod+Shift+E { quit; } - Ctrl+Alt+Delete { quit; } - - // Powers off the monitors. To turn them back on, do any input like - // moving the mouse or pressing any other key. - Mod+Shift+P { power-off-monitors; } - - // Browsers - Super+Alt+W { spawn "lwc"; } -} diff --git a/nsxiv/exec/key-handler b/nsxiv/exec/key-handler deleted file mode 100755 index 53099e4..0000000 --- a/nsxiv/exec/key-handler +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -while read file; do - case "$1" in - "w") - case "$file" in - *.png) - cp "$file" ~/Pictures/background.png - ;; - *) - magick "$file" ~/Pictures/background.png - ;; - esac - t -r hyprpaper - ;; - esac -done diff --git a/nwg-bar/bar.json b/nwg-bar/bar.json deleted file mode 100644 index 01a92c3..0000000 --- a/nwg-bar/bar.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "label": "Lock", - "exec": "loginctl lock-session", - "icon": "/usr/share/nwg-bar/images/system-lock-screen.svg" - }, - { - "label": "Logout", - "exec": "hyprctl dispatch exit", - "icon": "/usr/share/nwg-bar/images/system-log-out.svg" - }, - { - "label": "Reboot", - "exec": "systemctl reboot", - "icon": "/usr/share/nwg-bar/images/system-reboot.svg" - }, - { - "label": "Shutdown", - "exec": "systemctl -i poweroff", - "icon": "/usr/share/nwg-bar/images/system-shutdown.svg" - } -] diff --git a/nwg-bar/style.css b/nwg-bar/style.css deleted file mode 100644 index 023d282..0000000 --- a/nwg-bar/style.css +++ /dev/null @@ -1,35 +0,0 @@ -window { - background-color: rgba (0, 0, 0, 1.0) -} - -/* Outer bar container, takes all the window width/height */ -#outer-box { - margin: 0px -} - -/* Inner bar container, surrounds buttons */ -#inner-box { - background-color: rgba (27, 29, 28, 0.85); - border-radius: 10px; - border-style: none; - border-width: 1px; - border-color: rgba (156, 142, 122, 0.7); - padding: 5px; - margin: 5px -} - -button, image { - background: none; - border: none; - box-shadow: none -} - -button { - padding-left: 10px; - padding-right: 10px; - margin: 5px -} - -button:hover { - background-color: rgba (25, 138, 68, 1.0) -} diff --git a/open/openrc b/open/openrc deleted file mode 100644 index 2c5ebd0..0000000 --- a/open/openrc +++ /dev/null @@ -1,15 +0,0 @@ -[full] -browser: ^https?://, www\., \.com, \.co\.uk, \.net -#in_terminal yplay.pl: ^(http://)?(www\.)?youtube\.com/watch\?v= -in_terminal $VISUAL: \.[^/]*rc$ - -[suffix] -soffice: odp, pptx?, docx? -neovide: txt, c, cpp, nfo, pl, py, s, conf, md, yaml, toml, lua, h, lisp -st -e less: log -mpv: mp3, wav, mp4, wmv -zathura: pdf, epub, ps -browser: html? -soffice: odt - -#xterm -e wget: http://.*.(tar|gz|bz2) - not called due to hash ordering diff --git a/picom.conf b/picom.conf deleted file mode 100644 index 3f0b9f7..0000000 --- a/picom.conf +++ /dev/null @@ -1,429 +0,0 @@ -################################# -# Shadows # -################################# - - -# Enabled client-side shadows on windows. Note desktop windows -# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, -# unless explicitly requested using the wintypes option. -# -# shadow = false -shadow = true; - -# The blur radius for shadows, in pixels. (defaults to 12) -# shadow-radius = 12 -shadow-radius = 7; - -# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) -# shadow-opacity = .75 - -# The left offset for shadows, in pixels. (defaults to -15) -# shadow-offset-x = -15 -shadow-offset-x = -7; - -# The top offset for shadows, in pixels. (defaults to -15) -# shadow-offset-y = -15 -shadow-offset-y = -7; - -# Red color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-red = 0 - -# Green color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-green = 0 - -# Blue color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-blue = 0 - -# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) -# shadow-color = "#000000" - -# Specify a list of conditions of windows that should have no shadow. -# -# examples: -# shadow-exclude = "n:e:Notification"; -# -# shadow-exclude = [] -shadow-exclude = [ - "name = 'Notification'", - "class_g = 'Conky'", - "class_g ?= 'Notify-osd'", - "class_g = 'Cairo-clock'", - "_GTK_FRAME_EXTENTS@:c" -]; - -# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. -# clip-shadow-above = [] - -# Specify a X geometry that describes the region in which shadow should not -# be painted in, such as a dock window region. Use -# shadow-exclude-reg = "x10+0+0" -# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. -# -# shadow-exclude-reg = "" - -# Crop shadow of a window fully on a particular Xinerama screen to the screen. -# xinerama-shadow-crop = false - - -################################# -# Fading # -################################# - - -# Fade windows in/out when opening/closing and when opacity changes, -# unless no-fading-openclose is used. -# fading = false -fading = false; - -# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) -# fade-in-step = 0.028 -fade-in-step = 0.03; - -# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) -# fade-out-step = 0.03 -fade-out-step = 0.03; - -# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) -# fade-delta = 10 - -# Specify a list of conditions of windows that should not be faded. -# fade-exclude = [] - -# Do not fade on window open/close. -# no-fading-openclose = false - -# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. -# no-fading-destroyed-argb = false - - -################################# -# Transparency / Opacity # -################################# - - -# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) -# inactive-opacity = 1 -inactive-opacity = 1; - -# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) -# frame-opacity = 1.0 -frame-opacity = 0.9; - -# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows. -# inactive-opacity-override = true -inactive-opacity-override = false; - -# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) -# active-opacity = 1.0 - -# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) -# inactive-dim = 0.0 - -# Specify a list of conditions of windows that should never be considered focused. -# focus-exclude = [] -focus-exclude = [ "class_g = 'Cairo-clock'" ]; - -# Use fixed inactive dim value, instead of adjusting according to window opacity. -# inactive-dim-fixed = 1.0 - -# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, -# like `50:name *= "Firefox"`. picom-trans is recommended over this. -# Note we don't make any guarantee about possible conflicts with other -# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. -# example: -# opacity-rule = [ "80:class_g = 'URxvt'" ]; -# -# opacity-rule = [] -# opacity-rule [ "100:name = 'REAPER'" ]; - - -################################# -# Corners # -################################# - -# Sets the radius of rounded window corners. When > 0, the compositor will -# round the corners of windows. Does not interact well with -# `transparent-clipping`. -corner-radius = 0 - -# Exclude conditions for rounded corners. -rounded-corners-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'" -]; - - -################################# -# Background-Blurring # -################################# - - -# Parameters for background blurring, see the *BLUR* section for more information. -# blur-method = -# blur-size = 12 -# -# blur-deviation = false -# -# blur-strength = 5 - -# Blur background of semi-transparent / ARGB windows. -# Bad in performance, with driver-dependent behavior. -# The name of the switch may change without prior notifications. -# -# blur-background = false - -# Blur background of windows when the window frame is not opaque. -# Implies: -# blur-background -# Bad in performance, with driver-dependent behavior. The name may change. -# -# blur-background-frame = false - - -# Use fixed blur strength rather than adjusting according to window opacity. -# blur-background-fixed = false - - -# Specify the blur convolution kernel, with the following format: -# example: -# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; -# -# blur-kern = "" -blur-kern = "3x3box"; - - -# Exclude conditions for background blur. -# blur-background-exclude = [] -blur-background-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "_GTK_FRAME_EXTENTS@:c" -]; - -################################# -# General Settings # -################################# - -# Enable remote control via D-Bus. See the man page for more details. -# dbus = true - -# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. -# daemon = false - -# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. -# `xrender` is the default one. -# -# backend = "glx" -backend = "xrender"; - -# Enable/disable VSync. -# vsync = false -vsync = true; - -# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. -# dbus = false - -# Try to detect WM windows (a non-override-redirect window with no -# child that has 'WM_STATE') and mark them as active. -# -# mark-wmwin-focused = false -mark-wmwin-focused = true; - -# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. -# mark-ovredir-focused = false -mark-ovredir-focused = true; - -# Try to detect windows with rounded corners and don't consider them -# shaped windows. The accuracy is not very high, unfortunately. -# -# detect-rounded-corners = false -detect-rounded-corners = true; - -# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers -# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows. -# -# detect-client-opacity = false -detect-client-opacity = true; - -# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, -# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, -# provided that the WM supports it. -# -# use-ewmh-active-win = false - -# Unredirect all windows if a full-screen opaque window is detected, -# to maximize performance for full-screen windows. Known to cause flickering -# when redirecting/unredirecting windows. -# -# unredir-if-possible = false - -# Delay before unredirecting the window, in milliseconds. Defaults to 0. -# unredir-if-possible-delay = 0 - -# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. -# unredir-if-possible-exclude = [] - -# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows -# in the same group focused at the same time. -# -# detect-transient = false -detect-transient = true; - -# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same -# group focused at the same time. This usually means windows from the same application -# will be considered focused or unfocused at the same time. -# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too. -# -# detect-client-leader = false - -# Resize damaged region by a specific number of pixels. -# A positive value enlarges it while a negative one shrinks it. -# If the value is positive, those additional pixels will not be actually painted -# to screen, only used in blur calculation, and such. (Due to technical limitations, -# with use-damage, those pixels will still be incorrectly painted to screen.) -# Primarily used to fix the line corruption issues of blur, -# in which case you should use the blur radius value here -# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, -# with a 5x5 one you use `--resize-damage 2`, and so on). -# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. -# -# resize-damage = 1 - -# Specify a list of conditions of windows that should be painted with inverted color. -# Resource-hogging, and is not well tested. -# -# invert-color-include = [] - -# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. -# Might cause incorrect opacity when rendering transparent content (but never -# practically happened) and may not work with blur-background. -# My tests show a 15% performance boost. Recommended. -# -glx-no-stencil = true; - -# GLX backend: Avoid rebinding pixmap on window damage. -# Probably could improve performance on rapid window content changes, -# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). -# Recommended if it works. -# -# glx-no-rebind-pixmap = false - -# Disable the use of damage information. -# This cause the whole screen to be redrawn every time, instead of the part of the screen -# has actually changed. Potentially degrades the performance, but might fix some artifacts. -# The opposing option is use-damage -# -# no-use-damage = false -use-damage = true; - -# Use X Sync fence to sync clients' draw calls, to make sure all draw -# calls are finished before picom starts drawing. Needed on nvidia-drivers -# with GLX backend for some users. -# -# xrender-sync-fence = false - -# GLX backend: Use specified GLSL fragment shader for rendering window -# contents. Read the man page for a detailed explanation of the interface. -# -# window-shader-fg = "default" - -# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar -# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg. -# -# window-shader-fg-rule = [ -# "my_shader.frag:window_type != 'dock'" -# ] - -# Force all windows to be painted with blending. Useful if you -# have a glx-fshader-win that could turn opaque pixels transparent. -# -# force-win-blend = false - -# Do not use EWMH to detect fullscreen windows. -# Reverts to checking if a window is fullscreen based only on its size and coordinates. -# -# no-ewmh-fullscreen = false - -# Dimming bright windows so their brightness doesn't exceed this set value. -# Brightness of a window is estimated by averaging all pixels in the window, -# so this could comes with a performance hit. -# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) -# -# max-brightness = 1.0 - -# Make transparent windows clip other windows like non-transparent windows do, -# instead of blending on top of them. -# -# transparent-clipping = false - -# Specify a list of conditions of windows that should never have transparent -# clipping applied. Useful for screenshot tools, where you need to be able to -# see through transparent parts of the window. -# -# transparent-clipping-exclude = [] - -# Set the log level. Possible values are: -# "trace", "debug", "info", "warn", "error" -# in increasing level of importance. Case doesn't matter. -# If using the "TRACE" log level, it's better to log into a file -# using *--log-file*, since it can generate a huge stream of logs. -# -# log-level = "debug" -log-level = "warn"; - -# Set the log file. -# If *--log-file* is never specified, logs will be written to stderr. -# Otherwise, logs will to written to the given file, though some of the early -# logs might still be written to the stderr. -# When setting this option from the config file, it is recommended to use an absolute path. -# -# log-file = "/path/to/your/log/file" - -# Show all X errors (for debugging) -# show-all-xerrors = false - -# Write process ID to a file. -# write-pid-path = "/path/to/your/log/file" - -# Window type settings -# -# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: -# "unknown", "desktop", "dock", "toolbar", "menu", "utility", -# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", -# "tooltip", "notification", "combo", and "dnd". -# -# Following per window-type options are available: :: -# -# fade, shadow::: -# Controls window-type-specific shadow and fade settings. -# -# opacity::: -# Controls default opacity of the window type. -# -# focus::: -# Controls whether the window of this type is to be always considered focused. -# (By default, all window types except "normal" and "dialog" has this on.) -# -# full-shadow::: -# Controls whether shadow is drawn under the parts of the window that you -# normally won't be able to see. Useful when the window has parts of it -# transparent, and you want shadows in those areas. -# -# clip-shadow-above::: -# Controls whether shadows that would have been drawn above the window should -# be clipped. Useful for dock windows that should have no shadow painted on top. -# -# redir-ignore::: -# Controls whether this type of windows should cause screen to become -# redirected again after been unredirected. If you have unredir-if-possible -# set, and doesn't want certain window to cause unnecessary screen redirection, -# you can set this to `true`. -# -wintypes: -{ - tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; - dock = { shadow = false; clip-shadow-above = true; } - dnd = { shadow = false; } - popup_menu = { opacity = 0.8; } - dropdown_menu = { opacity = 0.8; } -}; diff --git a/qt5ct/qt5ct.conf b/qt5ct/qt5ct.conf deleted file mode 100644 index 964da53..0000000 --- a/qt5ct/qt5ct.conf +++ /dev/null @@ -1,32 +0,0 @@ -[Appearance] -color_scheme_path=/home/zachir/.config/qt5ct/style-colors.conf -custom_palette=true -icon_theme=Cosmic -standard_dialogs=gtk2 -style=gtk2 - -[Fonts] -fixed="DejaVu LGC Sans,12,-1,5,50,0,0,0,0,0" -general="DejaVu LGC Sans,12,-1,5,50,0,0,0,0,0" - -[Interface] -activate_item_on_single_click=1 -buttonbox_layout=0 -cursor_flash_time=1000 -dialog_buttons_have_icons=1 -double_click_interval=400 -gui_effects=@Invalid() -keyboard_scheme=2 -menus_have_icons=true -show_shortcuts_in_context_menus=true -stylesheets=@Invalid() -toolbutton_style=4 -underline_shortcut=1 -wheel_scroll_lines=3 - -[SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0H\0\0\x2T\0\0\x3\xdb\0\0\x4/\0\0\0H\0\0\x2T\0\0\x3\xdb\0\0\x4/\0\0\0\0\0\0\0\0\a\x80\0\0\0H\0\0\x2T\0\0\x3\xdb\0\0\x4/) - -[Troubleshooting] -force_raster_widgets=1 -ignored_applications=@Invalid() diff --git a/qt6ct/qt6ct.conf b/qt6ct/qt6ct.conf deleted file mode 100644 index 3dce998..0000000 --- a/qt6ct/qt6ct.conf +++ /dev/null @@ -1,32 +0,0 @@ -[Appearance] -color_scheme_path=/home/zachir/.config/qt6ct/style-colors.conf -custom_palette=true -icon_theme=Cosmic -standard_dialogs=gtk2 -style=qt6gtk2 - -[Fonts] -fixed="DejaVu LGC Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" -general="DejaVu LGC Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" - -[Interface] -activate_item_on_single_click=1 -buttonbox_layout=0 -cursor_flash_time=1200 -dialog_buttons_have_icons=1 -double_click_interval=400 -gui_effects=@Invalid() -keyboard_scheme=2 -menus_have_icons=true -show_shortcuts_in_context_menus=true -stylesheets=@Invalid() -toolbutton_style=4 -underline_shortcut=1 -wheel_scroll_lines=3 - -[SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xff\xfd\xff\xff\xff\xe2\0\0\a<\0\0\x3\xf9\0\0\0\0\0\0\0\0\0\0\a9\0\0\x3\xf6\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\a9\0\0\x3\xf6) - -[Troubleshooting] -force_raster_widgets=1 -ignored_applications=@Invalid() diff --git a/qutebrowser/bookmarks/urls b/qutebrowser/bookmarks/urls deleted file mode 100644 index eeef6ee..0000000 --- a/qutebrowser/bookmarks/urls +++ /dev/null @@ -1 +0,0 @@ -https://wiki.archlinux.org/index.php/Qutebrowser#Keybindings qutebrowser - ArchWiki diff --git a/qutebrowser/config.py b/qutebrowser/config.py deleted file mode 100644 index 7d0f4a6..0000000 --- a/qutebrowser/config.py +++ /dev/null @@ -1,275 +0,0 @@ -# Autogenerated config.py -# -# NOTE: config.py is intended for advanced users who are comfortable -# with manually migrating the config file on qutebrowser upgrades. If -# you prefer, you can also configure qutebrowser using the -# :set/:bind/:config-* commands without having to write a config.py -# file. -# -# Documentation: -# qute://help/configuring.html -# qute://help/settings.html - -import sys, os - -try: - home = os.environ['XDG_CONFIG_HOME'] -except KeyError: - home = os.environ['HOME'] + '/.config' - -sys.path.append(os.path.join(sys.path[0], 'jmatrix')) -config.source(home + "/qutebrowser/jmatrix/jmatrix/integrations/qutebrowser.py") - -# Change the argument to True to still load settings configured via autoconfig.yml -config.load_autoconfig(True) - -# Backend to use to display websites. qutebrowser supports two different -# web rendering engines / backends, QtWebEngine and QtWebKit (not -# recommended). QtWebEngine is Qt's official successor to QtWebKit, and -# both the default/recommended backend. It's based on a stripped-down -# Chromium and regularly updated with security fixes and new features by -# the Qt project: https://wiki.qt.io/QtWebEngine QtWebKit was -# qutebrowser's original backend when the project was started. However, -# support for QtWebKit was discontinued by the Qt project with Qt 5.6 in -# 2016. The development of QtWebKit was picked up in an official fork: -# https://github.com/qtwebkit/qtwebkit - however, the project seems to -# have stalled again. The latest release (5.212.0 Alpha 4) from March -# 2020 is based on a WebKit version from 2016, with many known security -# vulnerabilities. Additionally, there is no process isolation and -# sandboxing. Due to all those issues, while support for QtWebKit is -# still available in qutebrowser for now, using it is strongly -# discouraged. -# Type: String -# Valid values: -# - webengine: Use QtWebEngine (based on Chromium - recommended). -# - webkit: Use QtWebKit (based on WebKit, similar to Safari - many known security issues!). -c.backend = 'webengine' - -# Always restore open sites when qutebrowser is reopened. Without this -# option set, `:wq` (`:quit --save`) needs to be used to save open tabs -# (and restore them), while quitting qutebrowser in any other way will -# not save/restore the session. By default, this will save to the -# session which was last loaded. This behavior can be customized via the -# `session.default_name` setting. -# Type: Bool -c.auto_save.session = False - -# Which cookies to accept. With QtWebEngine, this setting also controls -# other features with tracking capabilities similar to those of cookies; -# including IndexedDB, DOM storage, filesystem API, service workers, and -# AppCache. Note that with QtWebKit, only `all` and `never` are -# supported as per-domain values. Setting `no-3rdparty` or `no- -# unknown-3rdparty` per-domain on QtWebKit will have the same effect as -# `all`. If this setting is used with URL patterns, the pattern gets -# applied to the origin/first party URL of the page making the request, -# not the request URL. With QtWebEngine 5.15.0+, paths will be stripped -# from URLs, so URL patterns using paths will not match. With -# QtWebEngine 5.15.2+, subdomains are additionally stripped as well, so -# you will typically need to set this setting for `example.com` when the -# cookie is set on `somesubdomain.example.com` for it to work properly. -# To debug issues with this setting, start qutebrowser with `--debug -# --logfilter network --debug-flag log-cookies` which will show all -# cookies being set. -# Type: String -# Valid values: -# - all: Accept all cookies. -# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail. -# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty. -# - never: Don't accept cookies at all. -config.set('content.cookies.accept', 'no-3rdparty') - -# Value to send in the `Accept-Language` header. Note that the value -# read from JavaScript is always the global value. -# Type: String -config.set('content.headers.accept_language', '', 'https://matchmaker.krunker.io/*') - -# User agent to send. The following placeholders are defined: * -# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: -# The underlying WebKit version (set to a fixed value with -# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for -# QtWebEngine. * `{qt_version}`: The underlying Qt version. * -# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for -# QtWebEngine. * `{upstream_browser_version}`: The corresponding -# Safari/Chrome version. * `{qutebrowser_version}`: The currently -# running qutebrowser version. The default value is equal to the -# unchanged user agent of QtWebKit/QtWebEngine. Note that the value -# read from JavaScript is always the global value. With QtWebEngine -# between 5.12 and 5.14 (inclusive), changing the value exposed to -# JavaScript requires a restart. -# Type: FormatString -config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}', 'https://web.whatsapp.com/') - -# User agent to send. The following placeholders are defined: * -# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: -# The underlying WebKit version (set to a fixed value with -# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for -# QtWebEngine. * `{qt_version}`: The underlying Qt version. * -# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for -# QtWebEngine. * `{upstream_browser_version}`: The corresponding -# Safari/Chrome version. * `{qutebrowser_version}`: The currently -# running qutebrowser version. The default value is equal to the -# unchanged user agent of QtWebKit/QtWebEngine. Note that the value -# read from JavaScript is always the global value. With QtWebEngine -# between 5.12 and 5.14 (inclusive), changing the value exposed to -# JavaScript requires a restart. -# Type: FormatString -config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:90.0) Gecko/20100101 Firefox/90.0', 'https://accounts.google.com/*') - -# User agent to send. The following placeholders are defined: * -# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: -# The underlying WebKit version (set to a fixed value with -# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for -# QtWebEngine. * `{qt_version}`: The underlying Qt version. * -# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for -# QtWebEngine. * `{upstream_browser_version}`: The corresponding -# Safari/Chrome version. * `{qutebrowser_version}`: The currently -# running qutebrowser version. The default value is equal to the -# unchanged user agent of QtWebKit/QtWebEngine. Note that the value -# read from JavaScript is always the global value. With QtWebEngine -# between 5.12 and 5.14 (inclusive), changing the value exposed to -# JavaScript requires a restart. -# Type: FormatString -config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99 Safari/537.36', 'https://*.slack.com/*') - -# Load images automatically in web pages. -# Type: Bool -config.set('content.images', True, 'chrome-devtools://*') - -# Load images automatically in web pages. -# Type: Bool -config.set('content.images', True, 'devtools://*') - -# Enable JavaScript. -# Type: Bool -config.set('content.javascript.enabled', True, 'chrome-devtools://*') - -# Enable JavaScript. -# Type: Bool -config.set('content.javascript.enabled', True, 'devtools://*') - -# Enable JavaScript. -# Type: Bool -config.set('content.javascript.enabled', True, 'chrome://*/*') - -# Enable JavaScript. -# Type: Bool -config.set('content.javascript.enabled', True, 'qute://*/*') - -# List of user stylesheet filenames to use. -# Type: List of File, or File -c.content.user_stylesheets = [] - -# Editor (and arguments) to use for the `edit-*` commands. The following -# placeholders are defined: * `{file}`: Filename of the file to be -# edited. * `{line}`: Line in which the caret is found in the text. * -# `{column}`: Column in which the caret is found in the text. * -# `{line0}`: Same as `{line}`, but starting from index 0. * `{column0}`: -# Same as `{column}`, but starting from index 0. -# Type: ShellCommand -c.editor.command = ['neovide', '{file}'] - -# Page to open if :open -t/-b/-w is used without URL. Use `about:blank` -# for a blank page. -# Type: FuzzyUrl -c.url.default_page = 'https://search.brave.com' - -# Search engines which can be used via the address bar. Maps a search -# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}` -# placeholder. The placeholder will be replaced by the search term, use -# `{{` and `}}` for literal `{`/`}` braces. The following further -# placeholds are defined to configure how special characters in the -# search terms are replaced by safe characters (called 'quoting'): * -# `{}` and `{semiquoted}` quote everything except slashes; this is the -# most sensible choice for almost all search engines (for the search -# term `slash/and&` this placeholder expands to `slash/and%26amp`). -# * `{quoted}` quotes all characters (for `slash/and&` this -# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes -# nothing (for `slash/and&` this placeholder expands to -# `slash/and&`). * `{0}` means the same as `{}`, but can be used -# multiple times. The search engine named `DEFAULT` is used when -# `url.auto_search` is turned on and something else than a URL was -# entered to be opened. Other search engines can be used by prepending -# the search engine name to the search term, e.g. `:open google -# qutebrowser`. -# Type: Dict -c.url.searchengines = {'DEFAULT': 'https://search.brave.com/search?q={}', 'dg': 'https://duckduckgo.com/?q={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'sp': 'https://startpage.com/sp/search?q={}', 'py': 'https://vid.puffyan.us/search?q={}', 'yt': 'https://yewtu.be/search?q={}', 'lv': 'https://videos.lukesmith.xyz/search?search={}&searchTarget=local'} - -# Page(s) to open at the start. -# Type: List of FuzzyUrl, or FuzzyUrl -c.url.start_pages = 'https://search.brave.com' - -# Background color for webpages if unset (or empty to use the theme's -# color). -# Type: QtColor -c.colors.webpage.bg = 'black' - -# Render all web contents using a dark theme. Example configurations -# from Chromium's `chrome://flags`: - "With simple HSL/CIELAB/RGB-based -# inversion": Set `colors.webpage.darkmode.algorithm` accordingly. - -# "With selective image inversion": Set -# `colors.webpage.darkmode.policy.images` to `smart`. - "With selective -# inversion of non-image elements": Set -# `colors.webpage.darkmode.threshold.text` to 150 and -# `colors.webpage.darkmode.threshold.background` to 205. - "With -# selective inversion of everything": Combines the two variants above. -# Type: Bool -c.colors.webpage.darkmode.enabled = True - -# Which algorithm to use for modifying how colors are rendered with -# darkmode. The `lightness-cielab` value was added with QtWebEngine 5.14 -# and is treated like `lightness-hsl` with older QtWebEngine versions. -# Type: String -# Valid values: -# - lightness-cielab: Modify colors by converting them to CIELAB color space and inverting the L value. Not available with Qt < 5.14. -# - lightness-hsl: Modify colors by converting them to the HSL color space and inverting the lightness (i.e. the "L" in HSL). -# - brightness-rgb: Modify colors by subtracting each of r, g, and b from their maximum value. -c.colors.webpage.darkmode.algorithm = 'lightness-cielab' - -# Which images to apply dark mode to. With QtWebEngine 5.15.0, this -# setting can cause frequent renderer process crashes due to a -# https://codereview.qt-project.org/c/qt/qtwebengine- -# chromium/+/304211[bug in Qt]. -# Type: String -# Valid values: -# - always: Apply dark mode filter to all images. -# - never: Never apply dark mode filter to any images. -# - smart: Apply dark mode based on image content. Not available with Qt 5.15.0. -c.colors.webpage.darkmode.policy.images = 'never' - -# Threshold for inverting background elements with dark mode. Background -# elements with brightness above this threshold will be inverted, and -# below it will be left as in the original, non-dark-mode page. Set to -# 256 to never invert the color or to 0 to always invert it. Note: This -# behavior is the opposite of `colors.webpage.darkmode.threshold.text`! -# Type: Int -c.colors.webpage.darkmode.threshold.background = 48 - -# Map keys to other keys, so that they are equivalent in all modes. When -# the key used as dictionary-key is pressed, the binding for the key -# used as dictionary-value is invoked instead. This is useful for global -# remappings of keys, for example to map <Ctrl-[> to <Escape>. NOTE: -# This should only be used if two keys should always be equivalent, i.e. -# for things like <Enter> (keypad) and <Return> (non-keypad). For normal -# command bindings, qutebrowser works differently to vim: You always -# bind keys to commands, usually via `:bind` or `config.bind()`. Instead -# of using this setting, consider finding the command a key is bound to -# (e.g. via `:bind gg`) and then binding the same command to the desired -# key. Note that when a key is bound (via `bindings.default` or -# `bindings.commands`), the mapping is ignored. -# Type: Dict -c.bindings.key_mappings = {'<Ctrl+6>': '<Ctrl+^>', '<Ctrl+Enter>': '<Ctrl+Return>', '<Ctrl+i>': '<Tab>', '<Ctrl+j>': '<Return>', '<Ctrl+m>': '<Return>', '<Ctrl+[>': '<Escape>', '<Enter>': '<Return>', '<Shift+Enter>': '<Return>', '<Shift+Return>': '<Return>'} - -# Bindings for normal mode -config.bind('<Ctrl+0>', 'tab-select 10') -config.bind('<Ctrl+1>', 'tab-select 1') -config.bind('<Ctrl+2>', 'tab-select 2') -config.bind('<Ctrl+3>', 'tab-select 3') -config.bind('<Ctrl+4>', 'tab-select 4') -config.bind('<Ctrl+5>', 'tab-select 5') -config.bind('<Ctrl+6>', 'tab-select 6') -config.bind('<Ctrl+7>', 'tab-select 7') -config.bind('<Ctrl+8>', 'tab-select 8') -config.bind('<Ctrl+9>', 'tab-select 9') -config.bind('X', 'hint links spawn mpv {hint-url}') -config.bind('ar', 'download-retry') -config.bind('pa', 'spawn --userscript qute-pass') diff --git a/qutebrowser/jmatrix b/qutebrowser/jmatrix deleted file mode 160000 -Subproject b197ae15cafdeb9e864df24c6914192d07d2319 diff --git a/qutebrowser/quickmarks b/qutebrowser/quickmarks deleted file mode 100644 index 93c8b7e..0000000 --- a/qutebrowser/quickmarks +++ /dev/null @@ -1 +0,0 @@ -lv https://videos.lukesmith.xyz diff --git a/rofi/config.rasi b/rofi/config.rasi deleted file mode 100644 index 1de6cb4..0000000 --- a/rofi/config.rasi +++ /dev/null @@ -1 +0,0 @@ -@theme "dmenu.rasi" diff --git a/rofi/dmenu.rasi b/rofi/dmenu.rasi deleted file mode 100644 index 2ac7745..0000000 --- a/rofi/dmenu.rasi +++ /dev/null @@ -1,43 +0,0 @@ -/** - * ROFI Color theme - * User: Qball - * Copyright: Dave Davenport - */ - -* { - background-color: Black; - border-color: White; - text-color: White; - font: "JetBrainsMono Nerd Font 12"; -} -window { - anchor: north; - location: north; - width: 100%; - padding: 4px; - children: [ horibox ]; -} -horibox { - orientation: vertical; - children: [ prompt, entry, listview ]; -} -listview { - layout: vertical; - spacing: 5px; - lines: 15; -} -entry { - expand: false; - width: 10em; -} -element { - padding: 0px 2px; -} -element selected { - background-color: #198844; -} - -element-text, element-icon { - background-color: inherit; - text-color: inherit; -} diff --git a/scroll/config b/scroll/config deleted file mode 100644 index c6bb704..0000000 --- a/scroll/config +++ /dev/null @@ -1,595 +0,0 @@ -# vim: ft=swayconfig -# -# Default config for scroll -# -# Copy this to ~/.config/scroll/config and edit it to your liking. -# -# Read `man 5 scroll` for a complete reference. - -include /etc/scroll/config.d/* - -# This includes config.d/user.conf, which should set the $home variable -include ~/.config/scroll/config.d/user.conf - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Home row direction keys, like vim -set $left Left -set $down Down -set $up Up -set $right Right -# Your preferred terminal emulator -set $term kitty -# Your preferred application launcher -set $rmenu tofi-drun --drun-launch=true -c ~/.config/tofi/themes/dmenu_vertical -set $dmenu dmenu_run -l 15 -# Your preferred file manager -set $filemanager kitty -e lf - -# The scripts directory -set $scripts $home/.config/scroll/scripts - -exec waybar -exec hypridle -exec hyprpaper - -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/scroll/) -# output * bg /usr/share/backgrounds/scroll/Sway_Wallpaper_Blue_1920x1080.png fill -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: scrollmsg -t get_outputs - -#output eDP-1 resolution 1920x1080 position 0 0 -#output HDMI-A-1 resolution 1920x1080 position 1920 0 -#output DP-2 resolution 1920x1080 position 0 0 - -### Idle configuration -# -# Example configuration: -# -# exec swayidle -w \ -# timeout 300 'swaylock -f -c 000000' \ -# timeout 600 'scrollmsg "output * power off"' resume 'scrollmsg "output * power on"' \ -# before-sleep 'swaylock -f -c 000000' -# -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. - -### Input configuration -# -# Example configuration: -# -# input type:touchpad { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# input type:keyboard { -# xkb_layout "eu" -# } -# -# You can also configure each device individually. -# Read `man 5 scroll-input` for more information about this section. - -### Windows defaults -default_border pixel 2 -gaps inner 4 -gaps outer 20 -client.focused #198844 #000000 #e0e0e0 #198844 #198844 -client.focused_inactive #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c -client.unfocused #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c - -# Idle inhibit for fullscreen windows -for_window [all] inhibit_idle fullscreen - -# Layout settings -layout_default_width 0.5 -layout_default_height 1.0 -layout_widths [0.33333333 0.5 0.666666667 1.0] -layout_heights [0.33333333 0.5 0.666666667 1.0] - -fullscreen_movefocus true - -focus_follows_mouse yes - -mouse_warping none - -# Animations -animations { - enabled yes - default yes 100 var 3 [ 0.215 0.61 0.355 1 ] - window_open yes 100 var 3 [ 0 0 1 1 ] - window_move yes 100 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] - window_size yes 100 var 3 [ -0.35 0 0 0.5 ] -} - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Backspace kill - bindsym $mod+Shift+Backspace kill unfocused - bindsym $mod+Ctrl+Backspace kill all - - # Start your launcher - bindsym $mod+e exec $rmenu - bindsym $mod+d exec $dmenu - - # Start restart menu - bindsym $mod+r exec rs - - # Launch your file manager - bindsym $mod+Alt+f exec $filemanager - - # Lock your screen - bindsym $mod+q exec loginctl lock-session - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Closes the active application (hopefully) - bindsym $mod+Shift+q kill - - # Exit scroll (logs you out of your Wayland session) - bindsym $mod+Shift+e exec scrollnag -t warning -m 'You pressed the exit shortcut. Do you really want to exit scroll? This will end your Wayland session.' -B 'Yes, exit scroll' 'scrollmsg exit' - - # Layout mode - bindsym $mod+bracketleft set_mode h - bindsym $mod+bracketright set_mode v -# -# Moving around: -# - # Move your focus around - bindsym $mod+h focus left - bindsym $mod+j focus down - bindsym $mod+k focus up - bindsym $mod+l focus right - bindsym $mod+home focus beginning - bindsym $mod+end focus end - # Move the focused window with the same, but add Ctrl - bindsym $mod+Ctrl+h move left - bindsym $mod+Ctrl+j move down - bindsym $mod+Ctrl+k move up - bindsym $mod+Ctrl+l move right - bindsym $mod+Ctrl+home move beginning - bindsym $mod+Ctrl+end move end - # nomode - bindsym $mod+Alt+h move left nomode - bindsym $mod+Alt+j move down nomode - bindsym $mod+Alt+k move up nomode - bindsym $mod+Alt+l move right nomode - bindsym $mod+Alt+home move beginning nomode - bindsym $mod+Alt+end move end nomode - - # Focus other monitors - bindsym $mod+Shift+h focus output left - bindsym $mod+Shift+j focus output down - bindsym $mod+Shift+k focus output up - bindsym $mod+Shift+l focus output right - - # Move window to other monitors - bindsym $mod+Shift+Ctrl+h move container to output left - bindsym $mod+Shift+Ctrl+j move container to output down - bindsym $mod+Shift+Ctrl+k move container to output up - bindsym $mod+Shift+Ctrl+l move container to output right -## -## Workspaces: -## NOW USING SWAYSOME -## -# # Switch to workspace -# bindsym $mod+1 workspace number 1 -# bindsym $mod+2 workspace number 2 -# bindsym $mod+3 workspace number 3 -# bindsym $mod+4 workspace number 4 -# bindsym $mod+5 workspace number 5 -# bindsym $mod+6 workspace number 6 -# bindsym $mod+7 workspace number 7 -# bindsym $mod+8 workspace number 8 -# bindsym $mod+9 workspace number 9 -# # Move focused container to workspace -# bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 -# bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 -# bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3 -# bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4 -# bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5 -# bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6 -# bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 -# bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 -# bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 -# # Note: workspaces can have any name you want, not just numbers. -# # We just use 1-10 as the default. - -# Scaling - # Workspace - bindsym $mod+Shift+comma scale_workspace incr -0.05 - bindsym --whole-window $mod+Shift+button4 scale_workspace incr -0.05 - bindsym $mod+Shift+period scale_workspace incr 0.05 - bindsym --whole-window $mod+Shift+button5 scale_workspace incr 0.05 - bindsym $mod+Shift+Ctrl+period scale_workspace reset - - # Overview - bindsym --no-repeat $mod+tab scale_workspace overview - #bindsym --whole-window button8 scale_workspace overview - - # Jump - # jump_labels_color #9e1530FF - # jump_labels_background #15309eFF - # jump_labels_scale 0.9 - # jump_labels_keys asdf - bindsym --no-repeat $mod+slash jump - bindsym --no-repeat $mod+Shift+slash jump container - bindsym --no-repeat $mod+Ctrl+slash jump workspaces - bindsym --no-repeat $mod+Alt+slash jump floating - - # Content - bindsym $mod+comma scale_content incr -0.05 - bindsym --whole-window $mod+button4 scale_content incr -0.05 - bindsym $mod+period scale_content incr 0.05 - bindsym --whole-window $mod+button5 scale_content incr 0.05 - bindsym $mod+Ctrl+period scale_content reset - -# -# Layout stuff: -# - # Make the current focus fullscreen - bindsym $mod+f fullscreen - #bindsym $mod+Shift+f fullscreen global - bindsym $mod+Shift+f fullscreen_application toggle - bindsym $mod+Ctrl+Alt+f fullscreen_application reset - - # Maximize, not fullscreen - bindsym $mod+m lua $scripts/maximize.lua toggle - - # Toggle the current focus between tiling and floating mode - bindsym $mod+y focus mode_toggle - # Toggle layout type (h<->v) - bindsym $mod+Shift+y layout_transpose - - # Float a window - bindsym $mod+Shift+space floating toggle - - # Toggle sticky - bindsym $mod+Shift+Ctrl+a sticky toggle - # Toggle pin - bindsym --no-repeat $mod+a pin beginning - bindsym --no-repeat $mod+Shift+a pin end - - # Selection - bindsym --no-repeat $mod+Insert selection toggle - bindsym --no-repeat $mod+Ctrl+Insert selection reset - bindsym --no-repeat $mod+Shift+Insert selection move - bindsym --no-repeat $mod+Ctrl+Shift+Insert selection workspace - bindsym --no-repeat $mod+Alt+Insert selection to_trail - - # Marks - # bindsym $mod+m exec scroll-mark-toggle.sh - # bindsym $mod+Shift+m exec scroll-mark-remove.sh - # bindsym $mod+apostrophe exec scroll-mark-switch.sh - -# -# Scratchpad: -# - # Scroll has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - #bindsym $mod+Shift+z move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - #bindsym $mod+z scratchpad show - #bindsym --no-repeat $mod+Alt+z scratchpad jump - - #bindsym $mod+Ctrl+z workspace back_and_forth - -# -# Mode modifiers -# -mode "modifiers" { - bindsym $right set_mode after; mode default - bindsym $left set_mode before; mode default - bindsym home set_mode beginning; mode default - bindsym end set_mode end; mode default - bindsym $up set_mode focus; mode default - bindsym $down set_mode nofocus; mode default - bindsym h set_mode center_horiz; mode default - bindsym Shift+h set_mode nocenter_horiz; mode default - bindsym v set_mode center_vert; mode default - bindsym Shift+v set_mode nocenter_vert; mode default - bindsym r set_mode reorder_auto; mode default - bindsym Shift+r set_mode noreorder_auto; mode default - - # Return to default mode - bindsym Escape mode "default" -} -bindsym $mod+backslash mode "modifiers" - -# -# Resizing containers: -# -bindsym $mod+minus cycle_size h prev -bindsym $mod+equal cycle_size h next -bindsym $mod+Shift+minus cycle_size v prev -bindsym $mod+Shift+equal cycle_size v next - -mode "setsizeh" { - bindsym 1 set_size h 0.125; mode default - bindsym 2 set_size h 0.1666666667; mode default - bindsym 3 set_size h 0.25; mode default - bindsym 4 set_size h 0.333333333; mode default - bindsym 5 set_size h 0.375; mode default - bindsym 6 set_size h 0.5; mode default - bindsym 7 set_size h 0.625; mode default - bindsym 8 set_size h 0.6666666667; mode default - bindsym 9 set_size h 0.75; mode default - bindsym 0 set_size h 0.833333333; mode default - bindsym minus set_size h 0.875; mode default - bindsym equal set_size h 1.0; mode default - - # Return to default mode - bindsym Escape mode "default" -} -bindsym $mod+b mode "setsizeh" - -mode "setsizev" { - bindsym 1 set_size v 0.125; mode default - bindsym 2 set_size v 0.1666666667; mode default - bindsym 3 set_size v 0.25; mode default - bindsym 4 set_size v 0.333333333; mode default - bindsym 5 set_size v 0.375; mode default - bindsym 6 set_size v 0.5; mode default - bindsym 7 set_size v 0.625; mode default - bindsym 8 set_size v 0.6666666667; mode default - bindsym 9 set_size v 0.75; mode default - bindsym 0 set_size v 0.833333333; mode default - bindsym minus set_size v 0.875; mode default - bindsym equal set_size v 1.0; mode default - - # Return to default mode - bindsym Escape mode "default" -} -bindsym $mod+Shift+b mode "setsizev" - -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 100px - bindsym $down resize grow height 100px - bindsym $up resize shrink height 100px - bindsym $right resize grow width 100px - - # Return to default mode - bindsym Escape mode "default" -} -bindsym $mod+Shift+r mode "resize" - -mode "align" { - bindsym c align center; mode default - bindsym m align middle; mode default - bindsym r align reset; mode default - bindsym $left align left; mode default - bindsym $right align right; mode default - bindsym $up align up; mode default - bindsym $down align down; mode default - bindsym Escape mode "default" -} -bindsym $mod+c mode "align" - -mode "fit_size" { - bindsym w fit_size h visible proportional; mode default - bindsym Shift+w fit_size v visible proportional; mode default - bindsym Ctrl+w fit_size h visible equal; mode default - bindsym Ctrl+Shift+w fit_size v visible equal; mode default - - bindsym $right fit_size h toend proportional; mode default - bindsym Shift+$right fit_size v toend proportional; mode default - bindsym Ctrl+$right fit_size h toend equal; mode default - bindsym Ctrl+Shift+$right fit_size v toend equal; mode default - - bindsym $left fit_size h tobeg proportional; mode default - bindsym Shift+$left fit_size v tobeg proportional; mode default - bindsym Ctrl+$left fit_size h tobeg equal; mode default - bindsym Ctrl+Shift+$left fit_size v tobeg equal; mode default - - bindsym $up fit_size h active proportional; mode default - bindsym Shift+$up fit_size v active proportional; mode default - #bindsym Ctrl+$up fit_size h active equal; mode default - #bindsym Ctrl+Shift+$up fit_size v active equal; mode default - - bindsym $down fit_size h all proportional; mode default - bindsym Shift+$down fit_size v all proportional; mode default - bindsym Ctrl+$down fit_size h all equal; mode default - bindsym Ctrl+Shift+$down fit_size v all equal; mode default - bindsym Escape mode "default" -} -bindsym $mod+w mode "fit_size" - -mode "trailmark" { - bindsym bracketright trailmark next - bindsym bracketleft trailmark prev - bindsym semicolon trailmark toggle; mode default - bindsym Escape mode "default" -} -bindsym $mod+semicolon mode "trailmark" - -mode "trail" { - bindsym bracketright trail next - bindsym bracketleft trail prev - bindsym semicolon trail new; mode default - bindsym d trail delete; mode default - bindsym c trail clear; mode default - bindsym insert trail to_selection; mode default - bindsym Escape mode "default" -} -bindsym $mod+Shift+semicolon mode "trail" - -mode "spaces" { - bindsym 1 space load 1; mode default - bindsym 2 space load 2; mode default - bindsym 3 space load 3; mode default - bindsym 4 space load 4; mode default - bindsym 5 space load 5; mode default - bindsym 6 space load 6; mode default - bindsym 7 space load 7; mode default - bindsym 8 space load 8; mode default - bindsym 9 space load 9; mode default - bindsym 0 space load 0; mode default - bindsym Shift+1 space save 1; mode default - bindsym Shift+2 space save 2; mode default - bindsym Shift+3 space save 3; mode default - bindsym Shift+4 space save 4; mode default - bindsym Shift+5 space save 5; mode default - bindsym Shift+6 space save 6; mode default - bindsym Shift+7 space save 7; mode default - bindsym Shift+8 space save 8; mode default - bindsym Shift+9 space save 9; mode default - bindsym Shift+0 space save 0; mode default - bindsym Ctrl+1 space restore 1; mode default - bindsym Ctrl+2 space restore 2; mode default - bindsym Ctrl+3 space restore 3; mode default - bindsym Ctrl+4 space restore 4; mode default - bindsym Ctrl+5 space restore 5; mode default - bindsym Ctrl+6 space restore 6; mode default - bindsym Ctrl+7 space restore 7; mode default - bindsym Ctrl+8 space restore 8; mode default - bindsym Ctrl+9 space restore 9; mode default - bindsym Ctrl+0 space restore 0; mode default - bindsym Escape mode "default" -} -bindsym $mod+g mode "spaces" - -# -# Utilities: -# - # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec volsv -t - bindsym --locked XF86AudioLowerVolume exec volsv -d - bindsym --locked XF86AudioRaiseVolume exec volsv -i - bindsym --locked XF86AudioMicMute exec volsv -m - - # Special keys to control media via playerctl - bindsym --locked XF86AudioPlay exec playerctl play-pause - bindsym --locked XF86AudioPause exec playerctl play-pause - bindsym --locked XF86AudioPrev exec playerctl previous - bindsym --locked XF86AudioNext exec playerctl next - bindsym --locked XF86AudioStop exec playerctl stop - - # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec bl -d - bindsym --locked XF86MonBrightnessUp exec bl -i - - # Special key to take a screenshot with grim - bindsym Print exec grim - -# Launch lwc librewolf profile interface -bindsym $mod+Alt+w exec lwc -# Launch qbc qutebrowser profile interface -bindsym $mod+Alt+q exec qbc -# Launch dmount dmenu mount script -bindsym $mod+Alt+comma exec dmount -# Launch dmenuumount dmenu umount script -bindsym $mod+Alt+period exec dmenuumount - -focus_wrapping yes - -bindgesture swipe:4:right workspace next -bindgesture swipe:4:left workspace prev - -bindgesture swipe:4:up scale_workspace overview - -# Enable window swallowing (of mpv specifically) -lua $scripts/swallow.lua - -# Enable maximize when only -lua $scripts/maximize_when_only.lua - -# Scratchpads -for_window [app_id="sphtop"] move scratchpad -for_window [app_id="sphtop"] scratchpad show -bindsym $mod+Ctrl+z lua $scripts/scratchpad.lua sphtop kitty htop -for_window [app_id="spterm"] move scratchpad -for_window [app_id="spterm"] scratchpad show -bindsym $mod+Ctrl+x lua $scripts/scratchpad.lua spterm kitty -for_window [app_id="sppmxr"] move scratchpad -for_window [app_id="sppmxr"] scratchpad show -bindsym $mod+Ctrl+c lua $scripts/scratchpad.lua sppmxr kitty pulsemixer -for_window [app_id="spblue"] move scratchpad -for_window [app_id="spblue"] scratchpad show -bindsym $mod+Ctrl+v lua $scripts/scratchpad.lua spblue kitty bluetoothctl -for_window [app_id="spncmp"] move scratchpad -for_window [app_id="spncmp"] scratchpad show -bindsym $mod+Ctrl+b lua $scripts/scratchpad.lua spncmp kitty ncmpcpp -for_window [app_id="spmutt"] move scratchpad -for_window [app_id="spmutt"] scratchpad show -bindsym $mod+Ctrl+a lua $scripts/scratchpad.lua spmutt kitty neomutt -for_window [app_id="spprof"] move scratchpad -for_window [app_id="spprof"] scratchpad show -bindsym $mod+Ctrl+s lua $scripts/scratchpad.lua spprof kitty profanity -for_window [app_id="spirss"] move scratchpad -for_window [app_id="spirss"] scratchpad show -bindsym $mod+Ctrl+d lua $scripts/scratchpad.lua spirss kitty irssi -for_window [app_id="sptodo"] move scratchpad -for_window [app_id="sptodo"] scratchpad show -bindsym $mod+Ctrl+f lua $scripts/scratchpad.lua sptodo kitty todo -for_window [app_id="sptrmc"] move scratchpad -for_window [app_id="sptrmc"] scratchpad show -bindsym $mod+Ctrl+g lua $scripts/scratchpad.lua sptrmc kitty tremc -for_window [app_id="org.pipewire.Helvum"] move scratchpad -for_window [app_id="org.pipewire.Helvum"] scratchpad show -bindsym $mod+Ctrl+q lua $scripts/scratchpad.lua org.pipewire.Helvum helvum -for_window [app_id="com.github.wwmm.easyeffects"] move scratchpad -for_window [app_id="com.github.wwmm.easyeffects"] scratchpad show -bindsym $mod+Ctrl+e lua $scripts/scratchpad.lua com.github.wwmm.easyeffects easyeffects - -# -# Workspace rules: -# -# Opens a terminal when creating workspace 6 -# workspace 6 exec kitty - - -# -# Status Bar: -# -# Read `man 5 scroll-bar` for more information about this section. -bar { - mode invisible - - #position top - - ## When the status_command prints a new line to stdout, scrollbar updates. - ## The default just shows the current date and time. - #status_command while date +'%Y-%m-%d %X'; do sleep 1; done - - #colors { - # statusline #ffffff - # background #323232 - # inactive_workspace #32323200 #32323200 #5c5c5c - # scroller #2F343AFF #055E20FF #FFFFFFFF - #} -} -# -include ~/.config/scroll/config.d/* diff --git a/scroll/config.d/swaysome.conf b/scroll/config.d/swaysome.conf deleted file mode 100644 index eebf6a3..0000000 --- a/scroll/config.d/swaysome.conf +++ /dev/null @@ -1,69 +0,0 @@ -# vim: ft=swayconfig -# -# Use (un)bindcode or (un)bindsym, depending on what you used in your main sway config file. -# The `--no-warn` setting is only added to shortcuts that exist in the default config. You may want to add or remove -# that flag on some bindings depending on your config. - - -# Change focus between workspaces -bindsym --no-warn $mod+1 exec "swaysome focus 1" -bindsym --no-warn $mod+2 exec "swaysome focus 2" -bindsym --no-warn $mod+3 exec "swaysome focus 3" -bindsym --no-warn $mod+4 exec "swaysome focus 4" -bindsym --no-warn $mod+5 exec "swaysome focus 5" -bindsym --no-warn $mod+6 exec "swaysome focus 6" -bindsym --no-warn $mod+7 exec "swaysome focus 7" -bindsym --no-warn $mod+8 exec "swaysome focus 8" -bindsym --no-warn $mod+9 exec "swaysome focus 9" -#bindsym --no-warn $mod+0 exec "swaysome focus 0" - -# Move containers between workspaces -bindsym --no-warn $mod+Shift+1 exec "swaysome move 1" -bindsym --no-warn $mod+Shift+2 exec "swaysome move 2" -bindsym --no-warn $mod+Shift+3 exec "swaysome move 3" -bindsym --no-warn $mod+Shift+4 exec "swaysome move 4" -bindsym --no-warn $mod+Shift+5 exec "swaysome move 5" -bindsym --no-warn $mod+Shift+6 exec "swaysome move 6" -bindsym --no-warn $mod+Shift+7 exec "swaysome move 7" -bindsym --no-warn $mod+Shift+8 exec "swaysome move 8" -bindsym --no-warn $mod+Shift+9 exec "swaysome move 9" -#bindsym --no-warn $mod+Shift+0 exec "swaysome move 0" - -# Focus workspace groups -bindsym $mod+Alt+1 exec "swaysome focus-group 1" -bindsym $mod+Alt+2 exec "swaysome focus-group 2" -bindsym $mod+Alt+3 exec "swaysome focus-group 3" -bindsym $mod+Alt+4 exec "swaysome focus-group 4" -bindsym $mod+Alt+5 exec "swaysome focus-group 5" -bindsym $mod+Alt+6 exec "swaysome focus-group 6" -bindsym $mod+Alt+7 exec "swaysome focus-group 7" -bindsym $mod+Alt+8 exec "swaysome focus-group 8" -bindsym $mod+Alt+9 exec "swaysome focus-group 9" -#bindsym $mod+Alt+0 exec "swaysome focus-group 0" - -# Move containers to other workspace groups -bindsym $mod+Alt+Shift+1 exec "swaysome move-to-group 1" -bindsym $mod+Alt+Shift+2 exec "swaysome move-to-group 2" -bindsym $mod+Alt+Shift+3 exec "swaysome move-to-group 3" -bindsym $mod+Alt+Shift+4 exec "swaysome move-to-group 4" -bindsym $mod+Alt+Shift+5 exec "swaysome move-to-group 5" -bindsym $mod+Alt+Shift+6 exec "swaysome move-to-group 6" -bindsym $mod+Alt+Shift+7 exec "swaysome move-to-group 7" -bindsym $mod+Alt+Shift+8 exec "swaysome move-to-group 8" -bindsym $mod+Alt+Shift+9 exec "swaysome move-to-group 9" -#bindsym $mod+Alt+Shift+0 exec "swaysome move-to-group 0" - -# Move focused container to next output -bindsym $mod+o exec "swaysome next-output" -# Move focused container to previous output -bindsym $mod+Shift+o exec "swaysome prev-output" - -# Move focused workspace group to next output -bindsym $mod+Alt+o exec "swaysome workspace-group-next-output" -# Move focused workspace group to previous output -bindsym $mod+Alt+Shift+o exec "swaysome workspace-group-prev-output" - -# Init workspaces for every screen -exec "swaysome init 1" - - diff --git a/scroll/scripts/maximize.lua b/scroll/scripts/maximize.lua deleted file mode 100644 index f0df156..0000000 --- a/scroll/scripts/maximize.lua +++ /dev/null @@ -1,42 +0,0 @@ -local args, state = ... - --- Set up views table -local views = scroll.state_get_value(state, "views") -if views == nil then - scroll.state_set_value(state, "views", {}) - views = scroll.state_get_value(state, "views") -end - -local function find_view(view) - for _, v in ipairs(views) do - if v["object"] == view then - return v - end - end - return nil -end - -if args[1] == 'toggle' then - local focused_view = scroll.focused_view() - local view = find_view(focused_view) - if view == nil then - view = { - object = focused_view, - maximized = false, - wf = 0, - hf = 0 - } - table.insert(views, view) - end - view["maximized"] = not view["maximized"] - if view["maximized"] then - local container = scroll.view_get_container(focused_view) - view["wf"] = scroll.container_get_width_fraction(container) - view["hf"] = scroll.container_get_height_fraction(container) - scroll.command(nil, "set_size h 1.0") - scroll.command(nil, "set_size v 1.0") - else - scroll.command(nil, "set_size h " .. view["wf"]) - scroll.command(nil, "set_size v " .. view["hf"]) - end -end diff --git a/scroll/scripts/maximize_when_only.lua b/scroll/scripts/maximize_when_only.lua deleted file mode 100644 index a047180..0000000 --- a/scroll/scripts/maximize_when_only.lua +++ /dev/null @@ -1,38 +0,0 @@ -local args, state = ... - -local maximized_containers = scroll.state_get_value(state, "maximized_containers") or {} - -local debug_notify = function(msg) - scroll.command(nil, "exec notify-send " .. msg) -end - -local maximize_container = function(container, workspace) - local wf = scroll.container_get_width_fraction(container) - local hf = scroll.container_get_height_fraction(container) - maximized_containers[workspace] = { container = container, wf = wf, hf = hf, workspace = workspace } - scroll.state_set_value(state, "maximized_containers", maximized_containers) - scroll.command(container, "set_size h 1.0") - scroll.command(container, "set_size v 1.0") -end - -local maximize_when_only = function() - local focused_workspace = scroll.focused_workspace() - local containers = scroll.workspace_get_tiling(focused_workspace) - local focused_container = scroll.focused_container() - local maximized_container = maximized_containers[focused_workspace] - if #containers == 1 then - if not maximized_container or (maximized_container and maximized_container.container ~= focused_container) then - -- debug_notify("Maximizing") - maximize_container(focused_container, focused_workspace) - end - elseif #containers > 1 and maximized_container then - -- debug_notify("Shrinking") - scroll.command(maximized_container.container, "set_size h " .. maximized_container.wf) - scroll.command(maximized_container.container, "set_size v " .. maximized_container.hf) - maximized_containers[focused_workspace] = nil - scroll.state_set_value(state, "maximized_containers", maximized_containers) - end - scroll.command(focused_container, "nop") -end - -scroll.add_callback("view_focus", maximize_when_only, nil) diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua deleted file mode 100644 index 0afaa97..0000000 --- a/scroll/scripts/scratchpad.lua +++ /dev/null @@ -1,66 +0,0 @@ -local args, _ = ... -local id = "" -local terminal = false -local command = nil - -for i, arg in ipairs(args) do - if i <= 1 then - id = arg - if #args == 1 then - command = arg - end - elseif i == 2 then - if (arg == "kitty") then - terminal = true - else - command = arg - end - elseif (terminal == true) then - command = arg - break - end -end - -command = command or "kitty" - -local function exists(id) - local is_in_scratchpad = false - local cons = scroll.scratchpad_get_containers() - for _, con in ipairs(cons) do - local views = scroll.container_get_views(con) - for _, view in ipairs(views) do - local app_id = scroll.view_get_app_id(view) - if (app_id == id) then - is_in_scratchpad = true - end - end - end - return is_in_scratchpad -end - -local function is_focused(id) - local view = scroll.focused_view() - local app_id = scroll.view_get_app_id(view) - return app_id == id -end - -local function spawn(term, comm) - if (term) then - if (comm) then - scroll.command(nil, "exec kitty --class " .. id .. " -e " .. comm) - else - scroll.command(nil, "exec kitty --class " .. id) - end - else - scroll.command(nil, "exec " .. comm) - end -end - -if (not exists(id)) then - spawn(terminal, command) -end -if (is_focused(id)) then - scroll.command(nil, "scratchpad show") -else - scroll.command(nil, "[app_id=\"" .. id .. "\"] scratchpad show") -end diff --git a/scroll/scripts/swallow.lua b/scroll/scripts/swallow.lua deleted file mode 100644 index 5760886..0000000 --- a/scroll/scripts/swallow.lua +++ /dev/null @@ -1,32 +0,0 @@ -local function candidate(view) - local app_id = scroll.view_get_app_id(view) - if app_id == "mpv" then - local pview = scroll.view_get_parent_view(view) - if pview ~= nil and pview ~= view then - local papp_id = scroll.view_get_app_id(pview) - if papp_id == "kitty" then - return scroll.view_get_container(pview) - end - end - end - return nil -end - -local function on_create(view, _) - local parent = candidate(view) - if parent ~= nil then - scroll.command(parent, "move scratchpad") - end -end - -local function on_destroy(view, _) - local parent = candidate(view) - if parent ~= nil then - scroll.command(nil, "scratchpad show; floating toggle") - end -end - -scroll.add_callback("view_map", on_create, nil) -scroll.add_callback("view_unmap", on_destroy, nil) - - diff --git a/sh/functions b/sh/functions index e8515d8..7a9f715 100644 --- a/sh/functions +++ b/sh/functions @@ -36,6 +36,9 @@ if [[ "$SHELL" =~ .*zsh$ ]]; then if [[ $1 != *"veracrypt"* ]]; then print -sr -- "${1%%$'\n'}" fc -p + elif [[ $1 != *"cryptsetup"* ]]; then + print -sr -- "${1%%$'\n'}" + fc -p else return 1 fi diff --git a/swayidle/config b/swayidle/config deleted file mode 100644 index 52f7c7e..0000000 --- a/swayidle/config +++ /dev/null @@ -1,4 +0,0 @@ -timeout 300 swaylockd -timeout 600 'loginctl suspend' -before-sleep swaylockd -lock swaylockd diff --git a/swaylock/config b/swaylock/config deleted file mode 100644 index 55ca360..0000000 --- a/swaylock/config +++ /dev/null @@ -1,2 +0,0 @@ -ignore-empty-password -color=000000 diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc deleted file mode 100755 index 125f8fe..0000000 --- a/sxhkd/sxhkdrc +++ /dev/null @@ -1,144 +0,0 @@ -# -# wm independent hotkeys -# - -# reload sxhkd config -super + Escape - pkill -USR1 -x sxhkd - -# -# dmenu interfaces -# - -# program launcher -super + d - dmenu_run -l 15 - -# desktop application launcher -super + e - j4-dmenu-desktop --dmenu="dmenu -l 15" - -# dmenu prompt to restart programs -super + r - rs - -# dmenu prompt for recording -super + control + r - dmenurecord - -# run dmenu interface for pass -super + alt + p - passmenu - -# run dmenu interface for ytfzf -super + y - ytfzf-launcher -D 'dmenu -l 15' - -# run dmenu interface to spawn browsers -super + alt + 1 - bm - -# run dmenu interface for qutebrowser profile chooser -super + alt + q - qbc - #qbpm choose - -# run dmenu interface for librewolf profile chooser -super + alt + w - lwc - -# run dmenu interface for mpris -super + alt + u - mprisctl - -# run dmenu interface for mount -super + alt + comma - dmount -p - -# run dmenu interface for umount -super + alt + period - dmenuumount - -#run dmenu prompt for unicode chars -super + alt + u - dmenuunicode - -# -# utilities -# - -# get xprop -super + grave - notifyprop - -# warp cursor to left or right monitor -super + {Left,Right} - mwarp.py {left,right} - -# lock the screen -super + q - loginctl lock-session self - -# spawn file manager -super + alt + f - kitty lfrun - -# toggle touchpad -super + alt + t - toggletouchpad - -# notify-send firewall rules -super + alt + f - notify-iptables - -# mute volume -super + alt + m - volsv -t - -# mute microphone -super + alt + shift + m - volsv -m - -# load nsxiv for backgrounds -super + alt + x - nsxiv ~/.local/src/wallpapers - -# xkill -super + x - xkill - -# pause mpd -alt + p - playerctl play-pause - -# -# xf86 keys -# - -# manipulate audio stream -XF86Audio{Prev,Next,Play,Stop} - playerctl {previous,next,play-pause,stop} - -# turn the brightness up -XF86MonBrightnessUp - bl -i 1 - -# turn the brightness down -XF86MonBrightnessDown - bl -d 1 - -# raise the volume -XF86AudioRaiseVolume - volsv -i - -# lower the volume -XF86AudioLowerVolume - volsv -d - -# toggle mute -XF86AudioMute - volsv -t - -# mute mic -XF86AudioMicMute - volsv -m diff --git a/tofi/colors b/tofi/colors deleted file mode 100644 index 047c875..0000000 --- a/tofi/colors +++ /dev/null @@ -1,17 +0,0 @@ -background-color = #000000 -outline-color = #198844 -border-color = #198844 -text-color = #ffffff -prompt-color = #198844 -prompt-background = #000000 -placeholder-color = #198844 -placeholder-background = #000000 -input-color = #ffffff -input-background = #000000 -default-result-background = #000000 -alternate-result-color = #ffffff -alternate-result-background = #000000 -selection-color = #000000 -selection-match-color = #39c1ed -selection-background = #198844 - diff --git a/tofi/config b/tofi/config deleted file mode 120000 index 54cdd97..0000000 --- a/tofi/config +++ /dev/null @@ -1 +0,0 @@ -/home/zachir/.config/tofi/themes/dmenu
\ No newline at end of file diff --git a/tofi/cosmic b/tofi/cosmic deleted file mode 100644 index b339f73..0000000 --- a/tofi/cosmic +++ /dev/null @@ -1,22 +0,0 @@ -include = "themes/colors" - -hidden-character = "*" -anchor = top -width = 100% -height = 32 -horizontal = true -font-size = 18 -prompt-text = "" -font = JetBrainsMono Nerd Font -outline-width = 0 -border-width = 0 -min-input-width = 424 -result-spacing = 15 -padding-top = 0 -padding-bottom = 0 -padding-left = 0 -padding-right = 0 -history = false -selection-background-padding = 12 -result-spacing = 24 -require-match=false diff --git a/tofi/themes/colors b/tofi/themes/colors deleted file mode 100644 index 047c875..0000000 --- a/tofi/themes/colors +++ /dev/null @@ -1,17 +0,0 @@ -background-color = #000000 -outline-color = #198844 -border-color = #198844 -text-color = #ffffff -prompt-color = #198844 -prompt-background = #000000 -placeholder-color = #198844 -placeholder-background = #000000 -input-color = #ffffff -input-background = #000000 -default-result-background = #000000 -alternate-result-color = #ffffff -alternate-result-background = #000000 -selection-color = #000000 -selection-match-color = #39c1ed -selection-background = #198844 - diff --git a/tofi/themes/dmenu b/tofi/themes/dmenu deleted file mode 100644 index 8af8c80..0000000 --- a/tofi/themes/dmenu +++ /dev/null @@ -1,23 +0,0 @@ -include = "colors" - -hidden-character = "*" -anchor = top -width = 100% -height = 36 -horizontal = true -font-size = 18 -prompt-text = "" -font = JetBrainsMono Nerd Font -outline-width = 0 -border-width = 0 -min-input-width = 424 -result-spacing = 15 -padding-top = 0 -padding-bottom = 0 -padding-left = 0 -padding-right = 0 -history = false -selection-background-padding = 12 -result-spacing = 24 -require-match=false -physical-keybindings=false diff --git a/tofi/themes/dmenu_vertical b/tofi/themes/dmenu_vertical deleted file mode 100644 index 2e95559..0000000 --- a/tofi/themes/dmenu_vertical +++ /dev/null @@ -1,29 +0,0 @@ -include = "colors" - -hidden-character = "*" -anchor = top -width = 100% -height = 600 -horizontal = false -font-size = 18 -prompt-text = "" -prompt-padding = 18 -font = JetBrainsMono Nerd Font -outline-width = 0 -border-width = 0 -min-input-width = 424 -result-spacing = 12 -selection-background-padding = 0, 12 -padding-top = 0 -padding-bottom = 0 -padding-left = 12 -padding-right = 12 -margin-top = 0 -margin-bottom = 0 -margin-left = 12 -margin-right = 12 -clip-to-padding=true -history = false -require-match = false -num-results = 15 -physical-keybindings=false diff --git a/vlc/vlcrc b/vlc/vlcrc deleted file mode 100644 index 7a1ca14..0000000 --- a/vlc/vlcrc +++ /dev/null @@ -1,5075 +0,0 @@ -### -### vlc 3.0.18 -### - -### -### lines beginning with a '#' character are comments -### - -[visual] # Visualizer filter - -# Effects list (string) -#effect-list=spectrum - -# Video width (integer) -#effect-width=800 - -# Video height (integer) -#effect-height=500 - -# FFT window (string) -#effect-fft-window=flat - -# Kaiser window parameter (float) -#effect-kaiser-param=3.000000 - -# Show 80 bands instead of 20 (boolean) -#visual-80-bands=1 - -# Draw peaks in the analyzer (boolean) -#visual-peaks=1 - -# Enable original graphic spectrum (boolean) -#spect-show-original=0 - -# Draw the base of the bands (boolean) -#spect-show-base=1 - -# Base pixel radius (integer) -#spect-radius=42 - -# Spectral sections (integer) -#spect-sections=3 - -# V-plane color (integer) -#spect-color=80 - -# Draw bands in the spectrometer (boolean) -#spect-show-bands=1 - -# Show 80 bands instead of 20 (boolean) -#spect-80-bands=1 - -# Number of blank pixels between bands. (integer) -#spect-separ=1 - -# Amplification (integer) -#spect-amp=8 - -# Draw peaks in the analyzer (boolean) -#spect-show-peaks=1 - -# Peak extra width (integer) -#spect-peak-width=61 - -# Peak height (integer) -#spect-peak-height=1 - -[glspectrum] # 3D OpenGL spectrum visualization - -# Video width (integer) -#glspectrum-width=400 - -# Video height (integer) -#glspectrum-height=300 - -[wall] # Wall video filter - -# Number of columns (integer) -#wall-cols=3 - -# Number of rows (integer) -#wall-rows=3 - -# Active windows (string) -#wall-active= - -# Element aspect ratio (string) -#wall-element-aspect=16:9 - -[panoramix] # Panoramix: wall with overlap video filter - -# Number of columns (integer) -#panoramix-cols=-1 - -# Number of rows (integer) -#panoramix-rows=-1 - -# length of the overlapping area (in %) (integer) -#panoramix-bz-length=100 - -# height of the overlapping area (in %) (integer) -#panoramix-bz-height=100 - -# Attenuation (boolean) -#panoramix-attenuate=1 - -# Attenuation, begin (in %) (integer) -#panoramix-bz-begin=0 - -# Attenuation, middle (in %) (integer) -#panoramix-bz-middle=50 - -# Attenuation, end (in %) (integer) -#panoramix-bz-end=100 - -# middle position (in %) (integer) -#panoramix-bz-middle-pos=50 - -# Gamma (Red) correction (float) -#panoramix-bz-gamma-red=1.000000 - -# Gamma (Green) correction (float) -#panoramix-bz-gamma-green=1.000000 - -# Gamma (Blue) correction (float) -#panoramix-bz-gamma-blue=1.000000 - -# Black Crush for Red (integer) -#panoramix-bz-blackcrush-red=140 - -# Black Crush for Green (integer) -#panoramix-bz-blackcrush-green=140 - -# Black Crush for Blue (integer) -#panoramix-bz-blackcrush-blue=140 - -# White Crush for Red (integer) -#panoramix-bz-whitecrush-red=200 - -# White Crush for Green (integer) -#panoramix-bz-whitecrush-green=200 - -# White Crush for Blue (integer) -#panoramix-bz-whitecrush-blue=200 - -# Black Level for Red (integer) -#panoramix-bz-blacklevel-red=150 - -# Black Level for Green (integer) -#panoramix-bz-blacklevel-green=150 - -# Black Level for Blue (integer) -#panoramix-bz-blacklevel-blue=150 - -# White Level for Red (integer) -#panoramix-bz-whitelevel-red=0 - -# White Level for Green (integer) -#panoramix-bz-whitelevel-green=0 - -# White Level for Blue (integer) -#panoramix-bz-whitelevel-blue=0 - -# Active windows (string) -#panoramix-active= - -[clone] # Clone video filter - -# Number of clones (integer) -#clone-count=2 - -# Video output modules (string) -#clone-vout-list= - -[yuv] # YUV video output - -# device, fifo or filename (string) -#yuv-file=stream.yuv - -# Chroma used (string) -#yuv-chroma= - -# Add a YUV4MPEG2 header (boolean) -#yuv-yuv4mpeg2=0 - -[xdg_shell] # XDG shell surface - -# Wayland display (string) -#wl-display= - -[xcb_xv] # XVideo output (XCB) - -# XVideo adaptor number (integer) -#xvideo-adaptor=-1 - -# XVideo format id (integer) -#xvideo-format-id=0 - -[xcb_x11] # X11 video output (XCB) - -[xcb_window] # X11 video window (XCB) - -# X11 display (string) -#x11-display= - -[wl_shell] # Wayland shell surface - -# Wayland display (string) -#wl-display= - -[vmem] # Video memory output - -# Width (integer) -#vmem-width=320 - -# Height (integer) -#vmem-height=200 - -# Pitch (integer) -#vmem-pitch=640 - -# Chroma (string) -#vmem-chroma=RV16 - -[vdummy] # Dummy video output - -# Dummy image chroma format (string) -#dummy-chroma= - -[gl] # OpenGL video output - -# OpenGL extension (string) -#gl= - -# Open GL/GLES hardware converter (string) -#glconv= - -# Rendering intent for color conversion (integer) -#rendering-intent=1 - -# Display primaries (integer) -#target-prim=0 - -# Display gamma / transfer function (integer) -#target-trc=0 - -# Tone-mapping algorithm (integer) -#tone-mapping=3 - -# Tone-mapping parameter (float) -#tone-mapping-param=0.000000 - -# Highlight clipped pixels (boolean) -#tone-mapping-warn=0 - -# Dithering algorithm (integer) -#dither-algo=-1 - -# Dither depth override (0 = framebuffer depth) (integer) -#dither-depth=0 - -# Desaturation strength (float) -#desat-strength=0.000000 - -# Desaturation exponent (float) -#desat-exponent=0.000000 - -# Desaturation base (float) -#desat-base=0.000000 - -# Maximum brightness boost (float) -#max-boost=0.000000 - -[flaschen] # Flaschen-Taschen video output - -# Flaschen-Taschen display address (string) -#flaschen-display= - -# Width (integer) -#flaschen-width=25 - -# Height (integer) -#flaschen-height=20 - -[fb] # GNU/Linux framebuffer video output - -# Framebuffer device (string) -#fbdev=/dev/fb0 - -# Run fb on current tty (boolean) -#fb-tty=1 - -# Image format (default RGB) (string) -#fb-chroma= - -# Framebuffer resolution to use (integer) -#fb-mode=4 - -# Framebuffer uses hw acceleration (boolean) -#fb-hw-accel=1 - -[transform] # Video transformation filter - -# Transform type (string) -#transform-type=90 - -[sharpen] # Sharpen video filter - -# Sharpen strength (0-2) (float) -#sharpen-sigma=0.050000 - -[sepia] # Sepia video filter - -# Sepia intensity (integer) -#sepia-intensity=120 - -[scene] # Scene video filter - -# Image format (string) -#scene-format=png - -# Image width (integer) -#scene-width=-1 - -# Image height (integer) -#scene-height=-1 - -# Filename prefix (string) -#scene-prefix=scene - -# Directory path prefix (string) -#scene-path= - -# Always write to the same file (boolean) -#scene-replace=0 - -# Recording ratio (integer) -#scene-ratio=50 - -[rotate] # Rotate video filter - -# Angle in degrees (float) -#rotate-angle=30.000000 - -# Use motion sensors (boolean) -#rotate-use-motion=0 - -[puzzle] # Puzzle interactive game video filter - -# Number of puzzle rows (integer) -#puzzle-rows=4 - -# Number of puzzle columns (integer) -#puzzle-cols=4 - -# Border (integer) -#puzzle-border=3 - -# Small preview (boolean) -#puzzle-preview=0 - -# Small preview size (integer) -#puzzle-preview-size=15 - -# Piece edge shape size (integer) -#puzzle-shape-size=90 - -# Auto shuffle (integer) -#puzzle-auto-shuffle=0 - -# Auto solve (integer) -#puzzle-auto-solve=0 - -# Rotation (integer) -#puzzle-rotation=0 - -# Game mode (integer) -#puzzle-mode=0 - -[postproc] # Video post processing filter - -# Post processing quality (integer) -#postproc-q=6 - -# FFmpeg post processing filter chains (string) -#postproc-name=default - -[posterize] # Posterize video filter - -# Posterize level (integer) -#posterize-level=6 - -[motionblur] # Motion blur filter - -# Blur factor (1-127) (integer) -#blur-factor=80 - -[mirror] # Mirror video filter - -# Mirror orientation (integer) -#mirror-split=0 - -# Direction (integer) -#mirror-direction=0 - -[hqdn3d] # High Quality 3D Denoiser filter - -# Spatial luma strength (0-254) (float) -#hqdn3d-luma-spat=4.000000 - -# Spatial chroma strength (0-254) (float) -#hqdn3d-chroma-spat=3.000000 - -# Temporal luma strength (0-254) (float) -#hqdn3d-luma-temp=6.000000 - -# Temporal chroma strength (0-254) (float) -#hqdn3d-chroma-temp=4.500000 - -[grain] # Grain video filter - -# Variance (float) -#grain-variance=2.000000 - -# Minimal period (integer) -#grain-period-min=1 - -# Maximal period (integer) -#grain-period-max=48 - -[gradient] # Gradient video filter - -# Distort mode (string) -#gradient-mode=gradient - -# Gradient image type (integer) -#gradient-type=0 - -# Apply cartoon effect (boolean) -#gradient-cartoon=1 - -[gradfun] # Gradfun video filter - -# Radius (integer) -#gradfun-radius=16 - -# Strength (float) -#gradfun-strength=1.200000 - -[gaussianblur] # Gaussian blur video filter - -# Gaussian's std deviation (float) -#gaussianblur-sigma=2.000000 - -[fps] # FPS conversion video filter - -# Frame rate (string) -#fps-fps= - -[extract] # Extract RGB component video filter - -# RGB component to extract (integer) -#extract-component=16711680 - -[erase] # Erase video filter - -# Image mask (string) -#erase-mask= - -# X coordinate (integer) -#erase-x=0 - -# Y coordinate (integer) -#erase-y=0 - -[deinterlace] # Deinterlacing video filter - -# Streaming deinterlace mode (string) -#sout-deinterlace-mode=blend - -# Phosphor chroma mode for 4:2:0 input (integer) -#sout-deinterlace-phosphor-chroma=2 - -# Phosphor old field dimmer strength (integer) -#sout-deinterlace-phosphor-dimmer=2 - -[croppadd] # Video cropping filter - -# Pixels to crop from top (integer) -#croppadd-croptop=0 - -# Pixels to crop from bottom (integer) -#croppadd-cropbottom=0 - -# Pixels to crop from left (integer) -#croppadd-cropleft=0 - -# Pixels to crop from right (integer) -#croppadd-cropright=0 - -# Pixels to padd to top (integer) -#croppadd-paddtop=0 - -# Pixels to padd to bottom (integer) -#croppadd-paddbottom=0 - -# Pixels to padd to left (integer) -#croppadd-paddleft=0 - -# Pixels to padd to right (integer) -#croppadd-paddright=0 - -[colorthres] # Color threshold filter - -# Color (integer) -#colorthres-color=16711680 - -# Saturation threshold (integer) -#colorthres-saturationthres=20 - -# Similarity threshold (integer) -#colorthres-similaritythres=15 - -[canvas] # Canvas video filter - -# Output width (integer) -#canvas-width=0 - -# Output height (integer) -#canvas-height=0 - -# Output picture aspect ratio (string) -#canvas-aspect= - -# Pad video (boolean) -#canvas-padd=1 - -[bluescreen] # Bluescreen video filter - -# Bluescreen U value (integer) -#bluescreen-u=120 - -# Bluescreen V value (integer) -#bluescreen-v=90 - -# Bluescreen U tolerance (integer) -#bluescreen-ut=17 - -# Bluescreen V tolerance (integer) -#bluescreen-vt=17 - -[blendbench] # Blending benchmark filter - -# Number of time to blend (integer) -#blendbench-loops=1000 - -# Alpha of the blended image (integer) -#blendbench-alpha=128 - -# Image to be blended onto (string) -#blendbench-base-image= - -# Chroma for the base image (string) -#blendbench-base-chroma=I420 - -# Image which will be blended (string) -#blendbench-blend-image= - -# Chroma for the blend image (string) -#blendbench-blend-chroma=YUVA - -[ball] # Ball video filter - -# Ball color (string) -#ball-color=red - -# Ball speed (integer) -#ball-speed=4 - -# Ball size (integer) -#ball-size=10 - -# Gradient threshold (integer) -#ball-gradient-threshold=40 - -# Edge visible (boolean) -#ball-edge-visible=1 - -[antiflicker] # antiflicker video filter - -# Window size (integer) -#antiflicker-window-size=10 - -# Softening value (integer) -#antiflicker-softening-size=10 - -[anaglyph] # Convert 3D picture to anaglyph image video filter - -# Color scheme (string) -#anaglyph-scheme=red-cyan - -[alphamask] # Alpha mask video filter - -# Transparency mask (string) -#alphamask-mask= - -[adjust] # Image properties filter - -# Image contrast (0-2) (float) -#contrast=1.000000 - -# Image brightness (0-2) (float) -#brightness=1.000000 - -# Image hue (-180..180) (float) -#hue=0.000000 - -# Image saturation (0-3) (float) -#saturation=1.000000 - -# Image gamma (0-10) (float) -#gamma=1.000000 - -# Brightness threshold (boolean) -#brightness-threshold=0 - -[swscale] # Video scaling filter - -# Scaling mode (integer) -#swscale-mode=2 - -[vdpau_chroma] # VDPAU surface conversions - -# Deinterlace (integer) -#vdpau-deinterlace=1 - -# Inverse telecine (boolean) -#vdpau-ivtc=0 - -# Deinterlace chroma skip (boolean) -#vdpau-chroma-skip=0 - -# Noise reduction level (float) -#vdpau-noise-reduction=0.000000 - -# Scaling quality (integer) -#vdpau-scaling=0 - -[vaapi_filters] # Video Accelerated API filters - -# Denoise strength (0-2) (float) -#denoise-sigma=1.000000 - -[svg] # svg - -# SVG template file (string) -#svg-template-file= - -[freetype] # Freetype2 font renderer - -# Font (string) -#freetype-font=Serif Bold - -# Monospace Font (string) -#freetype-monofont=Monospace - -# Font size in pixels (integer) -#freetype-fontsize=0 - -# Relative font size (integer) -#freetype-rel-fontsize=0 - -# Text opacity (integer) -#freetype-opacity=255 - -# Text default color (integer) -#freetype-color=16777215 - -# Force bold (boolean) -#freetype-bold=0 - -# Background opacity (integer) -#freetype-background-opacity=0 - -# Background color (integer) -#freetype-background-color=0 - -# Outline opacity (integer) -#freetype-outline-opacity=255 - -# Outline color (integer) -#freetype-outline-color=0 - -# Outline thickness (integer) -#freetype-outline-thickness=4 - -# Shadow opacity (integer) -#freetype-shadow-opacity=128 - -# Shadow color (integer) -#freetype-shadow-color=0 - -# Shadow angle (float) -#freetype-shadow-angle=-45.000000 - -# Shadow distance (float) -#freetype-shadow-distance=0.060000 - -# Use YUVP renderer (boolean) -#freetype-yuvp=0 - -# Text direction (integer) -#freetype-text-direction=0 - -[stream_out_transcode] # Transcode stream output - -# Video encoder (string) -#sout-transcode-venc= - -# Destination video codec (string) -#sout-transcode-vcodec= - -# Video bitrate (integer) -#sout-transcode-vb=0 - -# Video scaling (float) -#sout-transcode-scale=0.000000 - -# Video frame-rate (string) -#sout-transcode-fps= - -# Deinterlace video (boolean) -#sout-transcode-deinterlace=0 - -# Deinterlace module (string) -#sout-transcode-deinterlace-module=deinterlace - -# Video width (integer) -#sout-transcode-width=0 - -# Video height (integer) -#sout-transcode-height=0 - -# Maximum video width (integer) -#sout-transcode-maxwidth=0 - -# Maximum video height (integer) -#sout-transcode-maxheight=0 - -# Video filter (string) -#sout-transcode-vfilter= - -# Audio encoder (string) -#sout-transcode-aenc= - -# Destination audio codec (string) -#sout-transcode-acodec= - -# Audio bitrate (integer) -#sout-transcode-ab=96 - -# Audio language (string) -#sout-transcode-alang= - -# Audio channels (integer) -#sout-transcode-channels=0 - -# Audio sample rate (integer) -#sout-transcode-samplerate=0 - -# Audio filter (string) -#sout-transcode-afilter= - -# Subtitle encoder (string) -#sout-transcode-senc= - -# Destination subtitle codec (string) -#sout-transcode-scodec= - -# Destination subtitle codec (boolean) -#sout-transcode-soverlay=0 - -# Overlays (string) -#sout-transcode-sfilter= - -# Number of threads (integer) -#sout-transcode-threads=0 - -# Picture pool size (integer) -#sout-transcode-pool-size=10 - -# High priority (boolean) -#sout-transcode-high-priority=0 - -[stats] # Writes statistic info about stream - -# Output file (string) -#sout-stats-output= - -# Prefix to show on output line (string) -#sout-stats-prefix=stats - -[stream_out_standard] # Standard stream output - -# Output access method (string) -#sout-standard-access= - -# Output muxer (string) -#sout-standard-mux= - -# Output destination (string) -#sout-standard-dst= - -# Address to bind to (helper setting for dst) (string) -#sout-standard-bind= - -# Filename for stream (helper setting for dst) (string) -#sout-standard-path= - -# SAP announcing (boolean) -#sout-standard-sap=0 - -# Session name (string) -#sout-standard-name= - -# Session description (string) -#sout-standard-description= - -# Session URL (string) -#sout-standard-url= - -# Session email (string) -#sout-standard-email= - -[smem] # Stream output to memory buffer - -# Time Synchronized output (boolean) -#sout-smem-time-sync=1 - -[setid] # Change the id of an elementary stream - -# Elementary Stream ID (integer) -#sout-setid-id=0 - -# New ES ID (integer) -#sout-setid-new-id=0 - -# Elementary Stream ID (integer) -#sout-setlang-id=0 - -# Language (string) -#sout-setlang-lang=eng - -[stream_out_rtp] # RTP stream output - -# Destination (string) -#sout-rtp-dst= - -# SDP (string) -#sout-rtp-sdp= - -# Muxer (string) -#sout-rtp-mux= - -# SAP announcing (boolean) -#sout-rtp-sap=0 - -# Session name (string) -#sout-rtp-name= - -# Session category (string) -#sout-rtp-cat= - -# Session description (string) -#sout-rtp-description= - -# Session URL (string) -#sout-rtp-url= - -# Session email (string) -#sout-rtp-email= - -# Transport protocol (string) -#sout-rtp-proto=udp - -# Port (integer) -#sout-rtp-port=5004 - -# Audio port (integer) -#sout-rtp-port-audio=0 - -# Video port (integer) -#sout-rtp-port-video=0 - -# Hop limit (TTL) (integer) -#sout-rtp-ttl=-1 - -# RTP/RTCP multiplexing (boolean) -#sout-rtp-rtcp-mux=0 - -# Caching value (ms) (integer) -#sout-rtp-caching=300 - -# MP4A LATM (boolean) -#sout-rtp-mp4a-latm=0 - -# RTSP session timeout (s) (integer) -#rtsp-timeout=60 - -# Username (string) -#sout-rtsp-user= - -# Password (string) -#sout-rtsp-pwd= - -[record] # Record stream output - -# Destination prefix (string) -#sout-record-dst-prefix= - -[mosaic_bridge] # Mosaic bridge stream output - -# ID (string) -#sout-mosaic-bridge-id=Id - -# Video width (integer) -#sout-mosaic-bridge-width=0 - -# Video height (integer) -#sout-mosaic-bridge-height=0 - -# Sample aspect ratio (string) -#sout-mosaic-bridge-sar=1:1 - -# Image chroma (string) -#sout-mosaic-bridge-chroma= - -# Video filter (string) -#sout-mosaic-bridge-vfilter= - -# Transparency (integer) -#sout-mosaic-bridge-alpha=255 - -# X offset (integer) -#sout-mosaic-bridge-x=-1 - -# Y offset (integer) -#sout-mosaic-bridge-y=-1 - -[es] # Elementary stream output - -# Output access method (string) -#sout-es-access= - -# Output muxer (string) -#sout-es-mux= - -# Output URL (string) -#sout-es-dst= - -# Audio output access method (string) -#sout-es-access-audio= - -# Audio output muxer (string) -#sout-es-mux-audio= - -# Audio output URL (string) -#sout-es-dst-audio= - -# Video output access method (string) -#sout-es-access-video= - -# Video output muxer (string) -#sout-es-mux-video= - -# Video output URL (string) -#sout-es-dst-video= - -[display] # Display stream output - -# Enable audio (boolean) -#sout-display-audio=1 - -# Enable video (boolean) -#sout-display-video=1 - -# Delay (ms) (integer) -#sout-display-delay=100 - -[delay] # Delay a stream - -# Elementary Stream ID (integer) -#sout-delay-id=0 - -# Delay of the ES (ms) (integer) -#sout-delay-delay=0 - -[stream_out_chromecast] # Chromecast stream output - -# ? (string) -#sout-chromecast-ip= - -# ? (integer) -#sout-chromecast-port=8009 - -# ? (boolean) -#sout-chromecast-video=1 - -# HTTP port (integer) -#sout-chromecast-http-port=8010 - -# Performance warning (integer) -#sout-chromecast-show-perf-warning=1 - -# Enable Audio passthrough (boolean) -#sout-chromecast-audio-passthrough=0 - -# Conversion quality (integer) -#sout-chromecast-conversion-quality=1 - -[bridge] # Bridge stream output - -# ID (integer) -#sout-bridge-out-id=0 - -# Destination bridge-in name (string) -#sout-bridge-out-in-name=default - -# Delay (integer) -#sout-bridge-in-delay=0 - -# ID Offset (integer) -#sout-bridge-in-id-offset=8192 - -# Name of current instance (string) -#sout-bridge-in-name=default - -# Fallback to placeholder stream when out of data (boolean) -#sout-bridge-in-placeholder=0 - -# Placeholder delay (integer) -#sout-bridge-in-placeholder-delay=200 - -# Wait for I frame before toggling placeholder (boolean) -#sout-bridge-in-placeholder-switch-on-iframe=1 - -[prefetch] # Stream prefetch filter - -# Buffer size (integer) -#prefetch-buffer-size=16384 - -# Read size (integer) -#prefetch-read-size=16777216 - -# Seek threshold (integer) -#prefetch-seek-threshold=16384 - -[subsdelay] # Subtitle delay - -# Delay calculation mode (integer) -#subsdelay-mode=1 - -# Calculation factor (float) -#subsdelay-factor=2.000000 - -# Maximum overlapping subtitles (integer) -#subsdelay-overlap=3 - -# Minimum alpha value (integer) -#subsdelay-min-alpha=70 - -# Interval between two disappearances (integer) -#subsdelay-min-stops=1000 - -# Interval between appearance and disappearance (integer) -#subsdelay-min-start-stop=1000 - -# Interval between disappearance and appearance (integer) -#subsdelay-min-stop-start=1000 - -[rss] # RSS and Atom feed display - -# Feed URLs (string) -#rss-urls= - -# X offset (integer) -#rss-x=0 - -# Y offset (integer) -#rss-y=0 - -# Text position (integer) -#rss-position=-1 - -# Opacity (integer) -#rss-opacity=255 - -# Color (integer) -#rss-color=16777215 - -# Font size, pixels (integer) -#rss-size=0 - -# Speed of feeds (integer) -#rss-speed=100000 - -# Max length (integer) -#rss-length=60 - -# Refresh time (integer) -#rss-ttl=1800 - -# Feed images (boolean) -#rss-images=1 - -# Title display mode (integer) -#rss-title=-1 - -[mosaic] # Mosaic video sub source - -# Transparency (integer) -#mosaic-alpha=255 - -# Height (integer) -#mosaic-height=100 - -# Width (integer) -#mosaic-width=100 - -# Mosaic alignment (integer) -#mosaic-align=5 - -# Top left corner X coordinate (integer) -#mosaic-xoffset=0 - -# Top left corner Y coordinate (integer) -#mosaic-yoffset=0 - -# Border width (integer) -#mosaic-borderw=0 - -# Border height (integer) -#mosaic-borderh=0 - -# Positioning method (integer) -#mosaic-position=0 - -# Number of rows (integer) -#mosaic-rows=2 - -# Number of columns (integer) -#mosaic-cols=2 - -# Keep aspect ratio (boolean) -#mosaic-keep-aspect-ratio=0 - -# Keep original size (boolean) -#mosaic-keep-picture=0 - -# Elements order (string) -#mosaic-order= - -# Offsets in order (string) -#mosaic-offsets= - -# Delay (integer) -#mosaic-delay=0 - -[marq] # Marquee display - -# Text (string) -#marq-marquee=VLC - -# Text file (string) -#marq-file= - -# X offset (integer) -#marq-x=0 - -# Y offset (integer) -#marq-y=0 - -# Marquee position (integer) -#marq-position=-1 - -# Opacity (integer) -#marq-opacity=255 - -# Color (integer) -#marq-color=16777215 - -# Font size, pixels (integer) -#marq-size=0 - -# Timeout (integer) -#marq-timeout=0 - -# Refresh period in ms (integer) -#marq-refresh=1000 - -[logo] # Logo sub source - -# Logo filenames (string) -#logo-file= - -# X coordinate (integer) -#logo-x=-1 - -# Y coordinate (integer) -#logo-y=-1 - -# Logo individual image time in ms (integer) -#logo-delay=1000 - -# Logo animation # of loops (integer) -#logo-repeat=-1 - -# Opacity of the logo (integer) -#logo-opacity=255 - -# Logo position (integer) -#logo-position=-1 - -[dynamicoverlay] # Dynamic video overlay - -# Input FIFO (string) -#overlay-input= - -# Output FIFO (string) -#overlay-output= - -[audiobargraph_v] # Audio Bar Graph Video sub source - -# X coordinate (integer) -#audiobargraph_v-x=0 - -# Y coordinate (integer) -#audiobargraph_v-y=0 - -# Transparency of the bargraph (integer) -#audiobargraph_v-transparency=255 - -# Bargraph position (integer) -#audiobargraph_v-position=-1 - -# Bar width in pixel (integer) -#audiobargraph_v-barWidth=10 - -# Bar Height in pixel (integer) -#audiobargraph_v-barHeight=400 - -[upnp] # Universal Plug'n'Play - -# SAT>IP channel list (string) -#satip-channelist=auto - -# Custom SAT>IP channel list URL (string) -#satip-channellist-url= - -[sap] # Network streams (SAP) - -# SAP multicast address (string) -#sap-addr= - -# SAP timeout (seconds) (integer) -#sap-timeout=1800 - -# Try to parse the announce (boolean) -#sap-parse=1 - -# SAP Strict mode (boolean) -#sap-strict=0 - -[podcast] # Podcasts - -# Podcast URLs list (string) -#podcast-urls= - -[mpegvideo] # MPEG-I/II video packetizer - -# Sync on Intra Frame (boolean) -#packetizer-mpegvideo-sync-iframe=0 - -[notify] # LibNotify Notification Plugin - -# Timeout (ms) (integer) -#notify-timeout=4000 - -[mux_ts] # TS muxer (libdvbpsi) - -# Digital TV Standard (string) -#sout-ts-standard=dvb - -# Video PID (integer) -#sout-ts-pid-video=100 - -# Audio PID (integer) -#sout-ts-pid-audio=200 - -# SPU PID (integer) -#sout-ts-pid-spu=300 - -# PMT PID (integer) -#sout-ts-pid-pmt=32 - -# TS ID (integer) -#sout-ts-tsid=0 - -# NET ID (integer) -#sout-ts-netid=0 - -# PMT Program numbers (string) -#sout-ts-program-pmt= - -# Set PID to ID of ES (boolean) -#sout-ts-es-id-pid=0 - -# Mux PMT (requires --sout-ts-es-id-pid) (string) -#sout-ts-muxpmt= - -# SDT Descriptors (requires --sout-ts-es-id-pid) (string) -#sout-ts-sdtdesc= - -# Data alignment (boolean) -#sout-ts-alignment=1 - -# Shaping delay (ms) (integer) -#sout-ts-shaping=200 - -# Use keyframes (boolean) -#sout-ts-use-key-frames=0 - -# PCR interval (ms) (integer) -#sout-ts-pcr=70 - -# Minimum B (deprecated) (integer) -#sout-ts-bmin=0 - -# Maximum B (deprecated) (integer) -#sout-ts-bmax=0 - -# DTS delay (ms) (integer) -#sout-ts-dts-delay=400 - -# Crypt audio (boolean) -#sout-ts-crypt-audio=1 - -# Crypt video (boolean) -#sout-ts-crypt-video=1 - -# CSA Key (string) -#sout-ts-csa-ck= - -# Second CSA Key (string) -#sout-ts-csa2-ck= - -# CSA Key in use (string) -#sout-ts-csa-use=1 - -# Packet size in bytes to encrypt (integer) -#sout-ts-csa-pkt=188 - -[ps] # PS muxer - -# DTS delay (ms) (integer) -#sout-ps-dts-delay=200 - -# PES maximum size (integer) -#sout-ps-pes-max-size=65500 - -[mux_ogg] # Ogg/OGM muxer - -# Index interval (integer) -#sout-ogg-indexintvl=1000 - -# Index size ratio (float) -#sout-ogg-indexratio=1.000000 - -[mp4] # MP4/MOV muxer - -# Create "Fast Start" files (boolean) -#sout-mp4-faststart=1 - -[avi] # AVI muxer - -# Artist (string) -#sout-avi-artist= - -# Date (string) -#sout-avi-date= - -# Genre (string) -#sout-avi-genre= - -# Copyright (string) -#sout-avi-copyright= - -# Comment (string) -#sout-avi-comment= - -# Name (string) -#sout-avi-name= - -# Subject (string) -#sout-avi-subject= - -# Encoder (string) -#sout-avi-encoder=VLC Media Player - 3.0.18 Vetinari - -# Keywords (string) -#sout-avi-keywords= - -[asf] # ASF muxer - -# Title (string) -#sout-asf-title= - -# Author (string) -#sout-asf-author= - -# Copyright (string) -#sout-asf-copyright= - -# Comment (string) -#sout-asf-comment= - -# Rating (string) -#sout-asf-rating= - -# Packet Size (integer) -#sout-asf-packet-size=4096 - -# Bitrate override (integer) -#sout-asf-bitrate-override=0 - -[rtsp] # Legacy RTSP VoD server - -# MUX for RAW RTSP transport (string) -#rtsp-raw-mux=ts - -# Maximum number of connections (integer) -#rtsp-throttle-users=0 - -# Sets the timeout option in the RTSP session string (integer) -#rtsp-session-timeout=5 - -[logger] # File logging - -[gnutls] # GNU TLS transport layer security - -# Use system trust database (boolean) -#gnutls-system-trust=1 - -# Trust directory (string) -#gnutls-dir-trust= - -# TLS cipher priorities (string) -#gnutls-priorities=NORMAL - -[audioscrobbler] # Submission of played songs to last.fm - -# Username (string) -#lastfm-username= - -# Password (string) -#lastfm-password= - -# Scrobbler URL (string) -#scrobbler-url=post.audioscrobbler.com - -[folder] # Folder meta data - -# Album art filename (string) -#album-art-filename= - -[lua] # Lua interpreter - -# Lua interface (string) -#lua-intf=dummy - -# Lua interface configuration (string) -#lua-config= - -# Password (string) -#http-password= - -# Source directory (string) -#http-src= - -# Directory index (boolean) -#http-index=0 - -# TCP command input (string) -#rc-host= - -# CLI input (string) -#cli-host= - -# Host (string) -#telnet-host=localhost - -# Port (integer) -#telnet-port=4212 - -# Password (string) -#telnet-password= - -[syslog] # System logger (syslog) - -# System log (syslog) (boolean) -#syslog=0 - -# Debug messages (boolean) -#syslog-debug=0 - -# Identity (string) -#syslog-ident=vlc - -# Facility (string) -#syslog-facility=user - -[file] # File logger - -# Log to file (boolean) -#file-logging=0 - -# Log filename (string) -#logfile= - -# Log format (string) -#logmode=text - -# Verbosity (integer) -#log-verbose=-1 - -[console] # Console logger - -[file] # Secrets are stored on a file without any encryption - -# ? (string) -#keystore-file= - -[skins2] # Skinnable Interface - -# Skin to use (string) -#skins2-last= - -# Config of last used skin (string) -#skins2-config= - -# Enable transparency effects (boolean) -#skins2-transparency=0 - -# Use a skinned playlist (boolean) -#skinned-playlist=1 - -# Display video in a skinned window if any (boolean) -#skinned-video=1 - -[qt] # Qt interface - -# Start in minimal view (without menus) (boolean) -#qt-minimal-view=0 - -# Systray icon (boolean) -#qt-system-tray=1 - -# Show notification popup on track change (integer) -#qt-notification=1 - -# Start VLC with only a systray icon (boolean) -#qt-start-minimized=0 - -# Pause the video playback when minimized (boolean) -#qt-pause-minimized=0 - -# Windows opacity between 0.1 and 1 (float) -#qt-opacity=1.000000 - -# Fullscreen controller opacity between 0.1 and 1 (float) -#qt-fs-opacity=0.800000 - -# Resize interface to the native video size (boolean) -#qt-video-autoresize=1 - -# Show playing item name in window title (boolean) -#qt-name-in-title=1 - -# Show a controller in fullscreen mode (boolean) -#qt-fs-controller=1 - -# Save the recently played items in the menu (boolean) -#qt-recentplay=1 - -# List of words separated by | to filter (string) -#qt-recentplay-filter= - -# Continue playback? (integer) -#qt-continue=1 - -# Embed the file browser in open dialog (boolean) -#qt-embedded-open=0 - -# Show advanced preferences over simple ones (boolean) -#qt-advanced-pref=0 - -# Show unimportant error and warnings dialogs (boolean) -#qt-error-dialogs=1 - -# Define the colors of the volume slider (string) -#qt-slider-colours=153;210;153;20;210;20;255;199;15;245;39;29 - -# Ask for network policy at start (boolean) -qt-privacy-ask=0 - -# Define which screen fullscreen goes (integer) -#qt-fullscreen-screennumber=-1 - -# Load extensions on startup (boolean) -#qt-autoload-extensions=1 - -# Display background cone or art (boolean) -#qt-bgcone=1 - -# Expanding background cone or art (boolean) -#qt-bgcone-expands=0 - -# Allow automatic icon changes (boolean) -#qt-icon-change=1 - -# Maximum Volume displayed (integer) -#qt-max-volume=125 - -# Fullscreen controller mouse sensitivity (integer) -#qt-fs-sensitivity=3 - -# When to raise the interface (integer) -#qt-auto-raise=1 - -[ncurses] # Ncurses interface - -# Filebrowser starting point (string) -#browse-dir= - -[vc1] # VC1 video demuxer - -# Frames per Second (float) -#vc1-fps=25.000000 - -[ts] # MPEG Transport Stream demuxer - -# Digital TV Standard (string) -#ts-standard=auto - -# Extra PMT (string) -#ts-extra-pmt= - -# Trust in-stream PCR (boolean) -#ts-trust-pcr=1 - -# Set id of ES to PID (boolean) -#ts-es-id-pid=1 - -# CSA Key (string) -#ts-csa-ck= - -# Second CSA Key (string) -#ts-csa2-ck= - -# Packet size in bytes to decrypt (integer) -#ts-csa-pkt=188 - -# Separate sub-streams (boolean) -#ts-split-es=1 - -# Seek based on percent not time (boolean) -#ts-seek-percent=0 - -# Check packets continuity counter (boolean) -#ts-cc-check=1 - -# Only create ES on program sending data (boolean) -#ts-pmtfix-waitdata=1 - -# Try to generate PAT/PMT if missing (boolean) -#ts-patfix=1 - -# Try to fix too early PCR (or late DTS) (boolean) -#ts-pcr-offsetfix=1 - -[subtitle] # Text subtitle parser - -# Frames per Second (float) -#sub-fps=0.000000 - -# Subtitle delay (integer) -#sub-delay=0 - -# Subtitle format (string) -#sub-type=auto - -# Subtitle description (string) -#sub-description= - -[rawvid] # Raw video demuxer - -# Frames per Second (string) -#rawvid-fps= - -# Width (integer) -#rawvid-width=0 - -# Height (integer) -#rawvid-height=0 - -# Force chroma (Use carefully) (string) -#rawvid-chroma= - -# Aspect ratio (string) -#rawvid-aspect-ratio= - -[rawdv] # DV (Digital Video) demuxer - -# Hurry up (boolean) -#rawdv-hurry-up=0 - -[rawaud] # Raw audio demuxer - -# Audio channels (integer) -#rawaud-channels=2 - -# Audio samplerate (Hz) (integer) -#rawaud-samplerate=48000 - -# FOURCC code of raw input format (string) -#rawaud-fourcc=s16l - -# Forces the audio language (string) -#rawaud-lang=eng - -[ps] # MPEG-PS demuxer - -# Trust MPEG timestamps (boolean) -#ps-trust-timestamps=1 - -[playlist] # Playlist - -# Skip ads (boolean) -#playlist-skip-ads=1 - -# Show shoutcast adult content (boolean) -#shoutcast-show-adult=0 - -[mp4] # MP4 stream demuxer - -# M4A audio only (boolean) -#mp4-m4a-audioonly=0 - -[mod] # MOD demuxer (libmodplug) - -# Noise reduction (boolean) -#mod-noisereduction=1 - -# Reverb (boolean) -#mod-reverb=0 - -# Reverberation level (integer) -#mod-reverb-level=0 - -# Reverberation delay (integer) -#mod-reverb-delay=40 - -# Mega bass (boolean) -#mod-megabass=0 - -# Mega bass level (integer) -#mod-megabass-level=0 - -# Mega bass cutoff (integer) -#mod-megabass-range=10 - -# Surround (boolean) -#mod-surround=0 - -# Surround level (integer) -#mod-surround-level=0 - -# Surround delay (ms) (integer) -#mod-surround-delay=5 - -[mkv] # Matroska stream demuxer - -# Respect ordered chapters (boolean) -#mkv-use-ordered-chapters=1 - -# Chapter codecs (boolean) -#mkv-use-chapter-codec=1 - -# Preload MKV files in the same directory (boolean) -#mkv-preload-local-dir=1 - -# Seek based on percent not time (boolean) -#mkv-seek-percent=0 - -# Dummy Elements (boolean) -#mkv-use-dummy=0 - -# Preload clusters (boolean) -#mkv-preload-clusters=0 - -[mjpeg] # M-JPEG camera demuxer - -# Frames per Second (float) -#mjpeg-fps=0.000000 - -[image] # Image demuxer - -# ES ID (integer) -#image-id=-1 - -# Group (integer) -#image-group=0 - -# Decode (boolean) -#image-decode=1 - -# Forced chroma (string) -#image-chroma= - -# Duration in seconds (float) -#image-duration=10.000000 - -# Frame rate (string) -#image-fps=10/1 - -# Real-time (boolean) -#image-realtime=0 - -[h26x] # H264 video demuxer - -# Frames per Second (float) -#h264-fps=0.000000 - -# Frames per Second (float) -#hevc-fps=0.000000 - -[es] # MPEG-I/II/4 / A52 / DTS / MLP audio - -# Frames per Second (float) -#es-fps=25.000000 - -[diracsys] # Dirac video demuxer - -# Value to adjust dts by (integer) -#dirac-dts-offset=0 - -[demuxdump] # File dumper - -# Dump module (string) -#demuxdump-access=file - -# Dump filename (string) -#demuxdump-file=stream-demux.dump - -# Append to existing file (boolean) -#demuxdump-append=0 - -[avi] # AVI demuxer - -# Force interleaved method (boolean) -#avi-interleaved=0 - -# Force index creation (integer) -#avi-index=0 - -[avformat] # Avformat demuxer - -# Format name (string) -#avformat-format= - -# Advanced options (string) -#avformat-options= - -# Avformat mux (string) -#sout-avformat-mux= - -# Advanced options (string) -#sout-avformat-options= - -# Reset timestamps (boolean) -#sout-avformat-reset-ts=0 - -[adaptive] # Unified adaptive streaming for DASH/HLS - -# Adaptive Logic (string) -#adaptive-logic= - -# Maximum device width (integer) -#adaptive-maxwidth=0 - -# Maximum device height (integer) -#adaptive-maxheight=0 - -# Fixed Bandwidth in KiB/s (integer) -#adaptive-bw=250 - -# Use regular HTTP modules (boolean) -#adaptive-use-access=0 - -# Live Playback delay (ms) (integer) -#adaptive-livedelay=15000 - -# Max buffering (ms) (integer) -#adaptive-maxbuffer=30000 - -# Low latency (integer) -#adaptive-lowlatency=-1 - -[oldrc] # Remote control interface - -# Show stream position (boolean) -#rc-show-pos=0 - -# Fake TTY (boolean) -#rc-fake-tty=0 - -# UNIX socket command input (string) -#rc-unix= - -# TCP command input (string) -#rc-host= - -[netsync] # Network synchronization - -# Network master clock (boolean) -#netsync-master=0 - -# Master server IP address (string) -#netsync-master-ip= - -# UDP timeout (in ms) (integer) -#netsync-timeout=500 - -[motion] # motion control interface - -[gestures] # Mouse gestures control interface - -# Motion threshold (10-100) (integer) -#gestures-threshold=30 - -# Trigger button (string) -#gestures-button=left - -[zvbi] # VBI and Teletext decoder - -# Teletext page (integer) -#vbi-page=100 - -# Opacity (boolean) -#vbi-opaque=0 - -# Teletext alignment (integer) -#vbi-position=8 - -# Teletext text subtitles (boolean) -#vbi-text=0 - -# Presentation Level (integer) -#vbi-level=3 - -[x264] # H.264/MPEG-4 Part 10/AVC encoder (x264) - -# Maximum GOP size (integer) -#sout-x264-keyint=250 - -# Minimum GOP size (integer) -#sout-x264-min-keyint=25 - -# Use recovery points to close GOPs (boolean) -#sout-x264-opengop=0 - -# Enable compatibility hacks for Blu-ray support (boolean) -#sout-x264-bluray-compat=0 - -# Extra I-frames aggressivity (integer) -#sout-x264-scenecut=40 - -# B-frames between I and P (integer) -#sout-x264-bframes=3 - -# Adaptive B-frame decision (integer) -#sout-x264-b-adapt=1 - -# Influence (bias) B-frames usage (integer) -#sout-x264-b-bias=0 - -# Keep some B-frames as references (string) -#sout-x264-bpyramid=normal - -# CABAC (boolean) -#sout-x264-cabac=1 - -# Use fullrange instead of TV colorrange (boolean) -#sout-x264-fullrange=0 - -# Number of reference frames (integer) -#sout-x264-ref=3 - -# Skip loop filter (boolean) -#sout-x264-nf=0 - -# Loop filter AlphaC0 and Beta parameters alpha:beta (string) -#sout-x264-deblock=0:0 - -# Strength of psychovisual optimization, default is "1.0:0.0" (string) -#sout-x264-psy-rd=1.0:0.0 - -# Use Psy-optimizations (boolean) -#sout-x264-psy=1 - -# H.264 level (string) -#sout-x264-level=0 - -# H.264 profile (string) -#sout-x264-profile=high - -# Interlaced mode (boolean) -#sout-x264-interlaced=0 - -# Frame packing (integer) -#sout-x264-frame-packing=-1 - -# Force number of slices per frame (integer) -#sout-x264-slices=0 - -# Limit the size of each slice in bytes (integer) -#sout-x264-slice-max-size=0 - -# Limit the size of each slice in macroblocks (integer) -#sout-x264-slice-max-mbs=0 - -# HRD-timing information (string) -#sout-x264-hrd=none - -# Set QP (integer) -#sout-x264-qp=-1 - -# Quality-based VBR (integer) -#sout-x264-crf=23 - -# Min QP (integer) -#sout-x264-qpmin=10 - -# Max QP (integer) -#sout-x264-qpmax=51 - -# Max QP step (integer) -#sout-x264-qpstep=4 - -# Average bitrate tolerance (float) -#sout-x264-ratetol=1.000000 - -# Max local bitrate (integer) -#sout-x264-vbv-maxrate=0 - -# VBV buffer (integer) -#sout-x264-vbv-bufsize=0 - -# Initial VBV buffer occupancy (float) -#sout-x264-vbv-init=0.900000 - -# QP factor between I and P (float) -#sout-x264-ipratio=1.400000 - -# QP factor between P and B (float) -#sout-x264-pbratio=1.300000 - -# QP difference between chroma and luma (integer) -#sout-x264-chroma-qp-offset=0 - -# Multipass ratecontrol (integer) -#sout-x264-pass=0 - -# QP curve compression (float) -#sout-x264-qcomp=0.600000 - -# Reduce fluctuations in QP (float) -#sout-x264-cplxblur=20.000000 - -# Reduce fluctuations in QP (float) -#sout-x264-qblur=0.500000 - -# How AQ distributes bits (integer) -#sout-x264-aq-mode=1 - -# Strength of AQ (float) -#sout-x264-aq-strength=1.000000 - -# Partitions to consider (string) -#sout-x264-partitions=normal - -# Direct MV prediction mode (string) -#sout-x264-direct=spatial - -# Direct prediction size (integer) -#sout-x264-direct-8x8=1 - -# Weighted prediction for B-frames (boolean) -#sout-x264-weightb=1 - -# Weighted prediction for P-frames (integer) -#sout-x264-weightp=2 - -# Integer pixel motion estimation method (string) -#sout-x264-me=hex - -# Maximum motion vector search range (integer) -#sout-x264-merange=16 - -# Maximum motion vector length (integer) -#sout-x264-mvrange=-1 - -# Minimum buffer space between threads (integer) -#sout-x264-mvrange-thread=-1 - -# Subpixel motion estimation and partition decision quality (integer) -#sout-x264-subme=7 - -# Decide references on a per partition basis (boolean) -#sout-x264-mixed-refs=1 - -# Chroma in motion estimation (boolean) -#sout-x264-chroma-me=1 - -# Adaptive spatial transform size (boolean) -#sout-x264-8x8dct=1 - -# Trellis RD quantization (integer) -#sout-x264-trellis=1 - -# Framecount to use on frametype lookahead (integer) -#sout-x264-lookahead=40 - -# Use Periodic Intra Refresh (boolean) -#sout-x264-intra-refresh=0 - -# Use mb-tree ratecontrol (boolean) -#sout-x264-mbtree=1 - -# Early SKIP detection on P-frames (boolean) -#sout-x264-fast-pskip=1 - -# Coefficient thresholding on P-frames (boolean) -#sout-x264-dct-decimate=1 - -# Noise reduction (integer) -#sout-x264-nr=0 - -# Inter luma quantization deadzone (integer) -#sout-x264-deadzone-inter=21 - -# Intra luma quantization deadzone (integer) -#sout-x264-deadzone-intra=11 - -# Non-deterministic optimizations when threaded (boolean) -#sout-x264-non-deterministic=0 - -# CPU optimizations (boolean) -#sout-x264-asm=1 - -# PSNR computation (boolean) -#sout-x264-psnr=0 - -# SSIM computation (boolean) -#sout-x264-ssim=0 - -# Quiet mode (boolean) -#sout-x264-quiet=0 - -# SPS and PPS id numbers (integer) -#sout-x264-sps-id=0 - -# Access unit delimiters (boolean) -#sout-x264-aud=0 - -# Statistics (boolean) -#sout-x264-verbose=0 - -# Filename for 2 pass stats file (string) -#sout-x264-stats=x264_2pass.log - -# Default preset setting used (string) -#sout-x264-preset= - -# Default tune setting used (string) -#sout-x264-tune= - -# x264 advanced options (string) -#sout-x264-options= - -[x26410b] # H.264/MPEG-4 Part 10/AVC encoder (x264 10-bit) - -# Maximum GOP size (integer) -#sout-x26410b-keyint=250 - -# Minimum GOP size (integer) -#sout-x26410b-min-keyint=25 - -# Use recovery points to close GOPs (boolean) -#sout-x26410b-opengop=0 - -# Enable compatibility hacks for Blu-ray support (boolean) -#sout-x26410b-bluray-compat=0 - -# Extra I-frames aggressivity (integer) -#sout-x26410b-scenecut=40 - -# B-frames between I and P (integer) -#sout-x26410b-bframes=3 - -# Adaptive B-frame decision (integer) -#sout-x26410b-b-adapt=1 - -# Influence (bias) B-frames usage (integer) -#sout-x26410b-b-bias=0 - -# Keep some B-frames as references (string) -#sout-x26410b-bpyramid=normal - -# CABAC (boolean) -#sout-x26410b-cabac=1 - -# Use fullrange instead of TV colorrange (boolean) -#sout-x26410b-fullrange=0 - -# Number of reference frames (integer) -#sout-x26410b-ref=3 - -# Skip loop filter (boolean) -#sout-x26410b-nf=0 - -# Loop filter AlphaC0 and Beta parameters alpha:beta (string) -#sout-x26410b-deblock=0:0 - -# Strength of psychovisual optimization, default is "1.0:0.0" (string) -#sout-x26410b-psy-rd=1.0:0.0 - -# Use Psy-optimizations (boolean) -#sout-x26410b-psy=1 - -# H.264 level (string) -#sout-x26410b-level=0 - -# H.264 profile (string) -#sout-x26410b-profile=high - -# Interlaced mode (boolean) -#sout-x26410b-interlaced=0 - -# Frame packing (integer) -#sout-x26410b-frame-packing=-1 - -# Force number of slices per frame (integer) -#sout-x26410b-slices=0 - -# Limit the size of each slice in bytes (integer) -#sout-x26410b-slice-max-size=0 - -# Limit the size of each slice in macroblocks (integer) -#sout-x26410b-slice-max-mbs=0 - -# HRD-timing information (string) -#sout-x26410b-hrd=none - -# Set QP (integer) -#sout-x26410b-qp=-1 - -# Quality-based VBR (integer) -#sout-x26410b-crf=23 - -# Min QP (integer) -#sout-x26410b-qpmin=10 - -# Max QP (integer) -#sout-x26410b-qpmax=51 - -# Max QP step (integer) -#sout-x26410b-qpstep=4 - -# Average bitrate tolerance (float) -#sout-x26410b-ratetol=1.000000 - -# Max local bitrate (integer) -#sout-x26410b-vbv-maxrate=0 - -# VBV buffer (integer) -#sout-x26410b-vbv-bufsize=0 - -# Initial VBV buffer occupancy (float) -#sout-x26410b-vbv-init=0.900000 - -# QP factor between I and P (float) -#sout-x26410b-ipratio=1.400000 - -# QP factor between P and B (float) -#sout-x26410b-pbratio=1.300000 - -# QP difference between chroma and luma (integer) -#sout-x26410b-chroma-qp-offset=0 - -# Multipass ratecontrol (integer) -#sout-x26410b-pass=0 - -# QP curve compression (float) -#sout-x26410b-qcomp=0.600000 - -# Reduce fluctuations in QP (float) -#sout-x26410b-cplxblur=20.000000 - -# Reduce fluctuations in QP (float) -#sout-x26410b-qblur=0.500000 - -# How AQ distributes bits (integer) -#sout-x26410b-aq-mode=1 - -# Strength of AQ (float) -#sout-x26410b-aq-strength=1.000000 - -# Partitions to consider (string) -#sout-x26410b-partitions=normal - -# Direct MV prediction mode (string) -#sout-x26410b-direct=spatial - -# Direct prediction size (integer) -#sout-x26410b-direct-8x8=1 - -# Weighted prediction for B-frames (boolean) -#sout-x26410b-weightb=1 - -# Weighted prediction for P-frames (integer) -#sout-x26410b-weightp=2 - -# Integer pixel motion estimation method (string) -#sout-x26410b-me=hex - -# Maximum motion vector search range (integer) -#sout-x26410b-merange=16 - -# Maximum motion vector length (integer) -#sout-x26410b-mvrange=-1 - -# Minimum buffer space between threads (integer) -#sout-x26410b-mvrange-thread=-1 - -# Subpixel motion estimation and partition decision quality (integer) -#sout-x26410b-subme=7 - -# Decide references on a per partition basis (boolean) -#sout-x26410b-mixed-refs=1 - -# Chroma in motion estimation (boolean) -#sout-x26410b-chroma-me=1 - -# Adaptive spatial transform size (boolean) -#sout-x26410b-8x8dct=1 - -# Trellis RD quantization (integer) -#sout-x26410b-trellis=1 - -# Framecount to use on frametype lookahead (integer) -#sout-x26410b-lookahead=40 - -# Use Periodic Intra Refresh (boolean) -#sout-x26410b-intra-refresh=0 - -# Use mb-tree ratecontrol (boolean) -#sout-x26410b-mbtree=1 - -# Early SKIP detection on P-frames (boolean) -#sout-x26410b-fast-pskip=1 - -# Coefficient thresholding on P-frames (boolean) -#sout-x26410b-dct-decimate=1 - -# Noise reduction (integer) -#sout-x26410b-nr=0 - -# Inter luma quantization deadzone (integer) -#sout-x26410b-deadzone-inter=21 - -# Intra luma quantization deadzone (integer) -#sout-x26410b-deadzone-intra=11 - -# Non-deterministic optimizations when threaded (boolean) -#sout-x26410b-non-deterministic=0 - -# CPU optimizations (boolean) -#sout-x26410b-asm=1 - -# PSNR computation (boolean) -#sout-x26410b-psnr=0 - -# SSIM computation (boolean) -#sout-x26410b-ssim=0 - -# Quiet mode (boolean) -#sout-x26410b-quiet=0 - -# SPS and PPS id numbers (integer) -#sout-x26410b-sps-id=0 - -# Access unit delimiters (boolean) -#sout-x26410b-aud=0 - -# Statistics (boolean) -#sout-x26410b-verbose=0 - -# Filename for 2 pass stats file (string) -#sout-x26410b-stats=x264_2pass.log - -# Default preset setting used (string) -#sout-x26410b-preset= - -# Default tune setting used (string) -#sout-x26410b-tune= - -# x264 advanced options (string) -#sout-x26410b-options= - -[vpx] # WebM video decoder - -# Quality mode (integer) -#sout-vpx-quality-mode=1000000 - -[vorbis] # Vorbis audio decoder - -# Encoding quality (integer) -#sout-vorbis-quality=0 - -# Maximum encoding bitrate (integer) -#sout-vorbis-max-bitrate=0 - -# Minimum encoding bitrate (integer) -#sout-vorbis-min-bitrate=0 - -# CBR encoding (boolean) -#sout-vorbis-cbr=0 - -[twolame] # Libtwolame audio encoder - -# Encoding quality (float) -#sout-twolame-quality=0.000000 - -# Stereo mode (integer) -#sout-twolame-mode=0 - -# VBR mode (boolean) -#sout-twolame-vbr=0 - -# Psycho-acoustic model (integer) -#sout-twolame-psy=3 - -[ttml] # TTML subtitles decoder - -# Subtitle justification (integer) -#ttml-align=0 - -[theora] # Theora video decoder - -# Post processing quality (integer) -#theora-postproc=-1 - -# Encoding quality (integer) -#sout-theora-quality=2 - -[telx] # Teletext subtitles decoder - -# Override page (integer) -#telx-override-page=-1 - -# Ignore subtitle flag (boolean) -#telx-ignore-subtitle-flag=0 - -# Workaround for France (boolean) -#telx-french-workaround=0 - -[svgdec] # SVG video decoder - -# Image width (integer) -#svg-width=-1 - -# Image height (integer) -#svg-height=-1 - -# Scale factor (float) -#svg-scale=-1.000000 - -[svcdsub] # Philips OGT (SVCD subtitle) decoder - -[subsusf] # USF subtitles decoder - -# Formatted Subtitles (boolean) -#subsdec-formatted=1 - -[subsdec] # Text subtitle decoder - -# Subtitle justification (integer) -#subsdec-align=-1 - -# Subtitle text encoding (string) -#subsdec-encoding= - -# UTF-8 subtitle autodetection (boolean) -#subsdec-autodetect-utf8=1 - -[spudec] # DVD subtitles decoder - -# Disable DVD subtitle transparency (boolean) -#dvdsub-transparency=0 - -[speex] # Speex audio decoder - -# Mode (integer) -#sout-speex-mode=0 - -# Encoding complexity (integer) -#sout-speex-complexity=3 - -# CBR encoding (boolean) -#sout-speex-cbr=0 - -# Encoding quality (float) -#sout-speex-quality=8.000000 - -# Maximal bitrate (integer) -#sout-speex-max-bitrate=0 - -# Voice activity detection (boolean) -#sout-speex-vad=1 - -# Discontinuous Transmission (boolean) -#sout-speex-dtx=0 - -[qsv] # Intel QuickSync Video encoder for MPEG4-Part10/MPEG2 (aka H.264/H.262) - -# Enable software mode (boolean) -#sout-qsv-software=0 - -# Codec Profile (string) -#sout-qsv-h264-profile=unspecified - -# Codec Level (string) -#sout-qsv-h264-level=unspecified - -# Codec Profile (string) -#sout-qsv-mpeg2-profile=unspecified - -# Codec Level (string) -#sout-qsv-mpeg2-level=unspecified - -# Group of Picture size (integer) -#sout-qsv-gop-size=32 - -# Group of Picture Reference Distance (integer) -#sout-qsv-gop-refdist=4 - -# IDR interval (integer) -#sout-qsv-idr-interval=0 - -# Target Usage (string) -#sout-qsv-target-usage=quality - -# Rate Control Method (string) -#sout-qsv-rc-method=vbr - -# Quantization parameter (integer) -#sout-qsv-qp=0 - -# Quantization parameter for I-frames (integer) -#sout-qsv-qpi=0 - -# Quantization parameter for P-frames (integer) -#sout-qsv-qpp=0 - -# Quantization parameter for B-frames (integer) -#sout-qsv-qpb=0 - -# Maximum Bitrate (integer) -#sout-qsv-bitrate-max=0 - -# Accuracy of RateControl (integer) -#sout-qsv-accuracy=0 - -# Convergence time of 'avbr' RateControl (integer) -#sout-qsv-convergence=0 - -# Number of slices per frame (integer) -#sout-qsv-num-slice=0 - -# Number of reference frames (integer) -#sout-qsv-num-ref-frame=0 - -# Number of parallel operations (integer) -#sout-qsv-async-depth=4 - -[libass] # Subtitle renderers using libass - -# Additional fonts directory (string) -#ssa-fontsdir= - -[jpeg] # JPEG image decoder - -# Quality level (integer) -#sout-jpeg-quality=95 - -[gstdecode] # GStreamer Based Decoder - -# Use DecodeBin (boolean) -#use-decodebin=1 - -[dvbsub] # DVB subtitles decoder - -# Subpicture position (integer) -#dvbsub-position=8 - -# Decoding X coordinate (integer) -#dvbsub-x=-1 - -# Decoding Y coordinate (integer) -#dvbsub-y=-1 - -# Encoding X coordinate (integer) -#sout-dvbsub-x=-1 - -# Encoding Y coordinate (integer) -#sout-dvbsub-y=-1 - -[ddummy] # Dummy decoder - -# Save raw codec data (boolean) -#dummy-save-es=0 - -[dca] # DTS Coherent Acoustics audio decoder - -# DTS dynamic range compression (boolean) -#dts-dynrng=1 - -[dav1d] # Dav1d video decoder - -# Frames Threads (integer) -#dav1d-thread-frames=0 - -[cc] # Closed Captions decoder - -# Opacity (boolean) -#cc-opaque=1 - -[avcodec] # FFmpeg audio/video decoder - -# Direct rendering (boolean) -#avcodec-dr=1 - -# Show corrupted frames (boolean) -#avcodec-corrupted=1 - -# Error resilience (integer) -#avcodec-error-resilience=1 - -# Workaround bugs (integer) -#avcodec-workaround-bugs=1 - -# Hurry up (boolean) -#avcodec-hurry-up=1 - -# Skip frame (default=0) (integer) -#avcodec-skip-frame=0 - -# Skip idct (default=0) (integer) -#avcodec-skip-idct=0 - -# Allow speed tricks (boolean) -#avcodec-fast=0 - -# Skip the loop filter for H.264 decoding (integer) -#avcodec-skiploopfilter=0 - -# Debug mask (integer) -#avcodec-debug=0 - -# Codec name (string) -#avcodec-codec= - -# Hardware decoding (string) -#avcodec-hw=any - -# Threads (integer) -#avcodec-threads=0 - -# Advanced options (string) -#avcodec-options= - -# Codec name (string) -#sout-avcodec-codec= - -# Quality level (string) -#sout-avcodec-hq=rd - -# Ratio of key frames (integer) -#sout-avcodec-keyint=0 - -# Ratio of B frames (integer) -#sout-avcodec-bframes=0 - -# Hurry up (boolean) -#sout-avcodec-hurry-up=0 - -# Interlaced encoding (boolean) -#sout-avcodec-interlace=0 - -# Interlaced motion estimation (boolean) -#sout-avcodec-interlace-me=1 - -# Video bitrate tolerance (integer) -#sout-avcodec-vt=0 - -# Pre-motion estimation (boolean) -#sout-avcodec-pre-me=0 - -# Rate control buffer size (integer) -#sout-avcodec-rc-buffer-size=0 - -# Rate control buffer aggressiveness (float) -#sout-avcodec-rc-buffer-aggressivity=1.000000 - -# I quantization factor (float) -#sout-avcodec-i-quant-factor=0.000000 - -# Noise reduction (integer) -#sout-avcodec-noise-reduction=0 - -# MPEG4 quantization matrix (boolean) -#sout-avcodec-mpeg4-matrix=0 - -# Minimum video quantizer scale (integer) -#sout-avcodec-qmin=0 - -# Maximum video quantizer scale (integer) -#sout-avcodec-qmax=0 - -# Trellis quantization (boolean) -#sout-avcodec-trellis=0 - -# Fixed quantizer scale (float) -#sout-avcodec-qscale=3.000000 - -# Strict standard compliance (integer) -#sout-avcodec-strict=0 - -# Luminance masking (float) -#sout-avcodec-lumi-masking=0.000000 - -# Darkness masking (float) -#sout-avcodec-dark-masking=0.000000 - -# Motion masking (float) -#sout-avcodec-p-masking=0.000000 - -# Border masking (float) -#sout-avcodec-border-masking=0.000000 - -# Luminance elimination (integer) -#sout-avcodec-luma-elim-threshold=0 - -# Chrominance elimination (integer) -#sout-avcodec-chroma-elim-threshold=0 - -# Specify AAC audio profile to use (string) -#sout-avcodec-aac-profile=low - -# Advanced options (string) -#sout-avcodec-options= - -[aribsub] # ARIB subtitles decoder - -# Ignore ruby (furigana) (boolean) -#aribsub-ignore-ruby=0 - -# Use Core Text renderer (boolean) -#aribsub-use-coretext=0 - -[a52] # ATSC A/52 (AC-3) audio decoder - -# A/52 dynamic range compression (boolean) -#a52-dynrng=1 - -[jack] # JACK audio output - -# Automatically connect to writable clients (boolean) -#jack-auto-connect=1 - -# Connect to clients matching (string) -#jack-connect-regex=system - -# JACK client name (string) -#jack-name= - -# Software gain (float) -#jack-gain=1.000000 - -[amem] # Audio memory output - -# Sample format (string) -#amem-format=S16N - -# Sample rate (integer) -#amem-rate=44100 - -# Channels count (integer) -#amem-channels=2 - -[alsa] # ALSA audio output - -# Audio output device (string) -#alsa-audio-device=default - -# Audio output channels (integer) -#alsa-audio-channels=6 - -# Software gain (float) -#alsa-gain=1.000000 - -[afile] # File audio output - -# Output file (string) -#audiofile-file=audiofile.wav - -# Output format (string) -#audiofile-format=s16 - -# Number of output channels (integer) -#audiofile-channels=0 - -# Add WAVE header (boolean) -#audiofile-wav=1 - -[stereo_widen] # Simple stereo widening effect - -# Delay time (float) -#stereowiden-delay=20.000000 - -# Feedback gain (float) -#stereowiden-feedback=0.300000 - -# Crossfeed (float) -#stereowiden-crossfeed=0.300000 - -# Dry mix (float) -#stereowiden-dry-mix=0.800000 - -[speex_resampler] # Speex resampler - -# Resampling quality (integer) -#speex-resampler-quality=4 - -[spatializer] # Audio Spatializer - -# Room size (float) -#spatializer-roomsize=0.850000 - -# Room width (float) -#spatializer-width=1.000000 - -# Wet (float) -#spatializer-wet=0.400000 - -# Dry (float) -#spatializer-dry=0.500000 - -# Damp (float) -#spatializer-damp=0.500000 - -[soxr] # soxr - -# Resampling quality (integer) -#soxr-resampler-quality=2 - -[scaletempo] # Audio tempo scaler synched with rate - -# Stride Length (integer) -#scaletempo-stride=30 - -# Overlap Length (float) -#scaletempo-overlap=0.200000 - -# Search Length (integer) -#scaletempo-search=14 - -[scaletempo_pitch] # Pitch Shifter - -# Stride Length (integer) -#scaletempo-stride=30 - -# Overlap Length (float) -#scaletempo-overlap=0.200000 - -# Search Length (integer) -#scaletempo-search=14 - -# Pitch Shift (float) -#pitch-shift=0.000000 - -[samplerate] # Secret Rabbit Code (libsamplerate) resampler - -# Sample rate converter type (integer) -#src-converter-type=2 - -[remap] # Audio channel remapper - -# Left (integer) -#aout-remap-channel-left=0 - -# Center (integer) -#aout-remap-channel-center=1 - -# Right (integer) -#aout-remap-channel-right=2 - -# Rear left (integer) -#aout-remap-channel-rearleft=3 - -# Rear center (integer) -#aout-remap-channel-rearcenter=4 - -# Rear right (integer) -#aout-remap-channel-rearright=5 - -# Side left (integer) -#aout-remap-channel-middleleft=6 - -# Side right (integer) -#aout-remap-channel-middleright=7 - -# Low-frequency effects (integer) -#aout-remap-channel-lfe=8 - -# Normalize channels (boolean) -#aout-remap-normalize=1 - -[param_eq] # Parametric Equalizer - -# Low freq (Hz) (float) -#param-eq-lowf=100.000000 - -# Low freq gain (dB) (float) -#param-eq-lowgain=0.000000 - -# High freq (Hz) (float) -#param-eq-highf=10000.000000 - -# High freq gain (dB) (float) -#param-eq-highgain=0.000000 - -# Freq 1 (Hz) (float) -#param-eq-f1=300.000000 - -# Freq 1 gain (dB) (float) -#param-eq-gain1=0.000000 - -# Freq 1 Q (float) -#param-eq-q1=3.000000 - -# Freq 2 (Hz) (float) -#param-eq-f2=1000.000000 - -# Freq 2 gain (dB) (float) -#param-eq-gain2=0.000000 - -# Freq 2 Q (float) -#param-eq-q2=3.000000 - -# Freq 3 (Hz) (float) -#param-eq-f3=3000.000000 - -# Freq 3 gain (dB) (float) -#param-eq-gain3=0.000000 - -# Freq 3 Q (float) -#param-eq-q3=3.000000 - -[normvol] # Volume normalizer - -# Number of audio buffers (integer) -#norm-buff-size=20 - -# Maximal volume level (float) -#norm-max-level=2.000000 - -[mono] # Stereo to mono downmixer - -# Use downmix algorithm (boolean) -#sout-mono-downmix=1 - -# Select channel to keep (integer) -#sout-mono-channel=-1 - -[headphone] # Headphone virtual spatialization effect - -# Characteristic dimension (integer) -#headphone-dim=10 - -# Compensate delay (boolean) -#headphone-compensate=0 - -# No decoding of Dolby Surround (boolean) -#headphone-dolby=0 - -[gain] # Gain control filter - -# Gain multiplier (float) -#gain-value=1.000000 - -[equalizer] # Equalizer with 10 bands - -# Equalizer preset (string) -#equalizer-preset=flat - -# Bands gain (string) -#equalizer-bands= - -# Two pass (boolean) -#equalizer-2pass=0 - -# Use VLC frequency bands (boolean) -#equalizer-vlcfreqs=1 - -# Global gain (float) -#equalizer-preamp=12.000000 - -[compressor] # Dynamic range compressor - -# RMS/peak (float) -#compressor-rms-peak=0.200000 - -# Attack time (float) -#compressor-attack=25.000000 - -# Release time (float) -#compressor-release=100.000000 - -# Threshold level (float) -#compressor-threshold=-11.000000 - -# Ratio (float) -#compressor-ratio=4.000000 - -# Knee radius (float) -#compressor-knee=5.000000 - -# Makeup gain (float) -#compressor-makeup-gain=7.000000 - -[chorus_flanger] # Sound Delay - -# Delay time (float) -#delay-time=20.000000 - -# Sweep Depth (float) -#sweep-depth=6.000000 - -# Sweep Rate (float) -#sweep-rate=6.000000 - -# Feedback gain (float) -#feedback-gain=0.500000 - -# Wet mix (float) -#wet-mix=0.400000 - -# Dry Mix (float) -#dry-mix=0.400000 - -[audiobargraph_a] # Audio part of the BarGraph function - -# Defines if BarGraph information should be sent (integer) -#audiobargraph_a-bargraph=1 - -# Sends the barGraph information every n audio packets (integer) -#audiobargraph_a-bargraph_repetition=4 - -# Defines if silence alarm information should be sent (integer) -#audiobargraph_a-silence=1 - -# Time window to use in ms (integer) -#audiobargraph_a-time_window=5000 - -# Minimum Audio level to raise the alarm (float) -#audiobargraph_a-alarm_threshold=0.020000 - -# Time between two alarm messages in ms (integer) -#audiobargraph_a-repetition_time=2000 - -[udp] # UDP stream output - -# Caching value (ms) (integer) -#sout-udp-caching=300 - -# Group packets (integer) -#sout-udp-group=1 - -[access_output_srt] # SRT stream output - -# Return poll wait after timeout milliseconds (-1 = infinite) (integer) -#poll-timeout=-1 - -# SRT latency (ms) (integer) -#latency=120 - -# Password for stream encryption (string) -#passphrase= - -# SRT maximum payload size (bytes) (integer) -#payload-size=1316 - -# SRT maximum bandwidth ceiling (bytes) (integer) -#bandwidth-overhead-limit=25 - -# Crypto key length in bytes (integer) -#key-length=16 - -# SRT Stream ID (string) -#streamid= - -[access_output_shout] # IceCAST output - -# Stream name (string) -#sout-shout-name=VLC media player - Live stream - -# Stream description (string) -#sout-shout-description=Live stream from VLC media player - -# Stream MP3 (boolean) -#sout-shout-mp3=0 - -# Genre description (string) -#sout-shout-genre=Alternative - -# URL description (string) -#sout-shout-url=http://www.videolan.org/vlc - -# Bitrate (string) -#sout-shout-bitrate= - -# Samplerate (string) -#sout-shout-samplerate= - -# Number of channels (string) -#sout-shout-channels= - -# Ogg Vorbis Quality (string) -#sout-shout-quality= - -# Stream public (boolean) -#sout-shout-public=0 - -[access_output_rist] # RIST stream output - -# RIST target packet size (bytes) (integer) -#sout-rist-packet-size=1328 - -# RIST data output caching size (ms) (integer) -#sout-rist-caching=50 - -# RIST retry-buffer queue size (ms) (integer) -#sout-rist-buffer-size=0 - -# SSRC used in RTP output (default is random, i.e. 0) (integer) -#sout-rist-ssrc=0 - -# Stream name (string) -#sout-rist-stream-name= - -[http] # HTTP stream output - -# Username (string) -#sout-http-user= - -# Password (string) -#sout-http-pwd= - -# Mime (string) -#sout-http-mime= - -# Metacube (boolean) -#sout-http-metacube=0 - -[file] # File stream output - -# Overwrite existing file (boolean) -#sout-file-overwrite=1 - -# Append to file (boolean) -#sout-file-append=0 - -# Format time and date (boolean) -#sout-file-format=0 - -# Synchronous writing (boolean) -#sout-file-sync=0 - -[xcb_screen] # Screen capture (with X11/XCB) - -# Frame rate (float) -#screen-fps=2.000000 - -# Region left column (integer) -#screen-left=0 - -# Region top row (integer) -#screen-top=0 - -# Capture region width (integer) -#screen-width=0 - -# Capture region height (integer) -#screen-height=0 - -# Follow the mouse (boolean) -#screen-follow-mouse=0 - -[vdr] # VDR recordings - -# Chapter offset in ms (integer) -#vdr-chapter-offset=0 - -# Frame rate (float) -#vdr-fps=25.000000 - -[v4l2] # Video4Linux input - -# Video capture device (string) -#v4l2-dev=/dev/video0 - -# VBI capture device (string) -#v4l2-vbidev= - -# Standard (string) -#v4l2-standard= - -# Video input chroma format (string) -#v4l2-chroma= - -# Input (integer) -#v4l2-input=0 - -# Audio input (integer) -#v4l2-audio-input=-1 - -# Width (integer) -#v4l2-width=0 - -# Height (integer) -#v4l2-height=0 - -# Picture aspect-ratio n:m (string) -#v4l2-aspect-ratio=4:3 - -# Frame rate (string) -#v4l2-fps=60 - -# Radio device (string) -#v4l2-radio-dev=/dev/radio0 - -# Frequency (integer) -#v4l2-tuner-frequency=-1 - -# Audio mode (integer) -#v4l2-tuner-audio-mode=3 - -# Reset controls (boolean) -#v4l2-controls-reset=0 - -# Brightness (integer) -#v4l2-brightness=-1 - -# Automatic brightness (integer) -#v4l2-brightness-auto=-1 - -# Contrast (integer) -#v4l2-contrast=-1 - -# Saturation (integer) -#v4l2-saturation=-1 - -# Hue (integer) -#v4l2-hue=-1 - -# Automatic hue (integer) -#v4l2-hue-auto=-1 - -# White balance temperature (K) (integer) -#v4l2-white-balance-temperature=-1 - -# Automatic white balance (integer) -#v4l2-auto-white-balance=-1 - -# Red balance (integer) -#v4l2-red-balance=-1 - -# Blue balance (integer) -#v4l2-blue-balance=-1 - -# Gamma (integer) -#v4l2-gamma=-1 - -# Automatic gain (integer) -#v4l2-autogain=-1 - -# Gain (integer) -#v4l2-gain=-1 - -# Sharpness (integer) -#v4l2-sharpness=-1 - -# Chroma gain (integer) -#v4l2-chroma-gain=-1 - -# Automatic chroma gain (integer) -#v4l2-chroma-gain-auto=-1 - -# Power line frequency (integer) -#v4l2-power-line-frequency=-1 - -# Backlight compensation (integer) -#v4l2-backlight-compensation=-1 - -# Band-stop filter (integer) -#v4l2-band-stop-filter=-1 - -# Horizontal flip (boolean) -#v4l2-hflip=0 - -# Vertical flip (boolean) -#v4l2-vflip=0 - -# Rotate (degrees) (integer) -#v4l2-rotate=-1 - -# Color killer (integer) -#v4l2-color-killer=-1 - -# Color effect (integer) -#v4l2-color-effect=-1 - -# Audio volume (integer) -#v4l2-audio-volume=-1 - -# Audio balance (integer) -#v4l2-audio-balance=-1 - -# Mute (boolean) -#v4l2-audio-mute=0 - -# Bass level (integer) -#v4l2-audio-bass=-1 - -# Treble level (integer) -#v4l2-audio-treble=-1 - -# Loudness mode (boolean) -#v4l2-audio-loudness=0 - -# v4l2 driver controls (string) -#v4l2-set-ctrls= - -[udp] # UDP input - -# UDP Source timeout (sec) (integer) -#udp-timeout=-1 - -[timecode] # Time code subpicture elementary stream generator - -# Frame rate (string) -#timecode-fps=25/1 - -[shm] # Shared memory framebuffer - -# Frame rate (float) -#shm-fps=10.000000 - -# Frame buffer depth (integer) -#shm-depth=0 - -# Frame buffer width (integer) -#shm-width=800 - -# Frame buffer height (integer) -#shm-height=480 - -[sftp] # SFTP input - -# SFTP port (integer) -#sftp-port=22 - -# Username (string) -#sftp-user= - -# Password (string) -#sftp-pwd= - -[satip] # SAT>IP Receiver Plugin - -# Receive buffer (integer) -#satip-buffer=4194304 - -# Request multicast stream (boolean) -#satip-multicast=0 - -# Host (string) -#satip-host= - -[rtp] # Real-Time Protocol (RTP) input - -# RTCP (local) port (integer) -#rtcp-port=0 - -# Maximum RTP sources (integer) -#rtp-max-src=1 - -# RTP source timeout (sec) (integer) -#rtp-timeout=5 - -# Maximum RTP sequence number dropout (integer) -#rtp-max-dropout=3000 - -# Maximum RTP sequence number misordering (integer) -#rtp-max-misorder=100 - -# RTP payload format assumed for dynamic payloads (string) -#rtp-dynamic-pt= - -[rist] # RIST input - -# RIST maximum packet size (bytes) (integer) -#packet-size=1472 - -# RIST demux/decode maximum jitter (default is 5ms) (integer) -#maximum-jitter=5 - -# RIST latency (ms) (integer) -#latency=1000 - -# RIST nack retry interval (ms) (integer) -#retry-interval=132 - -# RIST reorder buffer (ms) (integer) -#reorder-buffer=70 - -# RIST maximum retry count (integer) -#max-retries=10 - -# RIST nack type, 0 = range, 1 = bitmask. Default is range (integer) -#nack-type=0 - -# Disable NACK output packets (boolean) -#disable-nacks=0 - -# Do not check for a valid rtcp message from the encoder (boolean) -#mcast-blind-nacks=0 - -[nfs] # NFS input - -# Set NFS uid/guid automatically (boolean) -#nfs-auto-guid=1 - -[linsys_sdi] # SDI Input - -# Link # (integer) -#linsys-sdi-link=0 - -# Video ID (integer) -#linsys-sdi-id-video=0 - -# Aspect ratio (string) -#linsys-sdi-aspect-ratio= - -# Audio configuration (string) -#linsys-sdi-audio=0=1,1 - -# Teletext configuration (string) -#linsys-sdi-telx= - -# Teletext language (string) -#linsys-sdi-telx-lang= - -[linsys_hdsdi] # HD-SDI Input - -# Link # (integer) -#linsys-hdsdi-link=0 - -# Video ID (integer) -#linsys-hdsdi-id-video=0 - -# Aspect ratio (string) -#linsys-hdsdi-aspect-ratio= - -# Audio configuration (string) -#linsys-hdsdi-audio=0=1,1 - -[libbluray] # Blu-ray Disc support (libbluray) - -# Blu-ray menus (boolean) -#bluray-menu=1 - -# Region code (string) -#bluray-region=B - -[access] # HTTPS input - -# Cookies forwarding (boolean) -#http-forward-cookies=1 - -# User agent (string) -#http-user-agent= - -[http] # HTTP input - -# Auto re-connect (boolean) -#http-reconnect=0 - -[ftp] # FTP input - -# Username (string) -#ftp-user= - -# Password (string) -#ftp-pwd= - -# FTP account (string) -#ftp-account=anonymous - -[filesystem] # File input - -# List special files (boolean) -#list-special-files=0 - -[dvdread] # DVDRead Input (no menu support) - -# DVD angle (integer) -#dvdread-angle=1 - -[dvdnav] # DVDnav Input - -# DVD angle (integer) -#dvdnav-angle=1 - -# Start directly in menu (boolean) -#dvdnav-menu=1 - -[dvb] # DVB input with v4l2 support - -# Probe DVB card for capabilities (boolean) -#dvb-probe=1 - -# Satellite scanning config (string) -#dvb-satellite= - -# Scan tuning list (string) -#dvb-scanlist= - -# Use NIT for scanning services (boolean) -#dvb-scan-nit=1 - -[dtv] # Digital Television and Radio - -# DVB adapter (integer) -#dvb-adapter=0 - -# DVB device (integer) -#dvb-device=0 - -# Do not demultiplex (boolean) -#dvb-budget-mode=0 - -# Frequency (Hz) (integer) -#dvb-frequency=0 - -# Spectrum inversion (integer) -#dvb-inversion=-1 - -# Bandwidth (MHz) (integer) -#dvb-bandwidth=0 - -# Transmission mode (integer) -#dvb-transmission=0 - -# Guard interval (string) -#dvb-guard= - -# High-priority code rate (string) -#dvb-code-rate-hp= - -# Low-priority code rate (string) -#dvb-code-rate-lp= - -# Hierarchy mode (integer) -#dvb-hierarchy=-1 - -# DVB-T2 Physical Layer Pipe (integer) -#dvb-plp-id=0 - -# Layer A modulation (string) -#dvb-a-modulation= - -# Layer A code rate (string) -#dvb-a-fec= - -# Layer A segments count (integer) -#dvb-a-count=0 - -# Layer A time interleaving (integer) -#dvb-a-interleaving=0 - -# Layer B modulation (string) -#dvb-b-modulation= - -# Layer B code rate (string) -#dvb-b-fec= - -# Layer B segments count (integer) -#dvb-b-count=0 - -# Layer B time interleaving (integer) -#dvb-b-interleaving=0 - -# Layer C modulation (string) -#dvb-c-modulation= - -# Layer C code rate (string) -#dvb-c-fec= - -# Layer C segments count (integer) -#dvb-c-count=0 - -# Layer C time interleaving (integer) -#dvb-c-interleaving=0 - -# Modulation / Constellation (string) -#dvb-modulation= - -# Symbol rate (bauds) (integer) -#dvb-srate=0 - -# FEC code rate (string) -#dvb-fec= - -# Stream identifier (integer) -#dvb-stream=0 - -# Pilot (integer) -#dvb-pilot=-1 - -# Roll-off factor (integer) -#dvb-rolloff=-1 - -# Transport stream ID (integer) -#dvb-ts-id=0 - -# Polarization (Voltage) (string) -#dvb-polarization= - -# (integer) -#dvb-voltage=13 - -# High LNB voltage (boolean) -#dvb-high-voltage=0 - -# Local oscillator low frequency (kHz) (integer) -#dvb-lnb-low=0 - -# Local oscillator high frequency (kHz) (integer) -#dvb-lnb-high=0 - -# Universal LNB switch frequency (kHz) (integer) -#dvb-lnb-switch=11700000 - -# DiSEqC LNB number (integer) -#dvb-satno=0 - -# Uncommitted DiSEqC LNB number (integer) -#dvb-uncommitted=0 - -# Continuous 22kHz tone (integer) -#dvb-tone=-1 - -[cdda] # Audio CD input - -# Audio CD device (string) -#cd-audio=/dev/sr0 - -# Musicbrainz Server (string) -#musicbrainz-server=musicbrainz.org - -[avio] # libavformat AVIO access - -# Advanced options (string) -#avio-options= - -# Advanced options (string) -#sout-avio-options= - -[access_srt] # SRT input - -# Return poll wait after timeout milliseconds (-1 = infinite) (integer) -#poll-timeout=-1 - -# SRT latency (ms) (integer) -#latency=120 - -# Password for stream encryption (string) -#passphrase= - -# Crypto key length in bytes (integer) -#key-length=16 - -# SRT Stream ID (string) -#streamid= - -[access_mms] # Microsoft Media Server (MMS) input - -# TCP/UDP timeout (ms) (integer) -#mms-timeout=5000 - -# Force selection of all streams (boolean) -#mms-all=0 - -# Maximum bitrate (integer) -#mms-maxbitrate=0 - -[access_jack] # JACK audio input - -# Pace (boolean) -#jack-input-use-vlc-pace=0 - -# Auto connection (boolean) -#jack-input-auto-connect=0 - -[imem] # Memory input - -# ID (integer) -#imem-id=-1 - -# Group (integer) -#imem-group=0 - -# Category (integer) -#imem-cat=0 - -# Codec (string) -#imem-codec= - -# Language (string) -#imem-language= - -# Sample rate (integer) -#imem-samplerate=0 - -# Channels count (integer) -#imem-channels=0 - -# Width (integer) -#imem-width=0 - -# Height (integer) -#imem-height=0 - -# Display aspect ratio (string) -#imem-dar= - -# Frame rate (string) -#imem-fps= - -# Size (integer) -#imem-size=0 - -[concat] # Concatenated inputs - -# Inputs list (string) -#concat-list= - -[access_alsa] # ALSA audio capture - -# Stereo (boolean) -#alsa-stereo=1 - -# Sample rate (integer) -#alsa-samplerate=48000 - -[core] # core program - -# Enable audio (boolean) -#audio=1 - -# Audio gain (float) -#gain=1.000000 - -# Audio output volume step (float) -#volume-step=12.800000 - -# Remember the audio volume (boolean) -#volume-save=1 - -# Force S/PDIF support (boolean) -#spdif=0 - -# Force detection of Dolby Surround (integer) -#force-dolby-surround=0 - -# Stereo audio output mode (integer) -#stereo-mode=0 - -# Audio desynchronization compensation (integer) -#audio-desync=0 - -# Replay gain mode (string) -#audio-replay-gain-mode=none - -# Replay preamp (float) -#audio-replay-gain-preamp=0.000000 - -# Default replay gain (float) -#audio-replay-gain-default=-7.000000 - -# Peak protection (boolean) -#audio-replay-gain-peak-protection=1 - -# Enable time stretching audio (boolean) -#audio-time-stretch=1 - -# Audio output module (string) -#aout= - -# Media role (string) -#role=video - -# Audio filters (string) -#audio-filter= - -# Audio visualizations (string) -#audio-visual=none - -# Audio resampler (string) -#audio-resampler= - -# Enable video (boolean) -#video=1 - -# Grayscale video output (boolean) -#grayscale=0 - -# Fullscreen video output (boolean) -#fullscreen=0 - -# Embedded video (boolean) -#embedded-video=1 - -# (boolean) -#xlib=1 - -# Drop late frames (boolean) -#drop-late-frames=1 - -# Skip frames (boolean) -#skip-frames=1 - -# Quiet synchro (boolean) -#quiet-synchro=0 - -# Key press events (boolean) -#keyboard-events=1 - -# Mouse events (boolean) -#mouse-events=1 - -# Always on top (boolean) -#video-on-top=0 - -# Enable wallpaper mode (boolean) -#video-wallpaper=0 - -# Disable screensaver (boolean) -#disable-screensaver=1 - -# Show media title on video (boolean) -#video-title-show=1 - -# Show video title for x milliseconds (integer) -#video-title-timeout=5000 - -# Position of video title (integer) -#video-title-position=8 - -# Hide cursor and fullscreen controller after x milliseconds (integer) -#mouse-hide-timeout=1000 - -# Video snapshot directory (or filename) (string) -#snapshot-path= - -# Video snapshot file prefix (string) -#snapshot-prefix=vlcsnap- - -# Video snapshot format (string) -#snapshot-format=png - -# Display video snapshot preview (boolean) -#snapshot-preview=1 - -# Use sequential numbers instead of timestamps (boolean) -#snapshot-sequential=0 - -# Video snapshot width (integer) -#snapshot-width=-1 - -# Video snapshot height (integer) -#snapshot-height=-1 - -# Video width (integer) -#width=-1 - -# Video height (integer) -#height=-1 - -# Video X coordinate (integer) -#video-x=0 - -# Video Y coordinate (integer) -#video-y=0 - -# Video cropping (string) -#crop= - -# Custom crop ratios list (string) -#custom-crop-ratios= - -# Source aspect ratio (string) -#aspect-ratio= - -# Video Auto Scaling (boolean) -#autoscale=1 - -# Monitor pixel aspect ratio (string) -#monitor-par= - -# Custom aspect ratios list (string) -#custom-aspect-ratios= - -# Fix HDTV height (boolean) -#hdtv-fix=1 - -# Window decorations (boolean) -#video-deco=1 - -# Video title (string) -#video-title= - -# Video alignment (integer) -#align=0 - -# Zoom video (float) -#zoom=1.000000 - -# Deinterlace (integer) -#deinterlace=-1 - -# Deinterlace mode (string) -#deinterlace-mode=auto - -# Video output module (string) -#vout= - -# Video filter module (string) -#video-filter= - -# Video splitter module (string) -#video-splitter= - -# Enable sub-pictures (boolean) -#spu=1 - -# On Screen Display (boolean) -#osd=1 - -# Text rendering module (string) -#text-renderer= - -# Use subtitle file (string) -#sub-file= - -# Autodetect subtitle files (boolean) -#sub-autodetect-file=1 - -# Subtitle autodetection fuzziness (integer) -#sub-autodetect-fuzzy=3 - -# Subtitle autodetection paths (string) -#sub-autodetect-path=./Subtitles, ./subtitles, ./Subs, ./subs - -# Force subtitle position (integer) -#sub-margin=0 - -# Subpictures source module (string) -#sub-source= - -# Subpictures filter module (string) -#sub-filter= - -# Program (integer) -#program=0 - -# Programs (string) -#programs= - -# Audio track (integer) -#audio-track=-1 - -# Subtitle track (integer) -#sub-track=-1 - -# Audio language (string) -#audio-language= - -# Subtitle language (string) -#sub-language= - -# Menu language (string) -#menu-language= - -# Audio track ID (integer) -#audio-track-id=-1 - -# Subtitle track ID (integer) -#sub-track-id=-1 - -# Preferred Closed Captions decoder (integer) -#captions=608 - -# Preferred video resolution (integer) -#preferred-resolution=-1 - -# Input repetitions (integer) -#input-repeat=0 - -# Start time (float) -#start-time=0.000000 - -# Stop time (float) -#stop-time=0.000000 - -# Run time (float) -#run-time=0.000000 - -# Fast seek (boolean) -#input-fast-seek=0 - -# Playback speed (float) -#rate=1.000000 - -# Input list (string) -#input-list= - -# Input slave (experimental) (string) -#input-slave= - -# Bookmarks list for a stream (string) -#bookmarks= - -# DVD device (string) -#dvd=/dev/sr0 - -# VCD device (string) -#vcd=/dev/sr0 - -# MTU of the network interface (integer) -#mtu=1400 - -# TCP connection timeout (integer) -#ipv4-timeout=5000 - -# HTTP server address (string) -#http-host= - -# HTTP server port (integer) -#http-port=8080 - -# HTTPS server port (integer) -#https-port=8443 - -# RTSP server address (string) -#rtsp-host= - -# RTSP server port (integer) -#rtsp-port=554 - -# HTTP/TLS server certificate (string) -#http-cert= - -# HTTP/TLS server private key (string) -#http-key= - -# SOCKS server (string) -#socks= - -# SOCKS user name (string) -#socks-user= - -# SOCKS password (string) -#socks-pwd= - -# Title metadata (string) -#meta-title= - -# Author metadata (string) -#meta-author= - -# Artist metadata (string) -#meta-artist= - -# Genre metadata (string) -#meta-genre= - -# Copyright metadata (string) -#meta-copyright= - -# Description metadata (string) -#meta-description= - -# Date metadata (string) -#meta-date= - -# URL metadata (string) -#meta-url= - -# File caching (ms) (integer) -#file-caching=1000 - -# Live capture caching (ms) (integer) -#live-caching=300 - -# Disc caching (ms) (integer) -#disc-caching=300 - -# Network caching (ms) (integer) -#network-caching=1000 - -# Clock reference average counter (integer) -#cr-average=40 - -# Clock synchronisation (integer) -#clock-synchro=-1 - -# Clock jitter (integer) -#clock-jitter=5000 - -# Network synchronisation (boolean) -#network-synchronisation=0 - -# Record directory (string) -#input-record-path= - -# Prefer native stream recording (boolean) -#input-record-native=1 - -# Timeshift directory (string) -#input-timeshift-path= - -# Timeshift granularity (integer) -#input-timeshift-granularity=-1 - -# Change title according to current media (string) -#input-title-format=$Z - -# Disable all lua plugins (boolean) -#lua=1 - -# Preferred decoders list (string) -#codec= - -# Preferred encoders list (string) -#encoder= - -# Access module (string) -#access= - -# Demux module (string) -#demux=any - -# Stream filter module (string) -#stream-filter= - -# Demux filter module (string) -#demux-filter= - -# Default stream output chain (string) -#sout= - -# Display while streaming (boolean) -#sout-display=0 - -# Keep stream output open (boolean) -#sout-keep=0 - -# Enable streaming of all ES (boolean) -#sout-all=1 - -# Enable audio stream output (boolean) -#sout-audio=1 - -# Enable video stream output (boolean) -#sout-video=1 - -# Enable SPU stream output (boolean) -#sout-spu=1 - -# Stream output muxer caching (ms) (integer) -#sout-mux-caching=1500 - -# VLM configuration file (string) -#vlm-conf= - -# SAP announcement interval (integer) -#sap-interval=5 - -# Mux module (string) -#mux= - -# Access output module (string) -#access_output= - -# Hop limit (TTL) (integer) -#ttl=-1 - -# Multicast output interface (string) -#miface= - -# DiffServ Code Point (integer) -#dscp=0 - -# Preferred packetizer list (string) -#packetizer= - -# VoD server module (string) -#vod-server= - -# Use a plugins cache (boolean) -#plugins-cache=1 - -# Scan for new plugins (boolean) -#plugins-scan=1 - -# Preferred keystore list (string) -#keystore= - -# Allow real-time priority (boolean) -#rt-priority=0 - -# Adjust VLC priority (integer) -#rt-offset=0 - -# Play files randomly forever (boolean) -#random=0 - -# Repeat all (boolean) -#loop=0 - -# Repeat current item (boolean) -#repeat=0 - -# Play and exit (boolean) -#play-and-exit=0 - -# Play and stop (boolean) -#play-and-stop=0 - -# Play and pause (boolean) -#play-and-pause=0 - -# Start paused (boolean) -#start-paused=0 - -# Auto start (boolean) -#playlist-autostart=1 - -# Pause on audio communication (boolean) -#playlist-cork=1 - -# Allow only one running instance (boolean) -#one-instance=0 - -# Use only one instance when started from file manager (boolean) -#one-instance-when-started-from-file=1 - -# Enqueue items into playlist in one instance mode (boolean) -#playlist-enqueue=0 - -# Expose media player via D-Bus (boolean) -#dbus=0 - -# Use media library (boolean) -#media-library=0 - -# Display playlist tree (boolean) -#playlist-tree=0 - -# Default stream (string) -#open= - -# Automatically preparse items (boolean) -#auto-preparse=1 - -# Preparsing timeout (integer) -#preparse-timeout=5000 - -# Allow metadata network access (boolean) -#metadata-network-access=0 - -# Subdirectory behavior (string) -#recursive=collapse - -# Ignored extensions (string) -#ignore-filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa - -# Show hidden files (boolean) -#show-hiddenfiles=0 - -# Services discovery modules (string) -#services-discovery= - -# Run as daemon process (boolean) -#daemon=0 - -# Write process id to file (string) -#pidfile= - -# Show advanced options (boolean) -#advanced=0 - -# Interface interaction (boolean) -#interact=1 - -# Locally collect statistics (boolean) -#stats=1 - -# Interface module (string) -#intf= - -# Extra interface modules (string) -#extraintf= - -# Control interfaces (string) -#control= - -# Mouse wheel vertical axis control (integer) -#hotkeys-y-wheel-mode=0 - -# Mouse wheel horizontal axis control (integer) -#hotkeys-x-wheel-mode=2 - -# Fullscreen (string) -#global-key-toggle-fullscreen= - -# Fullscreen (string) -#key-toggle-fullscreen=f - -# Exit fullscreen (string) -#global-key-leave-fullscreen= - -# Exit fullscreen (string) -#key-leave-fullscreen=Esc - -# Play/Pause (string) -#global-key-play-pause= - -# Play/Pause (string) -#key-play-pause=Space Media Play Pause - -# Pause only (string) -#global-key-pause= - -# Pause only (string) -#key-pause=Browser Stop - -# Play only (string) -#global-key-play= - -# Play only (string) -#key-play=Browser Refresh - -# Faster (string) -#global-key-faster= - -# Faster (string) -#key-faster=+ - -# Slower (string) -#global-key-slower= - -# Slower (string) -#key-slower=- - -# Normal rate (string) -#global-key-rate-normal= - -# Normal rate (string) -#key-rate-normal== - -# Faster (fine) (string) -#global-key-rate-faster-fine= - -# Faster (fine) (string) -#key-rate-faster-fine=] - -# Slower (fine) (string) -#global-key-rate-slower-fine= - -# Slower (fine) (string) -#key-rate-slower-fine=[ - -# Next (string) -#global-key-next= - -# Next (string) -#key-next=n Media Next Track - -# Previous (string) -#global-key-prev= - -# Previous (string) -#key-prev=p Media Prev Track - -# Stop (string) -#global-key-stop= - -# Stop (string) -#key-stop=s Media Stop - -# Position (string) -#global-key-position= - -# Position (string) -#key-position=t - -# Very short backwards jump (string) -#global-key-jump-extrashort= - -# Very short backwards jump (string) -#key-jump-extrashort=Shift+Left - -# Very short forward jump (string) -#global-key-jump+extrashort= - -# Very short forward jump (string) -#key-jump+extrashort=Shift+Right - -# Short backwards jump (string) -#global-key-jump-short= - -# Short backwards jump (string) -#key-jump-short=Alt+Left - -# Short forward jump (string) -#global-key-jump+short= - -# Short forward jump (string) -#key-jump+short=Alt+Right - -# Medium backwards jump (string) -#global-key-jump-medium= - -# Medium backwards jump (string) -#key-jump-medium=Ctrl+Left - -# Medium forward jump (string) -#global-key-jump+medium= - -# Medium forward jump (string) -#key-jump+medium=Ctrl+Right - -# Long backwards jump (string) -#global-key-jump-long= - -# Long backwards jump (string) -#key-jump-long=Ctrl+Alt+Left - -# Long forward jump (string) -#global-key-jump+long= - -# Long forward jump (string) -#key-jump+long=Ctrl+Alt+Right - -# Next frame (string) -#global-key-frame-next= - -# Next frame (string) -#key-frame-next=e Browser Next - -# Activate (string) -#global-key-nav-activate= - -# Activate (string) -#key-nav-activate=Enter - -# Navigate up (string) -#global-key-nav-up= - -# Navigate up (string) -#key-nav-up=Up - -# Navigate down (string) -#global-key-nav-down= - -# Navigate down (string) -#key-nav-down=Down - -# Navigate left (string) -#global-key-nav-left= - -# Navigate left (string) -#key-nav-left=Left - -# Navigate right (string) -#global-key-nav-right= - -# Navigate right (string) -#key-nav-right=Right - -# Go to the DVD menu (string) -#global-key-disc-menu= - -# Go to the DVD menu (string) -#key-disc-menu=Shift+m - -# Select previous DVD title (string) -#global-key-title-prev= - -# Select previous DVD title (string) -#key-title-prev=Shift+o - -# Select next DVD title (string) -#global-key-title-next= - -# Select next DVD title (string) -#key-title-next=Shift+b - -# Select prev DVD chapter (string) -#global-key-chapter-prev= - -# Select prev DVD chapter (string) -#key-chapter-prev=Shift+p - -# Select next DVD chapter (string) -#global-key-chapter-next= - -# Select next DVD chapter (string) -#key-chapter-next=Shift+n - -# Quit (string) -#global-key-quit= - -# Quit (string) -#key-quit=Ctrl+q - -# Volume up (string) -#global-key-vol-up= - -# Volume up (string) -#key-vol-up=Ctrl+Up Volume Up - -# Volume down (string) -#global-key-vol-down= - -# Volume down (string) -#key-vol-down=Ctrl+Down Volume Down - -# Mute (string) -#global-key-vol-mute= - -# Mute (string) -#key-vol-mute=m Volume Mute - -# Subtitle delay up (string) -#global-key-subdelay-up= - -# Subtitle delay up (string) -#key-subdelay-up=h - -# Subtitle delay down (string) -#global-key-subdelay-down= - -# Subtitle delay down (string) -#key-subdelay-down=g - -# Subtitle sync / bookmark audio timestamp (string) -#global-key-subsync-markaudio= - -# Subtitle sync / bookmark audio timestamp (string) -#key-subsync-markaudio=Shift+h - -# Subtitle sync / bookmark subtitle timestamp (string) -#global-key-subsync-marksub= - -# Subtitle sync / bookmark subtitle timestamp (string) -#key-subsync-marksub=Shift+j - -# Subtitle sync / synchronize audio & subtitle timestamps (string) -#global-key-subsync-apply= - -# Subtitle sync / synchronize audio & subtitle timestamps (string) -#key-subsync-apply=Shift+k - -# Subtitle sync / reset audio & subtitle synchronization (string) -#global-key-subsync-reset= - -# Subtitle sync / reset audio & subtitle synchronization (string) -#key-subsync-reset=Ctrl+Shift+k - -# Subtitle position up (string) -#global-key-subpos-up= - -# Subtitle position up (string) -#key-subpos-up= - -# Subtitle position down (string) -#global-key-subpos-down= - -# Subtitle position down (string) -#key-subpos-down= - -# Audio delay up (string) -#global-key-audiodelay-up= - -# Audio delay up (string) -#key-audiodelay-up=k - -# Audio delay down (string) -#global-key-audiodelay-down= - -# Audio delay down (string) -#key-audiodelay-down=j - -# Cycle audio track (string) -#global-key-audio-track= - -# Cycle audio track (string) -#key-audio-track=b - -# Cycle through audio devices (string) -#global-key-audiodevice-cycle= - -# Cycle through audio devices (string) -#key-audiodevice-cycle=Shift+a - -# Cycle subtitle track in reverse order (string) -#global-key-subtitle-revtrack= - -# Cycle subtitle track in reverse order (string) -#key-subtitle-revtrack=Alt+v - -# Cycle subtitle track (string) -#global-key-subtitle-track= - -# Cycle subtitle track (string) -#key-subtitle-track=v - -# Toggle subtitles (string) -#global-key-subtitle-toggle= - -# Toggle subtitles (string) -#key-subtitle-toggle=Shift+v - -# Cycle next program Service ID (string) -#global-key-program-sid-next= - -# Cycle next program Service ID (string) -#key-program-sid-next=x - -# Cycle previous program Service ID (string) -#global-key-program-sid-prev= - -# Cycle previous program Service ID (string) -#key-program-sid-prev=Shift+x - -# Cycle source aspect ratio (string) -#global-key-aspect-ratio= - -# Cycle source aspect ratio (string) -#key-aspect-ratio=a - -# Cycle video crop (string) -#global-key-crop= - -# Cycle video crop (string) -#key-crop=c - -# Toggle autoscaling (string) -#global-key-toggle-autoscale= - -# Toggle autoscaling (string) -#key-toggle-autoscale=o - -# Increase scale factor (string) -#global-key-incr-scalefactor= - -# Increase scale factor (string) -#key-incr-scalefactor=Alt+o - -# Decrease scale factor (string) -#global-key-decr-scalefactor= - -# Decrease scale factor (string) -#key-decr-scalefactor=Alt+Shift+o - -# Toggle deinterlacing (string) -#global-key-deinterlace= - -# Toggle deinterlacing (string) -#key-deinterlace=d - -# Cycle deinterlace modes (string) -#global-key-deinterlace-mode= - -# Cycle deinterlace modes (string) -#key-deinterlace-mode=Shift+d - -# Show controller in fullscreen (string) -#global-key-intf-show= - -# Show controller in fullscreen (string) -#key-intf-show=i - -# Boss key (string) -#global-key-intf-boss= - -# Boss key (string) -#key-intf-boss= - -# Context menu (string) -#global-key-intf-popup-menu= - -# Context menu (string) -#key-intf-popup-menu=Menu - -# Take video snapshot (string) -#global-key-snapshot= - -# Take video snapshot (string) -#key-snapshot=Shift+s - -# Record (string) -#global-key-record= - -# Record (string) -#key-record=Shift+r - -# Zoom (string) -#global-key-zoom= - -# Zoom (string) -#key-zoom=z - -# Un-Zoom (string) -#global-key-unzoom= - -# Un-Zoom (string) -#key-unzoom=Shift+z - -# Toggle wallpaper mode in video output (string) -#global-key-wallpaper= - -# Toggle wallpaper mode in video output (string) -#key-wallpaper=w - -# Crop one pixel from the top of the video (string) -#global-key-crop-top= - -# Crop one pixel from the top of the video (string) -#key-crop-top=Alt+r - -# Uncrop one pixel from the top of the video (string) -#global-key-uncrop-top= - -# Uncrop one pixel from the top of the video (string) -#key-uncrop-top=Alt+Shift+r - -# Crop one pixel from the left of the video (string) -#global-key-crop-left= - -# Crop one pixel from the left of the video (string) -#key-crop-left=Alt+d - -# Uncrop one pixel from the left of the video (string) -#global-key-uncrop-left= - -# Uncrop one pixel from the left of the video (string) -#key-uncrop-left=Alt+Shift+d - -# Crop one pixel from the bottom of the video (string) -#global-key-crop-bottom= - -# Crop one pixel from the bottom of the video (string) -#key-crop-bottom=Alt+c - -# Uncrop one pixel from the bottom of the video (string) -#global-key-uncrop-bottom= - -# Uncrop one pixel from the bottom of the video (string) -#key-uncrop-bottom=Alt+Shift+c - -# Crop one pixel from the right of the video (string) -#global-key-crop-right= - -# Crop one pixel from the right of the video (string) -#key-crop-right=Alt+f - -# Uncrop one pixel from the right of the video (string) -#global-key-uncrop-right= - -# Uncrop one pixel from the right of the video (string) -#key-uncrop-right=Alt+Shift+f - -# Random (string) -#global-key-random= - -# Random (string) -#key-random=r - -# Normal/Loop/Repeat (string) -#global-key-loop= - -# Normal/Loop/Repeat (string) -#key-loop=l - -# Shrink the viewpoint field of view (360°) (string) -#global-key-viewpoint-fov-in= - -# Shrink the viewpoint field of view (360°) (string) -#key-viewpoint-fov-in=Page Up - -# Expand the viewpoint field of view (360°) (string) -#global-key-viewpoint-fov-out= - -# Expand the viewpoint field of view (360°) (string) -#key-viewpoint-fov-out=Page Down - -# Roll the viewpoint clockwise (360°) (string) -#global-key-viewpoint-roll-clock= - -# Roll the viewpoint clockwise (360°) (string) -#key-viewpoint-roll-clock= - -# Roll the viewpoint anti-clockwise (360°) (string) -#global-key-viewpoint-roll-anticlock= - -# Roll the viewpoint anti-clockwise (360°) (string) -#key-viewpoint-roll-anticlock= - -# 1:4 Quarter (string) -#global-key-zoom-quarter= - -# 1:4 Quarter (string) -#key-zoom-quarter=Alt+1 - -# 1:2 Half (string) -#global-key-zoom-half= - -# 1:2 Half (string) -#key-zoom-half=Alt+2 - -# 1:1 Original (string) -#global-key-zoom-original= - -# 1:1 Original (string) -#key-zoom-original=Alt+3 - -# 2:1 Double (string) -#global-key-zoom-double= - -# 2:1 Double (string) -#key-zoom-double=Alt+4 - -# Very short jump length (integer) -#extrashort-jump-size=3 - -# Short jump length (integer) -#short-jump-size=10 - -# Medium jump length (integer) -#medium-jump-size=60 - -# Long jump length (integer) -#long-jump-size=300 - -# Set playlist bookmark 1 (string) -#global-key-set-bookmark1= - -# Set playlist bookmark 1 (string) -#key-set-bookmark1=Ctrl+F1 - -# Set playlist bookmark 2 (string) -#global-key-set-bookmark2= - -# Set playlist bookmark 2 (string) -#key-set-bookmark2=Ctrl+F2 - -# Set playlist bookmark 3 (string) -#global-key-set-bookmark3= - -# Set playlist bookmark 3 (string) -#key-set-bookmark3=Ctrl+F3 - -# Set playlist bookmark 4 (string) -#global-key-set-bookmark4= - -# Set playlist bookmark 4 (string) -#key-set-bookmark4=Ctrl+F4 - -# Set playlist bookmark 5 (string) -#global-key-set-bookmark5= - -# Set playlist bookmark 5 (string) -#key-set-bookmark5=Ctrl+F5 - -# Set playlist bookmark 6 (string) -#global-key-set-bookmark6= - -# Set playlist bookmark 6 (string) -#key-set-bookmark6=Ctrl+F6 - -# Set playlist bookmark 7 (string) -#global-key-set-bookmark7= - -# Set playlist bookmark 7 (string) -#key-set-bookmark7=Ctrl+F7 - -# Set playlist bookmark 8 (string) -#global-key-set-bookmark8= - -# Set playlist bookmark 8 (string) -#key-set-bookmark8=Ctrl+F8 - -# Set playlist bookmark 9 (string) -#global-key-set-bookmark9= - -# Set playlist bookmark 9 (string) -#key-set-bookmark9=Ctrl+F9 - -# Set playlist bookmark 10 (string) -#global-key-set-bookmark10= - -# Set playlist bookmark 10 (string) -#key-set-bookmark10=Ctrl+F10 - -# Play playlist bookmark 1 (string) -#global-key-play-bookmark1= - -# Play playlist bookmark 1 (string) -#key-play-bookmark1=F1 - -# Play playlist bookmark 2 (string) -#global-key-play-bookmark2= - -# Play playlist bookmark 2 (string) -#key-play-bookmark2=F2 - -# Play playlist bookmark 3 (string) -#global-key-play-bookmark3= - -# Play playlist bookmark 3 (string) -#key-play-bookmark3=F3 - -# Play playlist bookmark 4 (string) -#global-key-play-bookmark4= - -# Play playlist bookmark 4 (string) -#key-play-bookmark4=F4 - -# Play playlist bookmark 5 (string) -#global-key-play-bookmark5= - -# Play playlist bookmark 5 (string) -#key-play-bookmark5=F5 - -# Play playlist bookmark 6 (string) -#global-key-play-bookmark6= - -# Play playlist bookmark 6 (string) -#key-play-bookmark6=F6 - -# Play playlist bookmark 7 (string) -#global-key-play-bookmark7= - -# Play playlist bookmark 7 (string) -#key-play-bookmark7=F7 - -# Play playlist bookmark 8 (string) -#global-key-play-bookmark8= - -# Play playlist bookmark 8 (string) -#key-play-bookmark8=F8 - -# Play playlist bookmark 9 (string) -#global-key-play-bookmark9= - -# Play playlist bookmark 9 (string) -#key-play-bookmark9=F9 - -# Play playlist bookmark 10 (string) -#global-key-play-bookmark10= - -# Play playlist bookmark 10 (string) -#key-play-bookmark10=F10 - -# Clear the playlist (string) -#global-key-clear-playlist= - -# Clear the playlist (string) -#key-clear-playlist=Ctrl+w - -# Reset subtitles text scale (string) -#global-key-subtitle-text-scale-normal= - -# Reset subtitles text scale (string) -#key-subtitle-text-scale-normal=Ctrl+0 - -# Scale down subtitles text (string) -#global-key-subtitle-text-scale-up= - -# Scale down subtitles text (string) -#key-subtitle-text-scale-up=Ctrl+Mouse Wheel Up - -# Scale up subtitles text (string) -#global-key-subtitle-text-scale-down= - -# Scale up subtitles text (string) -#key-subtitle-text-scale-down=Ctrl+Mouse Wheel Down - -# Playlist bookmark 1 (string) -#bookmark1= - -# Playlist bookmark 2 (string) -#bookmark2= - -# Playlist bookmark 3 (string) -#bookmark3= - -# Playlist bookmark 4 (string) -#bookmark4= - -# Playlist bookmark 5 (string) -#bookmark5= - -# Playlist bookmark 6 (string) -#bookmark6= - -# Playlist bookmark 7 (string) -#bookmark7= - -# Playlist bookmark 8 (string) -#bookmark8= - -# Playlist bookmark 9 (string) -#bookmark9= - -# Playlist bookmark 10 (string) -#bookmark10= - diff --git a/waybar/config b/waybar/config deleted file mode 100644 index 91dd9a4..0000000 --- a/waybar/config +++ /dev/null @@ -1,234 +0,0 @@ -// vim: set filetype=json5 : -{ - "layer": "bottom", - "position": "top", - "height": 36, - //"output": "%%DISPLAY%%", - "spacing": 4, - //"margin-top": 5, - //"margin-bottom": 5, - - // Choose the order of the modules - - "modules-left":[ "hyprland/workspaces", "custom/launcher", "hyprland/window"], - "modules-center":[], - "modules-right":[ "tray", "mpd", "idle_inhibitor", "wireplumber", "cpu", "memory", "temperature#cpu", "temperature#gpu", "backlight", "network", "clock", "custom/power"], - - // Modules configuration - - "sway/workspaces": { - "all-outputs": false, - "persistent-workspaces": { - "11": ["eDP-1"], - "12": ["eDP-1"], - "13": ["eDP-1"], - "14": ["eDP-1"], - "15": ["eDP-1"], - "16": ["eDP-1"], - "17": ["eDP-1"], - "18": ["eDP-1"], - "19": ["eDP-1"], - }, - "format": "{icon}", - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "0", - "11": "1", - "12": "2", - "13": "3", - "14": "4", - "15": "5", - "16": "6", - "17": "7", - "18": "8", - "19": "9", - "20": "0", - "21": "1", - "22": "2", - "23": "3", - "24": "4", - "25": "5", - "26": "6", - "27": "7", - "28": "8", - "29": "9", - }, - }, - "niri/workspaces": { - "format": "{value}", - "all-outputs": false, - "on-click": "activate" - }, - "hyprland/workspaces": { - "format": "{icon}", - "active-only": false, - "all-outputs": false, - "persistent-only": true, - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "1", - "11": "2", - "12": "3", - "13": "4", - "14": "5", - "15": "6", - "16": "7", - "17": "8", - "18": "9", - }, - "persistent-workspaces": { - "*": 9, - }, - "on-scroll-up": "hyprctl dispatch split:workspace r+1", - "on-scroll-down": "hyprctl dispatch split:workspace r-1", - "on-click": "activate" - }, - "sway/window": { - "separate-outputs": true, - "icon": true, - "format": "{title}", - "expand": true - }, - "niri/window": { - "separate-outputs": true, - "icon": true, - "format": "{title}", - "expand": true - }, - "hyprland/window": { - "separate-outputs": true, - "icon": true, - "format": "{title}", - "expand": true, - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": " {name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "mpd": { - "format": "{artist} - {title}", - "format-stopped": "", - "format-paused": "{artist} - {title}", - "format-disconnected": "", - "artist-len": 15, - "title-len": 15, - //"album-len": 15, - //"max-length": 200, - "on-click": "mpc toggle" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "icon-size": 20, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{used}G " - }, - "battery": { - "bat": "BAT0", - "interval": 60, - "state": { - "warning": 30, - "critical": 15 - }, - "format": "{capacity}%", - "max-length": 25 - }, - "temperature#cpu": { - "thermal-zone": 0, - // "hwmon-path": "cat /sys/class/hwmon/hwmon5/temp1_input", - "critical-threshold": 110, - "format-critical": "{temperatureC}°C", - "format": "", - "format-icons": ["", "", ""] - }, - "temperature#gpu": { - "thermal-zone": 1, - // "hwmon-path": "/sys/class/hwmon/hwmon4/temp1_input", - "critical-threshold": 126, - "format-critical": "{temperatureC}°C", - "format": "", - "format-icons": ["", "", ""] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}%" - //"format-icons": ["", ""] - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ", - "format-ethernet": "Connected ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "max-length": 22, - "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" - }, - "wireplumber": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon}", - "format-muted": "{volume}% ", - "format-icons": ["", "", ""], - "on-click": "volsv -t", - "scroll-step": 0.1 - }, - "custom/launcher":{ - "format": ">_", - "on-click": "rofi -show drun", - //"on-click-right": "killall rofi" - }, - "custom/battery":{ - "interval": 15, - "format": "{percentage}%", - "return-type": "json", - "exec": "custom-battery", - "tooltip": true, - }, - "custom/power":{ - "format": "", - "on-click": "power-menu", - //"on-click-right": "killall rofi" - }, - "custom/snip":{ - "format": " ", - "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" - } -} diff --git a/waybar/style.css b/waybar/style.css deleted file mode 100644 index 599e6af..0000000 --- a/waybar/style.css +++ /dev/null @@ -1,358 +0,0 @@ -* { - border: 0px; - margin: 0px; - border-radius: 0px; - /* `otf-font-awesome` is required to be installed for icons */ - font-family: JetBrainsMono Nerd Font; - font-size: 18px; - min-height: 0px; - min-width: 0px; -} - -window#waybar { - background-color: transparent; - color: #ffffff; - transition-property: background-color; - transition-duration: .5s; - background: rgba(0, 0, 0, 0.2); -} - -window#waybar.hidden { - opacity: 0.2; -} - - -/* -#workspaces button { - background: #1f1f1f; - color: #ffffff; - border-radius: 20px; -} -*/ - -/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ - -#workspaces button { - background: #333333; - color: white; - border-bottom: 3px solid #1b1d1c; -} - -#workspaces button.empty { - background: black; - color: white; - border-bottom: 3px solid #1b1d1c; -} - -/* -#workspaces button:hover { - background: #6e3c85; - color: black; - border-bottom: 3px solid #ffffff; - -} -*/ - -#workspaces button.active { - background: #198844; -} - -#workspaces button.focused { - background: #198844; -} - -/* -#workspaces button.active:hover { - background: #6e3c85; - color: black; - border-bottom: 3px solid #ffffff; -} -*/ - -#workspaces button.urgent { - background-color: #eb4d4b; -} - -#mode { - background-color: #64727D; - border-bottom: 3px solid #ffffff; -} - -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#wireplumber, -#custom-media, -#custom-launcher, -#custom-power, -#custom-battery, -#custom-layout, -#custom-updater, -#custom-snip, -#custom-wallpaper, -#tags, -#taskbar, -#tray, -#mode, -#idle_inhibitor, -#mpd { - padding: 0px 9px; - margin: 0px; - color: #ffffff; -} - -#window, -#workspaces { - margin: 0px 4px; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0px; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0px; -} - -#clock { - background-color: #1b1d1c; - color: #ffffff; -} - -#battery { - background-color: #1b1d1c; - color: #ffffff; -} - -#battery.charging, #battery.plugged { - color: #198844; - background-color: #1b1d1c; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } -} - -#battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -label:focus { - background-color: #000000; -} - -#cpu { - background-color: #1b1d1c; - color: #ffffff; - padding-right: 18px; -} - -#memory { - background-color: #198844; - color: #ffffff; - padding-right: 18px; -} - -#disk { - background-color: #1b1d1c; - color: #ffffff; -} - -#backlight { - background-color: #198844; - color: #ffffff; -} - -#network { - background-color: #198844; - color: #ffffff; - padding-right: 18px; -} - -#network.disconnected { - background-color: #1b1d1c; - color: #ffffff; -} - -#wireplumber { - background-color: #198844; - color: #ffffff; - padding-right: 18px; -} - -#wireplumber.muted { - background-color: #1b1d1c; - color: #198844; -} - -#custom-media { - background-color: #1b1d1c; - color: white; -} - -#custom-media.custom-spotify { - background-color: #1b1d1c; - color: white; - -} - -#custom-media.custom-vlc { - background-color: #1b1d1c; - color: white; -} - -#custom-power{ - background-color: #1b1d1c; - font-size: 18px; - margin-right: 5px; -} - -#custom-battery{ - background-color: #1b1d1c; - font-size: 18px; -} - -#custom-battery.battery_low{ - background-color: yellow; - color: #1b1d1c; -} - -#custom-battery.battery_crit{ - background-color: red; - color: #1b1d1c; -} - -#custom-battery.battery_charging{ - background-color: #1d1b1c; - color: #198844; -} - -#custom-launcher{ - background-color: #1b1d1c; - font-size: 20px; - margin-left: 5px; - -} - -#custom-layout{ - background-color: #1b1d1c; - color: white; - font-size:20px; -} - -#custom-updater { - background-color: #1b1d1c; - color: white; -} - -#custom-snip { - background-color: #1b1d1c; - color: skyblue; - font-size: 20px; -} - -#custom-wallpaper { - background-color: #1b1d1c; - color: pink; - font-size: 20px; -} - -#tags{ - background-color: #1b1d1c; - font-size: 20px; -} - -#tags button.occupied { - color: skyblue; - background-color: #272727; -} -#tags button.focused { - color: black; - background-color: white; -} -#tags button.urgent{ - color: red; - background-color:white; -} - - -#taskbar{ - background-color: #1b1d1c; - border-radius: 0px 20px 20px 0px; -} - -#temperature { - background-color: #1b1d1c; - color: #ffffff; -} - -#temperature.critical { - background-color: #eb4d4b; -} - -#tray { - border-radius: 20px; - background-color: black; - color: #ffffff; -} - -#tray > .passive { - -gtk-icon-effect: dim; - background-color: #198844; - color: #ffffff; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #198844; - color: #ffffff; -} - -#idle_inhibitor { - background-color: #1b1d1c; - border-radius: 20px 0px 0px 20px; - padding-right: 18px; -} - -#idle_inhibitor.activated { - background-color: #198844; - color: #ffffff; - border-radius: 20px 0px 0px 20px; - -} - -#language { - background-color: #1b1d1c; - color: #ffffff; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0px 5px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} diff --git a/wireplumber/main.lua.d/51-custom.lua b/wireplumber/main.lua.d/51-custom.lua deleted file mode 100644 index 2340e94..0000000 --- a/wireplumber/main.lua.d/51-custom.lua +++ /dev/null @@ -1,22 +0,0 @@ -table.insert(alsa_monitor.rules, - { - -- Rules for matching a device or node. It is an array of - -- properties that all need to match the regexp. If any of the - -- matches work, the actions are executed for the object. - matches = { - { - { "device.name", "matches", "alsa_card.usb-Audient_Audient_iD4-00" }, - }, - }, - -- Apply properties on the matched object. - apply_properties = { - -- Use UCM instead of profile when available. Can be - -- disabled to skip trying to use the UCM profile. - ["api.alsa.use-ucm"] = false, - - -- The default active profile. Is by default set to "Off". - ["device.profile"] = "Pro Audio", - }, - } -) - diff --git a/xsettingsd/xsettingsd.conf b/xsettingsd/xsettingsd.conf deleted file mode 100644 index 7e001eb..0000000 --- a/xsettingsd/xsettingsd.conf +++ /dev/null @@ -1,9 +0,0 @@ -Net/ThemeName "Flat-Remix-GTK-Green-Darkest" -Net/IconThemeName "Papirus-Dark" -Gtk/CursorThemeName "BreezeX-Black" -Net/EnableEventSounds 1 -EnableInputFeedbackSounds 0 -Xft/Antialias 1 -Xft/Hinting 1 -Xft/HintStyle "hintslight" -Xft/RGBA "rgb" diff --git a/ytfzf/conf.sh b/ytfzf/conf.sh deleted file mode 100644 index 13a1368..0000000 --- a/ytfzf/conf.sh +++ /dev/null @@ -1,4 +0,0 @@ -cache_dir="$XDG_CACHE_HOME/ytfzf" -history_file="$cache_dir/ytfzf_hst" -current_file="$cache_dir/ytfzf_cur" -thumbnail_viewer=kitty @@ -15,6 +15,9 @@ setopt AUTO_CD _SH="zsh" +fpath=("$XDG_CONFIG_HOME"/zsh/functions(:A) $fpath) +autoload -Uz anonsh + if [ -f "$XDG_CONFIG_HOME"/sh/aliases ]; then source "$XDG_CONFIG_HOME"/sh/aliases fi |