@ -1,3 +1,3 @@ |
|||
# dotfiles |
|||
 |
|||
 |
|||
|
|||
Dotfiles for i3-wm, zsh, polybar, neomutt etc. |
|||
@ -0,0 +1,10 @@ |
|||
|
|||
font: |
|||
normal: |
|||
family: Envy Code R |
|||
size: 8.0 |
|||
|
|||
window: |
|||
padding: |
|||
x: 18 |
|||
y: 14 |
|||
@ -0,0 +1,326 @@ |
|||
[global] |
|||
### Display ### |
|||
|
|||
# Which monitor should the notifications be displayed on. |
|||
monitor = 0 |
|||
|
|||
# Display notification on focused monitor. Possible modes are: |
|||
# mouse: follow mouse pointer |
|||
# keyboard: follow window with keyboard focus |
|||
# none: don't follow anything |
|||
# |
|||
# "keyboard" needs a window manager that exports the |
|||
# _NET_ACTIVE_WINDOW property. |
|||
# This should be the case for almost all modern window managers. |
|||
# |
|||
# If this option is set to mouse or keyboard, the monitor option |
|||
# will be ignored. |
|||
follow = mouse |
|||
|
|||
# The geometry of the window: |
|||
# [{width}]x{height}[+/-{x}+/-{y}] |
|||
# The geometry of the message window. |
|||
# The height is measured in number of notifications everything else |
|||
# in pixels. If the width is omitted but the height is given |
|||
# ("-geometry x2"), the message window expands over the whole screen |
|||
# (dmenu-like). If width is 0, the window expands to the longest |
|||
# message displayed. A positive x is measured from the left, a |
|||
# negative from the right side of the screen. Y is measured from |
|||
# the top and down respectively. |
|||
# The width can be negative. In this case the actual width is the |
|||
# screen width minus the width defined in within the geometry option. |
|||
geometry = "400x200-30+20" |
|||
|
|||
# Show how many messages are currently hidden (because of geometry). |
|||
indicate_hidden = yes |
|||
|
|||
# Shrink window if it's smaller than the width. Will be ignored if |
|||
# width is 0. |
|||
shrink = no |
|||
|
|||
# The transparency of the window. Range: [0; 100]. |
|||
# This option will only work if a compositing window manager is |
|||
# present (e.g. xcompmgr, compiz, etc.). |
|||
transparency = 0 |
|||
|
|||
# The height of the entire notification. If the height is smaller |
|||
# than the font height and padding combined, it will be raised |
|||
# to the font height and padding. |
|||
notification_height = 60 |
|||
|
|||
# Draw a line of "separator_height" pixel height between two |
|||
# notifications. |
|||
# Set to 0 to disable. |
|||
separator_height = 2 |
|||
|
|||
# Padding between text and separator. |
|||
padding = 8 |
|||
|
|||
# Horizontal padding. |
|||
horizontal_padding = 8 |
|||
|
|||
# Defines width in pixels of frame around the notification window. |
|||
# Set to 0 to disable. |
|||
frame_width = 3 |
|||
|
|||
# Defines color of the frame around the notification window. |
|||
frame_color = "#000000" |
|||
|
|||
# Define a color for the separator. |
|||
# possible values are: |
|||
# * auto: dunst tries to find a color fitting to the background; |
|||
# * foreground: use the same color as the foreground; |
|||
# * frame: use the same color as the frame; |
|||
# * anything else will be interpreted as a X color. |
|||
separator_color = frame |
|||
|
|||
# Sort messages by urgency. |
|||
sort = yes |
|||
|
|||
# Don't remove messages, if the user is idle (no mouse or keyboard input) |
|||
# for longer than idle_threshold seconds. |
|||
# Set to 0 to disable. |
|||
# Transient notifications ignore this setting. |
|||
idle_threshold = 120 |
|||
|
|||
### Text ### |
|||
|
|||
font = Envy Code R 14 |
|||
|
|||
# The spacing between lines. If the height is smaller than the |
|||
# font height, it will get raised to the font height. |
|||
line_height = 0 |
|||
|
|||
# Possible values are: |
|||
# full: Allow a small subset of html markup in notifications: |
|||
# <b>bold</b> |
|||
# <i>italic</i> |
|||
# <s>strikethrough</s> |
|||
# <u>underline</u> |
|||
# |
|||
# For a complete reference see |
|||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. |
|||
# |
|||
# strip: This setting is provided for compatibility with some broken |
|||
# clients that send markup even though it's not enabled on the |
|||
# server. Dunst will try to strip the markup but the parsing is |
|||
# simplistic so using this option outside of matching rules for |
|||
# specific applications *IS GREATLY DISCOURAGED*. |
|||
# |
|||
# no: Disable markup parsing, incoming notifications will be treated as |
|||
# plain text. Dunst will not advertise that it has the body-markup |
|||
# capability if this is set as a global setting. |
|||
# |
|||
# It's important to note that markup inside the format option will be parsed |
|||
# regardless of what this is set to. |
|||
markup = full |
|||
|
|||
# The format of the message. Possible variables are: |
|||
# %a appname |
|||
# %s summary |
|||
# %b body |
|||
# %i iconname (including its path) |
|||
# %I iconname (without its path) |
|||
# %p progress value if set ([ 0%] to [100%]) or nothing |
|||
# %n progress value if set without any extra characters |
|||
# %% Literal % |
|||
# Markup is allowed |
|||
format = "<b>%s</b>\n%b" |
|||
|
|||
# Alignment of message text. |
|||
# Possible values are "left", "center" and "right". |
|||
alignment = left |
|||
|
|||
# Show age of message if message is older than show_age_threshold |
|||
# seconds. |
|||
# Set to -1 to disable. |
|||
show_age_threshold = 60 |
|||
|
|||
# Split notifications into multiple lines if they don't fit into |
|||
# geometry. |
|||
word_wrap = yes |
|||
|
|||
# When word_wrap is set to no, specify where to ellipsize long lines. |
|||
# Possible values are "start", "middle" and "end". |
|||
ellipsize = middle |
|||
|
|||
# Ignore newlines '\n' in notifications. |
|||
ignore_newline = no |
|||
|
|||
# Merge multiple notifications with the same content |
|||
stack_duplicates = true |
|||
|
|||
# Hide the count of merged notifications with the same content |
|||
hide_duplicate_count = false |
|||
|
|||
# Display indicators for URLs (U) and actions (A). |
|||
show_indicators = yes |
|||
|
|||
### Icons ### |
|||
|
|||
# Align icons left/right/off |
|||
icon_position = left |
|||
|
|||
# Scale larger icons down to this size, set to 0 to disable |
|||
max_icon_size = 32 |
|||
|
|||
# Paths to default icons. |
|||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ |
|||
|
|||
### History ### |
|||
|
|||
# Should a notification popped up from history be sticky or timeout |
|||
# as if it would normally do. |
|||
sticky_history = yes |
|||
|
|||
# Maximum amount of notifications kept in history |
|||
history_length = 20 |
|||
|
|||
### Misc/Advanced ### |
|||
|
|||
# dmenu path. |
|||
dmenu = /usr/bin/dmenu -p dunst: |
|||
|
|||
# Browser for opening urls in context menu. |
|||
browser = /usr/bin/firefox -new-tab |
|||
|
|||
# Always run rule-defined scripts, even if the notification is suppressed |
|||
always_run_script = true |
|||
|
|||
# Define the title of the windows spawned by dunst |
|||
title = Dunst |
|||
|
|||
# Define the class of the windows spawned by dunst |
|||
class = Dunst |
|||
|
|||
# Print a notification on startup. |
|||
# This is mainly for error detection, since dbus (re-)starts dunst |
|||
# automatically after a crash. |
|||
startup_notification = false |
|||
|
|||
### Legacy |
|||
|
|||
# Use the Xinerama extension instead of RandR for multi-monitor support. |
|||
# This setting is provided for compatibility with older nVidia drivers that |
|||
# do not support RandR and using it on systems that support RandR is highly |
|||
# discouraged. |
|||
# |
|||
# By enabling this setting dunst will not be able to detect when a monitor |
|||
# is connected or disconnected which might break follow mode if the screen |
|||
# layout changes. |
|||
force_xinerama = false |
|||
|
|||
# Experimental features that may or may not work correctly. Do not expect them |
|||
# to have a consistent behaviour across releases. |
|||
[experimental] |
|||
# Calculate the dpi to use on a per-monitor basis. |
|||
# If this setting is enabled the Xft.dpi value will be ignored and instead |
|||
# dunst will attempt to calculate an appropriate dpi value for each monitor |
|||
# using the resolution and physical size. This might be useful in setups |
|||
# where there are multiple screens with very different dpi values. |
|||
per_monitor_dpi = false |
|||
|
|||
[shortcuts] |
|||
|
|||
# Shortcuts are specified as [modifier+][modifier+]...key |
|||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", |
|||
# "mod3" and "mod4" (windows-key). |
|||
# Xev might be helpful to find names for keys. |
|||
|
|||
# Close notification. |
|||
close = ctrl+space |
|||
|
|||
# Close all notifications. |
|||
close_all = ctrl+shift+space |
|||
|
|||
# Redisplay last message(s). |
|||
# On the US keyboard layout "grave" is normally above TAB and left |
|||
# of "1". Make sure this key actually exists on your keyboard layout, |
|||
# e.g. check output of 'xmodmap -pke' |
|||
history = ctrl+grave |
|||
|
|||
# Context menu. |
|||
context = ctrl+shift+period |
|||
|
|||
[urgency_low] |
|||
# IMPORTANT: colors have to be defined in quotation marks. |
|||
# Otherwise the "#" and following would be interpreted as a comment. |
|||
background = "#000000" |
|||
foreground = "#888888" |
|||
timeout = 10 |
|||
# Icon for notifications with low urgency, uncomment to enable |
|||
#icon = /path/to/icon |
|||
|
|||
[urgency_normal] |
|||
background = "#000000" |
|||
foreground = "#ffffff" |
|||
timeout = 10 |
|||
# Icon for notifications with normal urgency, uncomment to enable |
|||
#icon = /path/to/icon |
|||
|
|||
[urgency_critical] |
|||
background = "#900000" |
|||
foreground = "#ffffff" |
|||
frame_color = "#ff0000" |
|||
timeout = 0 |
|||
# Icon for notifications with critical urgency, uncomment to enable |
|||
#icon = /path/to/icon |
|||
|
|||
# Every section that isn't one of the above is interpreted as a rules to |
|||
# override settings for certain messages. |
|||
# Messages can be matched by "appname", "summary", "body", "icon", "category", |
|||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground", |
|||
# "background", "new_icon" 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 = "" |
|||
|
|||
#[history-ignore] |
|||
# # This notification will not be saved in history |
|||
# summary = "foobar" |
|||
# history_ignore = yes |
|||
|
|||
#[signed_on] |
|||
# appname = Pidgin |
|||
# summary = "*signed on*" |
|||
# urgency = low |
|||
# |
|||
#[signed_off] |
|||
# appname = Pidgin |
|||
# summary = *signed off* |
|||
# urgency = low |
|||
# |
|||
#[says] |
|||
# appname = Pidgin |
|||
# summary = *says* |
|||
# urgency = critical |
|||
# |
|||
#[twitter] |
|||
# appname = Pidgin |
|||
# summary = *twitter.com* |
|||
# urgency = normal |
|||
# |
|||
# vim: ft=cfg |
|||
@ -0,0 +1,257 @@ |
|||
# This file has been auto-generated by i3-config-wizard(1). |
|||
# It will not be overwritten, so edit it as you like. |
|||
# |
|||
# Should you change your keyboard layout some time, delete |
|||
# this file and re-run i3-config-wizard(1). |
|||
# |
|||
|
|||
# i3 config file (v4) |
|||
# |
|||
# Please see https://i3wm.org/docs/userguide.html for a complete reference! |
|||
|
|||
set $mod Mod4 |
|||
|
|||
# Font for window titles. Will also be used by the bar unless a different font |
|||
# is used in the bar {} block below. |
|||
#font pango:Iosevka Fixed Medium 0 |
|||
|
|||
# This font is widely installed, provides lots of unicode glyphs, right-to-left |
|||
# text rendering and scalability on retina/hidpi displays (thanks to pango). |
|||
font pango: Envy Code R 10 |
|||
|
|||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so |
|||
# they are included here as an example. Modify as you see fit. |
|||
|
|||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the |
|||
# screen before suspend. Use loginctl lock-session to lock your screen. |
|||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork |
|||
|
|||
# NetworkManager is the most popular way to manage wireless networks on Linux, |
|||
# and nm-applet is a desktop environment-independent system tray GUI for it. |
|||
#exec --no-startup-id nm-applet |
|||
|
|||
# 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@ +10% && $refresh_i3status |
|||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $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 |
|||
|
|||
#multimedia keys |
|||
bindsym XF86AudioPlay exec playerctl play-pause |
|||
bindsym XF86AudioNext exec playerctl next |
|||
bindsym XF86AudioPrev exec playerctl previous |
|||
# Use Mouse+$mod to drag floating windows to their wanted position |
|||
floating_modifier $mod |
|||
|
|||
# start a terminal |
|||
bindsym $mod+Return exec --no-startup-id alacritty |
|||
bindsym $mod+Shift+Return exec --no-startup-id st |
|||
|
|||
# kill focused window |
|||
bindsym $mod+Shift+q kill |
|||
|
|||
# start dmenu (a program launcher) |
|||
bindsym $mod+d exec rofi -show drun -theme ~/.config/rofi/menu.rasi |
|||
# There also is the (new) i3-dmenu-desktop which only displays applications |
|||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that |
|||
# installed. |
|||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop |
|||
|
|||
# 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 |
|||
|
|||
# window borders |
|||
default_border none |
|||
#border_radius 4 |
|||
|
|||
# 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 |
|||
|
|||
#assign |
|||
assign [class="Firefox"] $ws2 |
|||
assign [class="TelegramDesktop"] $ws9 |
|||
assign [class="Element"] $ws7 |
|||
assign [class="tutanota-desktop"] $ws8 |
|||
assign [class="qBittorrent"] $ws10 |
|||
assign [class="vlc"] $ws4 |
|||
assign [class="thunderbird"] $ws3 |
|||
assign [class="Padloc"] $ws5 |
|||
#assign [class="Nextcloud"] $ws6 |
|||
|
|||
#back and forth |
|||
bindsym $mod+b workspace back_and_forth |
|||
|
|||
#sticky windows |
|||
bindsym $mod+Shift+s sticky toggle |
|||
|
|||
# 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 ~/.config/i3/logout.sh |
|||
|
|||
# resize window (you can also use the mouse for that) |
|||
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" |
|||
} |
|||
|
|||
bindsym $mod+r mode "resize" |
|||
|
|||
bar { |
|||
status_command LC_ALL=C i3status -c ~/.config/i3/i3status/config |
|||
font pango:Envy Code R 10 |
|||
position top |
|||
colors { |
|||
background #000000 |
|||
# statusline #00ff00 |
|||
separator #ffb25a |
|||
active_workspace #4c7899 #4c7899 #ffffff |
|||
focused_workspace #ffb25a #ffb25a #000000 |
|||
} |
|||
} |
|||
##-c ~/.config/i3/i3status/config |
|||
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 |
|||
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 |
|||
|
|||
#exec_always --no-startup-id wal -i ~/Downloads/d1.png |
|||
exec_always --no-startup-id ~/.config/i3/low_bat.sh |
|||
exec_always --no-startup-id picom --config ~/.config/picom.conf |
|||
exec_always --no-startup-id feh --bg-center ~/Downloads/d1.png |
|||
#exec_always --no-startup-id xautolock -locker ~/.config/i3/lock.sh -time 3 |
|||
#exec_always --no-startup-id ~/.config/lowBat.sh |
|||
exec_always --no-startup-id setxkbmap -option caps:swapescape |
|||
bindsym $mod+Shift+x exec --no-startup-id ~/.config/i3/lock/lock.sh |
|||
|
|||
#client.focused #808080 #808080 #ffffff #808080 #0000ff |
|||
|
|||
#bindsym $mod+Shift+p exec --no-startup-id ~/Downloads/lw.AppImage |
|||
bindsym $mod+Shift+t exec --no-startup-id ~/Downloads/tutanota.AppImage --no-sandbox |
|||
bindsym $mod+Shift+g exec --no-startup-id signal-desktop --no-sandbox |
|||
bindsym $mod+Shift+u exec --no-startup-id ~/Downloads/Padloc.AppImage --no-sandbox |
|||
bindsym $mod+Shift+n exec --no-startup-id ~/Downloads/nextcloud.AppImage |
|||
|
|||
bindsym $mod+Shift+o exec --no-startup-id scrot |
|||
bindsym $mod+Shift+i exec --no-startup-id ~/.config/i3/touchpad_toggle.sh |
|||
bindsym $mod+Shift+m exec ( st -e cava & st -e cmus ); workspace 10; layout splitv; |
|||
bindsym $mod+Shift+f exec --no-startup-id st -e nnn |
|||
|
|||
### i3-gaps stuff ### |
|||
|
|||
# Necessary for i3-gaps to work properly (pixel can be any value) |
|||
for_window [class="^.*"] border pixel 0 |
|||
|
|||
# Smart Gaps |
|||
smart_gaps on |
|||
|
|||
# Smart Borders |
|||
smart_borders on |
|||
border_radius 5 |
|||
|
|||
# Set inner/outer gaps |
|||
gaps inner 10 |
|||
gaps outer 6 |
|||
|
|||
client.focused #ffffcc #000000 #ffffcc #2e9ef4 #ffffcE |
|||
|
After Width: | Height: | Size: 9.7 KiB |
@ -0,0 +1,11 @@ |
|||
#!/usr/bin/env bash |
|||
|
|||
icon="$HOME/.config/i3/lock/icon.png" |
|||
tmpbg='/tmp/screen.png' |
|||
|
|||
(( $# )) && { icon=$1; } |
|||
|
|||
scrot "$tmpbg" |
|||
convert "$tmpbg" -scale 10% -scale 1000% "$tmpbg" |
|||
convert "$tmpbg" "$icon" -gravity center -composite -matte "$tmpbg" |
|||
i3lock -u -i "$tmpbg" |
|||
@ -0,0 +1,28 @@ |
|||
#!/usr/bin/env bash |
|||
o0="" |
|||
o1="" |
|||
o2="" |
|||
o3="" |
|||
o4="" |
|||
a1="1" |
|||
a2="0" |
|||
option="$o4\n$o1\n$o3\n$o2\n$o0" |
|||
answer="$a2\n$a1" |
|||
chosen="$(echo -e "$option" | rofi -theme ~/.config/rofi/powermenu/powermenu.rasi -lines 5 -dmenu)" |
|||
if [ -z "$chosen" ]; then |
|||
exit |
|||
else |
|||
sure="$(echo -e "$answer" | rofi -theme ~/.config/rofi/powermenu/powermenu-confirm.rasi -lines 2 -dmenu)" |
|||
case $chosen$sure in |
|||
$o0$a1) |
|||
i3-msg exit;; |
|||
$o1$a1) |
|||
systemctl suspend;; |
|||
$o2$a1) |
|||
reboot;; |
|||
$o3$a1) |
|||
poweroff;; |
|||
$o4$a1) |
|||
exec bash ~/.config/i3/lock/lock.sh;; |
|||
esac |
|||
fi |
|||
@ -0,0 +1,13 @@ |
|||
#!/bin/bash |
|||
|
|||
bat_percent=$(acpi -b| grep -P -o '[0-9]+(?=%)') |
|||
bat_status=$(acpi -b| grep -c 'Charging') |
|||
bat_full=$(acpi -b | grep -c "Full") |
|||
|
|||
if [ $bat_status -eq 0 -a $bat_percent -le 15 ]; then |
|||
exec /usr/bin/notify-send -u critical -t 10000 "Low Battery, Please Charge" |
|||
fi |
|||
if [ $bat_full -eq 1 -a $bat_percent -eq 100 ]; then |
|||
exec notify-send "Full Charge" |
|||
fi |
|||
|
|||
@ -0,0 +1,59 @@ |
|||
general { |
|||
colors = true |
|||
interval = 5 |
|||
color_good = "#2AA198" |
|||
color_bad = "#586E75" |
|||
color_degraded = "#DC322F" |
|||
output_format = i3bar |
|||
} |
|||
|
|||
order += "disk /" |
|||
order += "cpu_usage" |
|||
order += "wireless wlp2s0" |
|||
order += "battery all" |
|||
order += "volume master" |
|||
order += "tztime local" |
|||
order += "time" |
|||
|
|||
disk "/" { |
|||
format = " %free " |
|||
} |
|||
|
|||
cpu_usage { |
|||
format = " %usage " |
|||
} |
|||
|
|||
wireless wlp2s0 { |
|||
format_up = " %essid %bitrate " |
|||
format_down = " 睊" |
|||
} |
|||
|
|||
|
|||
battery all { |
|||
format = " %status %percentage " |
|||
format_down = "No battery" |
|||
last_full_capacity = true |
|||
integer_battery_capacity = true |
|||
status_chr = "" |
|||
status_bat = "" |
|||
status_unk = "" |
|||
status_full = "" |
|||
low_threshold = 20 |
|||
threshold_type = percentage |
|||
} |
|||
|
|||
volume master { |
|||
format = " 墳 %volume " |
|||
format_muted = " ﱝ " |
|||
device = "default" |
|||
mixer = "Master" |
|||
mixer_idx = 0 |
|||
} |
|||
|
|||
tztime local { |
|||
format = " %A %d-%m-%Y " |
|||
} |
|||
|
|||
time { |
|||
format = " %H:%M " |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
set pgp_default_key=0xkey |
|||
set pgp_sign_as=0xkey |
|||
set crypt_use_gpgme=yes |
|||
set crypt_autosign=yes |
|||
set crypt_verify_sig=yes |
|||
set crypt_replysign=yes |
|||
set crypt_replyencrypt=yes |
|||
set crypt_replysignencrypted=yes |
|||
set crypt_autoencrypt = yes |
|||
|
|||
|
|||
set pgp_check_gpg_decrypt_status_fd |
|||
set pgp_use_gpg_agent = yes |
|||
set pgp_self_encrypt = yes |
|||
@ -0,0 +1,10 @@ |
|||
# HTML |
|||
#text/html; w3m -I %{charset} -T text/html; copiousoutput; |
|||
text/plain; vim %s |
|||
|
|||
#PDFs |
|||
application/pdf; /usr/bin/okular %s pdf |
|||
|
|||
#Images |
|||
image/png; /usr/bin/feh %s |
|||
image/jpeg; /usr/bin/feh %s |
|||
@ -0,0 +1,299 @@ |
|||
# |
|||
# System configuration file for NeoMutt |
|||
# |
|||
|
|||
# Default list of header fields to weed when displaying. |
|||
# Ignore all lines by default... |
|||
ignore * |
|||
|
|||
# ... then allow these through. |
|||
unignore from: subject to cc date x-mailer x-url user-agent |
|||
|
|||
# Display the fields in this order |
|||
hdr_order date from to cc subject |
|||
|
|||
# emacs-like bindings |
|||
bind editor "\e<delete>" kill-word |
|||
bind editor "\e<backspace>" kill-word |
|||
|
|||
# map delete-char to a sane value |
|||
bind editor <delete> delete-char |
|||
|
|||
# some people actually like these settings |
|||
#set pager_stop |
|||
#bind pager <up> previous-line |
|||
#bind pager <down> next-line |
|||
|
|||
# Specifies how to sort messages in the index menu. |
|||
set sort=threads |
|||
|
|||
# The behavior of this option on the Debian mutt package is |
|||
# not the original one because exim4, the default SMTP on Debian |
|||
# does not strip bcc headers so this can cause privacy problems; |
|||
# see man muttrc for more info |
|||
#unset write_bcc |
|||
# Postfix and qmail use Delivered-To for detecting loops |
|||
unset bounce_delivered |
|||
|
|||
set mixmaster="mixmaster-filter" |
|||
|
|||
# System-wide CA file managed by the ca-certificates package |
|||
# set ssl_ca_certificates_file="/etc/ssl/certs/ca-certificates.crt" |
|||
|
|||
# imitate the old search-body function |
|||
macro index \eb "<search>~b " "search in message bodies" |
|||
|
|||
# simulate the old url menu |
|||
macro index,pager,attach,compose \cb "\ |
|||
<enter-command> set my_pipe_decode=\$pipe_decode pipe_decode<Enter>\ |
|||
<pipe-message> urlview<Enter>\ |
|||
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \ |
|||
"call urlview to extract URLs out of a message" |
|||
|
|||
# Show documentation when pressing F1 |
|||
macro generic,pager <F1> "<shell-escape> zcat /usr/share/doc/neomutt/manual.txt.gz | sensible-pager<enter>" "show NeoMutt documentation" |
|||
|
|||
# show the incoming mailboxes list (just like "neomutt -y") and back when pressing "y" |
|||
macro index y "<change-folder>?" "show incoming mailboxes list" |
|||
macro pager y "<exit><change-folder>?" "show incoming mailboxes list" |
|||
bind browser y exit |
|||
|
|||
# Handler for gzip compressed mailboxes |
|||
# open-hook '\.gz$' "gzip --stdout --decompress '%f' > '%t'" |
|||
# close-hook '\.gz$' "gzip --stdout '%t' > '%f'" |
|||
# append-hook '\.gz$' "gzip --stdout '%t' >> '%f'" |
|||
|
|||
# If NeoMutt is unable to determine your site's domain name correctly, you can |
|||
# set the default here. (better: fix /etc/mailname) |
|||
# |
|||
# set hostname=cs.hmc.edu |
|||
|
|||
# If your sendmail supports the -B8BITMIME flag, enable the following |
|||
# |
|||
# set use_8bitmime |
|||
|
|||
# Use mime.types to look up handlers for application/octet-stream. Can |
|||
# be undone with unmime_lookup. |
|||
mime_lookup application/octet-stream |
|||
|
|||
# Upgrade the progress counter every 250ms, good for mutt over SSH |
|||
# see http://bugs.debian.org/537746 |
|||
set time_inc=250 |
|||
|
|||
# Allow mutt to understand References, Cc and In-Reply-To as headers in mailto: |
|||
mailto_allow = cc in-reply-to references |
|||
|
|||
## |
|||
## *** DEFAULT SETTINGS FOR THE ATTACHMENTS PATCH *** |
|||
## |
|||
|
|||
## |
|||
## Please see the manual (section "attachments") for detailed |
|||
## documentation of the "attachments" command. |
|||
## |
|||
## Removing a pattern from a list removes that pattern literally. It |
|||
## does not remove any type matching the pattern. |
|||
## |
|||
## attachments +A */.* |
|||
## attachments +A image/jpeg |
|||
## unattachments +A */.* |
|||
## |
|||
## This leaves "attached" image/jpeg files on the allowed attachments |
|||
## list. It does not remove all items, as you might expect, because the |
|||
## second */.* is not a matching expression at this time. |
|||
## |
|||
## Remember: "unattachments" only undoes what "attachments" has done! |
|||
## It does not trigger any matching on actual messages. |
|||
|
|||
## Qualify any MIME part with an "attachment" disposition, EXCEPT for |
|||
## text/x-vcard and application/pgp parts. (PGP parts are already known |
|||
## to neomutt, and can be searched for with ~g, ~G, and ~k.) |
|||
## |
|||
## I've added x-pkcs7 to this, since it functions (for S/MIME) |
|||
## analogously to PGP signature attachments. S/MIME isn't supported |
|||
## in a stock neomutt build, but we can still treat it specially here. |
|||
## |
|||
attachments +A */.* |
|||
attachments -A text/x-vcard application/pgp.* |
|||
attachments -A application/x-pkcs7-.* |
|||
|
|||
## Discount all MIME parts with an "inline" disposition, unless they're |
|||
## text/plain. (Why inline a text/plain part unless it's external to the |
|||
## message flow?) |
|||
## |
|||
attachments +I text/plain |
|||
|
|||
## These two lines make NeoMutt qualify MIME containers. (So, for example, |
|||
## a message/rfc822 forward will count as an attachment.) The first |
|||
## line is unnecessary if you already have "attach-allow */.*", of |
|||
## course. These are off by default! The MIME elements contained |
|||
## within a message/* or multipart/* are still examined, even if the |
|||
## containers themselves don't qualify. |
|||
## |
|||
#attachments +A message/.* multipart/.* |
|||
#attachments +I message/.* multipart/.* |
|||
|
|||
## You probably don't really care to know about deleted attachments. |
|||
attachments -A message/external-body |
|||
attachments -I message/external-body |
|||
|
|||
## |
|||
source /usr/lib/neomutt/source-neomuttrc.d| |
|||
|
|||
|
|||
# main options |
|||
# set envelope_from |
|||
# set edit_headers # show headers when composing |
|||
set fast_reply # skip to compose when replying |
|||
# set askcc # ask for CC: |
|||
set fcc_attach # save attachments with the body |
|||
set forward_format = "Fwd: %s" # format of subject when forwarding |
|||
set forward_decode # decode when forwarding |
|||
set attribution = "On %d, %n wrote:" # format of quoting header |
|||
set reply_to # reply to Reply to: field |
|||
set reverse_name # reply as whomever it was to |
|||
set include # include message in replies |
|||
set forward_quote # include message in forwards |
|||
set text_flowed |
|||
unset sig_dashes # no dashes before sig |
|||
unset mime_forward # forward attachments as part of body |
|||
|
|||
# status bar, date format, finding stuff etc. |
|||
set status_chars = " *%A" |
|||
set status_format = "[ Folder: %f ] [%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]%>─%?p?( %p postponed )?" |
|||
set date_format = "%d.%m.%Y %H:%M" |
|||
set sort = threads |
|||
set sort_aux = reverse-last-date-received |
|||
set uncollapse_jump |
|||
set sort_re |
|||
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" |
|||
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" |
|||
set send_charset = "utf-8:iso-8859-1:us-ascii" |
|||
set charset = "utf-8" |
|||
set arrow_cursor = "no" # Change `color indicator` depending |
|||
|
|||
# Pager View Options |
|||
set pager_index_lines = 10 # Shows 10 lines of index when pager is active |
|||
set pager_context = 3 |
|||
set pager_stop |
|||
set menu_scroll |
|||
set tilde |
|||
unset markers |
|||
|
|||
set mailcap_path = ~/.config/neomutt/mailcap |
|||
set header_cache = "~/.cache/mutt" |
|||
set message_cachedir = "~/.cache/mutt" |
|||
|
|||
#set query_command = "khard email --parsable --search-in-source-files '%s'" |
|||
set mbox_type = Maildir |
|||
set smtp_url = "https://example.com:587 " |
|||
set smtp_pass = "secret" |
|||
set folder = "" |
|||
set imap_pass = "secret" |
|||
set realname = "Akshay Pushparaj" |
|||
set spoolfile = "+INBOX" |
|||
set ssl_starttls = yes |
|||
#set ssl_force_tls = yes |
|||
|
|||
mailboxes =INBOX =Sent =Drafts =Junk =Trash |
|||
set envelope_from_address = ".in" |
|||
set use_envelope_from = yes |
|||
set record = "=Sent" |
|||
set trash = "=Trash" |
|||
set postponed = "=Drafts" |
|||
set mail_check=60 |
|||
|
|||
set editor = "vim" |
|||
set tmpdir = "/tmp/neomutt/" |
|||
|
|||
set sidebar_width = 20 |
|||
set sidebar_short_path = yes |
|||
set sidebar_next_new_wrap = yes |
|||
set mail_check_stats |
|||
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" |
|||
bind index,pager \Ck sidebar-prev |
|||
bind index,pager \Cj sidebar-next |
|||
bind index,pager \Co sidebar-open |
|||
bind index,pager \Cp sidebar-prev-new |
|||
bind index,pager \Cn sidebar-next-new |
|||
bind index,pager B sidebar-toggle-visible |
|||
|
|||
#gpg |
|||
source ~/.config/neomutt/gpg.rc |
|||
|
|||
#set autocrypt = yes |
|||
#set autocrypt_dir = "~/.neomutt/autocrypt" |
|||
|
|||
|
|||
|
|||
#set crypt_use_gpgme = yes |
|||
#set crypt_protected_headers_write = yes |
|||
#set crypt_autosign = yes |
|||
#set crypt_autopgp = yes |
|||
#set crypt_autoencrypt = yes |
|||
|
|||
# Set preffered view modes |
|||
auto_view text/html text/calendar application/ics # view html automatically |
|||
alternative_order text/html text/plain text/enriched text/* |
|||
|
|||
#colors |
|||
color normal default default |
|||
color indicator brightyellow default # currently selected message. default makes bar clear, disabled arrow to save space. |
|||
color sidebar_highlight red default |
|||
color sidebar_divider brightblack black |
|||
color sidebar_flagged red black |
|||
color sidebar_new green black |
|||
color normal brightyellow default |
|||
color error red default |
|||
color tilde black default |
|||
color message cyan default |
|||
color markers red white |
|||
color attachment white default |
|||
color search brightmagenta default |
|||
color status brightyellow black |
|||
color hdrdefault brightgreen default |
|||
color quoted green default |
|||
color quoted1 blue default |
|||
color quoted2 cyan default |
|||
color quoted3 yellow default |
|||
color quoted4 red default |
|||
color quoted5 brightred default |
|||
color signature brightgreen default |
|||
color bold black default |
|||
color underline black default |
|||
color normal default default |
|||
|
|||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses |
|||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL |
|||
color body green default "\`[^\`]*\`" # Green text between ` and ` |
|||
color body brightblue default "^# \.*" # Headings as bold blue |
|||
color body brightcyan default "^## \.*" # Subheadings as bold cyan |
|||
color body brightgreen default "^### \.*" # Subsubheadings as bold green |
|||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow |
|||
color body brightcyan default "[;:][-o][)/(|]" # emoticons |
|||
color body brightcyan default "[;:][)(|]" # emoticons |
|||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? |
|||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? |
|||
color body red default "(BAD signature)" |
|||
color body cyan default "(Good signature)" |
|||
color body brightblack default "^gpg: Good signature .*" |
|||
color body brightyellow default "^gpg: " |
|||
color body brightyellow red "^gpg: BAD signature from.*" |
|||
mono body bold "^gpg: Good signature" |
|||
#mohttps://neomutt.org/code/config_vars.htmlno body bold "^gpg: BAD signature from.*" |
|||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" |
|||
|
|||
# Default index colors: |
|||
color index yellow default '.*' |
|||
color index_author red default '.*' |
|||
color index_number blue default |
|||
color index_subject cyan default '.*' |
|||
|
|||
# For new mail: |
|||
color index brightyellow black "~N" |
|||
color index_author brightred black "~N" |
|||
color index_subject brightcyan black "~N" |
|||
|
|||
color progress black cyan |
|||
|
|||
|
|||
@ -0,0 +1,414 @@ |
|||
################################# |
|||
# Shadows # |
|||
################################# |
|||
|
|||
|
|||
# Enabled client-side shadows on windows. Note desktop windows |
|||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, |
|||
# unless explicitly requested using the wintypes option. |
|||
# |
|||
# shadow = false |
|||
shadow = true; |
|||
|
|||
# The blur radius for shadows, in pixels. (defaults to 12) |
|||
# shadow-radius = 12 |
|||
shadow-radius = 7; |
|||
|
|||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) |
|||
# shadow-opacity = .75 |
|||
|
|||
# The left offset for shadows, in pixels. (defaults to -15) |
|||
# shadow-offset-x = -15 |
|||
shadow-offset-x = -7; |
|||
|
|||
# The top offset for shadows, in pixels. (defaults to -15) |
|||
# shadow-offset-y = -15 |
|||
shadow-offset-y = -7; |
|||
|
|||
# Red color value of shadow (0.0 - 1.0, defaults to 0). |
|||
# shadow-red = 0 |
|||
|
|||
# Green color value of shadow (0.0 - 1.0, defaults to 0). |
|||
# shadow-green = 0 |
|||
|
|||
# Blue color value of shadow (0.0 - 1.0, defaults to 0). |
|||
# shadow-blue = 0 |
|||
|
|||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) |
|||
# shadow-color = "#000000" |
|||
|
|||
# Specify a list of conditions of windows that should have no shadow. |
|||
# |
|||
# examples: |
|||
# shadow-exclude = "n:e:Notification"; |
|||
# |
|||
# shadow-exclude = [] |
|||
shadow-exclude = [ |
|||
"name = 'Notification'", |
|||
"class_g = 'Conky'", |
|||
"class_g ?= 'Notify-osd'", |
|||
"class_g = 'Cairo-clock'", |
|||
"_GTK_FRAME_EXTENTS@:c" |
|||
]; |
|||
|
|||
# Specify a X geometry that describes the region in which shadow should not |
|||
# be painted in, such as a dock window region. Use |
|||
# shadow-exclude-reg = "x10+0+0" |
|||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. |
|||
# |
|||
# shadow-exclude-reg = "" |
|||
|
|||
# Crop shadow of a window fully on a particular Xinerama screen to the screen. |
|||
# xinerama-shadow-crop = false |
|||
|
|||
|
|||
################################# |
|||
# Fading # |
|||
################################# |
|||
|
|||
|
|||
# Fade windows in/out when opening/closing and when opacity changes, |
|||
# unless no-fading-openclose is used. |
|||
# fading = false |
|||
fading = true; |
|||
|
|||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) |
|||
# fade-in-step = 0.028 |
|||
fade-in-step = 0.03; |
|||
|
|||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) |
|||
# fade-out-step = 0.03 |
|||
fade-out-step = 0.03; |
|||
|
|||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) |
|||
# fade-delta = 10 |
|||
|
|||
# Specify a list of conditions of windows that should not be faded. |
|||
# fade-exclude = [] |
|||
|
|||
# Do not fade on window open/close. |
|||
# no-fading-openclose = false |
|||
|
|||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. |
|||
# no-fading-destroyed-argb = false |
|||
|
|||
|
|||
################################# |
|||
# Transparency / Opacity # |
|||
################################# |
|||
|
|||
|
|||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) |
|||
inactive-opacity = 0.8 |
|||
#inactive-opacity = 0.8; |
|||
|
|||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) |
|||
# frame-opacity = 1.0 |
|||
frame-opacity = 0.2; |
|||
|
|||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. |
|||
# inactive-opacity-override = true |
|||
inactive-opacity-override = false; |
|||
|
|||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) |
|||
active-opacity = 1.0 |
|||
|
|||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) |
|||
# inactive-dim = 0.0 |
|||
|
|||
# Specify a list of conditions of windows that should never be considered focused. |
|||
# focus-exclude = [] |
|||
focus-exclude = [ "class_g = 'Cairo-clock'" ]; |
|||
|
|||
# Use fixed inactive dim value, instead of adjusting according to window opacity. |
|||
# inactive-dim-fixed = 1.0 |
|||
|
|||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, |
|||
# like `50:name *= "Firefox"`. picom-trans is recommended over this. |
|||
# Note we don't make any guarantee about possible conflicts with other |
|||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. |
|||
# example: |
|||
# opacity-rule = [ "80:class_g = 'URxvt'" ]; |
|||
# |
|||
opacity-rule = [ |
|||
"100:class_g = 'Dunst' && !focused " |
|||
] |
|||
|
|||
|
|||
################################# |
|||
# 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 = 8 |
|||
|
|||
# Exclude conditions for rounded corners. |
|||
rounded-corners-exclude = [ |
|||
"window_type = 'dock'", |
|||
"window_type = 'desktop'" |
|||
]; |
|||
|
|||
|
|||
################################# |
|||
# Background-Blurring # |
|||
################################# |
|||
|
|||
|
|||
# Parameters for background blurring, see the *BLUR* section for more information. |
|||
# blur-method = |
|||
# blur-size = 12 |
|||
# |
|||
# blur-deviation = false |
|||
# |
|||
# blur-strength = 5 |
|||
|
|||
# Blur background of semi-transparent / ARGB windows. |
|||
# Bad in performance, with driver-dependent behavior. |
|||
# The name of the switch may change without prior notifications. |
|||
# |
|||
# blur-background = false |
|||
|
|||
# Blur background of windows when the window frame is not opaque. |
|||
# Implies: |
|||
# blur-background |
|||
# Bad in performance, with driver-dependent behavior. The name may change. |
|||
# |
|||
# blur-background-frame = false |
|||
|
|||
|
|||
# Use fixed blur strength rather than adjusting according to window opacity. |
|||
# blur-background-fixed = false |
|||
|
|||
|
|||
# Specify the blur convolution kernel, with the following format: |
|||
# example: |
|||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; |
|||
# |
|||
# blur-kern = "" |
|||
blur-kern = "3x3box"; |
|||
|
|||
|
|||
# Exclude conditions for background blur. |
|||
# blur-background-exclude = [] |
|||
blur-background-exclude = [ |
|||
"window_type = 'dock'", |
|||
"window_type = 'desktop'", |
|||
"_GTK_FRAME_EXTENTS@:c" |
|||
]; |
|||
|
|||
################################# |
|||
# General Settings # |
|||
################################# |
|||
|
|||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. |
|||
# daemon = false |
|||
|
|||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. |
|||
# `xrender` is the default one. |
|||
# |
|||
# backend = "glx" |
|||
backend = "xrender"; |
|||
|
|||
# Enable/disable VSync. |
|||
# vsync = false |
|||
vsync = true; |
|||
|
|||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. |
|||
# dbus = false |
|||
|
|||
# Try to detect WM windows (a non-override-redirect window with no |
|||
# child that has 'WM_STATE') and mark them as active. |
|||
# |
|||
# mark-wmwin-focused = false |
|||
mark-wmwin-focused = true; |
|||
|
|||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. |
|||
# mark-ovredir-focused = false |
|||
mark-ovredir-focused = true; |
|||
|
|||
# Try to detect windows with rounded corners and don't consider them |
|||
# shaped windows. The accuracy is not very high, unfortunately. |
|||
# |
|||
# detect-rounded-corners = false |
|||
detect-rounded-corners = true; |
|||
|
|||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers |
|||
# not passing '_NET_WM_OPACITY' of client windows to frame windows. |
|||
# |
|||
# detect-client-opacity = false |
|||
detect-client-opacity = true; |
|||
|
|||
# Specify refresh rate of the screen. If not specified or 0, picom will |
|||
# try detecting this with X RandR extension. |
|||
# |
|||
# refresh-rate = 60 |
|||
refresh-rate = 0; |
|||
|
|||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, |
|||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, |
|||
# provided that the WM supports it. |
|||
# |
|||
# use-ewmh-active-win = false |
|||
|
|||
# Unredirect all windows if a full-screen opaque window is detected, |
|||
# to maximize performance for full-screen windows. Known to cause flickering |
|||
# when redirecting/unredirecting windows. |
|||
# |
|||
# unredir-if-possible = false |
|||
|
|||
# Delay before unredirecting the window, in milliseconds. Defaults to 0. |
|||
# unredir-if-possible-delay = 0 |
|||
|
|||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. |
|||
# unredir-if-possible-exclude = [] |
|||
|
|||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows |
|||
# in the same group focused at the same time. |
|||
# |
|||
# detect-transient = false |
|||
detect-transient = true; |
|||
|
|||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same |
|||
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if |
|||
# detect-transient is enabled, too. |
|||
# |
|||
# detect-client-leader = false |
|||
detect-client-leader = true; |
|||
|
|||
# Resize damaged region by a specific number of pixels. |
|||
# A positive value enlarges it while a negative one shrinks it. |
|||
# If the value is positive, those additional pixels will not be actually painted |
|||
# to screen, only used in blur calculation, and such. (Due to technical limitations, |
|||
# with use-damage, those pixels will still be incorrectly painted to screen.) |
|||
# Primarily used to fix the line corruption issues of blur, |
|||
# in which case you should use the blur radius value here |
|||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, |
|||
# with a 5x5 one you use `--resize-damage 2`, and so on). |
|||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. |
|||
# |
|||
# resize-damage = 1 |
|||
|
|||
# Specify a list of conditions of windows that should be painted with inverted color. |
|||
# Resource-hogging, and is not well tested. |
|||
# |
|||
# invert-color-include = [] |
|||
|
|||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. |
|||
# Might cause incorrect opacity when rendering transparent content (but never |
|||
# practically happened) and may not work with blur-background. |
|||
# My tests show a 15% performance boost. Recommended. |
|||
# |
|||
# glx-no-stencil = false |
|||
|
|||
# GLX backend: Avoid rebinding pixmap on window damage. |
|||
# Probably could improve performance on rapid window content changes, |
|||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). |
|||
# Recommended if it works. |
|||
# |
|||
# glx-no-rebind-pixmap = false |
|||
|
|||
# Disable the use of damage information. |
|||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen |
|||
# has actually changed. Potentially degrades the performance, but might fix some artifacts. |
|||
# The opposing option is use-damage |
|||
# |
|||
# no-use-damage = false |
|||
use-damage = true; |
|||
|
|||
# Use X Sync fence to sync clients' draw calls, to make sure all draw |
|||
# calls are finished before picom starts drawing. Needed on nvidia-drivers |
|||
# with GLX backend for some users. |
|||
# |
|||
# xrender-sync-fence = false |
|||
|
|||
# GLX backend: Use specified GLSL fragment shader for rendering window contents. |
|||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` |
|||
# in the source tree for examples. |
|||
# |
|||
# glx-fshader-win = "" |
|||
|
|||
# Force all windows to be painted with blending. Useful if you |
|||
# have a glx-fshader-win that could turn opaque pixels transparent. |
|||
# |
|||
# force-win-blend = false |
|||
|
|||
# Do not use EWMH to detect fullscreen windows. |
|||
# Reverts to checking if a window is fullscreen based only on its size and coordinates. |
|||
# |
|||
# no-ewmh-fullscreen = false |
|||
|
|||
# Dimming bright windows so their brightness doesn't exceed this set value. |
|||
# Brightness of a window is estimated by averaging all pixels in the window, |
|||
# so this could comes with a performance hit. |
|||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) |
|||
# |
|||
# max-brightness = 1.0 |
|||
|
|||
# Make transparent windows clip other windows like non-transparent windows do, |
|||
# instead of blending on top of them. |
|||
# |
|||
# transparent-clipping = false |
|||
|
|||
# Set the log level. Possible values are: |
|||
# "trace", "debug", "info", "warn", "error" |
|||
# in increasing level of importance. Case doesn't matter. |
|||
# If using the "TRACE" log level, it's better to log into a file |
|||
# using *--log-file*, since it can generate a huge stream of logs. |
|||
# |
|||
# log-level = "debug" |
|||
log-level = "warn"; |
|||
|
|||
# Set the log file. |
|||
# If *--log-file* is never specified, logs will be written to stderr. |
|||
# Otherwise, logs will to written to the given file, though some of the early |
|||
# logs might still be written to the stderr. |
|||
# When setting this option from the config file, it is recommended to use an absolute path. |
|||
# |
|||
# log-file = "/path/to/your/log/file" |
|||
|
|||
# Show all X errors (for debugging) |
|||
# show-all-xerrors = false |
|||
|
|||
# Write process ID to a file. |
|||
# write-pid-path = "/path/to/your/log/file" |
|||
|
|||
# Window type settings |
|||
# |
|||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: |
|||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility", |
|||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", |
|||
# "tooltip", "notification", "combo", and "dnd". |
|||
# |
|||
# Following per window-type options are available: :: |
|||
# |
|||
# fade, shadow::: |
|||
# Controls window-type-specific shadow and fade settings. |
|||
# |
|||
# opacity::: |
|||
# Controls default opacity of the window type. |
|||
# |
|||
# focus::: |
|||
# Controls whether the window of this type is to be always considered focused. |
|||
# (By default, all window types except "normal" and "dialog" has this on.) |
|||
# |
|||
# full-shadow::: |
|||
# Controls whether shadow is drawn under the parts of the window that you |
|||
# normally won't be able to see. Useful when the window has parts of it |
|||
# transparent, and you want shadows in those areas. |
|||
# |
|||
# redir-ignore::: |
|||
# Controls whether this type of windows should cause screen to become |
|||
# redirected again after been unredirected. If you have unredir-if-possible |
|||
# set, and doesn't want certain window to cause unnecessary screen redirection, |
|||
# you can set this to `true`. |
|||
# |
|||
wintypes: |
|||
{ |
|||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; |
|||
dock = { shadow = false; } |
|||
dnd = { shadow = false; } |
|||
popup_menu = { opacity = 0.8; } |
|||
dropdown_menu = { opacity = 0.8; } |
|||
}; |
|||
@ -0,0 +1,244 @@ |
|||
|
|||
[colors] |
|||
color0 = #0a0b08 |
|||
color1 = #675638 |
|||
color2 = #555B47 |
|||
color3 = #5A6651 |
|||
color4 = #6E6754 |
|||
color5 = #656D56 |
|||
color6 = #936D51 |
|||
color7 = #ccc0ac |
|||
color8 = #8e8678 |
|||
color9 = #675638 |
|||
color10 = #555B47 |
|||
color11 = #5A6651 |
|||
color12 = #6E6754 |
|||
color13 = #656D56 |
|||
color14 = #936D51 |
|||
color15 = #ccc0ac |
|||
background = #000000 |
|||
;background = #0c0f10 |
|||
background-alt = #ffb25a |
|||
foreground = #dfdfdf |
|||
foreground-alt = #bbb |
|||
;foreground-alt = #222 |
|||
;primary = #ffb52a |
|||
;primary = #666666 |
|||
primary = #abbcc8 |
|||
secondary = #e60053 |
|||
alert = #bd2c40 |
|||
|
|||
[bar/bar] |
|||
;monitor = ${env:MONITOR:HDMI-1} |
|||
width = 100% |
|||
height = 22 |
|||
;offset-x = 1% |
|||
;offset-y = 1% |
|||
radius = 0.0 |
|||
fixed-center = false |
|||
bottom = true |
|||
|
|||
background = ${colors.color0} |
|||
foreground = ${colors.color15} |
|||
|
|||
border-size = 1 |
|||
border-color = #00000000 |
|||
|
|||
padding-left = 0 |
|||
padding-right = 0 |
|||
|
|||
|
|||
font-0 = terminessTTF Nerd Font Mono:size=12;3 |
|||
font-1 = DejavuSansMono NF:style=Book:size=13;3 |
|||
|
|||
modules-left = i3 |
|||
modules-center = media |
|||
modules-right = wlp2s0 pulseaudio battery cpu date time |
|||
|
|||
tray-position = right |
|||
tray-padding = 1 |
|||
tray-background = ${colors.color1} |
|||
|
|||
;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/i3] |
|||
type = internal/i3 |
|||
format = <label-state> <label-mode> |
|||
index-sort = true |
|||
wrapping-scroll = false |
|||
|
|||
label-mode = %mode% |
|||
|
|||
; Only show workspaces on the same output as the bar |
|||
;pin-workspaces = true |
|||
|
|||
label-mode-padding = 1 |
|||
label-mode-foreground = ${colors.colors1} |
|||
label-mode-background = ${colors.colors0} |
|||
|
|||
; focused = Active workspace on focused monitor |
|||
label-focused = %icon% |
|||
label-focused-foreground = ${colors.color0} |
|||
label-focused-background = ${colors.color1} |
|||
label-focused-padding = 1 |
|||
|
|||
; unfocused = Inactive workspace on any monitor |
|||
label-unfocused = %index% |
|||
label-unfocused-padding = 1 |
|||
|
|||
; visible = Active workspace on unfocused monitor |
|||
label-visible = %index% |
|||
label-visible-background = ${self.label-focused-background} |
|||
label-visible-padding = ${self.label-focused-padding} |
|||
|
|||
; urgent = Workspace with urgency hint set |
|||
label-urgent = %icon%:%index% |
|||
label-urgent-background = ${colors.alert} |
|||
label-urgent-padding = 1 |
|||
|
|||
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 = 10; |
|||
|
|||
[module/media] |
|||
type = custom/script |
|||
exec = ~/.config/polybar/scripts/music |
|||
interval = 1 |
|||
tail = true |
|||
label = " %output% " |
|||
label-foreground = ${colors.color0} |
|||
label-background = ${colors.color3} |
|||
|
|||
[module/wlp2s0] |
|||
type = internal/network |
|||
interface = wlp2s0 |
|||
interval = 3.0 |
|||
label-connected-background = ${colors.color5} |
|||
format-connected = <label-connected> |
|||
label-connected = " %signal%% %essid% %downspeed% " |
|||
label-connected-foreground = ${colors.color0} |
|||
format-disconnected = <label-disconnected> |
|||
;label-disconnected = " 睊 " |
|||
|
|||
[module/eth] |
|||
type = internal/network |
|||
interface = eno0 |
|||
interval = 3.0 |
|||
|
|||
format-connected-underline = #55aa55 |
|||
format-connected-prefix = " " |
|||
format-connected-prefix-foreground = ${colors.color0} |
|||
label-connected = %essid% |
|||
format-disconnected = |
|||
|
|||
[module/pulseaudio] |
|||
type = internal/pulseaudio |
|||
|
|||
ramp-volume-background = ${colors.color7} |
|||
ramp-volume-foreground = ${colors.color0} |
|||
label-volume-background = ${colors.color7} |
|||
label-volume-foreground = ${colors.color0} |
|||
|
|||
format-volume = <ramp-volume><label-volume> |
|||
label-volume = "%percentage% " |
|||
|
|||
label-muted = 🔇 muted |
|||
label-muted-foreground = #666 |
|||
ramp-volume-0 = " " |
|||
|
|||
[module/battery] |
|||
type = internal/battery |
|||
battery = BAT0 |
|||
adapter = AC |
|||
full-at = 98 |
|||
label-charging = "%percentage% " |
|||
label-discharging = "%percentage% " |
|||
label-full = "%percentage_raw% " |
|||
format-charging = "<animation-charging><label-charging>" |
|||
format-discharging = "<ramp-capacity><label-discharging>" |
|||
format-full-prefix = " " |
|||
format-full-prefix-foreground = ${colors.color0} |
|||
format-full-prefix-background= ${colors.color9} |
|||
label-full-background = ${colors.color9} |
|||
label-full-foreground = ${colors.color0} |
|||
label-charging-background = ${colors.color9} |
|||
label-charging-foreground = ${colors.color0} |
|||
|
|||
label-discharging-background = ${colors.color9} |
|||
label-discharging-foreground = ${colors.color0} |
|||
ramp-capacity-0 =" " |
|||
ramp-capacity-1 =" " |
|||
ramp-capacity-2 =" " |
|||
ramp-capacity-3 =" " |
|||
ramp-capacity-4 =" " |
|||
ramp-capacity-5 =" " |
|||
ramp-capacity-6 =" " |
|||
ramp-capacity-7 =" " |
|||
ramp-capacity-8 =" " |
|||
ramp-capacity-9 =" " |
|||
|
|||
ramp-capacity-foreground = ${colors.color0} |
|||
ramp-capacity-background = ${colors.color9} |
|||
animation-charging-0 =" " |
|||
animation-charging-foreground = ${colors.color0} |
|||
animation-charging-background = ${colors.color9} |
|||
|
|||
[module/cpu] |
|||
type = internal/cpu |
|||
interval = 2 |
|||
padding = 2 |
|||
format-prefix = " " |
|||
format-background = ${colors.color11} |
|||
format-prefix-foreground = ${colors.color0} |
|||
label-background = ${colors.color11} |
|||
label-foreground = ${colors.color0} |
|||
label = "%percentage% " |
|||
|
|||
[module/date] |
|||
type=internal/date |
|||
date = " %d-%m-%Y " |
|||
label = %date% |
|||
label-background =${colors.color13} |
|||
label-foreground = ${colors.color0} |
|||
|
|||
[module/time] |
|||
type = internal/date |
|||
interval = 5 |
|||
time = " %H:%M " |
|||
time-alt = %H:%M:%S |
|||
label = %time% |
|||
label-background = ${colors.color14} |
|||
label-foreground = ${colors.color0} |
|||
|
|||
[settings] |
|||
screenchange-reload = true |
|||
;compositing-background = xor |
|||
;compositing-background = screen |
|||
;compositing-foreground = source |
|||
;compositing-border = over |
|||
;pseudo-transparency = false |
|||
|
|||
[global/wm] |
|||
margin-top = 1 |
|||
margin-bottom = 1 |
|||
|
|||
|
|||
@ -0,0 +1,16 @@ |
|||
#!/bin/bash |
|||
|
|||
duration=$(cmus-remote -Q 2> /dev/null | grep duration | cut -d ' ' -f2-) |
|||
position=$(cmus-remote -Q 2> /dev/null | grep position | cut -d ' ' -f2-) |
|||
stat=$(cmus-remote -Q 2> /dev/null | grep status | cut -d ' ' -f2-) |
|||
artist=$(cmus-remote -Q 2> /dev/null | grep ' artist ' | cut -d ' ' -f3-) |
|||
song=$(cmus-remote -Q 2> /dev/null | grep title | cut -d ' ' -f3-) |
|||
if [ "$stat" != "" -a "$artist" != "" ]; then |
|||
cur=$(date -d@"$position" -u +%M:%S) |
|||
dur=$(date -d@"$duration" -u +%M:%S) |
|||
if [ "$stat" = "playing" ]; then |
|||
echo "$artist - $song || $cur" |
|||
else |
|||
echo "$song - $cur - paused" |
|||
fi |
|||
fi |
|||
@ -0,0 +1,4 @@ |
|||
#! /usr/bin/env bash |
|||
killall -q polybar |
|||
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log |
|||
polybar bar 2>&1 | tee -a /tmp/polybar.log & disown |
|||
@ -0,0 +1,32 @@ |
|||
#!/bin/bash |
|||
|
|||
# install playerctl |
|||
|
|||
none="No players found" |
|||
down=$(playerctl status 2>&1) |
|||
if [ "$down" = "$none" -o "$down" = "Stopped" ]; then |
|||
echo "" |
|||
exit |
|||
else |
|||
tracklength=$(playerctl metadata mpris:length 2>&1| sed 's/.\{6\}$//') |
|||
current=$(playerctl position 2>&1 | sed 's/.\{7\}$//') |
|||
if [ "$tracklength" -ge 3600 ]; then |
|||
duration=$(date -d@"$tracklength" -u +%H:%M:%S 2>&1) |
|||
else |
|||
duration=$(date -d@"$tracklength" -u +%M:%S 2>&1) |
|||
fi |
|||
if [ "$current" -ge 3600 ]; then |
|||
position=$(date -d@"$current" -u +%H:%M:%S 2>&1) |
|||
else |
|||
position=$(date -d@"$current" -u +%M:%S 2>&1) |
|||
fi |
|||
artist=$(playerctl metadata xesam:artist 2>&1) |
|||
song=$(playerctl metadata xesam:title 2>&1) |
|||
if [ "$down" = "Playing" ]; then |
|||
echo "$song | $position" |
|||
elif [ "$down" = "Paused" ]; then |
|||
echo "$song | $position | $duration | paused" |
|||
else |
|||
exit |
|||
fi |
|||
fi |
|||
@ -0,0 +1,7 @@ |
|||
[redshift] |
|||
adjustment-method=randr |
|||
location-provider=manual |
|||
|
|||
[manual] |
|||
lat=11.25 |
|||
lon=75.78 |
|||
@ -0,0 +1,145 @@ |
|||
############################################################################# |
|||
# A minimal rTorrent configuration that provides the basic features |
|||
# you want to have in addition to the built-in defaults. |
|||
# |
|||
# See https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template |
|||
# for an up-to-date version. |
|||
############################################################################# |
|||
|
|||
|
|||
## Instance layout (base paths) |
|||
method.insert = cfg.basedir, private|const|string, (cat,"/home/akshay/Downloads/rtorrent/") |
|||
method.insert = cfg.download, private|const|string, (cat,(cfg.basedir),"download/") |
|||
method.insert = cfg.logs, private|const|string, (cat,(cfg.basedir),"log/") |
|||
method.insert = cfg.logfile, private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log") |
|||
method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),".session/") |
|||
method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") |
|||
|
|||
|
|||
## Create instance directories |
|||
execute.throw = sh, -c, (cat,\ |
|||
"mkdir -p \"",(cfg.download),"\" ",\ |
|||
"\"",(cfg.logs),"\" ",\ |
|||
"\"",(cfg.session),"\" ",\ |
|||
"\"",(cfg.watch),"/load\" ",\ |
|||
"\"",(cfg.watch),"/start\" ") |
|||
|
|||
|
|||
## Listening port for incoming peer traffic (fixed; you can also randomize it) |
|||
network.port_range.set = 50000-50000 |
|||
network.port_random.set = no |
|||
|
|||
|
|||
## Tracker-less torrent and UDP tracker support |
|||
## (conservative settings for 'private' trackers, change for 'public') |
|||
dht.mode.set = disable |
|||
protocol.pex.set = no |
|||
|
|||
trackers.use_udp.set = no |
|||
|
|||
|
|||
## Peer settings |
|||
throttle.max_downloads.global.set = 100 |
|||
throttle.max_uploads.global.set = 60 |
|||
throttle.max_downloads.set = 50 |
|||
throttle.max_uploads.set = 50 |
|||
throttle.global_down.max_rate.set_kb = 0 |
|||
throttle.global_up.max_rate.set_kb = 0 |
|||
|
|||
throttle.min_peers.normal.set = 1 |
|||
throttle.max_peers.normal.set = 400 |
|||
throttle.min_peers.seed.set = -1 |
|||
throttle.max_peers.seed.set = -1 |
|||
trackers.numwant.set = 80 |
|||
|
|||
protocol.encryption.set = allow_incoming,try_outgoing,enable_retry |
|||
|
|||
|
|||
## Limits for file handle resources, this is optimized for |
|||
## an `ulimit` of 1024 (a common default). You MUST leave |
|||
## a ceiling of handles reserved for rTorrent's internal needs! |
|||
network.http.max_open.set = 50 |
|||
network.max_open_files.set = 600 |
|||
network.max_open_sockets.set = 300 |
|||
|
|||
|
|||
## Memory resource usage (increase if you have a large number of items loaded, |
|||
## and/or the available resources to spend) |
|||
pieces.memory.max.set = 1800M |
|||
network.xmlrpc.size_limit.set = 4M |
|||
|
|||
|
|||
## Basic operational settings (no need to change these) |
|||
session.path.set = (cat, (cfg.session)) |
|||
directory.default.set = (cat, (cfg.download)) |
|||
log.execute = (cat, (cfg.logs), "execute.log") |
|||
#log.xmlrpc = (cat, (cfg.logs), "xmlrpc.log") |
|||
execute.nothrow = sh, -c, (cat, "echo >",\ |
|||
(session.path), "rtorrent.pid", " ",(system.pid)) |
|||
|
|||
|
|||
## Other operational settings (check & adapt) |
|||
encoding.add = utf8 |
|||
system.umask.set = 0027 |
|||
system.cwd.set = (directory.default) |
|||
network.http.dns_cache_timeout.set = 25 |
|||
schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M)) |
|||
#pieces.hash.on_completion.set = no |
|||
#view.sort_current = seeding, greater=d.ratio= |
|||
#keys.layout.set = qwerty |
|||
#network.http.capath.set = "/etc/ssl/certs" |
|||
#network.http.ssl_verify_peer.set = 0 |
|||
#network.http.ssl_verify_host.set = 0 |
|||
|
|||
|
|||
## Some additional values and commands |
|||
method.insert = system.startup_time, value|const, (system.time) |
|||
method.insert = d.data_path, simple,\ |
|||
"if=(d.is_multi_file),\ |
|||
(cat, (d.directory), /),\ |
|||
(cat, (d.directory), /, (d.name))" |
|||
method.insert = d.session_file, simple, "cat=(session.path), (d.hash), .torrent" |
|||
|
|||
|
|||
## Watch directories (add more as you like, but use unique schedule names) |
|||
## Add torrent |
|||
schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent"))) |
|||
## Add & download straight away |
|||
schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent"))) |
|||
|
|||
|
|||
## Run the rTorrent process as a daemon in the background |
|||
## (and control via XMLRPC sockets) |
|||
#system.daemon.set = true |
|||
#network.scgi.open_local = (cat,(session.path),rpc.socket) |
|||
#execute.nothrow = chmod,770,(cat,(session.path),rpc.socket) |
|||
|
|||
|
|||
## Logging: |
|||
## Levels = critical error warn notice info debug |
|||
## Groups = connection_* dht_* peer_* rpc_* storage_* thread_* tracker_* torrent_* |
|||
print = (cat, "Logging to ", (cfg.logfile)) |
|||
log.open_file = "log", (cfg.logfile) |
|||
log.add_output = "info", "log" |
|||
#log.add_output = "tracker_debug", "log" |
|||
|
|||
|
|||
|
|||
# Create symlinks in the watch directory with a suffix indicating the download state. |
|||
method.set_key = event.download.resumed,link1,"d.create_link=tied,,.started" |
|||
method.set_key = event.download.paused,link1,"d.delete_link=tied,,.started" |
|||
method.set_key = event.download.finished,"d.create_link=tied,,.finished" |
|||
method.set_key = event.download.erased,"d.delete_link=tied,,.finished" |
|||
|
|||
# Create symlinks in the same directory as the download. |
|||
method.set_key = event.download.resumed,link2,"d.create_link=base_path,,.started" |
|||
method.set_key = event.download.paused,link2,"d.delete_link=base_path,,.started" |
|||
method.set_key = event.download.finished,link2,"d.create_link=base_path,,.finished" |
|||
method.set_key = event.download.erased,link2,"d.delete_link=base_path,,.finished" |
|||
|
|||
# Create a symlink in another directory without a suffix. |
|||
# You need to quote the command in this case. |
|||
method.set_key = event.download.finished,link3,"d.create_link=base_filename,/files," |
|||
|
|||
|
|||
### END of rtorrent.rc ### |
|||
|
After Width: | Height: | Size: 535 KiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 41 KiB |
@ -0,0 +1,13 @@ |
|||
# add this to /etc/systemd/system and enable service |
|||
[Unit] |
|||
Description=i3lock on suspend |
|||
After=sleep.target |
|||
|
|||
[Service] |
|||
User=akshay |
|||
Type=forking |
|||
Environment=DISPLAY=:0 |
|||
ExecStart=/home/akshay/.config/i3/lock/lock.sh |
|||
|
|||
[Install] |
|||
WantedBy=sleep.target |
|||
@ -0,0 +1,16 @@ |
|||
#!/bin/bash |
|||
|
|||
declare -i ID |
|||
ID=`xinput list | grep -Eio '(touchpad|glidepoint)\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'` |
|||
declare -i STATE |
|||
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'` |
|||
if [ $STATE -eq 1 ] |
|||
then |
|||
xinput disable $ID |
|||
# echo "Touchpad disabled." |
|||
# notify-send -a 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png |
|||
else |
|||
xinput enable $ID |
|||
# echo "Touchpad enabled." |
|||
# notify-send -a 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png |
|||
fi |
|||
@ -0,0 +1,40 @@ |
|||
call plug#begin() |
|||
Plug 'ayu-theme/ayu-vim' |
|||
Plug 'scrooloose/nerdtree' |
|||
Plug 'ryanoasis/vim-devicons' |
|||
Plug 'tmsvg/pear-tree' |
|||
Plug 'makerj/vim-pdf' |
|||
Plug 'junegunn/goyo.vim' |
|||
Plug 'rust-lang/rust.vim' |
|||
Plug 'sainnhe/gruvbox-material' |
|||
call plug#end() |
|||
|
|||
"merdtree |
|||
autocmd StdinReadPre * let s:std_in=1 |
|||
autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif |
|||
|
|||
"colorscheme |
|||
set background=dark |
|||
colorscheme gruvbox-material |
|||
|
|||
set tabstop=2 |
|||
set number |
|||
"borders and tilde |
|||
highlight NonText ctermfg='Black' |
|||
set enc=utf-8 |
|||
set fillchars= |
|||
|
|||
"key remap |
|||
map <C-n> :NERDTreeToggle<CR> |
|||
map <C-l> <C-w>l |
|||
map <C-h> <C-w>h |
|||
map <C-j> <C-w>j |
|||
map <C-k> <C-w>k |
|||
autocmd! bufwritepost *.h make && sudo make install |
|||
|
|||
"auto source |
|||
autocmd! bufwritepost .vimrc source % |
|||
|
|||
"rust syntax |
|||
syntax enable |
|||
filetype plugin indent on |
|||
@ -0,0 +1 @@ |
|||
Wallpapers from [Wallhaven](https://wallhaven.cc) |
|||
|
After Width: | Height: | Size: 337 KiB |
|
After Width: | Height: | Size: 542 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 225 KiB |
|
After Width: | Height: | Size: 14 MiB |
|
After Width: | Height: | Size: 864 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 275 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 469 KiB |
|
After Width: | Height: | Size: 5.6 MiB |
|
After Width: | Height: | Size: 5.8 MiB |
|
After Width: | Height: | Size: 763 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 120 KiB |
@ -0,0 +1,40 @@ |
|||
# Start configuration added by Zim install {{{ |
|||
# ------- |
|||
# Modules |
|||
# ------- |
|||
|
|||
# Sets sane Zsh built-in environment options. |
|||
zmodule environment |
|||
# Provides handy git aliases and functions. |
|||
zmodule git |
|||
# Applies correct bindkeys for input events. |
|||
zmodule input |
|||
# Sets a custom terminal title. |
|||
zmodule termtitle |
|||
# Utility aliases and functions. Adds colour to ls, grep and less. |
|||
zmodule utility |
|||
|
|||
# |
|||
# Prompt |
|||
# |
|||
# |
|||
zmodule gitster |
|||
# Exposes git repository status information to prompts. |
|||
zmodule git-info |
|||
# A customizable version of steeef's prompt theme. |
|||
|
|||
# Additional completion definitions for Zsh. |
|||
zmodule zsh-users/zsh-completions |
|||
# Enables and configures smart and extensive tab completion. |
|||
# completion must be sourced after zsh-users/zsh-completions |
|||
zmodule completion |
|||
# Fish-like autosuggestions for Zsh. |
|||
zmodule zsh-users/zsh-autosuggestions |
|||
# Fish-like syntax highlighting for Zsh. |
|||
# zsh-users/zsh-syntax-highlighting must be sourced after completion |
|||
zmodule zsh-users/zsh-syntax-highlighting |
|||
# Fish-like history search (up arrow) for Zsh. |
|||
# zsh-users/zsh-history-substring-search must be sourced after zsh-users/zsh-syntax-highlighting |
|||
zmodule zsh-users/zsh-history-substring-search |
|||
# }}} End configuration added by Zim install |
|||
|
|||
@ -0,0 +1,186 @@ |
|||
# Start configuration added by Zim install {{{ |
|||
# |
|||
# User configuration sourced by interactive shells |
|||
# |
|||
|
|||
# ----------------- |
|||
# Zsh configuration |
|||
# ----------------- |
|||
|
|||
# |
|||
# History |
|||
# |
|||
|
|||
# Remove older command from the history if a duplicate is to be added. |
|||
setopt HIST_IGNORE_ALL_DUPS |
|||
|
|||
# |
|||
# Input/output |
|||
# |
|||
|
|||
# Set editor default keymap to emacs (`-e`) or vi (`-v`) |
|||
bindkey -e |
|||
|
|||
# Prompt for spelling correction of commands. |
|||
#setopt CORRECT |
|||
|
|||
# Customize spelling correction prompt. |
|||
#SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' |
|||
|
|||
# Remove path separator from WORDCHARS. |
|||
WORDCHARS=${WORDCHARS//[\/]} |
|||
|
|||
|
|||
# -------------------- |
|||
# Module configuration |
|||
# -------------------- |
|||
|
|||
# |
|||
# completion |
|||
# |
|||
|
|||
# Set a custom path for the completion dump file. |
|||
# If none is provided, the default ${ZDOTDIR:-${HOME}}/.zcompdump is used. |
|||
#zstyle ':zim:completion' dumpfile "${ZDOTDIR:-${HOME}}/.zcompdump-${ZSH_VERSION}" |
|||
|
|||
# |
|||
# git |
|||
# |
|||
|
|||
# Set a custom prefix for the generated aliases. The default prefix is 'G'. |
|||
#zstyle ':zim:git' aliases-prefix 'g' |
|||
|
|||
# |
|||
# input |
|||
# |
|||
|
|||
# Append `../` to your input for each `.` you type after an initial `..` |
|||
#zstyle ':zim:input' double-dot-expand yes |
|||
|
|||
# |
|||
# termtitle |
|||
# |
|||
|
|||
# Set a custom terminal title format using prompt expansion escape sequences. |
|||
# See http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes |
|||
# If none is provided, the default '%n@%m: %~' is used. |
|||
#zstyle ':zim:termtitle' format '%1~' |
|||
|
|||
# |
|||
# zsh-autosuggestions |
|||
# |
|||
|
|||
# Customize the style that the suggestions are shown with. |
|||
# See https://github.com/zsh-users/zsh-autosuggestions/blob/master/README.md#suggestion-highlight-style |
|||
#ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' |
|||
|
|||
# |
|||
# zsh-syntax-highlighting |
|||
# |
|||
|
|||
# Set what highlighters will be used. |
|||
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md |
|||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) |
|||
|
|||
# Customize the main highlighter styles. |
|||
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md#how-to-tweak-it |
|||
#typeset -A ZSH_HIGHLIGHT_STYLES |
|||
#ZSH_HIGHLIGHT_STYLES[comment]='fg=10' |
|||
|
|||
# ------------------ |
|||
# Initialize modules |
|||
# ------------------ |
|||
|
|||
if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then |
|||
# Update static initialization script if it does not exist or it's outdated, before sourcing it |
|||
source ${ZIM_HOME}/zimfw.zsh init -q |
|||
fi |
|||
source ${ZIM_HOME}/init.zsh |
|||
|
|||
# ------------------------------ |
|||
# Post-init module configuration |
|||
# ------------------------------ |
|||
|
|||
# |
|||
# zsh-history-substring-search |
|||
# |
|||
|
|||
# Bind ^[[A/^[[B manually so up/down works both before and after zle-line-init |
|||
bindkey '^[[A' history-substring-search-up |
|||
bindkey '^[[B' history-substring-search-down |
|||
|
|||
# Bind up and down keys |
|||
zmodload -F zsh/terminfo +p:terminfo |
|||
if [[ -n ${terminfo[kcuu1]} && -n ${terminfo[kcud1]} ]]; then |
|||
bindkey ${terminfo[kcuu1]} history-substring-search-up |
|||
bindkey ${terminfo[kcud1]} history-substring-search-down |
|||
fi |
|||
|
|||
bindkey '^P' history-substring-search-up |
|||
bindkey '^N' history-substring-search-down |
|||
bindkey -M vicmd 'k' history-substring-search-up |
|||
bindkey -M vicmd 'j' history-substring-search-down |
|||
# }}} End configuration added by Zim install |
|||
|
|||
# Set name of the theme to load --- if set to "random", it will |
|||
# load a random theme each time oh-my-zsh is loaded, in which case, |
|||
# to know which specific one was loaded, run: echo $RANDOM_THEME |
|||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes |
|||
#ZSH_THEME="robbyrussell" |
|||
|
|||
# Which plugins would you like to load? |
|||
# Standard plugins can be found in $ZSH/plugins/ |
|||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/ |
|||
# Example format: plugins=(rails git textmate ruby lighthouse) |
|||
# Add wisely, as too many plugins slow down shell startup. |
|||
|
|||
export LANG=en_US.UTF-8 |
|||
export EDITOR='vim' |
|||
export FZF_BASE="/usr/bin/fzf" |
|||
|
|||
alias vi="vim" |
|||
alias freq="watch grep \"cpu MHz\" /proc/cpuinfo" |
|||
alias c="clear" |
|||
alias cpu_p="~/.config/i3/cpu_percentage.sh" |
|||
alias screen="screen -U" |
|||
|
|||
#(cat ~/.cache/wal/sequences &) |
|||
#cat ~/.cache/wal/sequences |
|||
#source ~/.cache/wal/colors-tty.sh |
|||
|
|||
#source ~/git/zsh-autocomplete/zsh-autocomplete.plugin.zsh |
|||
|
|||
#nnn cofig |
|||
TERMINAL="alacritty" |
|||
BLK="0B" CHR="0B" DIR="04" EXE="06" REG="00" HARDLINK="06" SYMLINK="06" MISSING="00" ORPHAN="09" FIFO="06" SOCK="0B" OTHER="06" |
|||
#export NNN_COLORS='1234' |
|||
export NNN_FCOLORS="$BLK$CHR$DIR$EXE$REG$HARDLINK$SYMLINK$MISSING$ORPHAN$FIFO$SOCK$OTHER" |
|||
export NNN_PLUG='p:preview-tui;i:imgthumb;m:nmount;k:kdeconnect;g:gpg*;t:mtpmount' |
|||
export NNN_TRASH=1 |
|||
export NNN_FIFO=/tmp/nnn.fifo nnn |
|||
source /usr/share/doc/fzf/examples/key-bindings.zsh |
|||
|
|||
export GEM_HOME="$HOME/.gems" |
|||
export PATH="$HOME/.gems/bin:/usr/sbin:$PATH" |
|||
|
|||
#(cat ~/.cache/wal/sequences &) |
|||
|
|||
# Alternative (blocks terminal for 0-3ms) |
|||
#cat ~/.cache/wal/sequences |
|||
|
|||
# To add support for TTYs this line can be optionally added. |
|||
#source ~/.cache/wal/colors-tty.sh |
|||
|
|||
ffs() { |
|||
firefox --search $1 |
|||
} |
|||
|
|||
lks() { |
|||
search="${1}" |
|||
links "https://duckduckgo.com/?q=$search" |
|||
} |
|||
|
|||
|
|||
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then |
|||
exec startx |
|||
fi |
|||