diff --git a/configs/MangoHud/MangoHud.conf b/configs/MangoHud/MangoHud.conf new file mode 100644 index 0000000..ec31a5a --- /dev/null +++ b/configs/MangoHud/MangoHud.conf @@ -0,0 +1,12 @@ +gamemode +wine +position=top-right +cpu_temp +gpu_temp +ram +custom_text_center=jabuxas-benchmark +cpu_load_color=00FFFF,00FFFF,FF00FF +cpu_load_value=50,90 +core_load_change +engine_version +swap diff --git a/configs/MangoHud/wine-eldenring.conf b/configs/MangoHud/wine-eldenring.conf new file mode 100644 index 0000000..f3ea2f9 --- /dev/null +++ b/configs/MangoHud/wine-eldenring.conf @@ -0,0 +1,11 @@ +gamemode +wine +position=top-right +cpu_temp +gpu_temp +ram +core_load_change +engine_version +swap +fps_limit=30 +wine_color=#548813 diff --git a/configs/MangoHud/wine-start_protected_game.conf b/configs/MangoHud/wine-start_protected_game.conf new file mode 100644 index 0000000..f3ea2f9 --- /dev/null +++ b/configs/MangoHud/wine-start_protected_game.conf @@ -0,0 +1,11 @@ +gamemode +wine +position=top-right +cpu_temp +gpu_temp +ram +core_load_change +engine_version +swap +fps_limit=30 +wine_color=#548813 diff --git a/configs/OpenTabletDriver/settings.json b/configs/OpenTabletDriver/settings.json new file mode 100644 index 0000000..d301f90 --- /dev/null +++ b/configs/OpenTabletDriver/settings.json @@ -0,0 +1,97 @@ +{ + "Profiles": [ + { + "Tablet": "Genius i405x", + "OutputMode": { + "Path": "OpenTabletDriver.Desktop.Output.LinuxArtistMode", + "Settings": [], + "Enable": true + }, + "Filters": [ + { + "Path": "VoiDPlugins.Filter.PrecisionControl", + "Settings": [ + { + "Property": "Scale", + "Value": 0.3 + } + ], + "Enable": false + } + ], + "AbsoluteModeSettings": { + "Display": { + "Width": 1920.0, + "Height": 1080.0, + "X": 960.0, + "Y": 540.00006, + "Rotation": 0.0 + }, + "Tablet": { + "Width": 90.0, + "Height": 102.4, + "X": 95.50001, + "Y": 51.2, + "Rotation": 0.0 + }, + "EnableClipping": true, + "EnableAreaLimiting": false, + "LockAspectRatio": false + }, + "RelativeModeSettings": { + "XSensitivity": 10.0, + "YSensitivity": 10.0, + "RelativeRotation": 0.0, + "RelativeResetDelay": "00:00:00.1000000" + }, + "Bindings": { + "TipActivationThreshold": 79.0, + "TipButton": { + "Path": "OpenTabletDriver.Desktop.Binding.MouseBinding", + "Settings": [ + { + "Property": "Button", + "Value": "Left" + } + ], + "Enable": true + }, + "EraserActivationThreshold": 0.0, + "EraserButton": null, + "PenButtons": [ + { + "Path": "OpenTabletDriver.Desktop.Binding.MultiKeyBinding", + "Settings": [ + { + "Property": "Keys", + "Value": "Control+Z" + } + ], + "Enable": true + }, + { + "Path": "OpenTabletDriver.Desktop.Binding.MultiKeyBinding", + "Settings": [ + { + "Property": "Keys", + "Value": "Control+Space" + } + ], + "Enable": true + } + ], + "AuxButtons": [], + "MouseButtons": [ + null, + null, + null + ], + "MouseScrollUp": null, + "MouseScrollDown": null + } + } + ], + "LockUsableAreaDisplay": true, + "LockUsableAreaTablet": true, + "Tools": [] +} \ No newline at end of file diff --git a/configs/Xresources b/configs/Xresources new file mode 100644 index 0000000..0acfd5e --- /dev/null +++ b/configs/Xresources @@ -0,0 +1,26 @@ +Xft.dpi : 94 + +! Base16 Gruvbox dark, medium +! Scheme: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +*foreground: #b5b3aa +*background: [background_opacity]#000000 +*background: #000000 +*color0: #000000 +*color1: #ff6c60 +*color2: #a8ff60 +*color3: #ffffb6 +*color4: #96cbfe +*color5: #ff73fd +*color6: #c6c5f3 +*color7: #b5b3aa +*color8: #6c6c66 +*color9: #e9c062 +*color10: #242422 +*color11: #484844 +*color12: #918f88 +*color13: #d9d7cc +*color14: #b18a3d +*color15: #fdfbee + +#include ".config/urxvt" diff --git a/configs/alacritty/alacritty.yml b/configs/alacritty/alacritty.yml new file mode 100644 index 0000000..2185c4c --- /dev/null +++ b/configs/alacritty/alacritty.yml @@ -0,0 +1,59 @@ +colors: + # Default colors + primary: + background: '0x0c0c0c' + foreground: '0xcccccc' + + # Normal colors + normal: + black: '0x0c0c0c' + red: '0xc50f1f' + green: '0x13a10e' + yellow: '0xc19c00' + blue: '0x0037da' + magenta: '0x881798' + cyan: '0x3a96dd' + white: '0xcccccc' + + # Bright colors + bright: + black: '0x767676' + red: '0xe74856' + green: '0x16c60c' + yellow: '0xf9f1a5' + blue: '0x3b78ff' + magenta: '0xb4009e' + cyan: '0x61d6d6' + white: '0xf2f2f2' + +# Font configuration +font: + # The normal (roman) font face to use. + normal: + family: mononoki Nerd Font + # Style can be specified to pick a specific face. + style: Regular + + # The bold font face + bold: + family: Hack Nerd Font + # Style can be specified to pick a specific face. + # style: Bold + + # The italic font face + italic: + family: InconsolataGo Nerd Font + # Style can be specified to pick a specific face. + # style: Italic + + + + # Point size + size: 13.0 + +window: + dimensions: + columns: 140 + lines: 40 + + diff --git a/configs/alacritty/alacritty2.yml b/configs/alacritty/alacritty2.yml new file mode 100644 index 0000000..c995949 --- /dev/null +++ b/configs/alacritty/alacritty2.yml @@ -0,0 +1,878 @@ +# Configuration for Alacritty, the GPU enhanced terminal emulator. + +# Import additional configuration files +# +# Imports are loaded in order, skipping all missing files, with the importing +# file being loaded last. If a field is already present in a previous import, it +# will be replaced. +# +# All imports must either be absolute paths starting with `/`, or paths relative +# to the user's home directory starting with `~/`. +#import: +# - /path/to/alacritty.yml + +# Any items in the `env` entry below will be added as +# environment variables. Some entries may override variables +# set by alacritty itself. +#env: + # TERM variable + # + # This value is used to set the `$TERM` environment variable for + # each instance of Alacritty. If it is not present, alacritty will + # check the local terminfo database and use `alacritty` if it is + # available, otherwise `xterm-256color` is used. + #TERM: alacritty + +#window: + # Window dimensions (changes require restart) + # + # Number of lines/columns (not pixels) in the terminal. The number of columns + # must be at least `2`, while using a value of `0` for columns and lines will + # fall back to the window manager's recommended size. + #dimensions: + # columns: 0 + # lines: 0 + + # Window position (changes require restart) + # + # Specified in number of pixels. + # If the position is not set, the window manager will handle the placement. + #position: + # x: 0 + # y: 0 + + # Window padding (changes require restart) + # + # Blank space added around the window in pixels. This padding is scaled + # by DPI and the specified value is always added at both opposing sides. + #padding: + # x: 0 + # y: 0 + + # Spread additional padding evenly around the terminal content. + #dynamic_padding: false + + # Window decorations + # + # Values for `decorations`: + # - full: Borders and title bar + # - none: Neither borders nor title bar + # + # Values for `decorations` (macOS only): + # - transparent: Title bar, transparent background and title bar buttons + # - buttonless: Title bar, transparent background and no title bar buttons + #decorations: full + + # Background opacity + # + # Window opacity as a floating point number from `0.0` to `1.0`. + # The value `0.0` is completely transparent and `1.0` is opaque. + #opacity: 1.0 + + # 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 + +#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: monospace + + # The `style` can be specified to pick a specific face. + #style: Regular + + # Bold font face + #bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold + + # Italic font face + #italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Italic + + # Bold italic font face + #bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic + + # Point size + #size: 11.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 + + # Use built-in font for box drawing characters. + # + # If `true`, Alacritty will use a custom built-in font for box drawing + # characters (Unicode points 2500 - 259f). + # + #builtin_box_drawing: true + +# If `true`, bold text is drawn using the bright color variants. +#draw_bold_text_with_bright_colors: false + +# Colors (Tomorrow Night) +#colors: + # Default colors + #primary: + # background: '#1d1f21' + # foreground: '#c5c8c6' + + # Bright and dim foreground colors + # + # The dimmed foreground color is calculated automatically if it is not + # present. If the bright foreground color is not set, or + # `draw_bold_text_with_bright_colors` is `false`, the normal foreground + # color will be used. + #dim_foreground: '#828482' + #bright_foreground: '#eaeaea' + + # Cursor colors + # + # Colors which should be used to draw the terminal cursor. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + #cursor: + # text: CellBackground + # cursor: CellForeground + + # 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' + + #bar: + # background: '#c5c8c6' + # foreground: '#1d1f21' + + # 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: '#cc6666' + # green: '#b5bd68' + # yellow: '#f0c674' + # blue: '#81a2be' + # magenta: '#b294bb' + # cyan: '#8abeb7' + # white: '#c5c8c6' + + # Bright colors + #bright: + # black: '#666666' + # red: '#d54e53' + # green: '#b9ca4a' + # yellow: '#e7c547' + # blue: '#7aa6da' + # magenta: '#c397d8' + # cyan: '#70c0b1' + # white: '#eaeaea' + + # Dim colors + # + # If the dim colors are not set, they will be calculated automatically based + # on the `normal` colors. + #dim: + # black: '#131415' + # red: '#864343' + # green: '#777c44' + # yellow: '#9e824c' + # blue: '#556a7d' + # magenta: '#75617b' + # cyan: '#5b7d78' + # white: '#828482' + + # Indexed Colors + # + # The indexed colors include all colors from 16 to 256. + # When these are not set, they're filled with sensible defaults. + # + # Example: + # `- { index: 16, color: '#ff00ff' }` + # + #indexed_colors: [] + + # Transparent cell backgrounds + # + # Whether or not `window.opacity` applies to all cell backgrounds or only to + # the default background. When set to `true` all cells will be transparent + # regardless of their background color. + #transparent_background_colors: false + +# Bell +# +# The bell is rung every time the BEL control character is received. +#bell: + # Visual Bell Animation + # + # Animation effect for flashing the screen when the visual bell is rung. + # + # Values for `animation`: + # - Ease + # - EaseOut + # - EaseOutSine + # - EaseOutQuad + # - EaseOutCubic + # - EaseOutQuart + # - EaseOutQuint + # - EaseOutExpo + # - EaseOutCirc + # - Linear + #animation: EaseOutExpo + + # Duration of the visual bell flash in milliseconds. A `duration` of `0` will + # disable the visual bell animation. + #duration: 0 + + # Visual bell animation color. + #color: '#ffffff' + + # Bell Command + # + # This program is executed whenever the bell is rung. + # + # When set to `command: None`, no command will be executed. + # + # Example: + # command: + # program: notify-send + # args: ["Hello, World!"] + # + #command: None + +#selection: + # This string contains all characters that are used as separators for + # "semantic words" in Alacritty. + #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" + + # When set to `true`, selected text will be copied to the primary clipboard. + #save_to_clipboard: false + +#cursor: + # Cursor style + #style: + # Cursor shape + # + # Values for `shape`: + # - ▇ Block + # - _ Underline + # - | Beam + #shape: Block + + # Cursor blinking state + # + # Values for `blinking`: + # - Never: Prevent the cursor from ever blinking + # - Off: Disable blinking by default + # - On: Enable blinking by default + # - Always: Force the cursor to always blink + #blinking: Off + + # Vi mode cursor style + # + # If the vi mode cursor style is `None` or not specified, it will fall back to + # the style of the active value of the normal cursor. + # + # See `cursor.style` for available options. + #vi_mode_style: None + + # Cursor blinking interval in milliseconds. + #blink_interval: 750 + + # 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/bash +# args: +# - --login + +# Startup directory +# +# Directory the shell is started in. If this is unset, or `None`, the working +# directory of the parent process will be used. +#working_directory: None + +# Send ESC (\x1b) before characters when alt is pressed. +#alt_send_esc: true + +# Offer IPC using `alacritty msg` (unix only) +#ipc_socket: true + +#mouse: + # Click settings + # + # The `double_click` and `triple_click` settings control the time + # alacritty should wait for accepting multiple clicks as one double + # or triple click. + #double_click: { threshold: 300 } + #triple_click: { threshold: 300 } + + # If this is `true`, the cursor is temporarily hidden when typing. + #hide_when_typing: false + +# 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`, `binding.mode` and + # `mouse.mods` accept the same values as they do in the `key_bindings` section. + # + # The `mouse.enabled` field controls if the hint should be underlined while + # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it. + # + # If the `post_processing` field is set to `true`, heuristics will be used to + # shorten the match if there are characters likely not to be part of the hint + # (e.g. a trailing `.`). This is most useful for URIs. + # + # 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 for actions not exclusive to mouse mode) +# +# - Mouse exclusive actions: +# +# - ExpandSelection +# Expand the selection to the current mouse cursor location. +# +# And optionally: +# +# - `mods` (see key bindings) +#mouse_bindings: +# - { mouse: Right, action: ExpandSelection } +# - { mouse: Right, mods: Control, action: ExpandSelection } +# - { mouse: Middle, mode: ~Vi, action: PasteSelection } + +# Key bindings +# +# Key bindings are specified as a list of objects. For example, this is the +# default paste binding: +# +# `- { key: V, mods: Control|Shift, action: Paste }` +# +# Each key binding will specify a: +# +# - `key`: Identifier of the key pressed +# +# - A-Z +# - F1-F24 +# - Key0-Key9 +# +# A full list with available key codes can be found here: +# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants +# +# Instead of using the name of the keys, the `key` field also supports using +# the scancode of the desired key. Scancodes have to be specified as a +# decimal number. This command will allow you to display the hex scancodes +# for certain keys: +# +# `showkey --scancodes`. +# +# Then exactly one of: +# +# - `chars`: Send a byte sequence to the running application +# +# The `chars` field writes the specified string to the terminal. This makes +# it possible to pass escape sequences. To find escape codes for bindings +# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside +# of tmux. Note that applications use terminfo to map escape sequences back +# to keys. It is therefore required to update the terminfo when changing an +# escape sequence. +# +# - `action`: Execute a predefined action +# +# - ToggleViMode +# - SearchForward +# Start searching toward the right of the search origin. +# - SearchBackward +# Start searching toward the left of the search origin. +# - Copy +# - Paste +# - IncreaseFontSize +# - DecreaseFontSize +# - ResetFontSize +# - ScrollPageUp +# - ScrollPageDown +# - ScrollHalfPageUp +# - ScrollHalfPageDown +# - ScrollLineUp +# - ScrollLineDown +# - ScrollToTop +# - ScrollToBottom +# - ClearHistory +# Remove the terminal's scrollback history. +# - Hide +# Hide the Alacritty window. +# - Minimize +# Minimize the Alacritty window. +# - Quit +# Quit Alacritty. +# - ToggleFullscreen +# - SpawnNewInstance +# Spawn a new instance of Alacritty. +# - CreateNewWindow +# Create a new Alacritty window from the current process. +# - ClearLogNotice +# Clear Alacritty's UI warning and error notice. +# - ClearSelection +# Remove the active selection. +# - ReceiveChar +# - None +# +# - Vi mode exclusive actions: +# +# - Open +# Perform the action of the first matching hint under the vi mode cursor +# with `mouse.enabled` set to `true`. +# - ToggleNormalSelection +# - ToggleLineSelection +# - ToggleBlockSelection +# - ToggleSemanticSelection +# Toggle semantic selection based on `selection.semantic_escape_chars`. +# +# - Vi mode exclusive cursor motion actions: +# +# - Up +# One line up. +# - Down +# One line down. +# - Left +# One character left. +# - Right +# One character right. +# - First +# First column, or beginning of the line when already at the first column. +# - Last +# Last column, or beginning of the line when already at the last column. +# - FirstOccupied +# First non-empty cell in this terminal row, or first non-empty cell of +# the line when already at the first cell of the row. +# - High +# Top of the screen. +# - Middle +# Center of the screen. +# - Low +# Bottom of the screen. +# - SemanticLeft +# Start of the previous semantically separated word. +# - SemanticRight +# Start of the next semantically separated word. +# - SemanticLeftEnd +# End of the previous semantically separated word. +# - SemanticRightEnd +# End of the next semantically separated word. +# - WordLeft +# Start of the previous whitespace separated word. +# - WordRight +# Start of the next whitespace separated word. +# - WordLeftEnd +# End of the previous whitespace separated word. +# - WordRightEnd +# End of the next whitespace separated word. +# - Bracket +# Character matching the bracket at the cursor's location. +# - SearchNext +# Beginning of the next match. +# - SearchPrevious +# Beginning of the previous match. +# - SearchStart +# Start of the match to the left of the vi mode cursor. +# - SearchEnd +# End of the match to the right of the vi mode cursor. +# +# - Search mode exclusive actions: +# - SearchFocusNext +# Move the focus to the next search match. +# - SearchFocusPrevious +# Move the focus to the previous search match. +# - SearchConfirm +# - SearchCancel +# - SearchClear +# Reset the search regex. +# - SearchDeleteWord +# Delete the last word in the search regex. +# - SearchHistoryPrevious +# Go to the previous regex in the search history. +# - SearchHistoryNext +# Go to the next regex in the search history. +# +# - macOS exclusive actions: +# - ToggleSimpleFullscreen +# Enter fullscreen without occupying another space. +# +# - Linux/BSD exclusive actions: +# +# - CopySelection +# Copy from the selection buffer. +# - PasteSelection +# Paste from the selection buffer. +# +# - `command`: Fork and execute a specified command plus arguments +# +# The `command` field must be a map containing a `program` string and an +# `args` array of command line parameter strings. For example: +# `{ program: "alacritty", args: ["-e", "vttest"] }` +# +# And optionally: +# +# - `mods`: Key modifiers to filter binding actions +# +# - Command +# - Control +# - Option +# - Super +# - Shift +# - Alt +# +# Multiple `mods` can be combined using `|` like this: +# `mods: Control|Shift`. +# Whitespace and capitalization are relevant and must match the example. +# +# - `mode`: Indicate a binding for only specific terminal reported modes +# +# This is mainly used to send applications the correct escape sequences +# when in different modes. +# +# - AppCursor +# - AppKeypad +# - Search +# - Alt +# - Vi +# +# A `~` operator can be used before a mode to apply the binding whenever +# the mode is *not* active, e.g. `~Alt`. +# +# Bindings are always filled by default, but will be replaced when a new +# binding with the same triggers is defined. To unset a default binding, it can +# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for +# a no-op if you do not wish to receive input characters for that binding. +# +# If the same trigger is assigned to multiple actions, all of them are executed +# in the order they were defined in. +#key_bindings: + #- { key: Paste, action: Paste } + #- { key: Copy, action: Copy } + #- { key: L, mods: Control, action: ClearLogNotice } + #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" } + #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, } + #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } + #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, } + #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } + + # Vi Mode + #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } + #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } + #- { key: Escape, mode: Vi|~Search, action: ClearSelection } + #- { key: I, mode: Vi|~Search, action: ToggleViMode } + #- { key: I, mode: Vi|~Search, action: ScrollToBottom } + #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode } + #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp } + #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown } + #- { key: G, mode: Vi|~Search, action: ScrollToTop } + #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom } + #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp } + #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown } + #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp } + #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown } + #- { key: Y, mode: Vi|~Search, action: Copy } + #- { key: Y, mode: Vi|~Search, action: ClearSelection } + #- { key: Copy, mode: Vi|~Search, action: ClearSelection } + #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection } + #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection } + #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection } + #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection } + #- { key: Return, mode: Vi|~Search, action: Open } + #- { key: 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/configs/awesome/fullscreen.sh b/configs/awesome/fullscreen.sh new file mode 100755 index 0000000..278d65b --- /dev/null +++ b/configs/awesome/fullscreen.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +jabuxa="$HOME/Pictures/screenshots/screenshot-$(date -Iseconds | cut -d '+' -f1).png" && maim -u -n -l -c 0.157,0.333,0.466,0.4 "$jabuxa" && xclip -selection clipboard -t image/png "$jabuxa" + diff --git a/configs/awesome/heavenly/README b/configs/awesome/heavenly/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/configs/awesome/heavenly/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/configs/awesome/heavenly/background.png b/configs/awesome/heavenly/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/configs/awesome/heavenly/background.png differ diff --git a/configs/awesome/heavenly/background_white.png b/configs/awesome/heavenly/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/configs/awesome/heavenly/background_white.png differ diff --git a/configs/awesome/heavenly/layouts/cornerne.png b/configs/awesome/heavenly/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornerne.png differ diff --git a/configs/awesome/heavenly/layouts/cornernew.png b/configs/awesome/heavenly/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornernew.png differ diff --git a/configs/awesome/heavenly/layouts/cornernw.png b/configs/awesome/heavenly/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornernw.png differ diff --git a/configs/awesome/heavenly/layouts/cornernww.png b/configs/awesome/heavenly/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornernww.png differ diff --git a/configs/awesome/heavenly/layouts/cornerse.png b/configs/awesome/heavenly/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornerse.png differ diff --git a/configs/awesome/heavenly/layouts/cornersew.png b/configs/awesome/heavenly/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornersew.png differ diff --git a/configs/awesome/heavenly/layouts/cornersw.png b/configs/awesome/heavenly/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornersw.png differ diff --git a/configs/awesome/heavenly/layouts/cornersww.png b/configs/awesome/heavenly/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/configs/awesome/heavenly/layouts/cornersww.png differ diff --git a/configs/awesome/heavenly/layouts/dwindle.png b/configs/awesome/heavenly/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/configs/awesome/heavenly/layouts/dwindle.png differ diff --git a/configs/awesome/heavenly/layouts/dwindlew.png b/configs/awesome/heavenly/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/configs/awesome/heavenly/layouts/dwindlew.png differ diff --git a/configs/awesome/heavenly/layouts/fairh.png b/configs/awesome/heavenly/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/configs/awesome/heavenly/layouts/fairh.png differ diff --git a/configs/awesome/heavenly/layouts/fairhw.png b/configs/awesome/heavenly/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/configs/awesome/heavenly/layouts/fairhw.png differ diff --git a/configs/awesome/heavenly/layouts/fairv.png b/configs/awesome/heavenly/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/configs/awesome/heavenly/layouts/fairv.png differ diff --git a/configs/awesome/heavenly/layouts/fairvw.png b/configs/awesome/heavenly/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/configs/awesome/heavenly/layouts/fairvw.png differ diff --git a/configs/awesome/heavenly/layouts/floating.png b/configs/awesome/heavenly/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/configs/awesome/heavenly/layouts/floating.png differ diff --git a/configs/awesome/heavenly/layouts/floatingw.png b/configs/awesome/heavenly/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/configs/awesome/heavenly/layouts/floatingw.png differ diff --git a/configs/awesome/heavenly/layouts/fullscreen.png b/configs/awesome/heavenly/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/configs/awesome/heavenly/layouts/fullscreen.png differ diff --git a/configs/awesome/heavenly/layouts/fullscreenw.png b/configs/awesome/heavenly/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/configs/awesome/heavenly/layouts/fullscreenw.png differ diff --git a/configs/awesome/heavenly/layouts/magnifier.png b/configs/awesome/heavenly/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/configs/awesome/heavenly/layouts/magnifier.png differ diff --git a/configs/awesome/heavenly/layouts/magnifierw.png b/configs/awesome/heavenly/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/configs/awesome/heavenly/layouts/magnifierw.png differ diff --git a/configs/awesome/heavenly/layouts/max.png b/configs/awesome/heavenly/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/configs/awesome/heavenly/layouts/max.png differ diff --git a/configs/awesome/heavenly/layouts/maxw.png b/configs/awesome/heavenly/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/configs/awesome/heavenly/layouts/maxw.png differ diff --git a/configs/awesome/heavenly/layouts/spiral.png b/configs/awesome/heavenly/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/configs/awesome/heavenly/layouts/spiral.png differ diff --git a/configs/awesome/heavenly/layouts/spiralw.png b/configs/awesome/heavenly/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/configs/awesome/heavenly/layouts/spiralw.png differ diff --git a/configs/awesome/heavenly/layouts/tile.png b/configs/awesome/heavenly/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/configs/awesome/heavenly/layouts/tile.png differ diff --git a/configs/awesome/heavenly/layouts/tilebottom.png b/configs/awesome/heavenly/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tilebottom.png differ diff --git a/configs/awesome/heavenly/layouts/tilebottomw.png b/configs/awesome/heavenly/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tilebottomw.png differ diff --git a/configs/awesome/heavenly/layouts/tileleft.png b/configs/awesome/heavenly/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tileleft.png differ diff --git a/configs/awesome/heavenly/layouts/tileleftw.png b/configs/awesome/heavenly/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tileleftw.png differ diff --git a/configs/awesome/heavenly/layouts/tiletop.png b/configs/awesome/heavenly/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tiletop.png differ diff --git a/configs/awesome/heavenly/layouts/tiletopw.png b/configs/awesome/heavenly/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tiletopw.png differ diff --git a/configs/awesome/heavenly/layouts/tilew.png b/configs/awesome/heavenly/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/configs/awesome/heavenly/layouts/tilew.png differ diff --git a/configs/awesome/heavenly/submenu.png b/configs/awesome/heavenly/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/configs/awesome/heavenly/submenu.png differ diff --git a/configs/awesome/heavenly/taglist/squarefw.png b/configs/awesome/heavenly/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/configs/awesome/heavenly/taglist/squarefw.png differ diff --git a/configs/awesome/heavenly/taglist/squarew.png b/configs/awesome/heavenly/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/configs/awesome/heavenly/taglist/squarew.png differ diff --git a/configs/awesome/heavenly/theme.lua b/configs/awesome/heavenly/theme.lua new file mode 100644 index 0000000..6475a9b --- /dev/null +++ b/configs/awesome/heavenly/theme.lua @@ -0,0 +1,138 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "Hack Nerd Font 10" + +theme.bg_normal = "#716b60" +theme.bg_focus = "#716b60" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#716b60" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#ffffff" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(0) +theme.border_width = dpi(1) +theme.border_normal = "#716b60" +theme.border_focus = "#d8b675" +theme.border_marked = "#91231c" + +-- 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.."default/submenu.png" +theme.menu_height = dpi(25) +theme.menu_width = dpi(110) + +-- 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.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +--Wibar +theme.wibar_pos = "left" +theme.wibar_width = dpi(50) + +-- theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" +theme.tasklist_disable_icon = true + +-- 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 + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 +-- + diff --git a/configs/awesome/heavenly/titlebar/close_focus.png b/configs/awesome/heavenly/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/close_focus.png differ diff --git a/configs/awesome/heavenly/titlebar/close_normal.png b/configs/awesome/heavenly/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/close_normal.png differ diff --git a/configs/awesome/heavenly/titlebar/floating_focus_active.png b/configs/awesome/heavenly/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/configs/awesome/heavenly/titlebar/floating_focus_active.png differ diff --git a/configs/awesome/heavenly/titlebar/floating_focus_inactive.png b/configs/awesome/heavenly/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/floating_focus_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/floating_normal_active.png b/configs/awesome/heavenly/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/floating_normal_active.png differ diff --git a/configs/awesome/heavenly/titlebar/floating_normal_inactive.png b/configs/awesome/heavenly/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/configs/awesome/heavenly/titlebar/floating_normal_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/maximized_focus_active.png b/configs/awesome/heavenly/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/maximized_focus_active.png differ diff --git a/configs/awesome/heavenly/titlebar/maximized_focus_inactive.png b/configs/awesome/heavenly/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/configs/awesome/heavenly/titlebar/maximized_focus_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/maximized_normal_active.png b/configs/awesome/heavenly/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/maximized_normal_active.png differ diff --git a/configs/awesome/heavenly/titlebar/maximized_normal_inactive.png b/configs/awesome/heavenly/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/configs/awesome/heavenly/titlebar/maximized_normal_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/minimize_focus.png b/configs/awesome/heavenly/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/minimize_focus.png differ diff --git a/configs/awesome/heavenly/titlebar/minimize_normal.png b/configs/awesome/heavenly/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/minimize_normal.png differ diff --git a/configs/awesome/heavenly/titlebar/ontop_focus_active.png b/configs/awesome/heavenly/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/configs/awesome/heavenly/titlebar/ontop_focus_active.png differ diff --git a/configs/awesome/heavenly/titlebar/ontop_focus_inactive.png b/configs/awesome/heavenly/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/ontop_focus_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/ontop_normal_active.png b/configs/awesome/heavenly/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/ontop_normal_active.png differ diff --git a/configs/awesome/heavenly/titlebar/ontop_normal_inactive.png b/configs/awesome/heavenly/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/ontop_normal_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/sticky_focus_active.png b/configs/awesome/heavenly/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/configs/awesome/heavenly/titlebar/sticky_focus_active.png differ diff --git a/configs/awesome/heavenly/titlebar/sticky_focus_inactive.png b/configs/awesome/heavenly/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/configs/awesome/heavenly/titlebar/sticky_focus_inactive.png differ diff --git a/configs/awesome/heavenly/titlebar/sticky_normal_active.png b/configs/awesome/heavenly/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/sticky_normal_active.png differ diff --git a/configs/awesome/heavenly/titlebar/sticky_normal_inactive.png b/configs/awesome/heavenly/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/configs/awesome/heavenly/titlebar/sticky_normal_inactive.png differ diff --git a/configs/awesome/nord/README b/configs/awesome/nord/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/configs/awesome/nord/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/configs/awesome/nord/background.png b/configs/awesome/nord/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/configs/awesome/nord/background.png differ diff --git a/configs/awesome/nord/background_white.png b/configs/awesome/nord/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/configs/awesome/nord/background_white.png differ diff --git a/configs/awesome/nord/layouts/cornerne.png b/configs/awesome/nord/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/configs/awesome/nord/layouts/cornerne.png differ diff --git a/configs/awesome/nord/layouts/cornernew.png b/configs/awesome/nord/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/configs/awesome/nord/layouts/cornernew.png differ diff --git a/configs/awesome/nord/layouts/cornernw.png b/configs/awesome/nord/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/configs/awesome/nord/layouts/cornernw.png differ diff --git a/configs/awesome/nord/layouts/cornernww.png b/configs/awesome/nord/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/configs/awesome/nord/layouts/cornernww.png differ diff --git a/configs/awesome/nord/layouts/cornerse.png b/configs/awesome/nord/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/configs/awesome/nord/layouts/cornerse.png differ diff --git a/configs/awesome/nord/layouts/cornersew.png b/configs/awesome/nord/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/configs/awesome/nord/layouts/cornersew.png differ diff --git a/configs/awesome/nord/layouts/cornersw.png b/configs/awesome/nord/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/configs/awesome/nord/layouts/cornersw.png differ diff --git a/configs/awesome/nord/layouts/cornersww.png b/configs/awesome/nord/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/configs/awesome/nord/layouts/cornersww.png differ diff --git a/configs/awesome/nord/layouts/dwindle.png b/configs/awesome/nord/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/configs/awesome/nord/layouts/dwindle.png differ diff --git a/configs/awesome/nord/layouts/dwindlew.png b/configs/awesome/nord/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/configs/awesome/nord/layouts/dwindlew.png differ diff --git a/configs/awesome/nord/layouts/fairh.png b/configs/awesome/nord/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/configs/awesome/nord/layouts/fairh.png differ diff --git a/configs/awesome/nord/layouts/fairhw.png b/configs/awesome/nord/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/configs/awesome/nord/layouts/fairhw.png differ diff --git a/configs/awesome/nord/layouts/fairv.png b/configs/awesome/nord/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/configs/awesome/nord/layouts/fairv.png differ diff --git a/configs/awesome/nord/layouts/fairvw.png b/configs/awesome/nord/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/configs/awesome/nord/layouts/fairvw.png differ diff --git a/configs/awesome/nord/layouts/floating.png b/configs/awesome/nord/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/configs/awesome/nord/layouts/floating.png differ diff --git a/configs/awesome/nord/layouts/floatingw.png b/configs/awesome/nord/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/configs/awesome/nord/layouts/floatingw.png differ diff --git a/configs/awesome/nord/layouts/fullscreen.png b/configs/awesome/nord/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/configs/awesome/nord/layouts/fullscreen.png differ diff --git a/configs/awesome/nord/layouts/fullscreenw.png b/configs/awesome/nord/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/configs/awesome/nord/layouts/fullscreenw.png differ diff --git a/configs/awesome/nord/layouts/magnifier.png b/configs/awesome/nord/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/configs/awesome/nord/layouts/magnifier.png differ diff --git a/configs/awesome/nord/layouts/magnifierw.png b/configs/awesome/nord/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/configs/awesome/nord/layouts/magnifierw.png differ diff --git a/configs/awesome/nord/layouts/max.png b/configs/awesome/nord/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/configs/awesome/nord/layouts/max.png differ diff --git a/configs/awesome/nord/layouts/maxw.png b/configs/awesome/nord/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/configs/awesome/nord/layouts/maxw.png differ diff --git a/configs/awesome/nord/layouts/spiral.png b/configs/awesome/nord/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/configs/awesome/nord/layouts/spiral.png differ diff --git a/configs/awesome/nord/layouts/spiralw.png b/configs/awesome/nord/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/configs/awesome/nord/layouts/spiralw.png differ diff --git a/configs/awesome/nord/layouts/tile.png b/configs/awesome/nord/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/configs/awesome/nord/layouts/tile.png differ diff --git a/configs/awesome/nord/layouts/tilebottom.png b/configs/awesome/nord/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/configs/awesome/nord/layouts/tilebottom.png differ diff --git a/configs/awesome/nord/layouts/tilebottomw.png b/configs/awesome/nord/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/configs/awesome/nord/layouts/tilebottomw.png differ diff --git a/configs/awesome/nord/layouts/tileleft.png b/configs/awesome/nord/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/configs/awesome/nord/layouts/tileleft.png differ diff --git a/configs/awesome/nord/layouts/tileleftw.png b/configs/awesome/nord/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/configs/awesome/nord/layouts/tileleftw.png differ diff --git a/configs/awesome/nord/layouts/tiletop.png b/configs/awesome/nord/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/configs/awesome/nord/layouts/tiletop.png differ diff --git a/configs/awesome/nord/layouts/tiletopw.png b/configs/awesome/nord/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/configs/awesome/nord/layouts/tiletopw.png differ diff --git a/configs/awesome/nord/layouts/tilew.png b/configs/awesome/nord/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/configs/awesome/nord/layouts/tilew.png differ diff --git a/configs/awesome/nord/submenu.png b/configs/awesome/nord/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/configs/awesome/nord/submenu.png differ diff --git a/configs/awesome/nord/taglist/squarefw.png b/configs/awesome/nord/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/configs/awesome/nord/taglist/squarefw.png differ diff --git a/configs/awesome/nord/taglist/squarew.png b/configs/awesome/nord/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/configs/awesome/nord/taglist/squarew.png differ diff --git a/configs/awesome/nord/theme.lua b/configs/awesome/nord/theme.lua new file mode 100644 index 0000000..71efabf --- /dev/null +++ b/configs/awesome/nord/theme.lua @@ -0,0 +1,140 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() +local main = "#5E81AC" +local urgent = "#BF616A" +local theme = {} +local white = "#D8DEE9" +local black = "#3B4252" + +theme.font = "UbuntuMono Nerd Font 11" + +theme.bg_normal = main +theme.bg_focus = main +theme.bg_urgent = urgent +theme.bg_minimize = main +theme.bg_systray = theme.bg_normal + +theme.fg_normal = white +theme.fg_focus = black +theme.fg_urgent = white +theme.fg_minimize = white + +theme.useless_gap = dpi(0) +theme.border_width = dpi(1) +theme.border_normal = main +theme.border_focus = "#d8b675" +theme.border_marked = "#91231c" + +-- 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.."default/submenu.png" +theme.menu_height = dpi(25) +theme.menu_width = dpi(110) + +-- 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.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +--Wibar +theme.wibar_pos = "left" + +-- theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" +theme.tasklist_disable_icon = true + +-- 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 + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 +-- + diff --git a/configs/awesome/nord/titlebar/close_focus.png b/configs/awesome/nord/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/configs/awesome/nord/titlebar/close_focus.png differ diff --git a/configs/awesome/nord/titlebar/close_normal.png b/configs/awesome/nord/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/configs/awesome/nord/titlebar/close_normal.png differ diff --git a/configs/awesome/nord/titlebar/floating_focus_active.png b/configs/awesome/nord/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/configs/awesome/nord/titlebar/floating_focus_active.png differ diff --git a/configs/awesome/nord/titlebar/floating_focus_inactive.png b/configs/awesome/nord/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/configs/awesome/nord/titlebar/floating_focus_inactive.png differ diff --git a/configs/awesome/nord/titlebar/floating_normal_active.png b/configs/awesome/nord/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/configs/awesome/nord/titlebar/floating_normal_active.png differ diff --git a/configs/awesome/nord/titlebar/floating_normal_inactive.png b/configs/awesome/nord/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/configs/awesome/nord/titlebar/floating_normal_inactive.png differ diff --git a/configs/awesome/nord/titlebar/maximized_focus_active.png b/configs/awesome/nord/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/configs/awesome/nord/titlebar/maximized_focus_active.png differ diff --git a/configs/awesome/nord/titlebar/maximized_focus_inactive.png b/configs/awesome/nord/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/configs/awesome/nord/titlebar/maximized_focus_inactive.png differ diff --git a/configs/awesome/nord/titlebar/maximized_normal_active.png b/configs/awesome/nord/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/configs/awesome/nord/titlebar/maximized_normal_active.png differ diff --git a/configs/awesome/nord/titlebar/maximized_normal_inactive.png b/configs/awesome/nord/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/configs/awesome/nord/titlebar/maximized_normal_inactive.png differ diff --git a/configs/awesome/nord/titlebar/minimize_focus.png b/configs/awesome/nord/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/configs/awesome/nord/titlebar/minimize_focus.png differ diff --git a/configs/awesome/nord/titlebar/minimize_normal.png b/configs/awesome/nord/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/configs/awesome/nord/titlebar/minimize_normal.png differ diff --git a/configs/awesome/nord/titlebar/ontop_focus_active.png b/configs/awesome/nord/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/configs/awesome/nord/titlebar/ontop_focus_active.png differ diff --git a/configs/awesome/nord/titlebar/ontop_focus_inactive.png b/configs/awesome/nord/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/configs/awesome/nord/titlebar/ontop_focus_inactive.png differ diff --git a/configs/awesome/nord/titlebar/ontop_normal_active.png b/configs/awesome/nord/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/configs/awesome/nord/titlebar/ontop_normal_active.png differ diff --git a/configs/awesome/nord/titlebar/ontop_normal_inactive.png b/configs/awesome/nord/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/configs/awesome/nord/titlebar/ontop_normal_inactive.png differ diff --git a/configs/awesome/nord/titlebar/sticky_focus_active.png b/configs/awesome/nord/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/configs/awesome/nord/titlebar/sticky_focus_active.png differ diff --git a/configs/awesome/nord/titlebar/sticky_focus_inactive.png b/configs/awesome/nord/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/configs/awesome/nord/titlebar/sticky_focus_inactive.png differ diff --git a/configs/awesome/nord/titlebar/sticky_normal_active.png b/configs/awesome/nord/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/configs/awesome/nord/titlebar/sticky_normal_active.png differ diff --git a/configs/awesome/nord/titlebar/sticky_normal_inactive.png b/configs/awesome/nord/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/configs/awesome/nord/titlebar/sticky_normal_inactive.png differ diff --git a/configs/awesome/orange/README b/configs/awesome/orange/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/configs/awesome/orange/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/configs/awesome/orange/background.png b/configs/awesome/orange/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/configs/awesome/orange/background.png differ diff --git a/configs/awesome/orange/background_white.png b/configs/awesome/orange/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/configs/awesome/orange/background_white.png differ diff --git a/configs/awesome/orange/layouts/cornerne.png b/configs/awesome/orange/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/configs/awesome/orange/layouts/cornerne.png differ diff --git a/configs/awesome/orange/layouts/cornernew.png b/configs/awesome/orange/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/configs/awesome/orange/layouts/cornernew.png differ diff --git a/configs/awesome/orange/layouts/cornernw.png b/configs/awesome/orange/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/configs/awesome/orange/layouts/cornernw.png differ diff --git a/configs/awesome/orange/layouts/cornernww.png b/configs/awesome/orange/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/configs/awesome/orange/layouts/cornernww.png differ diff --git a/configs/awesome/orange/layouts/cornerse.png b/configs/awesome/orange/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/configs/awesome/orange/layouts/cornerse.png differ diff --git a/configs/awesome/orange/layouts/cornersew.png b/configs/awesome/orange/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/configs/awesome/orange/layouts/cornersew.png differ diff --git a/configs/awesome/orange/layouts/cornersw.png b/configs/awesome/orange/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/configs/awesome/orange/layouts/cornersw.png differ diff --git a/configs/awesome/orange/layouts/cornersww.png b/configs/awesome/orange/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/configs/awesome/orange/layouts/cornersww.png differ diff --git a/configs/awesome/orange/layouts/dwindle.png b/configs/awesome/orange/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/configs/awesome/orange/layouts/dwindle.png differ diff --git a/configs/awesome/orange/layouts/dwindlew.png b/configs/awesome/orange/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/configs/awesome/orange/layouts/dwindlew.png differ diff --git a/configs/awesome/orange/layouts/fairh.png b/configs/awesome/orange/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/configs/awesome/orange/layouts/fairh.png differ diff --git a/configs/awesome/orange/layouts/fairhw.png b/configs/awesome/orange/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/configs/awesome/orange/layouts/fairhw.png differ diff --git a/configs/awesome/orange/layouts/fairv.png b/configs/awesome/orange/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/configs/awesome/orange/layouts/fairv.png differ diff --git a/configs/awesome/orange/layouts/fairvw.png b/configs/awesome/orange/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/configs/awesome/orange/layouts/fairvw.png differ diff --git a/configs/awesome/orange/layouts/floating.png b/configs/awesome/orange/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/configs/awesome/orange/layouts/floating.png differ diff --git a/configs/awesome/orange/layouts/floatingw.png b/configs/awesome/orange/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/configs/awesome/orange/layouts/floatingw.png differ diff --git a/configs/awesome/orange/layouts/fullscreen.png b/configs/awesome/orange/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/configs/awesome/orange/layouts/fullscreen.png differ diff --git a/configs/awesome/orange/layouts/fullscreenw.png b/configs/awesome/orange/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/configs/awesome/orange/layouts/fullscreenw.png differ diff --git a/configs/awesome/orange/layouts/magnifier.png b/configs/awesome/orange/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/configs/awesome/orange/layouts/magnifier.png differ diff --git a/configs/awesome/orange/layouts/magnifierw.png b/configs/awesome/orange/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/configs/awesome/orange/layouts/magnifierw.png differ diff --git a/configs/awesome/orange/layouts/max.png b/configs/awesome/orange/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/configs/awesome/orange/layouts/max.png differ diff --git a/configs/awesome/orange/layouts/maxw.png b/configs/awesome/orange/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/configs/awesome/orange/layouts/maxw.png differ diff --git a/configs/awesome/orange/layouts/spiral.png b/configs/awesome/orange/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/configs/awesome/orange/layouts/spiral.png differ diff --git a/configs/awesome/orange/layouts/spiralw.png b/configs/awesome/orange/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/configs/awesome/orange/layouts/spiralw.png differ diff --git a/configs/awesome/orange/layouts/tile.png b/configs/awesome/orange/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/configs/awesome/orange/layouts/tile.png differ diff --git a/configs/awesome/orange/layouts/tilebottom.png b/configs/awesome/orange/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/configs/awesome/orange/layouts/tilebottom.png differ diff --git a/configs/awesome/orange/layouts/tilebottomw.png b/configs/awesome/orange/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/configs/awesome/orange/layouts/tilebottomw.png differ diff --git a/configs/awesome/orange/layouts/tileleft.png b/configs/awesome/orange/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/configs/awesome/orange/layouts/tileleft.png differ diff --git a/configs/awesome/orange/layouts/tileleftw.png b/configs/awesome/orange/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/configs/awesome/orange/layouts/tileleftw.png differ diff --git a/configs/awesome/orange/layouts/tiletop.png b/configs/awesome/orange/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/configs/awesome/orange/layouts/tiletop.png differ diff --git a/configs/awesome/orange/layouts/tiletopw.png b/configs/awesome/orange/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/configs/awesome/orange/layouts/tiletopw.png differ diff --git a/configs/awesome/orange/layouts/tilew.png b/configs/awesome/orange/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/configs/awesome/orange/layouts/tilew.png differ diff --git a/configs/awesome/orange/submenu.png b/configs/awesome/orange/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/configs/awesome/orange/submenu.png differ diff --git a/configs/awesome/orange/taglist/squarefw.png b/configs/awesome/orange/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/configs/awesome/orange/taglist/squarefw.png differ diff --git a/configs/awesome/orange/taglist/squarew.png b/configs/awesome/orange/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/configs/awesome/orange/taglist/squarew.png differ diff --git a/configs/awesome/orange/theme.lua b/configs/awesome/orange/theme.lua new file mode 100644 index 0000000..2c82082 --- /dev/null +++ b/configs/awesome/orange/theme.lua @@ -0,0 +1,140 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() +local main = "#ff6600" +local urgent = "#1d1ba9" +local theme = {} +local white = "#ffffff" +local black = "#000000" + +theme.font = "Euro Caps 12" + +theme.bg_normal = main +theme.bg_focus = main +theme.bg_urgent = urgent +theme.bg_minimize = main +theme.bg_systray = theme.bg_normal + +theme.fg_normal = black +theme.fg_focus = black +theme.fg_urgent = black +theme.fg_minimize = black + +theme.useless_gap = dpi(0) +theme.border_width = dpi(1) +theme.border_normal = main +theme.border_focus = "#d8b675" +theme.border_marked = "#91231c" + +-- 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.."default/submenu.png" +theme.menu_height = dpi(25) +theme.menu_width = dpi(110) + +-- 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.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +--Wibar +theme.wibar_pos = "left" + +-- theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" +theme.tasklist_disable_icon = true + +-- 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 + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 +-- + diff --git a/configs/awesome/orange/titlebar/close_focus.png b/configs/awesome/orange/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/configs/awesome/orange/titlebar/close_focus.png differ diff --git a/configs/awesome/orange/titlebar/close_normal.png b/configs/awesome/orange/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/configs/awesome/orange/titlebar/close_normal.png differ diff --git a/configs/awesome/orange/titlebar/floating_focus_active.png b/configs/awesome/orange/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/configs/awesome/orange/titlebar/floating_focus_active.png differ diff --git a/configs/awesome/orange/titlebar/floating_focus_inactive.png b/configs/awesome/orange/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/configs/awesome/orange/titlebar/floating_focus_inactive.png differ diff --git a/configs/awesome/orange/titlebar/floating_normal_active.png b/configs/awesome/orange/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/configs/awesome/orange/titlebar/floating_normal_active.png differ diff --git a/configs/awesome/orange/titlebar/floating_normal_inactive.png b/configs/awesome/orange/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/configs/awesome/orange/titlebar/floating_normal_inactive.png differ diff --git a/configs/awesome/orange/titlebar/maximized_focus_active.png b/configs/awesome/orange/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/configs/awesome/orange/titlebar/maximized_focus_active.png differ diff --git a/configs/awesome/orange/titlebar/maximized_focus_inactive.png b/configs/awesome/orange/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/configs/awesome/orange/titlebar/maximized_focus_inactive.png differ diff --git a/configs/awesome/orange/titlebar/maximized_normal_active.png b/configs/awesome/orange/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/configs/awesome/orange/titlebar/maximized_normal_active.png differ diff --git a/configs/awesome/orange/titlebar/maximized_normal_inactive.png b/configs/awesome/orange/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/configs/awesome/orange/titlebar/maximized_normal_inactive.png differ diff --git a/configs/awesome/orange/titlebar/minimize_focus.png b/configs/awesome/orange/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/configs/awesome/orange/titlebar/minimize_focus.png differ diff --git a/configs/awesome/orange/titlebar/minimize_normal.png b/configs/awesome/orange/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/configs/awesome/orange/titlebar/minimize_normal.png differ diff --git a/configs/awesome/orange/titlebar/ontop_focus_active.png b/configs/awesome/orange/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/configs/awesome/orange/titlebar/ontop_focus_active.png differ diff --git a/configs/awesome/orange/titlebar/ontop_focus_inactive.png b/configs/awesome/orange/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/configs/awesome/orange/titlebar/ontop_focus_inactive.png differ diff --git a/configs/awesome/orange/titlebar/ontop_normal_active.png b/configs/awesome/orange/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/configs/awesome/orange/titlebar/ontop_normal_active.png differ diff --git a/configs/awesome/orange/titlebar/ontop_normal_inactive.png b/configs/awesome/orange/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/configs/awesome/orange/titlebar/ontop_normal_inactive.png differ diff --git a/configs/awesome/orange/titlebar/sticky_focus_active.png b/configs/awesome/orange/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/configs/awesome/orange/titlebar/sticky_focus_active.png differ diff --git a/configs/awesome/orange/titlebar/sticky_focus_inactive.png b/configs/awesome/orange/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/configs/awesome/orange/titlebar/sticky_focus_inactive.png differ diff --git a/configs/awesome/orange/titlebar/sticky_normal_active.png b/configs/awesome/orange/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/configs/awesome/orange/titlebar/sticky_normal_active.png differ diff --git a/configs/awesome/orange/titlebar/sticky_normal_inactive.png b/configs/awesome/orange/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/configs/awesome/orange/titlebar/sticky_normal_inactive.png differ diff --git a/configs/awesome/purply/README b/configs/awesome/purply/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/configs/awesome/purply/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/configs/awesome/purply/background.png b/configs/awesome/purply/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/configs/awesome/purply/background.png differ diff --git a/configs/awesome/purply/background_white.png b/configs/awesome/purply/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/configs/awesome/purply/background_white.png differ diff --git a/configs/awesome/purply/layouts/cornerne.png b/configs/awesome/purply/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/configs/awesome/purply/layouts/cornerne.png differ diff --git a/configs/awesome/purply/layouts/cornernew.png b/configs/awesome/purply/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/configs/awesome/purply/layouts/cornernew.png differ diff --git a/configs/awesome/purply/layouts/cornernw.png b/configs/awesome/purply/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/configs/awesome/purply/layouts/cornernw.png differ diff --git a/configs/awesome/purply/layouts/cornernww.png b/configs/awesome/purply/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/configs/awesome/purply/layouts/cornernww.png differ diff --git a/configs/awesome/purply/layouts/cornerse.png b/configs/awesome/purply/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/configs/awesome/purply/layouts/cornerse.png differ diff --git a/configs/awesome/purply/layouts/cornersew.png b/configs/awesome/purply/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/configs/awesome/purply/layouts/cornersew.png differ diff --git a/configs/awesome/purply/layouts/cornersw.png b/configs/awesome/purply/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/configs/awesome/purply/layouts/cornersw.png differ diff --git a/configs/awesome/purply/layouts/cornersww.png b/configs/awesome/purply/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/configs/awesome/purply/layouts/cornersww.png differ diff --git a/configs/awesome/purply/layouts/dwindle.png b/configs/awesome/purply/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/configs/awesome/purply/layouts/dwindle.png differ diff --git a/configs/awesome/purply/layouts/dwindlew.png b/configs/awesome/purply/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/configs/awesome/purply/layouts/dwindlew.png differ diff --git a/configs/awesome/purply/layouts/fairh.png b/configs/awesome/purply/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/configs/awesome/purply/layouts/fairh.png differ diff --git a/configs/awesome/purply/layouts/fairhw.png b/configs/awesome/purply/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/configs/awesome/purply/layouts/fairhw.png differ diff --git a/configs/awesome/purply/layouts/fairv.png b/configs/awesome/purply/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/configs/awesome/purply/layouts/fairv.png differ diff --git a/configs/awesome/purply/layouts/fairvw.png b/configs/awesome/purply/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/configs/awesome/purply/layouts/fairvw.png differ diff --git a/configs/awesome/purply/layouts/floating.png b/configs/awesome/purply/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/configs/awesome/purply/layouts/floating.png differ diff --git a/configs/awesome/purply/layouts/floatingw.png b/configs/awesome/purply/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/configs/awesome/purply/layouts/floatingw.png differ diff --git a/configs/awesome/purply/layouts/fullscreen.png b/configs/awesome/purply/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/configs/awesome/purply/layouts/fullscreen.png differ diff --git a/configs/awesome/purply/layouts/fullscreenw.png b/configs/awesome/purply/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/configs/awesome/purply/layouts/fullscreenw.png differ diff --git a/configs/awesome/purply/layouts/magnifier.png b/configs/awesome/purply/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/configs/awesome/purply/layouts/magnifier.png differ diff --git a/configs/awesome/purply/layouts/magnifierw.png b/configs/awesome/purply/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/configs/awesome/purply/layouts/magnifierw.png differ diff --git a/configs/awesome/purply/layouts/max.png b/configs/awesome/purply/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/configs/awesome/purply/layouts/max.png differ diff --git a/configs/awesome/purply/layouts/maxw.png b/configs/awesome/purply/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/configs/awesome/purply/layouts/maxw.png differ diff --git a/configs/awesome/purply/layouts/spiral.png b/configs/awesome/purply/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/configs/awesome/purply/layouts/spiral.png differ diff --git a/configs/awesome/purply/layouts/spiralw.png b/configs/awesome/purply/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/configs/awesome/purply/layouts/spiralw.png differ diff --git a/configs/awesome/purply/layouts/tile.png b/configs/awesome/purply/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/configs/awesome/purply/layouts/tile.png differ diff --git a/configs/awesome/purply/layouts/tilebottom.png b/configs/awesome/purply/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/configs/awesome/purply/layouts/tilebottom.png differ diff --git a/configs/awesome/purply/layouts/tilebottomw.png b/configs/awesome/purply/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/configs/awesome/purply/layouts/tilebottomw.png differ diff --git a/configs/awesome/purply/layouts/tileleft.png b/configs/awesome/purply/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/configs/awesome/purply/layouts/tileleft.png differ diff --git a/configs/awesome/purply/layouts/tileleftw.png b/configs/awesome/purply/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/configs/awesome/purply/layouts/tileleftw.png differ diff --git a/configs/awesome/purply/layouts/tiletop.png b/configs/awesome/purply/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/configs/awesome/purply/layouts/tiletop.png differ diff --git a/configs/awesome/purply/layouts/tiletopw.png b/configs/awesome/purply/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/configs/awesome/purply/layouts/tiletopw.png differ diff --git a/configs/awesome/purply/layouts/tilew.png b/configs/awesome/purply/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/configs/awesome/purply/layouts/tilew.png differ diff --git a/configs/awesome/purply/submenu.png b/configs/awesome/purply/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/configs/awesome/purply/submenu.png differ diff --git a/configs/awesome/purply/taglist/squarefw.png b/configs/awesome/purply/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/configs/awesome/purply/taglist/squarefw.png differ diff --git a/configs/awesome/purply/taglist/squarew.png b/configs/awesome/purply/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/configs/awesome/purply/taglist/squarew.png differ diff --git a/configs/awesome/purply/theme.lua b/configs/awesome/purply/theme.lua new file mode 100644 index 0000000..ff326c3 --- /dev/null +++ b/configs/awesome/purply/theme.lua @@ -0,0 +1,138 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "Hack Nerd Font 10" + +theme.bg_normal = "#43364b" +theme.bg_focus = "#43364b" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#43364b" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#ffffff" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(0) +theme.border_width = dpi(1) +theme.border_normal = "#43364b" +theme.border_focus = "#da6bd1" +theme.border_marked = "#91231c" + +-- 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.."default/submenu.png" +theme.menu_height = dpi(25) +theme.menu_width = dpi(110) + +-- 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.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +--Wibar +theme.wibar_pos = "left" +theme.wibar_width = dpi(50) + +-- theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" +theme.tasklist_disable_icon = true + +-- 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 + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 +-- + diff --git a/configs/awesome/purply/titlebar/close_focus.png b/configs/awesome/purply/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/configs/awesome/purply/titlebar/close_focus.png differ diff --git a/configs/awesome/purply/titlebar/close_normal.png b/configs/awesome/purply/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/configs/awesome/purply/titlebar/close_normal.png differ diff --git a/configs/awesome/purply/titlebar/floating_focus_active.png b/configs/awesome/purply/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/configs/awesome/purply/titlebar/floating_focus_active.png differ diff --git a/configs/awesome/purply/titlebar/floating_focus_inactive.png b/configs/awesome/purply/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/configs/awesome/purply/titlebar/floating_focus_inactive.png differ diff --git a/configs/awesome/purply/titlebar/floating_normal_active.png b/configs/awesome/purply/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/configs/awesome/purply/titlebar/floating_normal_active.png differ diff --git a/configs/awesome/purply/titlebar/floating_normal_inactive.png b/configs/awesome/purply/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/configs/awesome/purply/titlebar/floating_normal_inactive.png differ diff --git a/configs/awesome/purply/titlebar/maximized_focus_active.png b/configs/awesome/purply/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/configs/awesome/purply/titlebar/maximized_focus_active.png differ diff --git a/configs/awesome/purply/titlebar/maximized_focus_inactive.png b/configs/awesome/purply/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/configs/awesome/purply/titlebar/maximized_focus_inactive.png differ diff --git a/configs/awesome/purply/titlebar/maximized_normal_active.png b/configs/awesome/purply/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/configs/awesome/purply/titlebar/maximized_normal_active.png differ diff --git a/configs/awesome/purply/titlebar/maximized_normal_inactive.png b/configs/awesome/purply/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/configs/awesome/purply/titlebar/maximized_normal_inactive.png differ diff --git a/configs/awesome/purply/titlebar/minimize_focus.png b/configs/awesome/purply/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/configs/awesome/purply/titlebar/minimize_focus.png differ diff --git a/configs/awesome/purply/titlebar/minimize_normal.png b/configs/awesome/purply/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/configs/awesome/purply/titlebar/minimize_normal.png differ diff --git a/configs/awesome/purply/titlebar/ontop_focus_active.png b/configs/awesome/purply/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/configs/awesome/purply/titlebar/ontop_focus_active.png differ diff --git a/configs/awesome/purply/titlebar/ontop_focus_inactive.png b/configs/awesome/purply/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/configs/awesome/purply/titlebar/ontop_focus_inactive.png differ diff --git a/configs/awesome/purply/titlebar/ontop_normal_active.png b/configs/awesome/purply/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/configs/awesome/purply/titlebar/ontop_normal_active.png differ diff --git a/configs/awesome/purply/titlebar/ontop_normal_inactive.png b/configs/awesome/purply/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/configs/awesome/purply/titlebar/ontop_normal_inactive.png differ diff --git a/configs/awesome/purply/titlebar/sticky_focus_active.png b/configs/awesome/purply/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/configs/awesome/purply/titlebar/sticky_focus_active.png differ diff --git a/configs/awesome/purply/titlebar/sticky_focus_inactive.png b/configs/awesome/purply/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/configs/awesome/purply/titlebar/sticky_focus_inactive.png differ diff --git a/configs/awesome/purply/titlebar/sticky_normal_active.png b/configs/awesome/purply/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/configs/awesome/purply/titlebar/sticky_normal_active.png differ diff --git a/configs/awesome/purply/titlebar/sticky_normal_inactive.png b/configs/awesome/purply/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/configs/awesome/purply/titlebar/sticky_normal_inactive.png differ diff --git a/configs/awesome/rc.lua b/configs/awesome/rc.lua new file mode 100644 index 0000000..c2c8f4b --- /dev/null +++ b/configs/awesome/rc.lua @@ -0,0 +1,604 @@ +-- DEPENDS ON LAIN REPOSITORY!!! +-- DEPENDS ON AWESOME-WM-WIDGETS REPOSITORY!!! +-- 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 logout_menu_widget = require ("awesome-wm-widgets.logout-menu-widget.logout-menu") +local wibox = require("wibox") +local lain = require("lain") +local volume_widget = require ("awesome-wm-widgets.volume-widget.volume") +local net_speed_widget = require ("awesome-wm-widgets.net-speed-widget.net-speed") +local gfs = require("gears.filesystem") +-- Theme handling library +local beautiful = require("beautiful") +dpi = beautiful.xresources.apply_dpi +beautiful.init(gfs.get_configuration_dir() .. "theme/theme.lua") +-- Notification library +local naughty = require("naughty") +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. +beautiful.init(gears.filesystem.get_themes_dir() .. "heavenly/theme.lua") + +-- This is used later as the default terminal and editor to run. +terminal = "kitty" +editor = os.getenv("nvim") or "nano" +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.tile, + awful.layout.suit.floating, + 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, +} +-- }}} + +-- {{{ 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 +-- }}} + +-- Widgets +-- +-- Cpu Windgets +local cpu = lain.widget.cpu { + settings = function () + widget:set_markup(" CPU " .. cpu_now.usage .. "% ") + end +} +-- Ram +-- +local mymem = lain.widget.mem { + settings = function () + widget:set_markup(" RAM " .. mem_now.perc.. "% ") + end +} + +-- Separador +tbox_separator = wibox.widget.textbox (" | ") + +-- 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({ "dev  ", "www  ", "chat ﭮ ", "gfx  ", "vm ﰨ ", "sys  ", "mus 阮", "rand  ", "rand  "}, 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 + + + + + + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + mylauncher, + s.mytaglist, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + -- mykeyboardlayout, + volume_widget(), + tbox_separator, + mymem, + tbox_separator, + cpu.widget, + tbox_separator, + net_speed_widget(), + tbox_separator, + mytextclock, + tbox_separator, + logout_menu_widget(), + tbox_separator, + wibox.widget.systray(), + tbox_separator, + 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) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + 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"} + ), + awful.key({ modkey, }, "w", function () mymainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + 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"}), + 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"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "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"}), + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ modkey, "Shift" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({ modkey, "Shift" }, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + 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"}), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the 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"}), + 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"}), + 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"}), + + 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"}), + + -- Rofi + awful.key({ modkey, "Shift" }, "Return", function () + awful.util.spawn("rofi -show drun") end, + {description = "launch rofi", group = "personal"}), + + --Emacs + awful.key({ modkey, "Shift" }, "e", function () + awful.util.spawn("emacsclient -c") end, + {description = "launch doom emacs", group = "personal"}), + + --File Manager + awful.key({ modkey }, "e", function () + awful.util.spawn("pcmanfm") end, + {description = "launch file manager", group = "personal"}), + + --Brave + awful.key({ modkey }, "b", function () + awful.util.spawn("brave-bin") end, + {description = "launch brave", group = "personal"}), + + --Scrot + awful.key({ }, "Print", function () + awful.spawn.with_shell("zsh ~/.config/awesome/fullscreen.sh") end, + {description = "print all screens", group = "personal"}), + -- all minimized clients are restored +-- awful.key({ modkey, "Shift" }, "n", +-- function() +-- local tag = awful.tag.selected() +-- for i=1, #tag:clients() do +-- tag:clients()[i].minimized=false +-- tag:clients()[i]:redraw() +--- end +-- end) + + --Select Print + awful.key({"Shift" }, "Print", function () + awful.spawn.with_shell("zsh ~/.config/awesome/select.sh") end, + {description = "select print area", group = "personal"}), + + 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"}), + + awful.key({}, "", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) +) + +clientkeys = gears.table.join( + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "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"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- 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 + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- 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 + } + }, + + -- Floating clients. + { rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + "pinentry", + }, + class = { + "Arandr", + "Blueman-manager", +-- "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Steam", + "Transmission-gtk", + "Bottles", + "Mainwindow.py", + "League of Legends", + "Pavucontrol", + "Lutris", + "Virt-manager", + "Pcmanfm"}, + + + -- 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 }}, + } +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +end) + +client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + +--Gaps +beautiful.useless_gap = 6 + +-- Autostart + +awful.spawn.with_shell("picom") +awful.spawn.with_shell("numlockx on") +awful.spawn.with_shell("sh ~/main.sh") +awful.spawn.with_shell("nitrogen --restore") +--awful.spawn.with_shell("feh --bg-scale ~/Docs/dotfiles/wallpapers/cabin.png --bg-scale ~/Docs/dotfiles/wallpapers/stairs.jpg") +awful.spawn.with_shell("nm-applet") +awful.spawn.with_shell("lxqt-policykit-agent") diff --git a/configs/awesome/rc.lua.polybar b/configs/awesome/rc.lua.polybar new file mode 100644 index 0000000..398f0e2 --- /dev/null +++ b/configs/awesome/rc.lua.polybar @@ -0,0 +1,650 @@ +-- DEPENDS ON LAIN REPOSITORY!!! +-- DEPENDS ON AWESOME-WM-WIDGETS REPOSITORY!!! +-- 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 logout_menu_widget = require ("awesome-wm-widgets.logout-menu-widget.logout-menu") +local wibox = require("wibox") +local lain = require("lain") +local volume_widget = require ("awesome-wm-widgets.volume-widget.volume") +local net_speed_widget = require ("awesome-wm-widgets.net-speed-widget.net-speed") +local gfs = require("gears.filesystem") +-- Theme handling library +local beautiful = require("beautiful") +dpi = beautiful.xresources.apply_dpi +beautiful.init(gfs.get_configuration_dir() .. "theme/theme.lua") +-- Notification library +local naughty = require("naughty") +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. +beautiful.init(gears.filesystem.get_themes_dir() .. "heavenly/theme.lua") + +-- This is used later as the default terminal and editor to run. +terminal = "kitty" +editor = os.getenv("nvim") or "nano" +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.tile, + awful.layout.suit.floating, + 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, +} +-- }}} + +-- {{{ 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 +-- }}} + +-- Widgets +-- +-- Cpu Windgets +local cpu = lain.widget.cpu { + settings = function () + widget:set_markup(" CPU " .. cpu_now.usage .. "% ") + end +} +-- Ram +-- +local mymem = lain.widget.mem { + settings = function () + widget:set_markup(" RAM " .. mem_now.perc.. "% ") + end +} + +-- Separador +tbox_separator = wibox.widget.textbox (" | ") + +-- 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({ " ", " ", " ", " ", " ", " ", " ", " ", " "}, 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.currenttags, +-- buttons = tasklist_buttons +-- } + + -- Create the wibox +-- s.mywibox = awful.wibar({ position = "top", screen = s }) + + -- Add widgets to the wibox +-- s.mywibox:setup { +-- layout = wibox.layout.align.horizontal, +-- { -- Left widgets +-- layout = wibox.layout.fixed.horizontal, +-- mylauncher, +-- s.mytaglist, +-- s.mypromptbox, +-- }, +-- s.mytasklist, -- Middle widget +-- { -- Right widgets +-- layout = wibox.layout.fixed.horizontal, +-- -- mykeyboardlayout, +-- volume_widget(), +-- tbox_separator, +-- mymem, +-- tbox_separator, +-- cpu.widget, +-- tbox_separator, +-- net_speed_widget(), +-- tbox_separator, +-- mytextclock, +-- tbox_separator, +-- logout_menu_widget(), +-- tbox_separator, +-- wibox.widget.systray(), +-- tbox_separator, +-- 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) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + 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"} + ), + awful.key({ modkey, }, "w", function () mymainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + 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"}), + 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"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "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"}), + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ modkey, "Shift" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({ modkey, "Shift" }, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + 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"}), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the 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"}), + 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"}), + 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"}), + + 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"}), + + -- Rofi + awful.key({ modkey, "Shift" }, "Return", function () + awful.util.spawn("rofi -show drun") end, + {description = "launch rofi", group = "personal"}), + + --Emacs + awful.key({ modkey, "Shift" }, "e", function () + awful.util.spawn("emacs") end, + {description = "launch doom emacs", group = "personal"}), + + --File Manager + awful.key({ modkey }, "e", function () + awful.util.spawn("pcmanfm") end, + {description = "launch file manager", group = "personal"}), + + --Brave + awful.key({ modkey }, "b", function () + awful.util.spawn("brave-bin") end, + {description = "launch brave", group = "personal"}), + + --Scrot + awful.key({ }, "Print", function () + awful.spawn.with_shell("zsh ~/.config/awesome/fullscreen.sh") end, + {description = "print all screens", group = "personal"}), + + + --Select Print + awful.key({"Shift" }, "Print", function () + awful.spawn.with_shell("zsh ~/.config/awesome/select.sh") end, + {description = "select print area", group = "personal"}), + + -- 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"}), + + awful.key({}, "", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) +) + +clientkeys = gears.table.join( + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "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"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- 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 + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- 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 + } + }, + + -- Floating clients. + { rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + "pinentry", + }, + class = { + "Arandr", + "Blueman-manager", + "Gpick", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Wpa_gui", + "veromix", + "Steam", + "Bottles", + "League of Legends", + "Pavucontrol", + "Lutris", + "Nitrogen", + "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 } +-- }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +--client.connect_signal("request::titlebars", function(c) + -- buttons for the titlebar +-- local buttons = gears.table.join( +-- awful.button({ }, 1, function() +-- c:emit_signal("request::activate", "titlebar", {raise = true}) +-- awful.mouse.client.move(c) +-- end), +-- awful.button({ }, 3, function() +-- c:emit_signal("request::activate", "titlebar", {raise = true}) +-- awful.mouse.client.resize(c) +-- end) +-- ) + +-- awful.titlebar(c) : setup { + -- { -- Left +-- awful.titlebar.widget.iconwidget(c), +-- buttons = buttons, +-- layout = wibox.layout.fixed.horizontal +-- }, +-- { -- Middle +-- { -- Title +-- align = "center", +-- widget = awful.titlebar.widget.titlewidget(c) +-- }, +-- buttons = buttons, +-- layout = wibox.layout.flex.horizontal +-- }, +-- { -- Right +-- awful.titlebar.widget.floatingbutton (c), +-- awful.titlebar.widget.maximizedbutton(c), +-- awful.titlebar.widget.stickybutton (c), +-- awful.titlebar.widget.ontopbutton (c), +-- awful.titlebar.widget.closebutton (c), +-- layout = wibox.layout.fixed.horizontal() +-- }, +-- layout = wibox.layout.align.horizontal +-- } +--end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +end) + +client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + +--Gaps +beautiful.useless_gap = 6 + +-- Autostart + +awful.spawn.with_shell("picom") +awful.spawn.with_shell("numlockx on") +awful.spawn.with_shell("kmix") +awful.spawn.with_shell("nm-applet") +awful.spawn.with_shell("sh ~/main.sh") +--awful.spawn.with_shell("feh --bg-scale Docs/dotfiles/wallpapers/cabin.png --bg-scale Docs/dotfiles/wallpapers/stairs.jpg") +awful.spawn.with_shell("/home/lucas/.config/polybar/launch.sh") diff --git a/configs/awesome/select.sh b/configs/awesome/select.sh new file mode 100755 index 0000000..34604e7 --- /dev/null +++ b/configs/awesome/select.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +jabuxa="$HOME/Pictures/screenshots/screenshot-$(date -Iseconds | cut -d '+' -f1).png" && maim -u -s -n -l -c 0.157,0.333,0.466,0.4 "$jabuxa" && xclip -selection clipboard -t image/png "$jabuxa" + diff --git a/configs/kitty/kitty.conf b/configs/kitty/kitty.conf new file mode 100644 index 0000000..13fb16b --- /dev/null +++ b/configs/kitty/kitty.conf @@ -0,0 +1,106 @@ +################################## +############# FONTS ############## +################################## + +font_family InconsolataGo Nerd Font +italic_font InconsolataGo Nerd Font +bold_font InconsolataGo Nerd Font +bold_italic_font InconsolataGo Nerd Font + +font_size 13.0 + +#foreground #FFFFFF +#background #060609 + +#selection_foreground #000000 +#selection_background #dddddd + +adjust_line_height 110% + +################################## +############# CURSOR ############# +################################## + +cursor #FFFFFF +cursor_shape beam +shell_integration no-cursor +select_by_word_characters : @-./_~?&=%+# +repaint_delay 10 +term xterm-kitty +open_url_with default +scrollback_lines 10000 +cursor_blink_interval 0 + + +################################## +############# BORDER ############# +################################## + +window_border_width 0 +window_margin_width 8 +active_border_color #ffffff +inactive_border_color #cccccc + + +################################## +############# COLORS ############# +################################## +background #100a06 +foreground #fbf1c7 +selection_foreground #928374 +selection_background #ebdbb2 + +active_tab_foreground #fbf1c7 +active_tab_background #665c54 +inactive_tab_foreground #a89984 +inactive_tab_background #3c3836 + +# black +color0 #282828 +color8 #7c6f64 + +# red +color1 #cc241d +color9 #fb4934 + +#: green +color2 #98971a +color10 #b8bb26 + +# yellow +color3 #d79921 +color11 #fabd2f + +# blue +color4 #458588 +color12 #83a598 + +# purple +color5 #b16286 +color13 #d3869b + +# aqua +color6 #689d6a +color14 #8ec07c + +# white +color7 #a89984 +color15 #fbf1c7 + + + +################################## +########## KEY BINDINGS ########## +################################## + +map ctrl+l clear_log_notice + +map shift+up scroll_line_up +map shift+down scroll_line_down +map shift+page_up scroll_page_up +map shift+page_down scroll_page_down +map ctrl+shift+home scroll_home +map ctrl+shift+end scroll_end + +map ctrl+equal increase_font_size +map ctrl+minus decrease_font_size diff --git a/configs/mpd/mpd.conf b/configs/mpd/mpd.conf new file mode 100644 index 0000000..bf329d6 --- /dev/null +++ b/configs/mpd/mpd.conf @@ -0,0 +1,21 @@ +music_directory "~/Music" +playlist_directory "~/.config/mpd/playlists" + +auto_update "yes" +bind_to_address "127.0.0.1" +restore_paused "yes" +max_output_buffer_size "16384" + +audio_output { + type "pulse" + name "pulse" + #type "alsa" + #name "ALSA" +} + +audio_output { + type "fifo" + name "Visualizer feed" + path "/tmp/mpd.fifo" + format "44100:16:2" +} diff --git a/configs/ncmpcpp/art.sh b/configs/ncmpcpp/art.sh new file mode 100755 index 0000000..8678e71 --- /dev/null +++ b/configs/ncmpcpp/art.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env sh + +#-------------------------------# +# Generate current song cover # +# ffmpeg version # +#-------------------------------# + +# Path to music directory +# MUSIC_DIR="$HOME/Music" +# Path to output cover +COVER="/tmp/cover.png" +COVER_NOTIFICATION="/tmp/cover_notification.png" +# Size of cover +COVER_SIZE=297 +# Size in pixel of borders to crop out +CROP_BORDER=20 +# Radius or rounded borders +BORDER_RADIUS=10 + +ffmpeg_cover() { + ffmpeg -loglevel 0 -y -i "$1" -vf "crop=min(in_w-$CROP_BORDER\,in_h-$CROP_BORDER):out_w,scale=-2:$COVER_SIZE" "$COVER" +} + +rounded_cover() { + convert -quiet "$COVER" \ + \( +clone -alpha extract \ + -draw "fill black polygon 0,0 0,$BORDER_RADIUS $BORDER_RADIUS,0 fill white circle $BORDER_RADIUS,$BORDER_RADIUS $BORDER_RADIUS,0" \ + \( +clone -flip \) -compose Multiply -composite \ + \( +clone -flop \) -compose Multiply -composite \ + \) -alpha off -compose CopyOpacity -composite "$COVER" +} + +#fallback_find_cover() { +# album=$(dirname "$file") +# album_cover="$(find "$album" -type d -exec find {} -maxdepth 1 -type f -iregex ".*\(covers?\|folders?\|artworks?\|fronts?\|scans?\).*[.]\(jpe?g\|png\|gif\|bmp\)" \;)" +# [ -z "$album_cover" ] && album_cover="$(find "$album" -type d -exec find {} -maxdepth 1 -type f -iregex ".*[.]\(jpe?g\|png\|gif\|bmp\)" \;)" +# [ -z "$album_cover" ] && album_cover="$(find "${album%/*}" -type d -exec find {} -maxdepth 1 -type f -iregex ".*\(covers?\|folders?\|artworks?\|fronts?\|scans?\|booklets?\).*[.]\(jpe?g\|png\|gif\|bmp\)" \;)" +# album_cover="$(echo "$album_cover" | grep -iv '\(back\|cd\)\.' | head -n1)" +#} + +mpris_album_art() { + playerctl metadata mpris:artUrl | sed 's#file://##' + # mpris_player_control -t | grep 'artUrl' | cut -f 3 -d '|' | sed 's#file://##' +} + +notification() { + convert "$COVER" -resize 144x144 "$COVER_NOTIFICATION" + notify-send -i "$COVER_NOTIFICATION" "$(playerctl metadata --format '{{title}} {{album}}')" +} + +main() { + # file="$MUSIC_DIR/$(mpc --format %file% current)" + + # [ -n "$file" ] && ffmpeg_cover "$file" && rounded_cover || + # fallback_find_cover && ffmpeg_cover "$album_cover" && rounded_cover + [ ! -x "$(which playerctl)" ] && echo "Install playerctl and mpDris2 for this script to work." + + ffmpeg_cover "$(mpris_album_art)" && rounded_cover + notification +} + +main diff --git a/configs/ncmpcpp/config b/configs/ncmpcpp/config new file mode 100644 index 0000000..a3b0856 --- /dev/null +++ b/configs/ncmpcpp/config @@ -0,0 +1,98 @@ + ncmpcpp_directory = "~/.ncmpcpp" +mpd_host = "127.0.0.1" +mpd_port = "6600" +mpd_music_dir = "/home/lucas/Music" +mpd_crossfade_time = 5 +mpd_connection_timeout = "5" + + # Playlist + playlist_disable_highlight_delay = "0" + playlist_display_mode = "columns" + playlist_show_remaining_time = "yes" + +execute_on_song_change = "~/.ncmpcpp/art.sh" + + + +alternative_header_first_line_format = "$3$aqqu$/a {$3%a - $3}{$3%t$3}|{$7%f$7} $3$atqq$/a$3" +alternative_header_second_line_format = "{{$6%b$9}{ [$6%y$9]}}|{%D}" +user_interface = "alternative" +default_place_to_search_in = "database" + +browser_display_mode = "columns" + +song_columns_list_format = "(6)[yellow]{l} (69)[cyan]{f}" + +song_list_format = "{%a - }{%t}|{$7%f$7}$R{$4(%l)$4}" +song_status_format = (6)[yellow]{l} (69)[cyan]{f} + +#song_library_format = {$4%n - }{$5%t}|{$6%f} + +current_item_prefix = "$(cyan)$r" + + +colors_enabled = "yes" +main_window_color = "green" +header_window_color = "green" +volume_color = "green" +progressbar_color = "green" +statusbar_color = "green" +active_window_border = "blue" +progressbar_elapsed_color = "cyan" +alternative_ui_separator_color = "yellow" +player_state_color = "green" +empty_tag_color = "yellow" +color1 = "green" +color2 = "cyan" + + +# visualizer +#visualizer_fifo_path = "/tmp/mpd.fifo" +visualizer_output_name = "my_fifo" +visualizer_in_stereo = "no" +visualizer_type = "spectrum" +visualizer_spectrum_smooth_look = yes +visualizer_color = cyan +visualizer_fps = 144 +visualizer_spectrum_dft_size = 5 +visualizer_spectrum_gain = 25 + + +## Navigation ## +cyclic_scrolling = "yes" +header_text_scrolling = "yes" +jump_to_now_playing_song_at_start = "yes" +lines_scrolled = "2" + +## Other ## +system_encoding = "utf-8" +regular_expressions = "extended" + + + +## Selected tracks ## +selected_item_prefix = "* " +discard_colors_if_item_is_selected = "no" + +## Seeking ## +incremental_seeking = "yes" +seek_time = "1" + +## Visivility ## +header_visibility = "yes" +statusbar_visibility = "yes" +titles_visibility = "yes" + +progressbar_look = "=>-" + +now_playing_prefix = "> " +autocenter_mode = "yes" +centered_cursor = "yes" + +# Misc +display_bitrate = "yes" +# enable_window_title = "no" +follow_now_playing_lyrics = "yes" +ignore_leading_the = "yes" +empty_tag_marker = "" +display_volume_level = yes diff --git a/configs/ncmpcpp/config1 b/configs/ncmpcpp/config1 new file mode 100644 index 0000000..4d111b5 --- /dev/null +++ b/configs/ncmpcpp/config1 @@ -0,0 +1,46 @@ +ncmpcpp_directory = "~/.ncmpcpp" +mpd_host = "127.0.0.1" +mpd_port = "6600" +mpd_music_dir = "/home/lucas/Music" +mpd_crossfade_time = 5 + +[visualizer] +visualizer_fifo_path = "/tmp/mpd.fifo" +visualizer_in_stereo = "no" +visualizer_type = "spectrum" +visualizer_output_name = "my_fifo" +visualizer_look = "●┃" +visualizer_color = "default" + +[header] +header_visibility = "no" +header_window_color = "default" +playlist_shorten_total_times = "yes" +volume_color = "default" +state_line_color = "black" +display_bitrate = "no" + +[playlist] +playlist_display_mode = "classic" +song_list_format = "{{%a - %t}|{%f}}{$R%l}" +now_playing_prefix = "$b$5" +now_playing_suffix = "$/b$9" + +[statusbar] +progressbar_look = "─╼ " +progressbar_color = "black" +statusbar_visibility = "yes" +statusbar_color = "default" +song_status_format = "{{%a{ - %t}}|{ - %f}{ - %b{ (%y)}}}" + +[library] +song_library_format = "{{%a - %t}|{%f}}{$R%l}" +empty_tag_color = "black" + +[global] +colors_enabled = "yes" +main_window_color = "default" +centered_cursor = "yes" +enable_window_title = "yes" +external_editor = "nvim" + diff --git a/configs/ncmpcpp/cover.sh b/configs/ncmpcpp/cover.sh new file mode 100755 index 0000000..f2464bd --- /dev/null +++ b/configs/ncmpcpp/cover.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +#-------------------------------# +# Display current cover # +#-------------------------------# + +source "`ueberzug library`" + +COVER="/tmp/cover.png" +X_PADDING=0 +Y_PADDING=0 + +function add_cover() { + ImageLayer::add [identifier]="cover" [x]="$X_PADDING" [y]="$Y_PADDING" [path]="$COVER" +} + +function remove_cover() { + ImageLayer::remove [identifier]="cover" +} + +function you_wait() { + while inotifywait -q -q -e close_write "$COVER"; do + add_cover + done +} + +clear + +ImageLayer 0< <( + add_cover + you_wait +) diff --git a/configs/ncmpcpp/dasa b/configs/ncmpcpp/dasa new file mode 100644 index 0000000..5a207b5 --- /dev/null +++ b/configs/ncmpcpp/dasa @@ -0,0 +1,561 @@ +############################################################################# +# This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ## +# or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ## +############################################################################# + +#### directories ###### +# +# Directory for storing ncmpcpp related files. Changing it is useful if you +# want to store everything somewhere else and provide command line setting for +# alternative location to config file which defines that while launching +# ncmpcpp. +# + +ncmpcpp_directory = ~/.config/ncmpcpp + +# +# Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other +# MPD clients (eg. ncmpc) also use that location. +# + +# lyrics_directory = ~/.lyrics + +#### connection settings ##### + +mpd_host = localhost + +mpd_port = 6600 + +mpd_connection_timeout = 5 + +# Needed for tag editor and file operations to work. +# +mpd_music_dir = ~/Music/music/ + +mpd_crossfade_time = 0 + +# Exclude pattern for random song action +# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html +# random_exclude_pattern = "^(temp|midi_songs).*" + +#### music visualizer ##### +# +# Note: In order to make music visualizer work you'll need to use mpd fifo +# output, whose format parameter has to be set to 44100:16:1 for mono +# visualization or 44100:16:2 for stereo visualization. Example configuration +# (it has to be put into mpd.conf): +# +# audio_output { +# type "fifo" +# name "Visualizer feed" +# path "/tmp/mpd.fifo" +# format "44100:16:2" +# } +# + +visualizer_fifo_path = /tmp/mpd.fifo + +# +# Note: Below parameter is needed for ncmpcpp to determine which output +# provides data for visualizer and thus allow syncing between visualization and +# sound as currently there are some problems with it. +# + +visualizer_output_name = "my_fifo" + +# +# If you set format to 44100:16:2, make it 'yes'. +# +visualizer_in_stereo = yes + +# +# Note: Below parameter defines how often ncmpcpp has to "synchronize" +# visualizer and audio outputs. 30 seconds is optimal value, but if you +# experience synchronization problems, set it to lower value. Keep in mind +# that sane values start with >=10. +# + +visualizer_sync_interval = 30 + +# +# Note: To enable spectrum frequency visualization you need to compile ncmpcpp +# with fftw3 support. +# + +# Available values: spectrum, wave, wave_filled, ellipse. +# +visualizer_type = spectrum + +# visualizer_look = "" +visualizer_look = "▋▋" + +visualizer_color = blue, cyan, green, yellow, magenta, red + +# Alternative subset of 256 colors for terminals that support it. +# +# visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 + +#### system encoding ##### +# +# ncmpcpp should detect your charset encoding but if it failed to do so, you +# can specify charset encoding you are using here. +# +# Note: You can see whether your ncmpcpp build supports charset detection by +# checking output of `ncmpcpp --version`. +# +# Note: Since MPD uses UTF-8 by default, setting this option makes sense only +# if your encoding is different. +# + +# system_encoding = "" + +#### delays ##### + +# Time of inactivity (in seconds) after playlist highlighting will be disabled +# (0 = always on). +# +playlist_disable_highlight_delay = 0 + +# Defines how long messages are supposed to be visible. +# +message_delay_time = 1 + +#### song format ##### +# +# For a song format you can use: +# +# %l - length +# %f - filename +# %D - directory +# %a - artist +# %A - album artist +# %t - title +# %b - album +# %y - date +# %n - track number (01/12 -> 01) +# %N - full track info (01/12 -> 01/12) +# %g - genre +# %c - composer +# %p - performer +# %d - disc +# %C - comment +# %P - priority +# $R - begin right alignment +# +# If you want to make sure that a part of the format is displayed only when +# certain tags are present, you can archieve it by grouping them with brackets, +# e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are +# present or '' otherwise. It is also possible to define a list of +# alternatives by providing several groups and separating them with '|', +# e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is +# not present. +# +# Note: If you want to set limit on maximal length of a tag, just put the +# appropriate number between % and character that defines tag type, e.g. to +# make album take max. 20 terminal cells, use '%20b'. +# +# In addition, formats support markers used for text attributes. They are +# followed by character '$'. After that you can put: +# +# - 0 - default window color (discards all other colors) +# - 1 - black +# - 2 - red +# - 3 - green +# - 4 - yellow +# - 5 - blue +# - 6 - magenta +# - 7 - cyan +# - 8 - white +# - 9 - end of current color +# - b - bold text +# - u - underline text +# - r - reverse colors +# - a - use alternative character set +# +# If you don't want to use a non-color attribute anymore, just put it again, +# but this time insert character '/' between '$' and attribute character, +# e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with +# reversed colors. +# +# If you want to use 256 colors and/or background colors in formats (the naming +# scheme is described below in section about color definitions), it can be done +# with the syntax $(COLOR), e.g. to set the artist tag to one of the +# non-standard colors and make it have yellow background, you need to write +# $(197_yellow)%a$(end). Note that for standard colors this is interchangable +# with attributes listed above. +# +# Note: colors can be nested. +# + +# song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9} +song_list_format = " $0%n $1• $8%t $R$0%a " + +# song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} +song_status_format = " $3%t $0 $1%a " + +song_library_format = {%n - }{%t}|{%f} + +alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b + +alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} + +current_item_prefix = "$(blue)$r" + +current_item_suffix = "$/r$(end)" + +current_item_inactive_column_prefix = $(white)$r + +current_item_inactive_column_suffix = $/r$(end) + +# now_playing_prefix = $b +now_playing_prefix = "$b$2 喇 $8" + +# now_playing_suffix = $/b +now_playing_suffix = "$8$/b" + +# browser_playlist_prefix = "$2playlist$9 " +browser_playlist_prefix = "$2 ♥ $0 " + +selected_item_prefix = $6 + +selected_item_suffix = $9 + +modified_item_prefix = $3> $9 + +# +# Note: attributes are not supported for the following variables. +# +# song_window_title_format = {%a - }{%t}|{%f} +song_window_title_format = "%t  %b" +# +# Note: Below variables are used for sorting songs in browser. The sort mode +# determines how songs are sorted, and can be used in combination with a sort +# format to specify a custom sorting format. Available values for +# browser_sort_mode are "name", "mtime", "format" and "noop". +# + +# browser_sort_mode = name +browser_sort_mode="mtime" + +browser_sort_format = {%a - }{%t}|{%f} {(%l)} + +#### columns settings ##### +# +# syntax of song columns list format is "column column etc." +# +# - syntax for each column is: +# +# (width of the column)[color of the column]{displayed tag} +# +# Note: Width is by default in %, if you want a column to have fixed size, add +# 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of +# screen (so the real width will depend on actual screen size), whereas +# (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen +# is. +# +# - color is optional (if you want the default one, leave the field empty). +# +# Note: You can give a column additional attributes by putting appropriate +# character after displayed tag character. Available attributes are: +# +# - r - column will be right aligned +# - E - if tag is empty, empty tag marker won't be displayed +# +# You can also: +# +# - give a column custom name by putting it after attributes, separated with +# character ':', e.g. {lr:Length} gives you right aligned column of lengths +# named "Length". +# +# - define sequence of tags, that have to be displayed in case predecessor is +# empty in a way similar to the one in classic song format, i.e. using '|' +# character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to +# display artist tag and then composer and performer if previous ones are not +# available. +# + +# song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l} +song_columns_list_format = "(36)[white]{t|f:Title}(28f)[white]{}" + +#### various settings ##### + +# +# Note: Custom command that will be executed each time song changes. Useful for +# notifications etc. +# +execute_on_song_change = "~/.ncmpcpp/art.sh" + +# +# Note: Custom command that will be executed each time player state +# changes. The environment variable MPD_PLAYER_STATE is set to the current +# state (either unknown, play, pause, or stop) for its duration. +# + +execute_on_player_state_change = "" + +playlist_show_mpd_host = no + +playlist_show_remaining_time = no + +playlist_shorten_total_times = no + +playlist_separate_albums = no + +# +# Note: Possible display modes: classic, columns. +# +playlist_display_mode = columns + +browser_display_mode = classic + +search_engine_display_mode = classic + +playlist_editor_display_mode = classic + +discard_colors_if_item_is_selected = yes + +show_duplicate_tags = yes + +incremental_seeking = yes + +seek_time = 1 + +volume_change_step = 2 + +autocenter_mode = yes + +centered_cursor = no + +# +# Note: You can specify third character which will be used to build 'empty' +# part of progressbar. +# +# progressbar_look = => +progressbar_look = "▃▃▃" + +# Available values: database, playlist. +# +default_place_to_search_in = database + +# Available values: classic, alternative. +# +user_interface = classic + +data_fetching_delay = yes + +# Available values: artist, album_artist, date, genre, composer, performer. +# +media_library_primary_tag = artist + +media_library_albums_split_by_date = yes + +# Available values: wrapped, normal. +# +default_find_mode = wrapped + +default_tag_editor_pattern = %n - %t + +header_visibility = no + +statusbar_visibility = no + +# Show the "Connected to ..." message on startup +# connected_message_on_startup = no + +titles_visibility = no + +header_text_scrolling = yes + +cyclic_scrolling = no + +lines_scrolled = 2 + +# lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet + +follow_now_playing_lyrics = no + +fetch_lyrics_for_current_song_in_background = no + +store_lyrics_in_song_dir = no + +generate_win32_compatible_filenames = yes + +allow_for_physical_item_deletion = no + +# +# Note: If you set this variable, ncmpcpp will try to get info from last.fm in +# language you set and if it fails, it will fall back to english. Otherwise it +# will use english the first time. +# +# Note: Language has to be expressed as an ISO 639 alpha-2 code. +# +lastfm_preferred_language = en + +space_add_mode = add_remove + +show_hidden_files_in_local_browser = no + +# +# How shall screen switcher work? +# +# - "previous" - switch between the current and previous screen. +# - "screen1,...,screenN" - switch between given sequence of screens. +# +# Screens available for use: help, playlist, browser, search_engine, +# media_library, playlist_editor, tag_editor, outputs, visualizer, clock, +# lyrics, last_fm. +# +screen_switcher_mode = playlist, browser + +# +# Note: You can define startup screen by choosing screen from the list above. +# +startup_screen = playlist + +# +# Note: You can define startup slave screen by choosing screen from the list +# above or an empty value for no slave screen. +# +startup_slave_screen = "" + +startup_slave_screen_focus = no + +# +# Default width of locked screen (in %). Acceptable values are from 20 to 80. +# + +locked_screen_width_part = 50 + +ask_for_locked_screen_width_part = yes + +jump_to_now_playing_song_at_start = yes + +ask_before_clearing_playlists = no + +clock_display_seconds = no + +display_volume_level = yes + +display_bitrate = no + +display_remaining_time = no + +# Available values: none, basic, extended, perl. +# +regular_expressions = perl + +# +# Note: if below is enabled, ncmpcpp will ignore leading "The" word while +# sorting items in browser, tags in media library, etc. +# +ignore_leading_the = no + +# +# Note: if below is enabled, ncmpcpp will ignore diacritics while searching and +# filtering lists. This takes an effect only if boost was compiled with ICU +# support. +# +ignore_diacritics = no + +block_search_constraints_change_if_items_found = yes + +mouse_support = yes + +mouse_list_scroll_whole_page = yes + +empty_tag_marker=" -- ‼ -- " + +tags_separator = " | " + +tag_editor_extended_numeration = no + +media_library_sort_by_mtime = no + +enable_window_title = yes + +# +# Note: You can choose default search mode for search engine. Available modes +# are: +# +# - 1 - use mpd built-in searching (no regexes, pattern matching) +# +# - 2 - use ncmpcpp searching (pattern matching with support for regexes, but +# if your mpd is on a remote machine, downloading big database to process +# it can take a while +# +# - 3 - match only exact values (this mode uses mpd function for searching in +# database and local one for searching in current playlist) +# + +search_engine_default_search_mode = 1 + +external_editor = nvim + +# Note: set to yes if external editor is a console application. +# +use_console_editor = yes + +#### colors definitions ##### +# +# It is possible to set a background color by setting a color value +# "_", e.g. red_black will set foregound color to red +# and background color to black. +# +# In addition, for terminals that support 256 colors it is possible to set one +# of them by using a number in range [1, 256] instead of color name, +# e.g. numerical value corresponding to red_black is 2_1. To find out if the +# terminal supports 256 colors, run ncmpcpp and check out the bottom of the +# help screen for list of available colors and their numerical values. +# +# What is more, there are two special values for the background color: +# "transparent" and "current". The first one explicitly sets the background to +# be transparent, while the second one allows you to preserve current +# background color and change only the foreground one. It's used implicitly +# when background color is not specified. +# +# Moreover, it is possible to attach format information to selected color +# variables by appending to their end a colon followed by one or more format +# flags, e.g. black:b or red:ur. The following variables support this syntax: +# visualizer_color, color1, color2, empty_tag_color, volume_color, +# state_line_color, state_flags_color, progressbar_color, +# progressbar_elapsed_color, player_state_color, statusbar_time_color, +# alternative_ui_separator_color. +# +# Note: due to technical limitations of older ncurses version, if 256 colors +# are used there is a possibility that you'll be able to use only colors with +# transparent background. + +colors_enabled = yes + +empty_tag_color = red + +header_window_color = red + +volume_color = default + +state_line_color = black + +state_flags_color = green:b + +main_window_color = green + +color1 = white + +color2 = green + +progressbar_color = black:b + +progressbar_elapsed_color = red:b + +statusbar_color = default + +statusbar_time_color = default:b + +player_state_color = default:b + +alternative_ui_separator_color = black:b + +window_border_color = green + +active_window_border = red + diff --git a/configs/ncmpcpp/kitty.sh b/configs/ncmpcpp/kitty.sh new file mode 100755 index 0000000..2637fa3 --- /dev/null +++ b/configs/ncmpcpp/kitty.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +#-------------------------------# +# Display current cover # +#-------------------------------# + +COVER="/tmp/cover.png" +X_PADDING=27 +Y_PADDING=0 + +function add_cover() { + kitty +kitten icat --transfer-mode=stream --silent --align=left --z-index=-1 --place="300x300@$((COLUMNS - X_PADDING))x${Y_PADDING}" "$COVER" +} + +function remove_cover() { + kitty +kitten icat --transfer-mode=stream --silent --clear +} + +function you_wait() { + while inotifywait -q -q -e close_write "$COVER"; do + remove_cover + add_cover + done +} + +while : +do + add_cover + you_wait +done diff --git a/configs/ncmpcpp/tmux_session b/configs/ncmpcpp/tmux_session new file mode 100644 index 0000000..17d097a --- /dev/null +++ b/configs/ncmpcpp/tmux_session @@ -0,0 +1,7 @@ +neww +set -g status off +send-keys 'kitty +kitten icat /tmp/cover.png' C-m +split-window -h +resize-pane -t 0 -x 35 +select-pane -t 1 +send-keys 'ncmpcpp' C-m diff --git a/configs/neofetch/config.conf b/configs/neofetch/config.conf new file mode 100644 index 0000000..0db1d6b --- /dev/null +++ b/configs/neofetch/config.conf @@ -0,0 +1,864 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + prin "Distro" + prin "\n I use" "$(source /etc/os-release && printf $NAME)" + prin "Hardware" + info "\n Mobo" model + info "\n CPU" cpu + info "\n GPU" gpu + prin "\n RAM" "$(echo `awk '/MemTotal/ {printf( "%d\n", $2 / 1024 )}' /proc/meminfo`) MiB" + prin "Sys Info" + info "\n Kernel" kernel + info "\n Packages" packages + info "\n Shell" shell + info "\n DE" de + info "\n WM" wm + info "\n Terminal" term + prin "Usage" + info "\n CPU" cpu_usage + info "\n RAM" memory + prin "Driver" + info "\n GPU" gpu_driver + + # info "GPU Driver" gpu_driver # Linux/macOS only + # info "CPU Usage" cpu_usage + # info "Disk" disk + # info "Battery" battery + # info "Font" font + # info "Song" song + # [[ "$player" ]] && prin "Music Player" "$player" + # info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info cols +} + +# Title + + +# Hide/Show Fully qualified domain name. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="off" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="on" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="off" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="tiny" + + +# Memory + + +# Show memory pecentage in output. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="on" + +# Change memory output unit. +# +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="mib" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="off" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="off" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="on" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="C" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="on" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="off" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="mount" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="auto" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% \n %album% \n %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="on" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=" ->" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="off" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="" + +#jabuxa +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="fit" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/configs/opentabletdriver/99-opentabletdriver.rules b/configs/opentabletdriver/99-opentabletdriver.rules new file mode 100644 index 0000000..96a6e43 --- /dev/null +++ b/configs/opentabletdriver/99-opentabletdriver.rules @@ -0,0 +1,751 @@ +# Dynamically generated with the OpenTabletDriver.udev tool. https://github.com/OpenTabletDriver/OpenTabletDriver +KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" +# 10moon 1060N +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Acepen AP 1060 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0082", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0082", MODE="0666" +# Artisul M0610 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Artisul A1201 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Artisul AP604 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0054", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0054", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0054", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon 1060 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M106K +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M10K +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M1230 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon PD1161 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon PD1560 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon S56K +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon S620 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon S630 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M106K Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M10K Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M1220 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon M6 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Gaomon PD1561 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Genius G-Pen 560 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Genius i608x +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="501a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="501a", MODE="0666" +# Genius i405x +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5010", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5010", MODE="0666" +# Huion G10T +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion GC610 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion GT-220 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion GT-221 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H420 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H420X +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H430P +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H610 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H640P +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion HS611 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion HS64 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas 16 (2021) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas 16 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas 20 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas 22 Plus +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 12 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 16 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 20 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion New 1060 Plus +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Q11K +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Q620M +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion WH1409 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion WH1409 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion 420 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H1060P +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H1161 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H580X +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H610 Pro V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H610X +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H642 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion H950P +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion HC16 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion HS610 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion HS95 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas 13 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 13 (2.5k) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 13 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Kamvas Pro 24 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion New 1060 Plus (2048) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Huion Q11K V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo A610 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="1903", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="1903", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="1903", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo A640 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a640", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a640", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a640", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo Intangbo M +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a013", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a013", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a013", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo Intangbo S +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a014", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a014", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a014", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo Ninos M +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a005", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a005", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a005", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo Ninos S +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a006", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a006", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a006", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# Parblo A609 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b57", ATTRS{idProduct}=="9091", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0b57", ATTRS{idProduct}=="9091", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0b57", ATTRS{idProduct}=="9091", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# UC-Logic 1060N +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# UC-Logic PF1209 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0042", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0042", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0042", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# UGTABLET M708 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0081", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK A15 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0004", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0004", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0004", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK A30 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0002", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0002", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0002", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK A50 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK A50 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0003", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK S640 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK S640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0001", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK VK640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0005", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0005", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0005", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# VEIKK A15 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0006", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0006", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2feb", ATTRS{idProduct}=="0006", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# ViewSonic Woodpad PF0730 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0543", ATTRS{idProduct}=="e667", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0543", ATTRS{idProduct}=="e667", MODE="0666" +# Wacom CTE-460 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="006a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="006a", MODE="0666" +# Wacom CTF-430 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0069", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0069", MODE="0666" +# Wacom CTH-460 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d6", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d1", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d6", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d1", MODE="0666" +# Wacom CTH-461 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d2", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00da", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d2", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00da", MODE="0666" +# Wacom CTH-470 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00de", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00de", MODE="0666" +# Wacom CTH-480 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0302", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0302", MODE="0666" +# Wacom CTH-490 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033c", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033c", MODE="0666" +# Wacom CTH-670 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00df", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00df", MODE="0666" +# Wacom CTH-680 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0303", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0303", MODE="0666" +# Wacom CTH-690 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033e", MODE="0666" +# Wacom CTL-4100 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0374", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0374", MODE="0666" +# Wacom CTL-460 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d4", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d4", MODE="0666" +# Wacom CTL-470 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00dd", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00dd", MODE="0666" +# Wacom CTL-471 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0300", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0300", MODE="0666" +# Wacom CTL-472 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="037a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="037a", MODE="0666" +# Wacom CTL-480 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="030e", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="030e", MODE="0666" +# Wacom CTL-490 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033b", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033b", MODE="0666" +# Wacom CTL-671 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0301", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0301", MODE="0666" +# Wacom CTL-672 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="037b", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="037b", MODE="0666" +# Wacom CTL-680 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0323", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0323", MODE="0666" +# Wacom CTL-690 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="033d", MODE="0666" +# Wacom DTC-133 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="03a6", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="03a6", MODE="0666" +# Wacom ET-0405-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0010", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0010", MODE="0666" +# Wacom ET-0405A-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0011", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0011", MODE="0666" +# Wacom FT-0405-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0060", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0060", MODE="0666" +# Wacom GD-0405-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0020", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0020", MODE="0666" +# Wacom GD-0608-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0021", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0021", MODE="0666" +# Wacom GD-0912-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0022", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0022", MODE="0666" +# Wacom GD-1212-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0023", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0023", MODE="0666" +# Wacom GD-1218-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0024", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0024", MODE="0666" +# Wacom MTE-450 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0065", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0065", MODE="0666" +# Wacom PTH-450 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0026", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0026", MODE="0666" +# Wacom PTH-451 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0314", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0314", MODE="0666" +# Wacom PTH-460 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0392", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0392", MODE="0666" +# Wacom PTH-650 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0027", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0027", MODE="0666" +# Wacom PTH-651 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0315", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0315", MODE="0666" +# Wacom PTH-660 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0357", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0360", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0357", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0360", MODE="0666" +# Wacom PTH-850 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0028", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0028", MODE="0666" +# Wacom PTH-851 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0317", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0317", MODE="0666" +# Wacom PTH-860 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0358", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0358", MODE="0666" +# Wacom PTK-1240 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bb", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bb", MODE="0666" +# Wacom PTK-440 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b8", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b8", MODE="0666" +# Wacom PTK-450 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0029", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0029", MODE="0666" +# Wacom PTK-540WL +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bc", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bc", MODE="0666" +# Wacom PTK-640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b9", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b9", MODE="0666" +# Wacom PTK-650 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="002a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="002a", MODE="0666" +# Wacom PTK-840 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00ba", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00ba", MODE="0666" +# Wacom CTE-430 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0013", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0013", MODE="0666" +# Wacom CTE-440 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0015", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0015", MODE="0666" +# Wacom CTE-450 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0017", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0017", MODE="0666" +# Wacom CTE-630 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0014", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0014", MODE="0666" +# Wacom CTE-640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0016", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0016", MODE="0666" +# Wacom CTE-650 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0018", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0018", MODE="0666" +# Wacom CTH-661 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d3", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d3", MODE="0666" +# Wacom CTL-4100WL +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0376", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0377", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="03c5", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0376", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0377", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="03c5", MODE="0666" +# Wacom CTL-6100 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0375", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0375", MODE="0666" +# Wacom CTL-6100WL +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0378", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0378", MODE="0666" +# Wacom PTZ-1230 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b3", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b3", MODE="0666" +# Wacom PTZ-1231W +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b4", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b4", MODE="0666" +# Wacom PTZ-430 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b0", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b0", MODE="0666" +# Wacom PTZ-431W +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b7", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b7", MODE="0666" +# Wacom PTZ-630 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b1", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b1", MODE="0666" +# Wacom PTZ-631W +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b5", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b5", MODE="0666" +# Wacom PTZ-930 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b2", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00b2", MODE="0666" +# Wacom XD-0405-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0041", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0041", MODE="0666" +# Wacom XD-0608-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0042", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0042", MODE="0666" +# Wacom XD-0912-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0043", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0043", MODE="0666" +# Wacom XD-1212-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0044", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0044", MODE="0666" +# Wacom XD-1218-U +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0045", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0045", MODE="0666" +# XP-Pen Artist 12 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091f", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091f", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091f", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 12 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="080a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="080a", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="080a", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 15.6 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="090d", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="090d", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="090d", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 22HD +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0047", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0047", MODE="0666" +# XP-Pen CT1060 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0932", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0932", MODE="0666" +# XP-Pen Deco 01 V2 (variant 2) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco 01 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0902", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0902", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0905", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0902", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco 01 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0042", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0042", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0042", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco 02 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0803", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0803", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0803", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco 03 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0096", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0096", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0096", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco Pro Medium +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0904", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0904", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0904", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco Pro Small +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0909", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0909", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0909", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Deco mini4 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0929", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0929", MODE="0666" +# XP-Pen Innovator 16 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092c", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092c", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092c", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star 03 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0907", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0907", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0907", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star 05 V3 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0071", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0071", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0071", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star 06 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0078", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0078", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0078", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star 06C +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0062", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0062", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0062", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G430S V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0913", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0913", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0913", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G430S +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G540 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0061", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0061", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0061", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G540 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G640 V2 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0914", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0914", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0914", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0094", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0094", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0094", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G640S +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0906", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0906", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0906", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G960 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0920", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0920", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0920", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G960S Plus +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0918", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0918", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0918", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G960S +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0917", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0917", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0917", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 12 (2nd Gen) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="094a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="094a", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="094a", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 13.3 Pro +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092b", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092b", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="092b", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Artist 15.6 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="000c", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091a", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="000c", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091a", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="000c", ENV{LIBINPUT_IGNORE_DEVICE}="1" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="091a", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen CT430 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0930", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0930", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0930", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen CT640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0931", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0931", MODE="0666" +# XP-Pen Deco mini7 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0928", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0928", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0928", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XP-Pen Star G430 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0075", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XenceLabs Pen Tablet Medium +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5201", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5201", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5201", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XenceLabs Pen Tablet Small +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5204", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5204", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="5204", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# RobotPen T9A +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="6003", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="6003", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="6003", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# UGEE U1600 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XENX P1-640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2002", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2002", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2002", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XENX P3-1060 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2001", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2001", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="2001", ENV{LIBINPUT_IGNORE_DEVICE}="1" +# XENX X1-640 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="6001", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="6001", MODE="0666" +SUBSYSTEM=="input", ATTRS{idVendor}=="2d80", ATTRS{idProduct}=="6001", ENV{LIBINPUT_IGNORE_DEVICE}="1" diff --git a/configs/opentabletdriver/guide b/configs/opentabletdriver/guide new file mode 100644 index 0000000..9cc97f1 --- /dev/null +++ b/configs/opentabletdriver/guide @@ -0,0 +1,6 @@ +mv i405x.json into /usr/share/OpenTabletDriver/Configurations/ +systemctl --user daemon-reload +mv 99-opentablet into /etc/udev/rules.d/ +sudo udevadm control --reload-rules +systemctl --user daemon-reload +sudo udevadm control --reload-rules && udevadm trigger diff --git a/configs/opentabletdriver/i405x.json b/configs/opentabletdriver/i405x.json new file mode 100644 index 0000000..1c5bc95 --- /dev/null +++ b/configs/opentabletdriver/i405x.json @@ -0,0 +1,37 @@ +{ + "Name": "Genius i405x", + "Specifications": { + "Digitizer": { + "Width": 140.5, + "Height": 102.4, + "MaxX": 14050.0, + "MaxY": 10240.0 + }, + "Pen": { + "MaxPressure": 1023, + "Buttons": { + "ButtonCount": 2 + } + }, + "AuxiliaryButtons": null, + "MouseButtons": { + "ButtonCount": 3 + }, + "Touch": null + }, + "DigitizerIdentifiers": [ + { + "VendorID": 1112, + "ProductID": 20496, + "InputReportLength": 8, + "OutputReportLength": null, + "ReportParser": "OpenTabletDriver.Configurations.Parsers.Genius.GeniusReportParser", + "FeatureInitReport": ["BRIQERIAAAA="], + "OutputInitReport": null, + "DeviceStrings": {}, + "InitializationStrings": [] + } + ], + "AuxilaryDeviceIdentifiers": [], + "Attributes": {} +} diff --git a/configs/opentabletdriver/opentabletdriver.service b/configs/opentabletdriver/opentabletdriver.service new file mode 100644 index 0000000..96e76e3 --- /dev/null +++ b/configs/opentabletdriver/opentabletdriver.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenTabletDriver Daemon +StartLimitIntervalSec=300 +StartLimitBurst=5 + +[Service] +ExecStart=/usr/bin/otd +Restart=on-failure +RestartSec=8s + +[Install] +WantedBy=default.target diff --git a/configs/picom/picom.conf b/configs/picom/picom.conf new file mode 100644 index 0000000..44e2a00 --- /dev/null +++ b/configs/picom/picom.conf @@ -0,0 +1,193 @@ +# ░█▀█░▀█▀░█▀▀░█▀█░█▄█░░░░█▀▀░█▀█░█▀█░█▀▀ +# ░█▀▀░░█░░█░░░█░█░█░█░░░░█░░░█░█░█░█░█▀▀ +# ░▀░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀░░▀▀▀░▀▀▀░▀░▀░▀░░ +# +# X compositor configuration +# +# ░█▀▀░█░█░█▀█░█▀▄░█▀█░█░█ +# ░▀▀█░█▀█░█▀█░█░█░█░█░█▄█ +# ░▀▀▀░▀░▀░▀░▀░▀▀░░▀▀▀░▀░▀ + +shadow = true; +shadow-radius = 25; +shadow-opacity = 0.3; +shadow-offset-x = -32; +shadow-offset-y = -32; + +# shadow-red = 0 +# shadow-green = 0 +# shadow-blue = 0 +shadow-color = "#000000"; + +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "class_g = 'slop'", + "class_g = 'Firefox' && argb", + "class_g = 'Rofi'", + "class_g = 'i3bar'", + "class_g *= 'i3bar'", + "name *= 'i3bar'", + "class_g ?= 'i3bar'", + "class_g *= 'i3'", + "_GTK_FRAME_EXTENTS@:c", + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; + +# shadow-exclude-reg = "x10+0+0"; +# xinerama-shadow-crop = true; + +# ░█▀▀░█▀█░█▀▄░▀█▀░█▀█░█▀▀ +# ░█▀▀░█▀█░█░█░░█░░█░█░█░█ +# ░▀░░░▀░▀░▀▀░░▀▀▀░▀░▀░▀▀▀ + +fading = true; +fade-in-step = 0.02; +fade-out-step = 0.02; +fade-delta = 2; + +fade-exclude = []; + +no-fading-openclose = false; +no-fading-destroyed-argb = true; + +# ░█▀█░█▀█░█▀█░█▀▀░▀█▀░▀█▀░█░█ +# ░█░█░█▀▀░█▀█░█░░░░█░░░█░░░█░ +# ░▀▀▀░▀░░░▀░▀░▀▀▀░▀▀▀░░▀░░░▀░ + +inactive-opacity =1.0; +frame-opacity = 1; +inactive-opacity-override = false; +active-opacity = 1.0; +inactive-dim = 0.1; + +focus-exclude = [ + "class_g = 'Cairo-clock'", + "class_g ?= 'Brave-browser'", + "class_g ?= 'rofi'", + "class_g ?= 'slop'", + "class_g ?= 'Steam'" +]; + +# inactive-dim-fixed = 1.0; + +opacity-rule = [ + "90:class_g = 'Alacritty'", + "90:class_g = 'kitty'", + "90:class_g = 'lutris'", +# "95:class_g = 'St'", + "90:class_g = 'URxvt'", + "95:class_g = 'Pcmanfm'", + "95:class_g = 'Emacs'", +# "90:class_g = 'discord'" +] + +# ░█▀▄░█░░░█░█░█▀▄░█▀▄░▀█▀░█▀█░█▀▀ +# ░█▀▄░█░░░█░█░█▀▄░█▀▄░░█░░█░█░█░█ +# ░▀▀░░▀▀▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░▀▀▀ + +blur: { + method = "dual_kawase"; + strength = 10.0; + deviation = 1.0; + kernel = "11x11gaussian"; +} + +blur-background = false; +blur-background-frame = true; +blur-background-fixed = true; +# blur-kern = "3x3box"; + +blur-background-exclude = [ + "class_g = 'slop'", + "class_g = 'Firefox' && argb", + "name = 'rofi - Global Search'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# 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 +corner-radius = 6; + +# Exclude conditions for rounded corners. +rounded-corners-exclude = [ + "name *= 'tint2'", + "name *= 'jgmenu'", + "name *= 'screenkey'", + "name *= 'polybar'", + "window_type = 'dock'", + "window_type = 'desktop'", + "class_g = 'i3bar'", + "class_g *= 'i3bar'", + "name *= 'i3bar'", + "class_g ?= 'i3bar'", + "class_g *= 'i3'" +]; + +# ░█▀▀░█▀▀░█▀█░█▀▀░█▀▄░█▀█░█░░░░░█▀▀░█▀▀░▀█▀░▀█▀░▀█▀░█▀█░█▀▀░█▀▀ +# ░█░█░█▀▀░█░█░█▀▀░█▀▄░█▀█░█░░░░░▀▀█░█▀▀░░█░░░█░░░█░░█░█░█░█░▀▀█ +# ░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░░░▀▀▀░▀▀░░▀░░░▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀ + +daemon = false; +#backend = "glx"; +vsync = true; +dbus = false; +mark-wmwin-focused = true; +mark-ovredir-focused = true; +detect-rounded-corners = true; +detect-client-opacity = true; +refresh-rate = 0; +# use-ewmh-active-win = true; +# unredir-if-possible = false; +# unredir-if-possible-delay = 0; + +unredir-if-possible-exclude = []; + +detect-transient = true; +detect-client-leader = true; +resize-damage = 1; + +invert-color-include = []; + +glx-no-stencil = true; +# glx-no-rebind-pixmap = false; +use-damage = true; +# xrender-sync-fence = true; + +# glx-fshader-win = ""; +# force-win-blend = false; + +# no-ewmh-fullscreen = false; +# max-brightness = 1.0; + +transparent-clipping = false; + +#log-level = "warn"; +#log-file = "~/.cache/picom-log.log"; +show-all-xerrors = true; +# write-pid-path = '/path/to/your/mom'; + +wintypes: { + tooltip = { fade = true; shadow = false; focus = false; }; + normal = { shadow = true; }; + dock = { shadow = false; }; + dnd = { shadow = false; }; + popup_menu = { shadow = true; focus = false; }; + dropdown_menu = { shadow = true; focus = false; }; + above = { shadow = true; }; + splash = { shadow = false; }; + utility = { focus = false; shadow = false; blur-background = false; }; + notification = { shadow = true; }; + desktop = { shadow = false; blur-background = false; }; + menu = { focus = false; }; + dialog = { shadow = true; }; +}; + diff --git a/configs/polybar/colors.ini b/configs/polybar/colors.ini new file mode 100644 index 0000000..a83eba0 --- /dev/null +++ b/configs/polybar/colors.ini @@ -0,0 +1,18 @@ +[colors] +nord0 = #DD2E3440 +nord1 = #3B4252 +nord2 = #434C5E +nord3 = #4C566A +nord4 = #D8DEE9 +nord5 = #E5E9F0 +nord6 = #ECEFF4 +nord7 = #8FBCBB +nord8 = #88C0D0 +nord9 = #81A1C1 +nord10 = #5E81AC +nord11 = #BF616A +nord12 = #D08770 +nord13 = #EBCB8B +nord14 = #A3BE8C +nord15 = #B48EAD +nordback = #2E3440FE diff --git a/configs/polybar/config.ini b/configs/polybar/config.ini new file mode 100644 index 0000000..8b9a3d9 --- /dev/null +++ b/configs/polybar/config.ini @@ -0,0 +1,69 @@ +include-file = ./colors.ini +include-file = ./modules.ini + +[bar/1st] +width= 100% +bottom=false +monitor = DVI-D-0 +height = 32px +radius = 15.0 +fixed-center = true + +background = ${colors.nord0} +foreground = ${colors.nord6} + +padding = 4 +module-margin = 2 + +font-0 = JetBrainsMono Nerd Font:size=12 + +modules-left = bspwm +modules-center = xwindow +modules-right = memory cpu pulseaudio date + +separator = | + +border-left-size = 6 +border-right-size = 6 +border-top-size = 5 +border-color = ${nord0} +; tray-position = right +wm-restack = bspwm +; override-redirect = true + +[settings] +screenchange-reload = true +pseudo-transparency = true + +[bar/2nd] +width = 100% +bottom=false +monitor = HDMI-0 +fixed-center = true +height = 32px +radius = 15.0 + +background = ${colors.nord0} +foreground = ${colors.nord6} + +padding = 4 +module-margin = 2 + +font-0 = JetBrainsMono Nerd Font:size=10 + +modules-left = bspwm +modules-center = xwindow +modules-right = memory cpu pulseaudio date + +separator = | + +border-left-size = 6 +border-right-size = 6 +border-top-size = 5 +border-color = ${nord0} +; tray-position = right +wm-restack = bspwm +; override-redirect = true + + + diff --git a/configs/polybar/config.ini.elite b/configs/polybar/config.ini.elite new file mode 100644 index 0000000..3cd3d09 --- /dev/null +++ b/configs/polybar/config.ini.elite @@ -0,0 +1,197 @@ + +[colors] +background = #000000 +background-alt = #60ff6600 +foreground = #ff6600 +primary = #ff6600 +secondary = #ffb000 +alert = #fc0206 +dark-font = #60ff6600 + +[bar/jabuxas] +width = 100% +height = 14pt +radius = 0 +fixed-center = true + +; dpi = 96 + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2pt + +border-size = 0 +border-color = #00000000 + +padding-left = 4 +padding-right = 4 + +module-margin = 2 + +; font-0 = monospace;2 +font-0 = Euro Caps:style=Regular:size=14;3 +font-1 = Hack Nerd Font:style=Render,Raw:size=11;4 +font-2 = Material\-Design\-Iconic\-Font:style=Design-Iconic-Font:size=16;4.5 + +modules-left = powermenu +modules-center = date +modules-right = memory cpu eth wlan + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + + +tray-position = right +tray-padding = 2 +; wm-restack = generic +; wm-restack = bspwm +; wm-restack = i3 + +; override-redirect = true + +[module/xworkspaces] +type = internal/xworkspaces + +label-active = %name% +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} +label-active-padding = 1 + +label-occupied = %name% +label-occupied-padding = 1 + +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +label-empty = %name% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 1 + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% +label-foreground = ${colors.dark-font} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% + +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.disabled} + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume-prefix = "VOL: " +format-volume-prefix-foreground = ${colors.primary} +format-volume = %{T2}%{T-} + +label-volume = %percentage%% + +label-muted = vol: %{T2}0%%{T-} +label-muted-foreground = ${colors.alert} +label-active-font = 0 + + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +label-layout = %layout% +#%{T3}%{T-} +label-layout-foreground = ${colors.primary} + +label-indicator = %{F#8DC8FC}[%{T5}%{T-}]%{F-} cap +label-active-font = 3 + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM: " +# +format-prefix-foreground = ${colors.primary} +label = %{T2}%percentage_used:2%%%{T-} +label-font = 1 + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "CPU: " +# +format-prefix-foreground = ${colors.primary} +label = %{T2}%percentage:2%%%{T-} + + +[network-base] +type = internal/network +interval = 5 +format-connected = +format-disconnected = +label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected + +[module/wlan] +inherit = network-base +interface-type = wireless +label-active-font = 2 +label-connected = %{F#8DC8FC}[%{T5}%{T-}]%{F-} wln +#%essid% +label-disconnected = [ ] wln + +[module/eth] +inherit = network-base +interface-type = wired +label-connected = %{F#8DC8FC}[%{T5}%{T-}]%{F-} eth +# %local-ip% +label-disconnected = [ ] eth + +[module/date] +type = internal/date +interval = 1 +format-NAME = date + +date = %a %b %{T2}%H:%M%{T-} +date-alt = %{T2}%d/%m/%y %H:%M%{T-} + +label = %date% +label-foreground = ${colors.primary} +format-NAME-background = #EC0B43 + + +[module/powermenu] +type = custom/menu + +format-foreground = ${colors.xcolor7} +format-background = ${colors.xcolor0} + + +label-open = "¿?" +label-open-font = 4 +label-close = "" +label-close-foreground = ${colors.lime} +label-separator = " / " +label-separator-foreground = ${colors.xcolor1} + + +; reboot +menu-0-1 =  +menu-0-1-exec = systemctl reboot +menu-0-1-foreground = ${colors.salmon} +; shutdown +menu-0-0 = "" +menu-0-0-exec = systemctl poweroff +menu-0-0-foreground = ${colors.salmon} + + +[settings] +screenchange-reload = true +pseudo-transparency = true + +; vim:ft=dosini diff --git a/configs/polybar/launch.sh b/configs/polybar/launch.sh new file mode 100755 index 0000000..b8f51b2 --- /dev/null +++ b/configs/polybar/launch.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +killall -q polybar +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done +polybar 1st 2>&1 | tee -a /tmp/polybar.log & disown +polybar 2nd 2>&1 | tee -a /tmp/polybar.log & disown +echo "Polybar launched..." diff --git a/configs/polybar/modules.ini b/configs/polybar/modules.ini new file mode 100644 index 0000000..1c7ba7d --- /dev/null +++ b/configs/polybar/modules.ini @@ -0,0 +1,82 @@ +[module/bspwm] +type = internal/bspwm +pin-workspaces = true +enable-click = true +enable-scroll = true +reverse-scroll = false +occupied-scroll = true + +ws-icon-0 = "1;" +ws-icon-1 = "2;" +ws-icon-2 = "3;" +ws-icon-3 = "4;" +ws-icon-4 = "5;" +ws-icon-5 = "6;" +ws-icon-6 = "7;" +ws-icon-7 = "8;" +ws-icon-8 = "9;" +ws-icon-9 = "0;" +label-focused = %icon% +label-focused-foreground = ${colors.nord10} +label-focused-padding = 1 + +label-occupied = %icon% +label-occupied-foreground = ${colors.nord6} +label-occupied-padding = 1 + +label-urgent = %icon% +label-urgent-foreground = ${colors.nord11} +label-urgent-padding = 1 + +label-empty = + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% +label-foreground = ${colors.nord6} + +[module/memory] +type = internal/memory +interval = 3 +format =