From 81fac38bbe444cbe14048b9149ca698809bf15ee Mon Sep 17 00:00:00 2001 From: IgLem Date: Fri, 3 Feb 2023 12:06:09 +0100 Subject: [PATCH] Pushed everything? --- .config/alacritty/alacritty.yml | 501 ++++++++++++++++++++++++++++++++ .config/dunst/dunstrc | 216 ++++++++++++++ .config/i3/config | 201 +++++++++++++ .config/polybar/config | 458 +++++++++++++++++++++++++++++ .config/polybar/launch.sh | 12 + .scripts/dmenu_custom.sh | 15 + .scripts/power_led_off.sh | 2 + .scripts/screen_off.sh | 3 + .scripts/spotify_status.py | 141 +++++++++ 9 files changed, 1549 insertions(+) create mode 100644 .config/alacritty/alacritty.yml create mode 100644 .config/dunst/dunstrc create mode 100644 .config/i3/config create mode 100644 .config/polybar/config create mode 100755 .config/polybar/launch.sh create mode 100755 .scripts/dmenu_custom.sh create mode 100755 .scripts/power_led_off.sh create mode 100755 .scripts/screen_off.sh create mode 100644 .scripts/spotify_status.py diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..d05aa52 --- /dev/null +++ b/.config/alacritty/alacritty.yml @@ -0,0 +1,501 @@ +# # Configuration for Alacritty, the GPU enhanced terminal emulator + +# # Any items in the `env` entry below will be added as +# # environment variables. Some entries may override variables +# # set by alacritty it self. +# # env: +# # TERM env customization. +# # +# # If this property is not set, alacritty will set it to xterm-256color. +# # +# # Note that some xterm terminfo databases don't declare support for italics. +# # You can verify this by checking for the presence of `smso` and `sitm` in +# # `infocmp xterm-256color`. +# # TERM: xterm-256color-italic + +window: +# # Window dimensions (changes require restart) +# # +# # Specified in number of columns/lines, not pixels. If both are zero this +# # setting is ignored. +# dimensions: +# columns: 100 +# lines: 85 + +# # Window padding (changes require restart) +# # +# # Blank space added around the window in pixels. This padding is not scaled by +# # DPI and the specified value is always added at both opposing sides. + padding: + x: 8 + y: 8 + +# # Spread additional padding evenly around the terminal content. +# dynamic_padding: false + +# # Window decorations +# # +# # Available values: +# # - full: borders and title bar +# # - none: neither borders nor title bar +# # - transparent: title bar, transparent background and title bar buttons +# # - buttonless: title bar, transparent background, but no title bar buttons +# decorations: buttonless + +# # Startup Mode (changes require restart) +# # +# # Values for `startup_mode`: +# # - Windowed +# # - Maximized +# # - Fullscreen +# # +# # Values for `startup_mode` (macOS only): +# # - SimpleFullscreen +# startup_mode: Windowed + +# # Background opacity +# opacity: 1.0 + +# scrolling: +# # maximum number of lines in the scrollback buffer. Specifying '0' will +# # disable scrolling. +# history: 0 + +# # Number of lines the viewport will move for every line scrolled when +# # scrollback is enabled (history > 0). +# multiplier: 3 + +# # Font configuration (changes require restart) +font: +# # The normal (roman) font face to use. +# # Style can be specified to pick a specific face. + # normal: + # family: JetBrainsMono + # style: Light +# # family: "Fira Code" +# # family: "Source Code Pro" +# # style: Retina + +# # The bold font face +# bold: +# family: Iosevka +# style: Medium +# # family: "Fira Code" +# # family: "Source Code Pro" + +# # The italic font face +# italic: +# family: Iosevka +# style: "Light Italic" +# # style: "Light Oblique" +# # family: "Fira Code" +# # family: "Source Code Pro" +# # style: "Medium Italic" + +# # Point size of the font + size: 8.0 + +# # Offset is the extra space around each character. offset.y can be thought of +# # as modifying the linespacing, 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. Increase the x offset to move the glyph to +# # the right, increase the y offset to move 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 you +# # probably want this set to false. +# # +# # macOS >= 10.14.x: +# # +# # If the font quality on non-retina display looks bad then set +# # `use_thin_strokes` to `true` and enable font smoothing by running the +# # following command: +# # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` +# # +# # This is a global setting and will require a log out or restart to take +# # effect. +# use_thin_strokes: true + +# # When true, bold text is drawn using the bright variant of colors. +# draw_bold_text_with_bright_colors: false + +# # Use custom cursor colors. If true, display the cursor in the cursor.foreground +# # and cursor.background colors, otherwise invert the colors of the cursor. +# custom_cursor_colors: true + +# # Colors +colors: + +# # Tomorrow (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow.yml) +# # Default colors + # primary: + # background: '0xffffff' + # foreground: '0x4d4d4c' + # # Colors the cursor will use if `custom_cursor_colors` is true + # cursor: + # text: '0xffffff' + # cursor: '0x4d4d4c' + # # Normal colors + # normal: + # black: '0xffffff' + # red: '0xc82829' + # green: '0x718c00' + # yellow: '0xeab700' + # blue: '0x4271ae' + # magenta: '0x8959a8' + # cyan: '0x3e999f' + # white: '0x4d4d4c' + # # Bright colors + # bright: + # black: '0x8e908c' + # red: '0xf5871f' + # green: '0xe0e0e0' + # yellow: '0xd6d6d6' + # blue: '0x969896' + # magenta: '0x282a2e' + # cyan: '0xa3685a' + # white: '0x1d1f21' + +# # # Tomorrow Night (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow-night.yml) +# # # Default colors + primary: + background: '0x222222' +# # foreground: '0xc5c8c6' +# # # Colors the cursor will use if `custom_cursor_colors` is true +# # cursor: +# # text: '0x1d1f21' +# # cursor: '0xc5c8c6' +# # # Normal colors +# # normal: +# # black: '0x1d1f21' +# # red: '0xcc6666' +# # green: '0xb5bd68' +# # yellow: '0xf0c674' +# # blue: '0x81a2be' +# # magenta: '0xb294bb' +# # cyan: '0x8abeb7' +# # white: '0xc5c8c6' +# # # Bright colors +# # bright: +# # black: '0x969896' +# # red: '0xde935f' +# # green: '0x282a2e' +# # yellow: '0x373b41' +# # blue: '0xb4b7b4' +# # magenta: '0xe0e0e0' +# # cyan: '0xa3685a' +# # white: '0xffffff' + +# # 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: '0xff00ff' }` +# # +# # indexed_colors: [] + +# # Visual Bell +# # +# # Any time the BEL code is received, Alacritty "rings" the visual bell. Once +# # rung, the terminal background will be set to white and transition back to the +# # default background color. You can control the rate of this transition by +# # setting the `duration` property (represented in milliseconds). You can also +# # configure the transition function by setting the `animation` property. +# # +# # Possible values for `animation` +# # `Ease` +# # `EaseOut` +# # `EaseOutSine` +# # `EaseOutQuad` +# # `EaseOutCubic` +# # `EaseOutQuart` +# # `EaseOutQuint` +# # `EaseOutExpo` +# # `EaseOutCirc` +# # `Linear` +# # +# # To completely disable the visual bell, set its duration to 0. +# # +# bell: +# animation: EaseOutExpo +# color: '0xffffff' +# duration: 0 + + +# # Key bindings +# # +# # Key bindings are specified as a list of objects. Each binding will specify a +# # key and modifiers required to trigger it, terminal modes where the binding is +# # applicable, and what should be done when the key binding fires. It can either +# # send a byte sequence to the running application (`chars`), execute a +# # predefined action (`action`) or fork and execute a specified command plus +# # arguments (`command`). +# # +# # 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 `None` action. +# # +# # Example: +# # `- { key: V, mods: Control|Shift, action: Paste }` +# # +# # Available fields: +# # - key +# # - mods (optional) +# # - chars | action | command (exactly one required) +# # - mode (optional) +# # +# # Values for `key`: +# # - `A` -> `Z` +# # - `F1` -> `F12` +# # - `Key1` -> `Key0` +# # +# # A full list with available key codes can be found here: +# # https://docs.rs/glutin/*/glutin/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` +# # +# # Values for `mods`: +# # - Command +# # - Control +# # - Option +# # - Super +# # - Shift +# # - Alt +# # +# # Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. +# # Whitespace and capitalization is relevant and must match the example. +# # +# # Values for `chars`: +# # 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. +# # +# # Values for `action`: +# # - Paste +# # - PasteSelection +# # - Copy +# # - IncreaseFontSize +# # - DecreaseFontSize +# # - ResetFontSize +# # - ScrollPageUp +# # - ScrollPageDown +# # - ScrollLineUp +# # - ScrollLineDown +# # - ScrollToTop +# # - ScrollToBottom +# # - ClearHistory +# # - Hide +# # - Quit +# # - ClearLogNotice +# # - SpawnNewInstance +# # - ToggleFullscreen +# # - None +# # +# # Values for `action` (macOS only): +# # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space +# # +# # Values for `command`: +# # The `command` field must be a map containing a `program` string and +# # an `args` array of command line parameter strings. +# # +# # Example: +# # `command: { program: "alacritty", args: ["-e", "vttest"] }` +# # +# # Values for `mode`: +# # - ~AppCursor +# # - AppCursor +# # - ~AppKeypad +# # - AppKeypad +# # +# key_bindings: +# - { key: V, mods: Command, action: Paste } +# - { key: C, mods: Command, action: Copy } +# - { key: Q, mods: Command, action: Quit } +# - { key: N, mods: Command, action: SpawnNewInstance } +# - { key: Return, mods: Command, action: ToggleFullscreen } + +# - { key: Home, chars: "\x1bOH", mode: AppCursor } +# - { key: Home, chars: "\x1b[H", mode: ~AppCursor } +# - { key: End, chars: "\x1bOF", mode: AppCursor } +# - { key: End, chars: "\x1b[F", mode: ~AppCursor } +# - { key: Equals, mods: Command, action: IncreaseFontSize } +# - { key: Minus, mods: Command, action: DecreaseFontSize } +# - { key: Minus, mods: Command|Shift, action: ResetFontSize } +# - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } +# - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } +# - { key: PageUp, chars: "\x1b[5~" } +# - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } +# - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } +# - { key: PageDown, chars: "\x1b[6~" } +# - { key: Left, mods: Shift, chars: "\x1b[1;2D" } +# - { key: Left, mods: Control, chars: "\x1b[1;5D" } +# - { key: Left, mods: Alt, chars: "\x1b[1;3D" } +# - { key: Left, chars: "\x1b[D", mode: ~AppCursor } +# - { key: Left, chars: "\x1bOD", mode: AppCursor } +# - { key: Right, mods: Shift, chars: "\x1b[1;2C" } +# - { key: Right, mods: Control, chars: "\x1b[1;5C" } +# - { key: Right, mods: Alt, chars: "\x1b[1;3C" } +# - { key: Right, chars: "\x1b[C", mode: ~AppCursor } +# - { key: Right, chars: "\x1bOC", mode: AppCursor } +# - { key: Up, mods: Shift, chars: "\x1b[1;2A" } +# - { key: Up, mods: Control, chars: "\x1b[1;5A" } +# - { key: Up, mods: Alt, chars: "\x1b[1;3A" } +# - { key: Up, chars: "\x1b[A", mode: ~AppCursor } +# - { key: Up, chars: "\x1bOA", mode: AppCursor } +# - { key: Down, mods: Shift, chars: "\x1b[1;2B" } +# - { key: Down, mods: Control, chars: "\x1b[1;5B" } +# - { key: Down, mods: Alt, chars: "\x1b[1;3B" } +# - { key: Down, chars: "\x1b[B", mode: ~AppCursor } +# - { key: Down, chars: "\x1bOB", mode: AppCursor } +# - { key: Tab, mods: Shift, chars: "\x1b[Z" } +# - { key: F1, chars: "\x1bOP" } +# - { key: F2, chars: "\x1bOQ" } +# - { key: F3, chars: "\x1bOR" } +# - { key: F4, chars: "\x1bOS" } +# - { key: F5, chars: "\x1b[15~" } +# - { key: F6, chars: "\x1b[17~" } +# - { key: F7, chars: "\x1b[18~" } +# - { key: F8, chars: "\x1b[19~" } +# - { key: F9, chars: "\x1b[20~" } +# - { key: F10, chars: "\x1b[21~" } +# - { key: F11, chars: "\x1b[23~" } +# - { key: F12, chars: "\x1b[24~" } +# - { key: Back, chars: "\x7f" } +# - { key: Back, mods: Alt, chars: "\x1b\x7f" } +# - { key: Insert, chars: "\x1b[2~" } +# - { key: Delete, chars: "\x1b[3~" } + +# # shortcuts for tmux. the leader key is control-b (0x02) +# - { key: W, mods: Command, chars: "\x02&" } # close tab (kill) +# - { key: T, mods: Command, chars: "\x02c" } # new tab +# - { key: RBracket, mods: Command|Shift, chars: "\x02n" } # select next tab +# - { key: LBracket, mods: Command|Shift, chars: "\x02p" } # select previous tab +# - { key: RBracket, mods: Command, chars: "\x02o" } # select next pane +# - { key: LBracket, mods: Command, chars: "\x02;" } # select last (previously used) pane +# - { key: F, mods: Command, chars: "\x02/" } # search (upwards) (see tmux.conf) + +# 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: true + +# # URL launcher +# # url: +# # This program is executed when clicking on a text which is recognized as a URL. +# # The URL is always added to the command as the last parameter. +# # +# # When set to `None`, URL launching will be disabled completely. +# # +# # Default: +# # - (macOS) open +# # - (Linux) xdg-open +# # - (Windows) explorer +# # launcher: +# # program: xdg-open +# # args: [] + +# # These are the modifiers that need to be held down for opening URLs when clicking +# # on them. The available modifiers are documented in the key binding section. +# # modifiers: Control|Shift + +# selection: +# semantic_escape_chars: ",│`|:\"' ()[]{}<>" + +# # When set to `true`, selected text will be copied to the primary clipboard. +# save_to_clipboard: false + +# # Mouse bindings +# # +# # Available fields: +# # - mouse +# # - action +# # - mods (optional) +# # +# # Values for `mouse`: +# # - Middle +# # - Left +# # - Right +# # - Numeric identifier such as `5` +# # +# # All available `mods` and `action` values are documented in the key binding +# # section. +# mouse_bindings: +# - { mouse: Middle, action: PasteSelection } + +# cursor: +# # Cursor style +# # +# # Values for 'style': +# # - ▇ Block +# # - _ Underline +# # - | Beam +# style: Block + +# # If this is `true`, the cursor will be rendered as a hollow box when the +# # window is not focused. +# unfocused_hollow: true + +# # dynamic_title: false + +# # Live config reload (changes require restart) +# live_config_reload: true + +# debug: +# # Should display the render timer +# 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: OFF + +# # Print all received window events. +# print_events: false + +# # Record all characters and escape sequences as test data. +# ref_test: false + +# # 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. +# shell: +# program: /usr/local/bin/fish +# args: +# - --command=tmux + +# # vim: nospell diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..d04903f --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,216 @@ +[global] + font = Monospace 8 + + # allow a small subset of html markup: + # bold + # italic + # strikethrough + # underline + # + # for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html + # If markup is not allowed, those tags will be stripped out of the message. + allow_markup = yes + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # Markup is allowed + format = "%a: %s\n%b" + + # Sort messages by urgency + sort = yes + + # Show how many messages are currently hidden (because of geometry) + indicate_hidden = yes + + # alignment of message text. + # Possible values are "left", "center" and "right" + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with 'word_wrap'. + # Set to 0 to disable + bounce_freq = 0 + + # show age of message if message is older than show_age_threshold seconds. + # set to -1 to disable + show_age_threshold = 60 + + # split notifications into multiple lines if they don't fit into geometry + word_wrap = yes + + # ignore newlines '\n' in notifications + ignore_newline = no + + + # the geometry of the window + # geometry [{width}]x{height}][+/-{x}+/-{y}] + # The geometry of the message window. + # The height is measured in number of notifications everything else in pixels. If the width + # is omitted but the height is given ("-geometry x2"), the message window + # expands over the whole screen (dmenu-like). If width is 0, + # the window expands to the longest message displayed. + # A positive x is measured from the left, a negative from the + # right side of the screen. Y is measured from the top and down respectevly. + # The width can be negative. In this case the actual width is the + # screen width minus the width defined in within the geometry option. + geometry = "300x5-10+35" + + # The transparency of the window. range: [0; 100] + # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) + transparency = 0 + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + idle_threshold = 120 + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option will be + # ignored. + follow = keyboard + + # should a notification popped up from history be sticky or + # timeout as if it would normally do. + sticky_history = yes + + # The height of a single line. If the height is smaller than the font height, + # it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 0 + + # Draw a line of 'separatpr_height' pixel height between two notifications. + # Set to 0 to disable + separator_height = 2 + + # padding between text and separator + padding = 8 + + # horizontal padding + horizontal_padding = 8 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background + # * foreground: use the same color as the foreground + # * frame: use the same color as the frame. + # * anything else will be interpreted as a X color + separator_color = frame + + # print a notification on startup + # This is mainly for error detection, since dbus (re-)starts dunst + # automatically after a crash. + startup_notification = true + + # dmenu path + dmenu = /usr/bin/dmenu -p dunst: + + # browser for opening urls in context menu + browser = /usr/bin/firefox -new-tab + +[frame] + width = 0 + color = "#000000" + +[shortcuts] + # shortcuts are specified as [modifier+][modifier+]...key + # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3' + # and 'mod4' (windows-key) + # xev might be helpful to find names for keys + + # close notification + close = mod4+m + + # close all notifications + close_all = mod4+shift+m + + # redisplay last message(s) + history = mod4+n + + # context menu + context = mod4+shift+i + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the '#' and following would be interpreted as a comment. + background = "#222222" + foreground = "#888888" + timeout = 10 + +[urgency_normal] + background = "#44433d" + foreground = "#ffffff" + timeout = 10 + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + timeout = 0 + + +# Every section that isn't one of the above is interpreted as a rules +# to override settings for certain messages. +# Messages can be matched by 'appname', 'summary', 'body' or 'icon' +# and you can override the 'timeout', 'urgency', 'foreground', 'background' +# and 'format'. +# Shell-like globbing will get expanded. +# +# SCRIPTING +# you can specify a script that gets run when the rule matches by setting +# the 'script' option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: if you don't want a notification to be displayed, set the format to "" +# NOTE: It might be helpful to run dunst -print in a terminal in order to find +# fitting options for rules. + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +## This notification will not be displayed +# summary = "foobar" +# format = "" + +[signed_on] + appname = Pidgin + summary = "*signed on*" + urgency = low + +[signed_off] + appname = Pidgin + summary = *signed off* + urgency = low + +[says] + appname = Pidgin + summary = *says* + urgency = critical + format = "%s "%b"" + +[music] + appname = Amarok + summary = "Now playing" + urgency = low diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..0d9df0b --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,201 @@ +# _ _____ __ _ +# (_|___ / ___ ___ _ __ / _(_) __ _ +# | | |_ \ / __/ _ \| '_ \| |_| |/ _` | +# | |___) | (_| (_) | | | | _| | (_| | +# |_|____/ \___\___/|_| |_|_| |_|\__, | +# |___/ + +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +# set mod key +set $mod Mod4 + +# font for window titles +font pango:monospace 8 + + + +# exec programs +exec --no-startup-id nm-applet # applet for NetworkManager +exec --no-startup-id ~/.scripts/disable_bleeping.sh # thank you debian +exec picom --backend glx --vsync # screen tearing fix +exec_always --no-startup-id $HOME/.config/polybar/launch.sh # polybar +exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 # polkit +exec --no-startup-id redshift -l 54.4:18.6 -t 5700:3600 -g 0.8 -m randr -v +# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork # i3lock + + exec feh --bg-scale ~/Pictures/svgs/wallpaper-empty.png # wallpaper +# exec feh --bg-tile ~/Pictures/error_wall.png # error +# exec feh --bg-fill ~/Pictures/screenshots/HISZ.png # hiszpańskiii + + +# Use pactl to adjust volume in PulseAudio. +# set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% # && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% # && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle # && $refresh_i3status + +# screen brightnessctl +bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +8 +bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 8- + +# spotify control +bindsym XF86Favorites exec --no-startup-id playerctl --player=spotify play-pause + +# start programs on key binding +bindsym $mod+d exec --no-startup-id i3-dmenu-desktop +bindsym $mod+x exec ~/.scripts/dmenu_custom.sh +# bindsym Print exec --no-startup-id gnome-screenshot -c +# bindsym $mod+Shift+p exec --no-startup-id systemctl suspend +bindsym shift+XF86Display exec /home/igor/.scripts/screen_off.sh +bindsym $mod+Return exec alacritty +bindsym $mod+equal exec gnome-calculator + +# change keyboard layout +bindsym $mod+l exec ~/.scripts/keyboard_layout.sh + +# make windows look better +for_window [class="^.*"] border pixel 2 +for_window [floating] border pixel 0 +# gaps outer 10 + +# set colors +client.focused #ebad64 #e8660c #66675f #323c47 + +# enable gaps and borders only when more than 2 windows are present +smart_gaps on +smart_borders on + +# enable floating for certain windows +for_window [class="Gnome-calculator"] floating enable +for_window [class="Gnome-screenshot"] floating enable + + + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# kill focused window +bindsym $mod+q kill + +# change focus +# bindsym $mod+j focus left +# bindsym $mod+k focus down +# bindsym $mod+l focus up +# bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +# bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 0000000..ebcb9e4 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,458 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + +[colors] +;background = ${xrdb:color0:#222} +background = #222 +background-alt = #444 +;foreground = ${xrdb:color7:#222} +foreground = #dfdfdf +foreground-alt = #555 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + +[bar/example] +;monitor = ${env:MONITOR:HDMI-1} +width = 100% +height = 27 +;offset-x = 1% +;offset-y = 1% +;radius = 6.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +; line-size = 3 +; line-color = #f00 + +; border-size = 4 +; border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = siji:pixelsize=10;1 + +modules-left = bspwm i3 spotify +modules-center = +modules-right = xbacklight pulseaudio xkeyboard filesystem memory cpu wlan eth battery temperature date powermenu + +tray-position = right +tray-padding = 2 +;tray-background = #0063ff + +;wm-restack = bspwm +;wm-restack = i3 + +;override-redirect = true + +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev + +;scroll-up = i3wm-wsnext +;scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = ns-resize + +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = "lang " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/spotify] +type = custom/script +interval = 1 +format-prefix = "music " +format-prefix-foreground = ${colors.foreground-alt} +format =