Compare commits
1 Commits
master
...
work_lapto
| Author | SHA1 | Date | |
|---|---|---|---|
| dcdb351e74 |
36
README.md
@@ -1,16 +1,30 @@
|
||||
# dotfiles
|
||||
# LinuxDotFiles
|
||||
Personal Linux configuration files for
|
||||
|
||||
Less is more. This repo contains all my dotfiles for frequently used software.
|
||||
- i3wm
|
||||
- vim
|
||||
- tmux
|
||||
- urxvt
|
||||
- zsh
|
||||
|
||||
# how to manage
|
||||
# Dependencies
|
||||
|
||||
Personally I use [rcm](https://robots.thoughtbot.com/rcm-for-rc-files-in-dotfiles-repos) to keep my dotfiles in sync but this repo does not depend on anything.
|
||||
You'll need the following software for a fully functional setup.
|
||||
|
||||
My ansible-setup will install this repo to ~/.dotfiles and rcm will take care
|
||||
of all symlinks. Here are some simple commands to manage your symlinks:
|
||||
- i3-wm
|
||||
- i3status
|
||||
- i3lock
|
||||
- dmenu
|
||||
- zsh
|
||||
- vim
|
||||
- rxvt-unicode
|
||||
- tmux
|
||||
- feh
|
||||
- volnoti (AUR, GitHub)
|
||||
- jauth-git (AUR, GitHub)
|
||||
|
||||
```bash
|
||||
$ mkrc .$DOTFILE # Add new dotfile and create symlink
|
||||
$ lsrc # List all linked dotfiles
|
||||
$ rcup -v # Update all dotfile symlinks
|
||||
```
|
||||
# Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
88
Xdefaults
@@ -1,88 +0,0 @@
|
||||
################################
|
||||
# _ #
|
||||
# | | #
|
||||
# _ _ _ ____ ____ _| |_ #
|
||||
# | | | | '__\ \/ /\ \ / / __| #
|
||||
# | |_| | | > < \ V /| |_ #
|
||||
# \__,_|_| /_/\_\ \_/ \__| #
|
||||
# #
|
||||
################################
|
||||
|
||||
# Real transparency -> needs composite manager
|
||||
URxvt*depth: 32
|
||||
URxvt*background: rgba:0000/0000/0000/CFFF
|
||||
ARxvt.transparent: true
|
||||
URxvt.tintColor: white
|
||||
URxvt.shading: 20
|
||||
|
||||
URxvt*tintColor: Black
|
||||
#URxvt*saveLines: 9000000
|
||||
|
||||
# Font For Powerlinefonts: https://github.com/powerline/fonts (Arch linux -> AUR)
|
||||
URxvt*font: xft:Roboto Mono for Powerline:pixelsize=15:antialias=true:hinting=false
|
||||
URxvt*boldFont: xft:Roboto Mono for Powerline :bold:pixelsize=14:antialias=true:hinting=true
|
||||
URxvt*tabbed.font: xft:Roboto Mono for Powerline :pixelsize=14:antialias=true:hinting=true
|
||||
|
||||
# Misc configurations
|
||||
URxvt*colorUL: #4682B4
|
||||
URxvt*tabbed.scrollBar: false
|
||||
URxvt*tabbed.tabbar-fg: 3
|
||||
URxvt*tabbed.tabbar-bg: 0
|
||||
URxvt*tabbed.tab-fg: 0
|
||||
URxvt*tabbed.tab-bg: 1
|
||||
URxvt*tabbed.secondaryScroll: true
|
||||
URxvt*inheritPixmap: true
|
||||
|
||||
#Graphic
|
||||
Xft*dpi: 96
|
||||
Xft*antialias: true
|
||||
Xft*hinting: full
|
||||
|
||||
# Scroll behavior, don't scroll with output
|
||||
URxvt*scrollBar: false
|
||||
URxvt*secondaryScroll: true
|
||||
URxvt*scrollTtyOutput: false
|
||||
URxvt*scrollWithBuffer: true
|
||||
URxvt*scrollTtyKeypress: true
|
||||
|
||||
# Clickable urls
|
||||
URxvt*perl-ext-common: default,matcher
|
||||
URxvt*url-launcher: /usr/bin/xdg-open
|
||||
URxvt*matcher.button: 1
|
||||
|
||||
! special
|
||||
*.foreground: #c5c8c6
|
||||
*.background: #1d1f21
|
||||
*.cursorColor: #c5c8c6
|
||||
|
||||
! black
|
||||
*.color0: #282a2e
|
||||
*.color8: #373b41
|
||||
|
||||
! red
|
||||
*.color1: #a54242
|
||||
*.color9: #cc6666
|
||||
|
||||
! green
|
||||
*.color2: #8c9440
|
||||
*.color10: #b5bd68
|
||||
|
||||
! yellow
|
||||
*.color3: #de935f
|
||||
*.color11: #f0c674
|
||||
|
||||
! blue
|
||||
*.color4: #5f819d
|
||||
*.color12: #81a2be
|
||||
|
||||
! magenta
|
||||
*.color5: #85678f
|
||||
*.color13: #b294bb
|
||||
|
||||
! cyan
|
||||
*.color6: #5e8d87
|
||||
*.color14: #8abeb7
|
||||
|
||||
! white
|
||||
*.color7: #707880
|
||||
*.color15: #c5c8c6
|
||||
@@ -1,89 +0,0 @@
|
||||
# Environment vars
|
||||
env:
|
||||
TERM: alacritty
|
||||
|
||||
# Scroll config
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
history: 100000
|
||||
# Scrolling distance multiplier.
|
||||
multiplier: 3
|
||||
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
family: "IBM Plex Mono"
|
||||
style: regular
|
||||
# Bold font face
|
||||
bold:
|
||||
family: "IBM Plex Mono"
|
||||
style: bold
|
||||
# Italic font face
|
||||
italic:
|
||||
family: "IBM Plex Mono"
|
||||
style: italic
|
||||
size: 11
|
||||
|
||||
# Colors (Gruvbox dark)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
# hard contrast: background = '#1d2021'
|
||||
background: '#282828'
|
||||
# soft contrast: background = '#32302f'
|
||||
foreground: '#ebdbb2'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#282828'
|
||||
red: '#cc241d'
|
||||
green: '#98971a'
|
||||
yellow: '#d79921'
|
||||
blue: '#458588'
|
||||
magenta: '#b16286'
|
||||
cyan: '#689d6a'
|
||||
white: '#a89984'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#928374'
|
||||
red: '#fb4934'
|
||||
green: '#b8bb26'
|
||||
yellow: '#fabd2f'
|
||||
blue: '#83a598'
|
||||
magenta: '#d3869b'
|
||||
cyan: '#8ec07c'
|
||||
white: '#ebdbb2'
|
||||
|
||||
cursor:
|
||||
style:
|
||||
shape: Underline
|
||||
blinking: Always
|
||||
unfocused_hollow: false
|
||||
thickness: 0.15
|
||||
|
||||
# Background opacity
|
||||
window:
|
||||
opacity: 0.9
|
||||
|
||||
# Live config reload (changes require restart)
|
||||
live_config_reload: true
|
||||
|
||||
# Shell
|
||||
shell:
|
||||
program: /bin/zsh
|
||||
|
||||
# Startup directory
|
||||
working_directory: None
|
||||
|
||||
# url launcher
|
||||
mouse:
|
||||
hint:
|
||||
launcher:
|
||||
program: firefox
|
||||
|
||||
key_bindings:
|
||||
- { key: Left, mods: Control, action: ResetFontSize }
|
||||
- { key: Right, mods: Control, action: ResetFontSize }
|
||||
- { key: Up, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Down, mods: Control, action: DecreaseFontSize }
|
||||
@@ -1,95 +0,0 @@
|
||||
#########################################
|
||||
# _____ _ #
|
||||
# | __ \ | | #
|
||||
# | | | |_ _ _ __ ___| |_ _ __ ___ #
|
||||
# | | | | | | | '_ \/ __| __| '__/ __| #
|
||||
# | |__| | |_| | | | \__ \ |_| | | (__ #
|
||||
# |_____/ \__,_|_| |_|___/\__|_| \___| #
|
||||
# #
|
||||
#########################################
|
||||
|
||||
[global]
|
||||
# these should be in sync with i3 gaps
|
||||
origin = top-right
|
||||
offset = 10x10
|
||||
# Font
|
||||
font = IBM Plex Mono 12
|
||||
# Allow a small subset of html markup:
|
||||
markup = yes
|
||||
# The format of the message.
|
||||
format = "%s %p\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.
|
||||
alignment = center
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
show_age_threshold = 60
|
||||
# Split notifications into multiple lines if they don't fit
|
||||
word_wrap = no
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
# Shrink window if it's smaller than the width.
|
||||
shrink = yes
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
transparency = 0
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
idle_threshold = 120
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
# Display notification on focused monitor.
|
||||
follow = mouse
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
sticky_history = yes
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
# The height of a single line.
|
||||
line_height = 0
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
separator_height = 1
|
||||
# Padding between text and separator.
|
||||
padding = 10
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 10
|
||||
# Define a color for the separator.
|
||||
separator_color = auto
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
# Browser for opening urls in context menu.
|
||||
browser = palemoon
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
|
||||
# Frame width
|
||||
frame_width = 3
|
||||
|
||||
frame_color = "#1d2021"
|
||||
separator_color = "#d5c4a1"
|
||||
|
||||
[base16_low]
|
||||
msg_urgency = low
|
||||
background = "#3c3836"
|
||||
foreground = "#665c54"
|
||||
|
||||
[base16_normal]
|
||||
msg_urgency = normal
|
||||
background = "#504945"
|
||||
foreground = "#d5c4a1"
|
||||
|
||||
[base16_critical]
|
||||
msg_urgency = critical
|
||||
background = "#fb4934"
|
||||
foreground = "#ebdbb2"
|
||||
|
||||
[spotify]
|
||||
appname = Spotify*
|
||||
format = "<b> Now Playing:</b>\n%s\n%b"
|
||||
background = "#1d2021"
|
||||
foreground = "#ebdbb2"
|
||||
frame_color = "#1db954"
|
||||
timeout = 5
|
||||
script = spotup
|
||||
@@ -1,9 +0,0 @@
|
||||
[user]
|
||||
email = aaron@duckpond.ch
|
||||
name = id101010
|
||||
signingkey = 348F38C5
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[alias]
|
||||
logs = log --show-signature
|
||||
lg = log --graph --abbrev-commit --decorate --format=format:'%C(yellow)%h%C(reset)%C(auto)%d%C(reset) %C(normal)%s%C(reset) %C(dim white)%an%C(reset) %C(dim blue)(%ad)%C (reset)' --all
|
||||
252
i3/config
@@ -1,252 +0,0 @@
|
||||
#######################################
|
||||
# _____ ____ #
|
||||
# |_ _||___ \ #
|
||||
# | | __) |__ __ _ __ ___ #
|
||||
# | | |__ < \ \ /\ / /| '_ ` _ \ #
|
||||
# _| |_ ___) | \ V V / | | | | | | #
|
||||
# |_____||____/ \_/\_/ |_| |_| |_| #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#############################################
|
||||
# General configurations #
|
||||
#############################################
|
||||
|
||||
# font
|
||||
#set $font "pango:DejaVu Sans Mono for Powerline 10"
|
||||
#set $font "pango:Source Code Pro for Powerline 10"
|
||||
set $font "pango:IBM Plex Mono, FontAwesome 6 Free 11"
|
||||
font $font
|
||||
|
||||
# floating modifier
|
||||
# mod1 = Alt (xmodmap to show)
|
||||
# mod4 = Winkey (xmodmap to show)
|
||||
set $mod mod4
|
||||
floating_modifier $mod
|
||||
|
||||
# focus follows mouse
|
||||
focus_follows_mouse no
|
||||
|
||||
# no window decorations
|
||||
new_window pixel 1
|
||||
|
||||
# gaps
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
#############################################
|
||||
# Script Section #
|
||||
#############################################
|
||||
|
||||
#
|
||||
# "xev" and "showkeys" can be usefull to determine the keycodes.
|
||||
#
|
||||
|
||||
# display brightness management (laptop)
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id "xbacklight +10"
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id "xbacklight -10"
|
||||
# webcam
|
||||
bindsym XF86WebCam exec --no-startup-id "cheese"
|
||||
# screenshot
|
||||
bindsym $mod+F4 exec --no-startup-id "gnome-screenshot -w"
|
||||
# start dmenu-launcher
|
||||
bindsym $mod+d exec --no-startup-id rofi -show drun -theme gruvbox-dark-soft -font "mono 10"
|
||||
# lock i3 with i3lock
|
||||
bindsym $mod+Shift+x exec --no-startup-id i3lock -c 000000
|
||||
|
||||
#############################################
|
||||
# Keymaps #
|
||||
#############################################
|
||||
|
||||
# start terminal
|
||||
#bindsym $mod+Return exec --no-startup-id kitty
|
||||
bindsym $mod+Return exec --no-startup-id alacritty
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus vim Style
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+j focus down
|
||||
|
||||
# move focused window vim Style
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+l move right
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+j move down
|
||||
|
||||
# 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+v split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+c split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# 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
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# restart i3 inplace
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# exit i3
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -b 'Yes' 'i3-msg exit'"
|
||||
|
||||
# enter the resize mode
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# scratchpad
|
||||
bindsym $mod+y scratchpad show
|
||||
bindsym $mod+x move scratchpad
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1%
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1%
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
|
||||
#############################################
|
||||
# Workspace & Tags #
|
||||
#############################################
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
|
||||
#############################################
|
||||
# Resize handling #
|
||||
#############################################
|
||||
|
||||
mode "resize" {
|
||||
# bindings to resize
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
#############################################
|
||||
# Colors #
|
||||
#############################################
|
||||
|
||||
# primary gruvbox colorscheme
|
||||
set $bg #282828
|
||||
set $bg0 #282828
|
||||
set $bg1 #3c3836
|
||||
set $bg2 #504945
|
||||
set $bg3 #665c54
|
||||
set $bg4 #7c6f64
|
||||
set $fg #ebdbb2
|
||||
set $red #cc241d
|
||||
set $green #98971a
|
||||
set $yellow #d79921
|
||||
set $blue #458588
|
||||
set $purple #b16286
|
||||
set $aqua #689d68
|
||||
set $grey #a89984
|
||||
set $darkgrey #1d2021
|
||||
set $white #000000
|
||||
|
||||
# workspace config
|
||||
# class border backgr text indicator child_border
|
||||
client.focused $bg2 $bg2 $bg $bg4 $bg2
|
||||
client.focused_inactive $darkgrey $darkgrey $bg2 $bg $darkgrey
|
||||
client.unfocused $darkgrey $darkgrey $bg2 $bg $darkgrey
|
||||
client.urgent $red $bg2 $red $bg $red
|
||||
|
||||
#############################################
|
||||
# i3-bar #
|
||||
#############################################
|
||||
|
||||
bar {
|
||||
font $font
|
||||
position top
|
||||
status_command i3status-rs ~/.config/i3status-rust/config.toml
|
||||
colors {
|
||||
background #222439 # -> BG of Wallpaper for fake transparency
|
||||
statusline $yellow
|
||||
# class border backgr text
|
||||
focused_workspace $darkgrey $grey $darkgrey
|
||||
inactive_workspace $darkgrey $darkgrey $grey
|
||||
active_workspace $darkgrey $darkgrey $grey
|
||||
urgent_workspace $red $darkgrey $red
|
||||
}
|
||||
}
|
||||
|
||||
#############################################
|
||||
# specific windows #
|
||||
#############################################
|
||||
|
||||
# always floating
|
||||
for_window [class="Gedit"] floating enable
|
||||
for_window [class="Teamspeak3"] floating enable
|
||||
|
||||
# 0px Border
|
||||
for_window [class="chrome"] border none
|
||||
for_window [class="firefox"] border none
|
||||
|
||||
#############################################
|
||||
# auto start with i3 #
|
||||
#############################################
|
||||
|
||||
# composite manager
|
||||
exec --no-startup-id picom -b --config ~/.config/picom.conf
|
||||
# less eye pain
|
||||
exec --no-startup-id redshift -l 46.95:7.45 -t 6500:3000
|
||||
# start notification daemon
|
||||
exec --no-startup-id dunst -config ~/.config/dunstrc
|
||||
# no beep!
|
||||
exec --no-startup-id xset b off
|
||||
# wallpaper
|
||||
exec --no-startup-id feh --bg-fill ~/.config/wallpapers/gentoo.jpg
|
||||
# syncthing
|
||||
exec --no-startup-id syncthing --no-browser
|
||||
# use lockscreen as screensaver (needs xss-lock installed)
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -c000000 --nofork
|
||||
@@ -1,91 +0,0 @@
|
||||
# vim: ts=2 sw=2 et ft=toml
|
||||
|
||||
[theme]
|
||||
theme = "gruvbox-dark"
|
||||
|
||||
[icons]
|
||||
icons = "awesome5"
|
||||
|
||||
[[block]]
|
||||
block = "pacman"
|
||||
interval = 600
|
||||
|
||||
[[block]]
|
||||
block = "custom"
|
||||
command = "if [[ $(date +'%H%M') -eq 1620 ]]; then; echo ''; else; echo ''; fi"
|
||||
interval = 10
|
||||
hide_when_empty = true
|
||||
|
||||
[[block]]
|
||||
block = "custom"
|
||||
command = "if [[ $(date +'%H') < 16 ]]; then; echo '☕'; else; echo '🍺'; fi"
|
||||
interval = 10
|
||||
|
||||
[[block]]
|
||||
block = "disk_space"
|
||||
path = "/"
|
||||
format = "$icon $free"
|
||||
info_type = "available"
|
||||
interval = 20
|
||||
|
||||
[[block]]
|
||||
block = "net"
|
||||
device = "enp0s31f6"
|
||||
format = "$icon $ip"
|
||||
interval = 1
|
||||
missing_format = ""
|
||||
|
||||
[[block]]
|
||||
block = "net"
|
||||
device = "wlp0s20f3"
|
||||
format = "$icon $ip"
|
||||
interval = 1
|
||||
missing_format = ""
|
||||
|
||||
[[block]]
|
||||
block = "net"
|
||||
device = "enp10s0u1"
|
||||
format = "$icon $ip"
|
||||
interval = 1
|
||||
missing_format = ""
|
||||
|
||||
[[block]]
|
||||
block = "cpu"
|
||||
interval = 1
|
||||
format = " $icon $barchart $utilization "
|
||||
format_alt = " $icon $frequency { $boost|} "
|
||||
|
||||
[[block]]
|
||||
block = "memory"
|
||||
interval = 5
|
||||
warning_mem = 80
|
||||
critical_mem = 95
|
||||
|
||||
[[block]]
|
||||
block = "battery"
|
||||
format = " $icon $percentage {$time |}"
|
||||
|
||||
[[block]]
|
||||
block = "temperature"
|
||||
interval = 10
|
||||
format = " $icon "
|
||||
format_alt = " min: $min C, max: $max C, avg: $average C "
|
||||
chip = "*-isa-*"
|
||||
|
||||
[[block]]
|
||||
block = "sound"
|
||||
format = " $icon { $volume|}"
|
||||
[[block.click]]
|
||||
button = "left"
|
||||
cmd = "pavucontrol"
|
||||
|
||||
[[block]]
|
||||
block = "backlight"
|
||||
device = "intel_backlight"
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
format = " $icon $timestamp.datetime(f:'%a %d.%m.%y %H:%M:%S') "
|
||||
timezone = "Europe/Zurich"
|
||||
interval = 1
|
||||
|
||||
325
i3wm/config
Normal file
@@ -0,0 +1,325 @@
|
||||
#######################################
|
||||
# _____ ____ #
|
||||
# |_ _||___ \ #
|
||||
# | | __) |__ __ _ __ ___ #
|
||||
# | | |__ < \ \ /\ / /| '_ ` _ \ #
|
||||
# _| |_ ___) | \ V V / | | | | | | #
|
||||
# |_____||____/ \_/\_/ |_| |_| |_| #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#############################################
|
||||
# General configurations #
|
||||
#############################################
|
||||
|
||||
# font
|
||||
set $font "pango:Droid Sans Mono 10"
|
||||
#set $font "pagno:Droid Sans Mono for Powerline 10"
|
||||
font $font
|
||||
|
||||
# floating modifier
|
||||
# mod1 = Alt (xmodmap to show)
|
||||
# mod4 = Winkey (xmodmap to show)
|
||||
set $mod mod4
|
||||
floating_modifier $mod
|
||||
|
||||
# remove window decorations
|
||||
new_window pixel
|
||||
|
||||
# focus follows mouse
|
||||
focus_follows_mouse yes
|
||||
|
||||
##border
|
||||
new_window pixel 3
|
||||
|
||||
|
||||
#############################################
|
||||
# Script Section #
|
||||
#############################################
|
||||
|
||||
#
|
||||
# "xev" and "showkeys" can be usefull to determine the keycodes.
|
||||
#
|
||||
|
||||
# sound softkeys management
|
||||
#bindsym XF86AudioRaiseVolume exec ~/.i3/util/volnotid.sh up
|
||||
#bindsym XF86AudioLowerVolume exec ~/.i3/util/volnotid.sh down
|
||||
#bindsym XF86AudioMute exec ~/.i3/util/volnotid.sh mute
|
||||
bindsym XF86AudioRaiseVolume exec amixer -q sset Master 10%- unmute && killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioLowerVolume exec amixer -q sset Master 10%+ unmute && killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioMute exec amixer -q sset Master toggle && killall -SIGUSR1 i3status
|
||||
|
||||
# display brightness management
|
||||
bindsym XF86MonBrightnessUp exec "xbacklight +10"
|
||||
bindsym XF86MonBrightnessDown exec "xbacklight -10"
|
||||
|
||||
# webcam
|
||||
bindym XF86WebCam exec /bin/cheese
|
||||
|
||||
# lenovo Key wifi-menu
|
||||
bindsym XF86Launch1 exec urxvt -e sh -c "sudo wifi-menu wlp3s0"
|
||||
|
||||
# jauth two factor authenticator
|
||||
bindsym $mod+F1 exec /opt/JAuth/authenticator.sh google
|
||||
bindsym $mod+F2 exec /opt/JAuth/authenticator.sh facebook
|
||||
bindsym $mod+F3 exec /opt/JAuth/authenticator.sh dropbox
|
||||
|
||||
# start dmenu-launcher
|
||||
bindsym $mod+d exec ~/.i3/util/i3dmenu-wrapper.sh
|
||||
|
||||
# lock i3 with i3lock
|
||||
#bindsym $mod+Shift+x exec i3lock -c 000000
|
||||
bindsym $mod+Shift+x exec ~/.i3/util/i3blur.py
|
||||
|
||||
#############################################
|
||||
# Keymaps #
|
||||
#############################################
|
||||
|
||||
# start terminal
|
||||
#bindsym $mod+Return exec --no-startup-id gnome-terminal
|
||||
#bindsym $mod+Return exec --no-startup-id urxvt
|
||||
bindsym $mod+Return exec --no-startup-id urxvtc
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus vim Style
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+j focus up
|
||||
bindsym $mod+k focus down
|
||||
|
||||
# move focused window vim Style
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+l move right
|
||||
bindsym $mod+Shift+j move up
|
||||
bindsym $mod+Shift+k move down
|
||||
|
||||
# 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+v split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+c split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# 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
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# restart i3 inplace
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# exit i3
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -b 'Yes' 'i3-msg exit'"
|
||||
|
||||
# enter the resize mode
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# scratchpad
|
||||
bindsym $mod+y scratchpad show
|
||||
bindsym $mod+x move scratchpad
|
||||
|
||||
#############################################
|
||||
# Workspace & Tags #
|
||||
#############################################
|
||||
|
||||
# name for the workspaces
|
||||
set $tag1 "1 Terminal"
|
||||
set $tag2 "2 Internet"
|
||||
set $tag3 "3 Coding"
|
||||
set $tag4 "4 Music"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace $tag1
|
||||
bindsym $mod+2 workspace $tag2
|
||||
bindsym $mod+3 workspace $tag3
|
||||
bindsym $mod+4 workspace $tag4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $tag1
|
||||
bindsym $mod+Shift+2 move container to workspace $tag2
|
||||
bindsym $mod+Shift+3 move container to workspace $tag3
|
||||
bindsym $mod+Shift+4 move container to workspace $tag4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
|
||||
#############################################
|
||||
# Resize handling #
|
||||
#############################################
|
||||
|
||||
mode "resize" {
|
||||
# bindings to resize
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
#############################################
|
||||
# Colors #
|
||||
#############################################
|
||||
|
||||
# Darkbrown colorscheme
|
||||
set $DARKBROWN #402e2e
|
||||
set $LIGHTBROWN #978965
|
||||
set $DARKGREY #1f1f1f
|
||||
set $DARKRED #9b0e0e
|
||||
|
||||
# Solarized colorscheme
|
||||
#set $BACKGROUND #002b36
|
||||
set $BACKGROUND #1c5b98
|
||||
set $FOREGROUND #93a1a1
|
||||
set $LIGHTGREY #dc322f
|
||||
set $GREEN #b0cc54
|
||||
set $BROWN #b58900
|
||||
set $BLUE #268bd2
|
||||
set $VIOLET #6c71c4
|
||||
set $MAGENTA #2aa198
|
||||
set $WHITE #fdf6e3
|
||||
|
||||
client.background #ffffff
|
||||
|
||||
# Darkbrown colorscheme
|
||||
# name #border #background #text #indicator #child_border
|
||||
#client.focused $DARKBROWN $LIGHTBROWN $DARKBROWN $LIGHTBROWN $DARKBROWN
|
||||
#client.unfocused $DARKBROWN $DARKBROWN $LIGHTBROWN $LIGHTBROWN $DARKBROWN
|
||||
#client.focused_inactive $DARKBROWN $DARKBROWN $LIGHTBROWN $LIGHTBROWN $DARKBROWN
|
||||
#client.urgent $DARKBROWN $DARKBROWN $LIGHTBROWN $LIGHTBROWN $DARKBROWN
|
||||
|
||||
# Solarized colorscheme
|
||||
# name #border #background #text #indicator #child_border
|
||||
client.focused $FOREGROUND $MAGENTA $GREEN $GREEN $MAGENTA
|
||||
client.unfocused $BACKGROUND $BACKGROUND $GREEN $GREEN $BACKGROUND
|
||||
client.focused_inactive $BACKGROUND $BACKGROUND $GREEN $GREEN $BACKGROUND
|
||||
client.urgent $BACKGROUND $BACKGROUND $BACKGROUND $GREEN $BACKGROUND
|
||||
|
||||
#############################################
|
||||
# i3-bar #
|
||||
#############################################
|
||||
|
||||
bar {
|
||||
position top
|
||||
font $font
|
||||
i3bar_command /usr/bin/i3bar
|
||||
status_command i3status -c ~/.i3/i3status.conf
|
||||
separator_symbol ""
|
||||
|
||||
# Darkbrown colorscheme
|
||||
# colors {
|
||||
# statusline $LIGHTBROWN
|
||||
# background $DARKGREY
|
||||
# separator $DARKRED
|
||||
#
|
||||
# # name #border #bg #text
|
||||
# focused_workspace $LIGHTBROWN $DARKBROWN $LIGHTBROWN
|
||||
# active_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
# inactive_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
# urgent_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
# }
|
||||
|
||||
# Solarized colorscheme
|
||||
colors {
|
||||
statusline $GREEN
|
||||
background $BACKGROUND
|
||||
separator $MAGENTA
|
||||
|
||||
# name #border #bg #text
|
||||
focused_workspace $MAGENTA $BACKGROUND $GREEN
|
||||
active_workspace $BACKGROUND $BACKGROUND $GREEN
|
||||
inactive_workspace $BACKGROUND $BACKGROUND $GREEN
|
||||
urgent_workspace $BACKGROUND $BACKGROUND $GREEN
|
||||
}
|
||||
}
|
||||
|
||||
#############################################
|
||||
# specific windows #
|
||||
#############################################
|
||||
|
||||
# always floating
|
||||
for_window [class="Thunar"] floating enable
|
||||
for_window [class="Nautilus"] floating enable
|
||||
for_window [class="GParted"] floating enable
|
||||
for_window [class="Gedit"] floating enable
|
||||
#for_window [class="Evince"] floating enable
|
||||
for_window [class="Telegram"] floating enable
|
||||
for_window [class="teamspeak3"] floating enable
|
||||
for_window [class="rhythmbox"] floating enable
|
||||
for_window [class="LibreOffice"] floating enable
|
||||
for_window [class="JAuth"] floating enable
|
||||
for_window [class="plecs"] floating enable
|
||||
|
||||
# 0px Border
|
||||
#for_window [class="chrome"] border none
|
||||
for_window [class="Firefox"] border none
|
||||
|
||||
# 1px Border
|
||||
#for_window [class="URxvt" ] border 1pixel
|
||||
|
||||
#############################################
|
||||
# auto start with i3 #
|
||||
#############################################
|
||||
|
||||
# terminal daemon
|
||||
exec --no-startup-id urxvtd --quiet --opendisplay --fork
|
||||
|
||||
# pidgin chat cliente
|
||||
exec --no-startup-id pidgin
|
||||
|
||||
# less eye pain
|
||||
exec --no-startup-id redshift-gtk
|
||||
exec --no-startup-id compton -cCGbD 10
|
||||
|
||||
# no beep!
|
||||
exec --no-startup-id xset b off
|
||||
|
||||
# set dpi for my monitor
|
||||
#exec --no-startup-id xrandr --dpi 81
|
||||
|
||||
# set mouse accel
|
||||
#exec --no-startup-id xset m 1/4 1
|
||||
exec --no-startup-id xset m 1 1
|
||||
|
||||
# numlock on by default
|
||||
#exec --no-startup-id numlockx on
|
||||
|
||||
# nm-applet (yehhh vpn ...)
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# wallpapers
|
||||
#exec --no-startup-id ~/.i3/util/wallpapers.sh
|
||||
exec --no-startup-id feh --bg-scale ~/.wallpapers/puzzle1.png
|
||||
80
i3wm/i3status.conf
Normal file
@@ -0,0 +1,80 @@
|
||||
########################################
|
||||
# _ ____ _ _ #
|
||||
# (_)___ \ | | | | #
|
||||
# _ __) |___| |_ __ _| |_ _ _ ___ #
|
||||
# | ||__ </ __| __/ _` | __| | | / __| #
|
||||
# | |___) \__ \ || (_| | |_| |_| \__ \ #
|
||||
# |_|____/|___/\__\__,_|\__|\__,_|___/ #
|
||||
# #
|
||||
########################################
|
||||
#
|
||||
# i3status configuration file.
|
||||
# see "man i3status" for documentation.
|
||||
#
|
||||
# It is important that this file is edited as UTF-8.
|
||||
# The following line should contain a sharp s: ß
|
||||
# If the above line is not correctly displayed, fix your editor first!
|
||||
|
||||
general {
|
||||
colors = true
|
||||
interval = 1
|
||||
}
|
||||
|
||||
order += "ipv6"
|
||||
order += "battery 0"
|
||||
order += "disk /home"
|
||||
order += "disk /"
|
||||
order += "wireless wlp1s0"
|
||||
order += "ethernet enp0s31f6"
|
||||
order += "cpu_temperature 0"
|
||||
order += "volume master"
|
||||
order += "tztime local"
|
||||
|
||||
wireless wlp1s0 {
|
||||
format_up = "📡 (%quality @ %essid, %bitrate) %ip"
|
||||
format_down = "📡 down"
|
||||
}
|
||||
|
||||
ethernet enp0s31f6 {
|
||||
format_up = "🔌 %ip (%speed)"
|
||||
format_down = "🔌 down"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status %percentage (%remaining @ %consumption)"
|
||||
format_down = "No battery"
|
||||
last_full_capacity = false # true: relative capaciy, false: true capacity left
|
||||
status_chr = "⚇ CHR"
|
||||
status_bat = "⚡ BAT"
|
||||
status_full = "☻ FULL"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
threshold_type = time
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = " 📅 %d-%m-%Y 🕑 %H:%M:%S"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "🌡 %degrees °C"
|
||||
max_threshold = 70
|
||||
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "/home %free"
|
||||
prefix_type = "binary"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "root %free"
|
||||
prefix_type = "binary"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "♪ %volume"
|
||||
format_muted = "♪ muted"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
}
|
||||
37
i3wm/util/authenticator.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
###############################
|
||||
# _ _ _ #
|
||||
# (_) | | | | #
|
||||
# _ __ _ _ _| |_| |__ #
|
||||
# | |/ _` | | | | __| '_ \ #
|
||||
# | | (_| | |_| | |_| | | | #
|
||||
# | |\__,_|\__,_|\__|_| |_| #
|
||||
# _/ | #
|
||||
# |__/ #
|
||||
# #
|
||||
###############################
|
||||
|
||||
# This script needs jauth-git to work
|
||||
# jauth can be installed from the arch aur
|
||||
#
|
||||
# yaourt -S jauth-git
|
||||
#
|
||||
|
||||
SECRET_GOOGLE="asdf"
|
||||
SECRET_FACEBOOK="asdf"
|
||||
SECRET_DROPBOX="asdf"
|
||||
|
||||
ARG="${1}"
|
||||
|
||||
case ${ARG} in
|
||||
"google")
|
||||
jauth -secret=${SECRET_GOOGLE}
|
||||
;;
|
||||
"facebook")
|
||||
jauth -secret=${SECRET_FACEBOOK}
|
||||
;;
|
||||
"dropbox")
|
||||
jauth -secret=${SECRET_DROPBOX}
|
||||
;;
|
||||
esac
|
||||
53
i3wm/util/i3blur.py
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/python2
|
||||
|
||||
###############################
|
||||
# _ ____ _ _ #
|
||||
# (_)___ \| | | | #
|
||||
# _ __) | |__ | |_ _ _ __ #
|
||||
# | ||__ <| '_ \| | | | | '__|#
|
||||
# | |___) | |_) | | |_| | | #
|
||||
# |_|____/|_.__/|_|\__,_|_| #
|
||||
# #
|
||||
###############################
|
||||
|
||||
"""
|
||||
A simple python script that takes a
|
||||
screenshot, blurs it and invokes i3lock.
|
||||
"""
|
||||
|
||||
import gtk.gdk
|
||||
import os, sys
|
||||
from PIL import ImageFilter
|
||||
from PIL import Image
|
||||
|
||||
# Get screen and its size
|
||||
w = gtk.gdk.get_default_root_window()
|
||||
sz = w.get_size()
|
||||
|
||||
print "[DEBUG]: The size of the window is %d x %d" % sz
|
||||
|
||||
# Get a drawable with the size of the desktop
|
||||
scr = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, sz[0], sz[1])
|
||||
|
||||
# Fill it with the screenshot
|
||||
scr = scr.get_from_drawable(w, w.get_colormap(), 0, 0, 0, 0, sz[0], sz[1])
|
||||
|
||||
# Save the screenshot as png
|
||||
if(scr != None):
|
||||
scr.save("/tmp/i3screen.png","png")
|
||||
print "[DEBUG]: Screenshot saved to /tmp/i3screen.png."
|
||||
else:
|
||||
print "[DEBUG]: Unable to get the screenshot."
|
||||
|
||||
# Load the screenshot as image and blur it
|
||||
iml = Image.open("/tmp/i3screen.png")
|
||||
iml = iml.filter(ImageFilter.GaussianBlur(8))
|
||||
|
||||
# Save the blured screenshot and call i3lock
|
||||
if(iml != None):
|
||||
iml.save("/tmp/i3screenblr.png", "png")
|
||||
os.system("i3lock -i /tmp/i3screenblr.png")
|
||||
print "[DEBUG]: Screenshot blured and saved to /tmp/i3screenblr.png."
|
||||
else:
|
||||
print "[DEBUG]: Unable to blur the screenshot."
|
||||
|
||||
8
i3wm/util/i3dmenu-wrapper.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
BG="#002b36"
|
||||
FG="#93a1a1"
|
||||
SBG="#6c71c4"
|
||||
SFG="#93a1a1"
|
||||
|
||||
i3-dmenu-desktop --dmenu="dmenu -i -nb $BG -nf $FG -sb $SBG -sf $SFG -l 16"
|
||||
54
i3wm/util/volnotid.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
##########################################
|
||||
# _ _ _ _ #
|
||||
# | | | | (_) | | #
|
||||
# __ _____ | |_ __ ___ | |_ _ __| | #
|
||||
# \ \ / / _ \| | '_ \ / _ \| __| |/ _` | #
|
||||
# \ V / (_) | | | | | (_) | |_| | (_| | #
|
||||
# \_/ \___/|_|_| |_|\___/ \__|_|\__,_| #
|
||||
# #
|
||||
##########################################
|
||||
|
||||
#
|
||||
# This script uses volnoti, which can be installed from git or
|
||||
# from the arch aur.
|
||||
#
|
||||
# yaourt -S volnoti
|
||||
#
|
||||
|
||||
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
||||
VALUE=3dB
|
||||
MUTE=0
|
||||
|
||||
case "$1" in
|
||||
"up")
|
||||
# Increase Volume
|
||||
[[ "$VOLUME" -eq 100 ]] && VALUE=0
|
||||
amixer -q set Master $VALUE+ unmute && killall -SIGUSR1 i3status
|
||||
MUTE=0
|
||||
;;
|
||||
"down")
|
||||
# Decrease Volume
|
||||
amixer -q set Master $VALUE- unmute && killall -SIGUSR1 i3status
|
||||
MUTE=0
|
||||
# If the Volume is already 0, then mute
|
||||
if [ "$VOLUME" == "0" ]; then
|
||||
MUTE=1
|
||||
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
||||
fi
|
||||
;;
|
||||
"mute")
|
||||
# Mute
|
||||
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
||||
MUTE=1
|
||||
;;
|
||||
esac
|
||||
|
||||
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
||||
|
||||
if [ "$MUTE" == "0" ]; then
|
||||
volnoti-show $VOLUME
|
||||
else
|
||||
volnoti-show -m $VOLUME
|
||||
fi
|
||||
21
i3wm/util/wallpapers.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
#######################################################
|
||||
# _ _ #
|
||||
# | | | #
|
||||
# __ ____ _| | |_ __ __ _ _ __ ___ _ __ ___ #
|
||||
# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__/ __| #
|
||||
# \ V V / (_| | | | |_) | (_| | |_) | __/ | \__ \ #
|
||||
# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| |___/ #
|
||||
# | | | | #
|
||||
# |_| |_| #
|
||||
#######################################################
|
||||
|
||||
PICTURES="$HOME/.wallpapers/"
|
||||
SHOWTIME="10m"
|
||||
|
||||
while true; do
|
||||
find $PICTURES -type f \( -name '*.jpg' -o -name '*.png' \) -print0 | shuf -n1 -z | xargs -0 feh --bg-scale
|
||||
sleep $SHOWTIME
|
||||
done
|
||||
|
||||
BIN
images/coding_screenshot.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
images/desktop_screenshot.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
@@ -1,31 +0,0 @@
|
||||
macos_option_as_alt no
|
||||
|
||||
# Themes
|
||||
include ./theme.conf
|
||||
|
||||
# Fonts
|
||||
font_family MesloLGS NF
|
||||
font_size 11
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
# No screaming please
|
||||
enable_audio_bell no
|
||||
|
||||
# Background opacity
|
||||
background_opacity 0.95
|
||||
|
||||
# How to open links
|
||||
open_url_with firefox
|
||||
open_url_modifiers none
|
||||
|
||||
# INFINITE POWER (scrollback)!!!
|
||||
scrollback_lines -1
|
||||
|
||||
# Do not annoy me
|
||||
update_check_interval 0
|
||||
|
||||
# Zoom with ; and _
|
||||
map cmd+0x2c change_font_size all +2.0
|
||||
map cmd+0x2d change_font_size all -2.0
|
||||
@@ -1,49 +0,0 @@
|
||||
# gruvbox dark by morhetz, https://github.com/morhetz/gruvbox
|
||||
# This work is licensed under the terms of the MIT license.
|
||||
# For a copy, see https://opensource.org/licenses/MIT.
|
||||
|
||||
background #282828
|
||||
foreground #ebdbb2
|
||||
|
||||
cursor #928374
|
||||
|
||||
selection_foreground #928374
|
||||
selection_background #3c3836
|
||||
|
||||
color0 #282828
|
||||
color8 #928374
|
||||
|
||||
# red
|
||||
color1 #cc241d
|
||||
# light red
|
||||
color9 #fb4934
|
||||
|
||||
# green
|
||||
color2 #98971a
|
||||
# light green
|
||||
color10 #b8bb26
|
||||
|
||||
# yellow
|
||||
color3 #d79921
|
||||
# light yellow
|
||||
color11 #fabd2d
|
||||
|
||||
# blue
|
||||
color4 #458588
|
||||
# light blue
|
||||
color12 #83a598
|
||||
|
||||
# magenta
|
||||
color5 #b16286
|
||||
# light magenta
|
||||
color13 #d3869b
|
||||
|
||||
# cyan
|
||||
color6 #689d6a
|
||||
# lighy cyan
|
||||
color14 #8ec07c
|
||||
|
||||
# light gray
|
||||
color7 #a89984
|
||||
# dark gray
|
||||
color15 #928374
|
||||
0
mpd/database
Normal file
424
mpd/mpd.conf
Normal file
@@ -0,0 +1,424 @@
|
||||
# An example configuration file for MPD.
|
||||
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
||||
|
||||
|
||||
# Files and directories #######################################################
|
||||
#
|
||||
# This setting controls the top directory which MPD will search to discover the
|
||||
# available audio files and add them to the daemon's online database. This
|
||||
# setting defaults to the XDG directory, otherwise the music directory will be
|
||||
# be disabled and audio files will only be accepted over ipc socket (using
|
||||
# file:// protocol) or streaming files over an accepted protocol.
|
||||
#
|
||||
music_directory "~/Music"
|
||||
#
|
||||
# This setting sets the MPD internal playlist directory. The purpose of this
|
||||
# directory is storage for playlists created by MPD. The server will use
|
||||
# playlist files not created by the server but only if they are in the MPD
|
||||
# format. This setting defaults to playlist saving being disabled.
|
||||
#
|
||||
playlist_directory "~/.mpd/playlists"
|
||||
#
|
||||
# This setting sets the location of the MPD database. This file is used to
|
||||
# load the database at server start up and store the database while the
|
||||
# server is not up. This setting defaults to disabled which will allow
|
||||
# MPD to accept files over ipc socket (using file:// protocol) or streaming
|
||||
# files over an accepted protocol.
|
||||
#
|
||||
db_file "~/.mpd/database"
|
||||
#
|
||||
# These settings are the locations for the daemon log files for the daemon.
|
||||
# These logs are great for troubleshooting, depending on your log_level
|
||||
# settings.
|
||||
#
|
||||
# The special value "syslog" makes MPD use the local syslog daemon. This
|
||||
# setting defaults to logging to syslog, otherwise logging is disabled.
|
||||
#
|
||||
log_file "~/.mpd/log"
|
||||
#
|
||||
# This setting sets the location of the file which stores the process ID
|
||||
# for use of mpd --kill and some init scripts. This setting is disabled by
|
||||
# default and the pid file will not be stored.
|
||||
#
|
||||
pid_file "~/.mpd/pid"
|
||||
#
|
||||
# This setting sets the location of the file which contains information about
|
||||
# most variables to get MPD back into the same general shape it was in before
|
||||
# it was brought down. This setting is disabled by default and the server
|
||||
# state will be reset on server start up.
|
||||
#
|
||||
state_file "~/.mpd/state"
|
||||
#
|
||||
# The location of the sticker database. This is a database which
|
||||
# manages dynamic information attached to songs.
|
||||
#
|
||||
sticker_file "~/.mpd/sticker.sql"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# General music daemon options ################################################
|
||||
#
|
||||
# This setting specifies the user that MPD will run as. MPD should never run as
|
||||
# root and you may use this setting to make MPD change its user ID after
|
||||
# initialization. This setting is disabled by default and MPD is run as the
|
||||
# current user.
|
||||
#
|
||||
user "aaron"
|
||||
#
|
||||
# This setting specifies the group that MPD will run as. If not specified
|
||||
# primary group of user specified with "user" setting will be used (if set).
|
||||
# This is useful if MPD needs to be a member of group such as "audio" to
|
||||
# have permission to use sound card.
|
||||
#
|
||||
group "users"
|
||||
#
|
||||
# This setting sets the address for the daemon to listen on. Careful attention
|
||||
# should be paid if this is assigned to anything other then the default, any.
|
||||
# This setting can deny access to control of the daemon.
|
||||
#
|
||||
# For network
|
||||
#bind_to_address "any"
|
||||
#
|
||||
# And for Unix Socket
|
||||
#bind_to_address "~/.mpd/socket"
|
||||
#
|
||||
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||
# to.
|
||||
#
|
||||
#port "6600"
|
||||
#
|
||||
# This setting controls the type of information which is logged. Available
|
||||
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
|
||||
# argument is recommended for troubleshooting, though can quickly stretch
|
||||
# available resources on limited hardware storage.
|
||||
#
|
||||
log_level "default"
|
||||
#
|
||||
# If you have a problem with your MP3s ending abruptly it is recommended that
|
||||
# you set this argument to "no" to attempt to fix the problem. If this solves
|
||||
# the problem, it is highly recommended to fix the MP3 files with vbrfix
|
||||
# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
|
||||
# point gapless MP3 playback can be enabled.
|
||||
#
|
||||
#gapless_mp3_playback "yes"
|
||||
#
|
||||
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
||||
# of starting playback after startup.
|
||||
#
|
||||
#restore_paused "no"
|
||||
#
|
||||
# This setting enables MPD to create playlists in a format usable by other
|
||||
# music players.
|
||||
#
|
||||
#save_absolute_paths_in_playlists "no"
|
||||
#
|
||||
# This setting defines a list of tag types that will be extracted during the
|
||||
# audio file discovery process. The complete list of possible values can be
|
||||
# found in the user manual.
|
||||
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
|
||||
#
|
||||
# This setting enables automatic update of MPD's database when files in
|
||||
# music_directory are changed.
|
||||
#
|
||||
auto_update "yes"
|
||||
#
|
||||
# Limit the depth of the directories being watched, 0 means only watch
|
||||
# the music directory itself. There is no limit by default.
|
||||
#
|
||||
#auto_update_depth "3"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Symbolic link behavior ######################################################
|
||||
#
|
||||
# If this setting is set to "yes", MPD will discover audio files by following
|
||||
# symbolic links outside of the configured music_directory.
|
||||
#
|
||||
#follow_outside_symlinks "yes"
|
||||
#
|
||||
# If this setting is set to "yes", MPD will discover audio files by following
|
||||
# symbolic links inside of the configured music_directory.
|
||||
#
|
||||
#follow_inside_symlinks "yes"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Zeroconf / Avahi Service Discovery ##########################################
|
||||
#
|
||||
# If this setting is set to "yes", service information will be published with
|
||||
# Zeroconf / Avahi.
|
||||
#
|
||||
#zeroconf_enabled "yes"
|
||||
#
|
||||
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
||||
# this MPD server on the network.
|
||||
#
|
||||
#zeroconf_name "Music Player"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Permissions #################################################################
|
||||
#
|
||||
# If this setting is set, MPD will require password authorization. The password
|
||||
# can setting can be specified multiple times for different password profiles.
|
||||
#
|
||||
#password "password@read,add,control,admin"
|
||||
#
|
||||
# This setting specifies the permissions a user has who has not yet logged in.
|
||||
#
|
||||
#default_permissions "read,add,control,admin"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Database #######################################################################
|
||||
#
|
||||
|
||||
#database {
|
||||
# plugin "proxy"
|
||||
# host "other.mpd.host"
|
||||
# port "6600"
|
||||
#}
|
||||
|
||||
# Input #######################################################################
|
||||
#
|
||||
|
||||
input {
|
||||
plugin "curl"
|
||||
# proxy "proxy.isp.com:8080"
|
||||
# proxy_user "user"
|
||||
# proxy_password "password"
|
||||
}
|
||||
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# Audio Output ################################################################
|
||||
#
|
||||
# MPD supports various audio output types, as well as playing through multiple
|
||||
# audio outputs at the same time, through multiple audio_output settings
|
||||
# blocks. Setting this block is optional, though the server will only attempt
|
||||
# autodetection for one sound card.
|
||||
#
|
||||
# An example of an ALSA output:
|
||||
#
|
||||
audio_output {
|
||||
type "alsa"
|
||||
name "HDA Intel PCH"
|
||||
# device "hw:0,0" # optional
|
||||
mixer_type "software" # optional
|
||||
# mixer_device "default" # optional
|
||||
# mixer_control "PCM" # optional
|
||||
# mixer_index "0" # optional
|
||||
}
|
||||
#
|
||||
# An example of an OSS output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "oss"
|
||||
# name "My OSS Device"
|
||||
## device "/dev/dsp" # optional
|
||||
## mixer_type "hardware" # optional
|
||||
## mixer_device "/dev/mixer" # optional
|
||||
## mixer_control "PCM" # optional
|
||||
#}
|
||||
#
|
||||
# An example of a shout output (for streaming to Icecast):
|
||||
#
|
||||
#audio_output {
|
||||
# type "shout"
|
||||
# encoder "vorbis" # optional
|
||||
# name "My Shout Stream"
|
||||
# host "localhost"
|
||||
# port "8000"
|
||||
# mount "/mpd.ogg"
|
||||
# password "hackme"
|
||||
# quality "5.0"
|
||||
# bitrate "128"
|
||||
# format "44100:16:1"
|
||||
## protocol "icecast2" # optional
|
||||
## user "source" # optional
|
||||
## description "My Stream Description" # optional
|
||||
## url "http://example.com" # optional
|
||||
## genre "jazz" # optional
|
||||
## public "no" # optional
|
||||
## timeout "2" # optional
|
||||
## mixer_type "software" # optional
|
||||
#}
|
||||
#
|
||||
# An example of a recorder output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "recorder"
|
||||
# name "My recorder"
|
||||
# encoder "vorbis" # optional, vorbis or lame
|
||||
# path "/var/lib/mpd/recorder/mpd.ogg"
|
||||
## quality "5.0" # do not define if bitrate is defined
|
||||
# bitrate "128" # do not define if quality is defined
|
||||
# format "44100:16:1"
|
||||
#}
|
||||
#
|
||||
# An example of a httpd output (built-in HTTP streaming server):
|
||||
#
|
||||
#audio_output {
|
||||
# type "httpd"
|
||||
# name "My HTTP Stream"
|
||||
# encoder "vorbis" # optional, vorbis or lame
|
||||
# port "8000"
|
||||
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
||||
## quality "5.0" # do not define if bitrate is defined
|
||||
# bitrate "128" # do not define if quality is defined
|
||||
# format "44100:16:1"
|
||||
# max_clients "0" # optional 0=no limit
|
||||
#}
|
||||
#
|
||||
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
||||
#
|
||||
#audio_output {
|
||||
# type "pulse"
|
||||
# name "My Pulse Output"
|
||||
## server "remote_server" # optional
|
||||
## sink "remote_server_sink" # optional
|
||||
#}
|
||||
#
|
||||
# An example of a winmm output (Windows multimedia API).
|
||||
#
|
||||
#audio_output {
|
||||
# type "winmm"
|
||||
# name "My WinMM output"
|
||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||
# or
|
||||
## device "0" # optional
|
||||
## mixer_type "hardware" # optional
|
||||
#}
|
||||
#
|
||||
# An example of an openal output.
|
||||
#
|
||||
#audio_output {
|
||||
# type "openal"
|
||||
# name "My OpenAL output"
|
||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||
#}
|
||||
#
|
||||
## Example "pipe" output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "pipe"
|
||||
# name "my pipe"
|
||||
# command "aplay -f cd 2>/dev/null"
|
||||
## Or if you're want to use AudioCompress
|
||||
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
||||
## Or to send raw PCM stream through PCM:
|
||||
# command "nc example.org 8765"
|
||||
# format "44100:16:2"
|
||||
#}
|
||||
#
|
||||
## An example of a null output (for no audio output):
|
||||
#
|
||||
#audio_output {
|
||||
# type "null"
|
||||
# name "My Null Output"
|
||||
# mixer_type "none" # optional
|
||||
#}
|
||||
#
|
||||
# If MPD has been compiled with libsamplerate support, this setting specifies
|
||||
# the sample rate converter to use. Possible values can be found in the
|
||||
# mpd.conf man page or the libsamplerate documentation. By default, this is
|
||||
# setting is disabled.
|
||||
#
|
||||
#samplerate_converter "Fastest Sinc Interpolator"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Normalization automatic volume adjustments ##################################
|
||||
#
|
||||
# This setting specifies the type of ReplayGain to use. This setting can have
|
||||
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
|
||||
# chooses between "track" and "album" depending on the current state of
|
||||
# random playback. If random playback is enabled then "track" mode is used.
|
||||
# See <http://www.replaygain.org> for more details about ReplayGain.
|
||||
# This setting is off by default.
|
||||
#
|
||||
#replaygain "album"
|
||||
#
|
||||
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
||||
# default this setting is disabled.
|
||||
#
|
||||
#replaygain_preamp "0"
|
||||
#
|
||||
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
|
||||
# By default this setting is disabled.
|
||||
#
|
||||
#replaygain_missing_preamp "0"
|
||||
#
|
||||
# This setting enables or disables ReplayGain limiting.
|
||||
# MPD calculates actual amplification based on the ReplayGain tags
|
||||
# and replaygain_preamp / replaygain_missing_preamp setting.
|
||||
# If replaygain_limit is enabled MPD will never amplify audio signal
|
||||
# above its original level. If replaygain_limit is disabled such amplification
|
||||
# might occur. By default this setting is enabled.
|
||||
#
|
||||
#replaygain_limit "yes"
|
||||
#
|
||||
# This setting enables on-the-fly normalization volume adjustment. This will
|
||||
# result in the volume of all playing audio to be adjusted so the output has
|
||||
# equal "loudness". This setting is disabled by default.
|
||||
#
|
||||
#volume_normalization "no"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# Character Encoding ##########################################################
|
||||
#
|
||||
# If file or directory names do not display correctly for your locale then you
|
||||
# may need to modify this setting.
|
||||
#
|
||||
filesystem_charset "UTF-8"
|
||||
#
|
||||
# This setting controls the encoding that ID3v1 tags should be converted from.
|
||||
#
|
||||
#id3v1_encoding "ISO-8859-1"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# SIDPlay decoder #############################################################
|
||||
#
|
||||
# songlength_database:
|
||||
# Location of your songlengths file, as distributed with the HVSC.
|
||||
# The sidplay plugin checks this for matching MD5 fingerprints.
|
||||
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
|
||||
#
|
||||
# default_songlength:
|
||||
# This is the default playing time in seconds for songs not in the
|
||||
# songlength database, or in case you're not using a database.
|
||||
# A value of 0 means play indefinitely.
|
||||
#
|
||||
# filter:
|
||||
# Turns the SID filter emulation on or off.
|
||||
#
|
||||
#decoder {
|
||||
# plugin "sidplay"
|
||||
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
|
||||
# default_songlength "120"
|
||||
# filter "true"
|
||||
#}
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# NCMPCPP Visualisation #######################################################
|
||||
#
|
||||
#
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "my_fifo"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
#
|
||||
###############################################################################
|
||||
0
mpd/sticker.sql
Normal file
49
ncmpcpp/config
Normal file
@@ -0,0 +1,49 @@
|
||||
mpd_music_dir = "/home/aaron/Music"
|
||||
mpd_crossfade_time = "5"
|
||||
|
||||
# Visualizer
|
||||
visualizer_fifo_path = "/tmp/mpd.fifo"
|
||||
visualizer_output_name = "fifo"
|
||||
visualizer_type = "wave" (spectrum/wave)
|
||||
|
||||
# Playlist
|
||||
song_list_format = "{%a - }{%t}|{$8%f$9}$R{$7(%b)$9}"
|
||||
song_status_format = "{%a - }{%t - }{%b}"
|
||||
alternative_header_first_line_format = "{$5%t$/b}"
|
||||
alternative_header_second_line_format= "$7{$b%a$/b}$9 - $5{%b}$9 $8{(%y)}"
|
||||
now_playing_prefix = "$b"
|
||||
now_playing_suffix = "$/b"
|
||||
browser_playlist_prefix = "$7$bplaylist$/b$9 "
|
||||
selected_item_prefix = "$6"
|
||||
selected_item_suffix = "$9"
|
||||
song_window_title_format = "{%a - }{%t}|{%f}"
|
||||
|
||||
# Progress bar look
|
||||
song_columns_list_format = "(8)[white]{l} (28)[cyan]{a} (28)[white]{b} (50)[cyan]{t}"
|
||||
discard_colors_if_item_is_selected = "yes"
|
||||
progressbar_look = "─╼ "
|
||||
user_interface = "classic" (classic/alternative)
|
||||
header_visibility = "no"
|
||||
titles_visibility = "no"
|
||||
cyclic_scrolling = "yes"
|
||||
mouse_support = "no"
|
||||
external_editor = "vim"
|
||||
use_console_editor = "yes" (set to yes, if your editor is console app)
|
||||
|
||||
# Colors
|
||||
colors_enabled = "yes"
|
||||
empty_tag_color = "cyan"
|
||||
header_window_color = "white"
|
||||
volume_color = "cyan"
|
||||
state_line_color = "white"
|
||||
state_flags_color = "white"
|
||||
main_window_color = "white"
|
||||
color1 = "white"
|
||||
color2 = "cyan"
|
||||
main_window_highlight_color = "white"
|
||||
progressbar_color = "white"
|
||||
statusbar_color = "cyan"
|
||||
alternative_ui_separator_color = "black"
|
||||
active_column_color = "cyan"
|
||||
window_border_color = "white"
|
||||
# vim: set ts=2 sw=2 tw=0 :
|
||||
168
picom.conf
@@ -1,168 +0,0 @@
|
||||
#################################
|
||||
#
|
||||
# Backend
|
||||
#
|
||||
#################################
|
||||
|
||||
# Backend to use: "xrender" or "glx".
|
||||
# GLX backend is typically much faster.
|
||||
# backend = "xrender";
|
||||
# backend = "xr_glx_hybrid";
|
||||
backend = "glx";
|
||||
|
||||
#################################
|
||||
#
|
||||
# GLX backend
|
||||
#
|
||||
#################################
|
||||
|
||||
glx-no-stencil = true;
|
||||
glx-copy-from-front = false;
|
||||
glx-no-rebind-pixmap = true;
|
||||
use-damage = false;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Shadows
|
||||
#
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows.
|
||||
shadow = true;
|
||||
# The blur radius for shadows. (default 12)
|
||||
shadow-radius = 20;
|
||||
# The left offset for shadows. (default -15)
|
||||
shadow-offset-x = -20;
|
||||
# The top offset for shadows. (default -15)
|
||||
shadow-offset-y = -20;
|
||||
# The translucency for shadows. (default .75)
|
||||
shadow-opacity = 0.8;
|
||||
# Exclude from shadow drawing
|
||||
shadow-exclude = [
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
# Removed to avoid no-shadow in modal dialog windows.
|
||||
# "! name~=''",
|
||||
"name = 'Notification'",
|
||||
"name = 'Plank'",
|
||||
"name = 'Docky'",
|
||||
"name = 'Kupfer'",
|
||||
"name = 'Pensela'",
|
||||
"name = 'Drawing Board'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g = 'Kupfer'",
|
||||
"class_g = 'Synapse'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g ?= 'Xfce4-notifyd'",
|
||||
# Exclude special Firefox/Firefox-esr/Thunderbird dropdowns.
|
||||
"class_g = 'Firefox' && argb",
|
||||
"class_g = 'Firefox-esr' && argb",
|
||||
"class_g = 'Tor Browser' && argb",
|
||||
"class_g = 'Navegador Tor' && argb",
|
||||
"class_g = 'Thunderbird' && argb",
|
||||
"class_g = 'Telegram' && argb",
|
||||
"class_g ?= 'Thunderbird' && class_i = 'Popup' && argb",
|
||||
"class_g = 'firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Tor Browser' && (window_type = 'utility') && argb",
|
||||
"class_g = 'Navegador Tor' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Mozilla Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
];
|
||||
shadow-ignore-shaped = false;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Opacity
|
||||
#
|
||||
#################################
|
||||
|
||||
inactive-opacity = 1;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 1;
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Desaturate and darken the inactive windows
|
||||
# Dim inactive windows. (0.0 - 1.0)
|
||||
inactive-dim = 0.1;
|
||||
inactive-dim-fixed = true;
|
||||
|
||||
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||
blur-background = true;
|
||||
blur-method = "kernel";
|
||||
#blur-size = 50;
|
||||
#blur-deviation = 5.0;
|
||||
# Blur background of opaque windows with transparent frames as well.
|
||||
# blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
#blur-background-fixed = true;
|
||||
|
||||
# blur-kern = "3x3box";
|
||||
# blur-kern = "5x5box";
|
||||
# blur-kern = "5x5gaussian"
|
||||
blur-kern = "9x9gaussian"
|
||||
|
||||
blur-background-exclude = [
|
||||
"class_g = 'Peek'",
|
||||
"class_g = 'Pensela'",
|
||||
"name = 'Drawing Board'",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'dropdown_menu'",
|
||||
"window_type = 'combo'",
|
||||
"window_type = 'popup_menu'",
|
||||
"window_type = 'utility'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
opacity-exclude = [
|
||||
"name = 'Stratagus'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
#
|
||||
# Fading
|
||||
#
|
||||
#################################
|
||||
|
||||
fading = true;
|
||||
# fade-delta = 30;
|
||||
#fade-in-step = 0.03;
|
||||
#fade-out-step = 0.03;
|
||||
fade-in-step = 0.2;
|
||||
fade-out-step = 0.2;
|
||||
# no-fading-openclose = true;
|
||||
# no-fading-destroyed-argb = true;
|
||||
fade-exclude = [ ];
|
||||
|
||||
#################################
|
||||
#
|
||||
# OTHER CONFIG
|
||||
#
|
||||
#################################
|
||||
|
||||
log-level = "warn";
|
||||
# log-file = "/path/to/your/log/file";
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
resize-damage = 2;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Window type settings
|
||||
#
|
||||
#################################
|
||||
wintypes:
|
||||
{
|
||||
dock = { shadow = false; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 1; }
|
||||
dropdown_menu = { opacity = 1; }
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
};
|
||||
91
setup.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############################################################
|
||||
# _____ _ _ _ #
|
||||
# / ____| | | (_) | | #
|
||||
# | (___ ___| |_ _ _ _ __ ___ ___ _ __ _ _ __ | |_ #
|
||||
# \___ \ / _ \ __| | | | '_ \ / __|/ __| '__| | '_ \| __| #
|
||||
# ____) | __/ |_| |_| | |_) | \__ \ (__| | | | |_) | |_ #
|
||||
# |_____/ \___|\__|\__,_| .__/ |___/\___|_| |_| .__/ \__| #
|
||||
# | | | | #
|
||||
# |_| |_| #
|
||||
#############################################################
|
||||
|
||||
#
|
||||
# ./setup.sh - download repository to $HOME/.dotfiles and symlink everythin ing place
|
||||
# ./setup.sh clean - backup all files in $BAKFILES to .dotfilebackup
|
||||
#
|
||||
# The dependencies for this script are (arch linux repo names):
|
||||
# - i3-wm
|
||||
# - i3status
|
||||
# - i3lock
|
||||
# - dmenu
|
||||
# - zsh
|
||||
# - vim
|
||||
# - rxvt-unicode
|
||||
# - tmux
|
||||
# - feh
|
||||
# - volnoti (AUR, GitHub)
|
||||
# - jauth-git (AUR, GitHub)
|
||||
# - powerline-fonts-git (AUR, GitHub)
|
||||
|
||||
# Files and folders
|
||||
DOTFILES="$HOME/.dotfiles"
|
||||
|
||||
BAKFILES=".i3
|
||||
.zshrc
|
||||
.tmux.conf
|
||||
.vimrc
|
||||
.Xdefaults
|
||||
.ncmpcpp/config
|
||||
.mpd/mpd.conf"
|
||||
|
||||
BAKFOLD="$HOME/.dotfilebackup"
|
||||
|
||||
# Clean environment
|
||||
if [ "$1" == "clean" ]; then
|
||||
echo "[*] Backing up dotfiles to $BAKFOLD"
|
||||
|
||||
# Create backup folder if it doesn't exist
|
||||
if [ ! -d $BAKFOLD ]; then
|
||||
mkdir $BAKFOLD
|
||||
fi
|
||||
|
||||
# Backup each config file specified by $BAKFILES
|
||||
for file in $BAKFILES
|
||||
do
|
||||
mv -v $HOME/$file $BAKFOLD/$file
|
||||
done
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
# Clone the repository if it doesn't exist
|
||||
if [ ! -e $DOTFILES ]; then
|
||||
git clone https://github.com/id101010/LinuxDotFiles.git $DOTFILES
|
||||
rm -rf $DOTFILES/.git
|
||||
fi
|
||||
|
||||
# ------------------------------------------------ Setup I3wm
|
||||
ln -sfv $DOTFILES/i3wm/ $HOME/.i3
|
||||
|
||||
# ------------------------------------------------ Setup tmux
|
||||
ln -sfv $DOTFILES/tmux/tmux.conf $HOME/.tmux.conf
|
||||
|
||||
# ------------------------------------------------ Setup vim
|
||||
ln -sfv $DOTFILES/vim/vimrc $HOME/.vimrc
|
||||
|
||||
# ------------------------------------------------ Setup zsh
|
||||
ln -sfv $DOTFILES/zsh/zshrc $HOME/.zshrc
|
||||
|
||||
# ------------------------------------------------ Setup urxvt
|
||||
ln -sfv $DOTFILES/urxvt/Xdefaults $HOME/.Xdefaults
|
||||
|
||||
# ------------------------------------------------ Setup wallpapers
|
||||
ln -sfv $DOTFILES/wallpapers/ $HOME/.wallpapers
|
||||
|
||||
# ------------------------------------------------ Setup mpd
|
||||
ln -sfv $DOTFILES/mpd/ $HOME/.mpd
|
||||
|
||||
# ------------------------------------------------ Setup ncmpcpp
|
||||
ln -sfv $DOTFILES/ncmpcpp/ $HOME/.ncmpcpp
|
||||
91
tmux.conf
@@ -1,91 +0,0 @@
|
||||
#################################
|
||||
# _ #
|
||||
# | | #
|
||||
# | |_ _ __ ___ _ ___ __ #
|
||||
# | __| '_ ` _ \| | | \ \/ / #
|
||||
# | |_| | | | | | |_| |> < #
|
||||
# \__|_| |_| |_|\__,_/_/\_\ #
|
||||
# #
|
||||
#################################
|
||||
|
||||
#################################
|
||||
# Basic Options #
|
||||
#################################
|
||||
|
||||
set -g prefix ^a
|
||||
set -g status-keys vi
|
||||
set -g mode-keys vi
|
||||
set -g mouse on
|
||||
|
||||
# Fix terminal name issues
|
||||
#set -s escape-time 1
|
||||
|
||||
#################################
|
||||
# Key bindings #
|
||||
#################################
|
||||
|
||||
# Reload configuration
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# Panel splites and selection
|
||||
unbind %
|
||||
bind c split-window -h
|
||||
unbind '"'
|
||||
bind v split-window -v
|
||||
#unbind o
|
||||
bind n next-window
|
||||
bind b previous-window
|
||||
|
||||
# Move around panes with hjkl, as one would in vim
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Resize
|
||||
bind H resize-pane -L 5
|
||||
bind J resize-pane -D 5
|
||||
bind K resize-pane -U 5
|
||||
bind L resize-pane -R 5
|
||||
|
||||
# Kill
|
||||
bind q kill-window
|
||||
bind Q kill-session
|
||||
|
||||
#################################
|
||||
# COLORSCHEME: gruvbox dark #
|
||||
#################################
|
||||
set-option -g status "on"
|
||||
# default statusbar color
|
||||
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
||||
# default window title colors
|
||||
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
|
||||
# default window with an activity alert
|
||||
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
|
||||
# active window title colors
|
||||
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
|
||||
# pane border
|
||||
set-option -g pane-active-border-style fg=colour250 #fg2
|
||||
set-option -g pane-border-style fg=colour237 #bg1
|
||||
# message infos
|
||||
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
|
||||
# writing commands inactive
|
||||
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
|
||||
# pane number display
|
||||
set-option -g display-panes-active-colour colour250 #fg2
|
||||
set-option -g display-panes-colour colour237 #bg1
|
||||
# clock
|
||||
set-window-option -g clock-mode-colour colour109 #blue
|
||||
# bell
|
||||
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
|
||||
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
||||
set-option -g status-justify "left"
|
||||
set-option -g status-left-style none
|
||||
set-option -g status-left-length "80"
|
||||
set-option -g status-right-style none
|
||||
set-option -g status-right-length "80"
|
||||
set-window-option -g window-status-separator ""
|
||||
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||||
set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
|
||||
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
|
||||
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
|
||||
85
tmux/tmux.conf
Normal file
@@ -0,0 +1,85 @@
|
||||
#################################
|
||||
# _ #
|
||||
# | | #
|
||||
# | |_ _ __ ___ _ ___ __ #
|
||||
# | __| '_ ` _ \| | | \ \/ / #
|
||||
# | |_| | | | | | |_| |> < #
|
||||
# \__|_| |_| |_|\__,_/_/\_\ #
|
||||
# #
|
||||
#################################
|
||||
|
||||
#################################
|
||||
# Basic Options #
|
||||
#################################
|
||||
|
||||
set -g prefix ^a
|
||||
set -g status-keys vi
|
||||
setw -g mode-keys vi
|
||||
|
||||
# Shut up!
|
||||
set -g bell-action none
|
||||
set -g bell-on-alert off
|
||||
set quiet off
|
||||
|
||||
# Fix terminal name issues
|
||||
set -s escape-time 1
|
||||
|
||||
#################################
|
||||
# Key bindings #
|
||||
#################################
|
||||
|
||||
# Reload configuration
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# Panel splites and selection
|
||||
unbind %
|
||||
bind g split-window -h
|
||||
unbind '"'
|
||||
bind v split-window -v
|
||||
unbind o
|
||||
bind-key -n C-g last-window
|
||||
bind-key -n C-b previous-window
|
||||
bind-key -n C-n next-window
|
||||
bind n next-window
|
||||
bind b previous-window
|
||||
|
||||
# Move around panes with hjkl, as one would in vim
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Resize
|
||||
bind H resize-pane -L 5
|
||||
bind J resize-pane -D 5
|
||||
bind K resize-pane -U 5
|
||||
bind L resize-pane -R 5
|
||||
|
||||
# Kill
|
||||
bind q kill-window
|
||||
bind Q kill-session
|
||||
|
||||
#################################
|
||||
# Statusline #
|
||||
#################################
|
||||
|
||||
set -g status-justify "left"
|
||||
set -g status "on"
|
||||
set -g status-left-style "none"
|
||||
set -g message-command-style "fg=colour144,bg=colour237"
|
||||
set -g status-right-style "none"
|
||||
set -g pane-active-border-style "fg=colour27"
|
||||
#set -g status-utf8 "on"
|
||||
set -g status-style "bg=colour234,none"
|
||||
set -g message-style "fg=colour144,bg=colour237"
|
||||
set -g pane-border-style "fg=colour237"
|
||||
set -g status-right-length "100"
|
||||
set -g status-left-length "100"
|
||||
setw -g window-status-activity-attr "none"
|
||||
setw -g window-status-activity-style "fg=colour27,bg=colour234,none"
|
||||
setw -g window-status-separator ""
|
||||
setw -g window-status-style "fg=colour39,bg=colour234,none"
|
||||
set -g status-left "#[fg=colour15,bg=colour27] #S #[fg=colour27,bg=colour234,nobold,nounderscore,noitalics]"
|
||||
set -g status-right "#[fg=colour237,bg=colour234,nobold,nounderscore,noitalics]#[fg=colour144,bg=colour237] %d.%m.%Y %H:%M #[fg=colour27,bg=colour237,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour27] #h "
|
||||
setw -g window-status-format "#[fg=colour39,bg=colour234] #I #[fg=colour39,bg=colour234] #W "
|
||||
setw -g window-status-current-format "#[fg=colour234,bg=colour237,nobold,nounderscore,noitalics]#[fg=colour144,bg=colour237] #I #[fg=colour144,bg=colour237] #{pane_current_path} #[fg=colour144,bg=colour237] #W #[fg=colour237,bg=colour234,nobold,nounderscore,noitalics]"
|
||||
46
urxvt/Xdefaults
Normal file
@@ -0,0 +1,46 @@
|
||||
################################
|
||||
# _ #
|
||||
# | | #
|
||||
# _ _ _ ____ ____ _| |_ #
|
||||
# | | | | '__\ \/ /\ \ / / __| #
|
||||
# | |_| | | > < \ V /| |_ #
|
||||
# \__,_|_| /_/\_\ \_/ \__| #
|
||||
# #
|
||||
################################
|
||||
|
||||
# Real transparency -> needs composite manager
|
||||
URxvt.depth: 32
|
||||
URxvt.background: rgba:0000/0000/0200/1fff
|
||||
#URxvt.shading: 30
|
||||
|
||||
URxvt.tintColor: White
|
||||
URxvt.saveLines: 9000000
|
||||
URxvt.foreground: Grey
|
||||
|
||||
# Fonts For Powerlinefonts: https://github.com/powerline/fonts (Arch linux -> AUR)
|
||||
URxvt.font: xft:Ubuntu mono:medium:size=12,xft:Ubuntu Mono derivative Powerline:pixelsize=12
|
||||
xterm.faceName: xft:Ubuntu mono:medium:size=12,xft:Ubuntu Mono derivative Powerline:pixelsize=12
|
||||
#URxvt.font: xft:DejaVu Sans Mono:medium:size=12,xft:DejaVu Sans Mono for Powerline:pixelsize=12
|
||||
|
||||
# Misc configurations
|
||||
URxvt.colorUL: #4682B4
|
||||
URxvt.tabbed.saveLines: 1000
|
||||
URxvt.tabbed.scrollBar: false
|
||||
URxvt.tabbed.tabbar-fg: 3
|
||||
URxvt.tabbed.tabbar-bg: 0
|
||||
URxvt.tabbed.tab-fg: 0
|
||||
URxvt.tabbed.tab-bg: 1
|
||||
URxvt.tabbed.secondaryScroll: true
|
||||
URxvt.inheritPixmap: true
|
||||
|
||||
# Scroll behavior, don't scroll with output
|
||||
URxvt.scrollBar: false
|
||||
URxvt.secondaryScroll: true
|
||||
URxvt.scrollTtyOutput: false
|
||||
URxvt.scrollWithBuffer: true
|
||||
URxvt.scrollTtyKeypress: true
|
||||
|
||||
# Clickable urls
|
||||
URxvt.perl-ext-common: default,matcher
|
||||
URxvt.url-launcher: /usr/bin/xdg-open
|
||||
URxvt.matcher.button: 1
|
||||
128
vim/vimrc
Normal file
@@ -0,0 +1,128 @@
|
||||
"""""""""""""""""""""""""""""""""""""
|
||||
" __ _______ __ __ "
|
||||
" \ \ / /_ _| \/ | "
|
||||
" \ \ / / | | | \ / |_ __ ___ "
|
||||
" \ \/ / | | | |\/| | '__/ __| "
|
||||
" \ / _| |_| | | | | | (__ "
|
||||
" \/ |_____|_| |_|_| \___| "
|
||||
" "
|
||||
"""""""""""""""""""""""""""""""""""""
|
||||
" Install powerline fonts and configure your
|
||||
" terminal emulator to use them.
|
||||
" -> https://github.com/powerline/fonts "
|
||||
" -> Arch linux AUR: powerline-fonts-git
|
||||
"
|
||||
|
||||
set nocompatible
|
||||
filetype off
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""
|
||||
" Vundle (vim plugin manager) stuff "
|
||||
""""""""""""""""""""""""""""""""""""""
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
|
||||
" Automatically setting up vundle "
|
||||
let has_vundle=1
|
||||
if !filereadable($HOME."/.vim/bundle/Vundle.vim/README.md")
|
||||
echo "Installing Vundle..."
|
||||
echo ""
|
||||
silent !mkdir -p $HOME/.vim/bundle
|
||||
silent !git clone https://github.com/gmarik/Vundle.vim $HOME/.vim/bundle/Vundle.vim
|
||||
let has_vundle=0
|
||||
endif
|
||||
|
||||
" Start Vundle stuff "
|
||||
call vundle#begin()
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
|
||||
" A pretty statusline, bufferline integration "
|
||||
Plugin 'itchyny/lightline.vim'
|
||||
Plugin 'bling/vim-bufferline'
|
||||
|
||||
" <Tab> everything! "
|
||||
"Plugin 'ervandew/supertab'
|
||||
|
||||
" Glorious colorscheme "
|
||||
Plugin 'nanotech/jellybeans.vim'
|
||||
|
||||
" Super easy commenting, toggle comments etc "
|
||||
Plugin 'scrooloose/nerdcommenter'
|
||||
|
||||
" Autoclose (, " etc "
|
||||
"Plugin 'Townk/vim-autoclose'
|
||||
|
||||
" Git wrapper inside Vim "
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
|
||||
"Handle surround chars like "
|
||||
"Plugin 'tpope/vim-surround'
|
||||
|
||||
" Vim signs (:h signs) for modified lines based off VCS (e.g. Git) "
|
||||
Plugin 'mhinz/vim-signify'
|
||||
" Finish Vundle stuff "
|
||||
call vundle#end()
|
||||
|
||||
" Installing plugins the first time, quits when done "
|
||||
if has_vundle == 0
|
||||
:silent! PluginInstall
|
||||
:qa
|
||||
endif
|
||||
|
||||
filetype plugin indent on
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""
|
||||
" Lightline (statusline) configuration "
|
||||
"""""""""""""""""""""""""""""""""""""""""
|
||||
"let g:lightline = {
|
||||
" \ 'colorscheme': 'default',
|
||||
" \ 'component': {
|
||||
" \ 'readonly': '%{&readonly?"":""}',
|
||||
" \ },
|
||||
" \ 'separator': { 'left': '', 'right': '' },
|
||||
" \ 'subseparator': { 'left': '', 'right': '' }
|
||||
" \ }
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""
|
||||
" Misc configurations "
|
||||
"""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" Autointend and autoscroll 4 lines above the cursor "
|
||||
set cindent
|
||||
set scrolloff=4
|
||||
|
||||
"T abstop, Shiftwith and replace tabs with spaces but not in makefiles "
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
|
||||
" Autocommands for special files "
|
||||
autocmd FileType make set noexpandtab
|
||||
autocmd BufNewFile,BufRead *.md set ft=markdown tw=79
|
||||
autocmd BufNewFile,BufRead *.tex set ft=tex tw=79
|
||||
autocmd BufNewFile,BufRead *.txt set ft=sh tw=79
|
||||
|
||||
" Stuff needed by urxvt "
|
||||
set nocompatible
|
||||
set mouse=a
|
||||
set backspace=2
|
||||
|
||||
" Syntaxhighlighting, colorscheme, linenumbers "
|
||||
syntax on
|
||||
colorscheme jellybeans " Colorscheme from plugin
|
||||
set cursorline
|
||||
set more " Use more
|
||||
set title " Blank title
|
||||
set vb t_vb= " No beeping and flashing "
|
||||
set wildmenu
|
||||
set background=dark
|
||||
set number " Linenumbers
|
||||
set list
|
||||
set nowrap
|
||||
set hlsearch
|
||||
set t_Co=256
|
||||
set laststatus=2 " Always display the statusline in all windows
|
||||
set showtabline=2 " Always display the tabline, even if there is only one tab
|
||||
set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline)
|
||||
|
||||
"Automaticly reread a file, if file has changed"
|
||||
set autoread
|
||||
66
vimrc
@@ -1,66 +0,0 @@
|
||||
set nocompatible
|
||||
set encoding=utf-8
|
||||
|
||||
filetype plugin indent on
|
||||
|
||||
" Pluigin installation using vim-plug "
|
||||
call plug#begin('~/.vim/plugged')
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'morhetz/gruvbox'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
Plug 'Yggdroot/indentLine'
|
||||
Plug 'rust-lang/rust.vim'
|
||||
Plug 'scrooloose/syntastic'
|
||||
" Plug 'dense-analysis/ale'
|
||||
call plug#end()
|
||||
|
||||
" Autocommands for special files "
|
||||
autocmd FileType make set noexpandtab " we want tabs in Makefiles
|
||||
autocmd BufWritePre * :%s/\s\+$//e " no trailing whitespace
|
||||
autocmd BufNewFile,BufRead *.md set ft=markdown tw=79 " markdown
|
||||
autocmd BufNewFile,BufRead *.tex set ft=tex tw=79 " latex
|
||||
autocmd BufNewFile,BufRead *.py set ft=python tabstop=4 shiftwidth=4 softtabstop=4 showtabline=4 expandtab " Python PEP8
|
||||
|
||||
" Syntaxhighlighting, colorscheme, linenumbers "
|
||||
syntax on
|
||||
colorscheme gruvbox
|
||||
|
||||
" Tabstop, Shiftwith and replace tabs with spaces but not in makefiles "
|
||||
set tabstop=2 " number of spaces in a tab
|
||||
set shiftwidth=2 " number of spaces to use for each step of (auto)indent
|
||||
set softtabstop=2 " number of spaces that a Tab counts for while editing
|
||||
set showtabline=2 " always display tab labels
|
||||
set expandtab " expand tabs with spaces
|
||||
set backspace=indent,eol,start " set behavior of backspace
|
||||
set showmatch " when a bracket is inserted briefly jump to the matching one
|
||||
set showcmd " show command in the last line of the screen
|
||||
set showmode
|
||||
set cursorline " always show cursor line
|
||||
set more " use more
|
||||
set title " blank title
|
||||
set background=dark " set bg
|
||||
set relativenumber " linenumbers
|
||||
set number " current line number
|
||||
set nowrap " do not wrap long lines per default
|
||||
set laststatus=2 " always display the statusline in all windows
|
||||
set showtabline=2 " always display the tabline
|
||||
set hlsearch " highlight after search
|
||||
set incsearch " highlight while searching
|
||||
set ttyfast " fast rendering
|
||||
set encoding=utf8 " use utf8
|
||||
set laststatus=2 " always display a status line
|
||||
set display=lastline " show as much as possible of the last line
|
||||
set updatetime=300 " 300ms update
|
||||
|
||||
" Airline configs
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
let g:airline#extensions#tabline#formatter = 'default'
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline_section_z = "%p%% : \ue0a1:%l/%L: Col:%c"
|
||||
|
||||
" Indent indicator configs
|
||||
let g:indentLine_enabled = 1
|
||||
let g:indentLine_setColors = 2
|
||||
let g:indentLine_color_term = 239
|
||||
let g:indentLine_char = '┊'
|
||||
|
Before Width: | Height: | Size: 32 KiB |
BIN
wallpapers/puzzle1.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
wallpapers/puzzle2.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
wallpapers/puzzle3.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
wallpapers/solarized.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
wallpapers/solarized1.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
wallpapers/solarized1.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
wallpapers/solarized2.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
wallpapers/solarized3.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
wallpapers/solarized4.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
10
xinitrc
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# test for an existing bus daemon, just to be safe
|
||||
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
|
||||
# if not found, launch a new one
|
||||
eval `dbus-launch --sh-syntax --exit-with-session`
|
||||
fi
|
||||
|
||||
setxkbmap ch &
|
||||
exec dbus-launch --exit-with-session i3
|
||||
127
zsh/zshrc
Normal file
@@ -0,0 +1,127 @@
|
||||
################################
|
||||
# _ #
|
||||
# | | #
|
||||
# _______| |__ _ __ ___ #
|
||||
# |_ / __| '_ \| '__/ __| #
|
||||
# / /\__ \ | | | | | (__ #
|
||||
# /___|___/_| |_|_| \___| #
|
||||
# #
|
||||
################################
|
||||
|
||||
# Autoload stuff
|
||||
autoload -U compinit promptinit
|
||||
compinit
|
||||
promptinit
|
||||
|
||||
# History
|
||||
export HISTSIZE=100000
|
||||
export HISTFILE="$HOME/.history"
|
||||
export SAVEHIST=$HISTSIZE
|
||||
setopt hist_ignore_all_dups
|
||||
setopt hist_ignore_space
|
||||
|
||||
# Promptstyle
|
||||
prompt walters
|
||||
#PROMPT='%F{red}%n%f@%F{blue}%m%f %F{yellow}%1~%f %# '
|
||||
#RPROMPT='[%F{yellow}%?%f]'
|
||||
|
||||
# Autocomplete stuff
|
||||
zstyle ':completion:*' menu select
|
||||
setopt completealiases
|
||||
typeset -A key
|
||||
|
||||
# Key settings
|
||||
key[Home]=${terminfo[khome]}
|
||||
key[End]=${terminfo[kend]}
|
||||
key[Insert]=${terminfo[kich1]}
|
||||
key[Delete]=${terminfo[kdch1]}
|
||||
key[Up]=${terminfo[kcuu1]}
|
||||
key[Down]=${terminfo[kcud1]}
|
||||
key[Left]=${terminfo[kcub1]}
|
||||
key[Right]=${terminfo[kcuf1]}
|
||||
key[PageUp]=${terminfo[kpp]}
|
||||
key[PageDown]=${terminfo[knp]}
|
||||
|
||||
# Key bindings
|
||||
[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line
|
||||
[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line
|
||||
[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
|
||||
[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char
|
||||
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history
|
||||
[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history
|
||||
[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char
|
||||
[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char
|
||||
[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" beginning-of-buffer-or-history
|
||||
[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" end-of-buffer-or-history
|
||||
[[ -n ${key[Backspace]} ]] && bindkey "${key[Backspace]}" backward-delete-char
|
||||
[[ -n ${key[Insert]} ]] && bindkey "${key[Insert]}" overwrite-mode
|
||||
[[ -n ${key[Home]} ]] && bindkey "${key[Home]}" beginning-of-line
|
||||
[[ -n ${key[PageUp]} ]] && bindkey "${key[PageUp]}" up-line-or-history
|
||||
[[ -n ${key[Delete]} ]] && bindkey "${key[Delete]}" delete-char
|
||||
[[ -n ${key[End]} ]] && bindkey "${key[End]}" end-of-line
|
||||
[[ -n ${key[PageDown]} ]] && bindkey "${key[PageDown]}" down-line-or-history
|
||||
[[ -n ${key[Up]} ]] && bindkey "${key[Up]}" up-line-or-search
|
||||
[[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char
|
||||
[[ -n ${key[Down]} ]] && bindkey "${key[Down]}" down-line-or-search
|
||||
[[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char
|
||||
[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" history-beginning-search-backward
|
||||
[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" history-beginning-search-forward
|
||||
|
||||
bindkey "[C" forward-word
|
||||
bindkey "[D" backward-word
|
||||
|
||||
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
|
||||
function zle-line-init () {
|
||||
printf '%s' "${terminfo[smkx]}"
|
||||
}
|
||||
function zle-line-finish () {
|
||||
printf '%s' "${terminfo[rmkx]}"
|
||||
}
|
||||
zle -N zle-line-init
|
||||
zle -N zle-line-finish
|
||||
fi
|
||||
|
||||
DIRSTACKFILE="$HOME/.cache/zsh/dirs"
|
||||
if [[ -f $DIRSTACKFILE ]] && [[ $#dirstack -eq 0 ]]; then
|
||||
dirstack=( ${(f)"$(< $DIRSTACKFILE)"} )
|
||||
[[ -d $dirstack[1] ]] && cd $dirstack[1]
|
||||
fi
|
||||
|
||||
chpwd() {
|
||||
print -l $PWD ${(u)dirstack} > $DIRSTACKFILE
|
||||
}
|
||||
|
||||
DIRSTACKSIZE=20
|
||||
|
||||
# Colored manpages
|
||||
man() {
|
||||
env \
|
||||
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
|
||||
LESS_TERMCAP_md=$(printf "\e[1;31m") \
|
||||
LESS_TERMCAP_me=$(printf "\e[0m") \
|
||||
LESS_TERMCAP_se=$(printf "\e[0m") \
|
||||
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
|
||||
LESS_TERMCAP_ue=$(printf "\e[0m") \
|
||||
LESS_TERMCAP_us=$(printf "\e[1;32m") \
|
||||
man "$@"
|
||||
}
|
||||
|
||||
alias ll="ls -l"
|
||||
alias llm='ls -al | more'
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias diff='colordiff'
|
||||
alias ports='netstat -tulanp'
|
||||
alias cal='cal -m'
|
||||
|
||||
setopt autopushd pushdsilent pushdtohome
|
||||
setopt pushdignoredups
|
||||
setopt pushdminus
|
||||
setopt nohashdirs
|
||||
#source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
rehash
|
||||
|
||||
source <(oc completion zsh)
|
||||
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
|
||||
52
zshrc
@@ -1,52 +0,0 @@
|
||||
# Dont try to display a fancy theme in a tty
|
||||
if [[ $TERM == "linux" ]] || [[ $TERM == "screen" ]]; then
|
||||
[[ ! -f ~/.p10k-portable.zsh ]] || source ~/.p10k-portable.zsh
|
||||
else
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
fi
|
||||
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# Move one word left or right using alt
|
||||
bindkey "[D" backward-word
|
||||
bindkey "^[h" backward-word
|
||||
bindkey "[C" forward-word
|
||||
bindkey "^[l" forward-word
|
||||
|
||||
# Aliases
|
||||
alias ls="ls --color=auto"
|
||||
alias lsblk="lsblk -o +LABEL"
|
||||
alias ip="ip -c"
|
||||
alias showip="ip --brief a"
|
||||
alias ssh='TERM=xterm ssh'
|
||||
alias ll="ls -l"
|
||||
|
||||
# Lines configured by zsh-newuser-install
|
||||
bindkey -e
|
||||
|
||||
# History config
|
||||
HIST_IGNORE_DUPS="true"
|
||||
HIST_STAMPS="mm/dd/yyyy"
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=999999999
|
||||
SAVEHIST=$HISTSIZE
|
||||
setopt SHARE_HISTORY
|
||||
|
||||
# Autocompletion behaviour
|
||||
autoload -Uz compinit; compinit
|
||||
zstyle ':completion:*' menu select
|
||||
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/aaron/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
# End of lines added by compinstall
|
||||
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
|
||||