diff --git a/.bash_logout b/.bash_logout new file mode 100755 index 0000000..efa6e54 --- /dev/null +++ b/.bash_logout @@ -0,0 +1,2 @@ +clear + diff --git a/.bash_profile b/.bash_profile new file mode 100755 index 0000000..fbf2f40 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,2 @@ +[[ -f ~/.bashrc ]] && . ~/.bashrc + diff --git a/.bashrc b/.bashrc new file mode 100755 index 0000000..1807097 --- /dev/null +++ b/.bashrc @@ -0,0 +1,19 @@ +[[ $- != *i* ]] && return + +set -o vi + +unset HISTFILE +export LESSHISTFILE=- +export PYTHONSTARTUP=~/.pythonrc +export XAUTHORITY=~/.cache/.Xauthority + +alias ls='ls --color=auto' +alias diff='diff --color=auto' +alias grep='grep --color=auto' +alias graphs="ssh net@192.168.1.137" + +alias installed_packages='comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base base-devel | sort)' +alias unused_packages='pacman -Qtdq' + +PS1='\u@\h:\w \$ ' + diff --git a/.config/Code/User/settings.json b/.config/Code/User/settings.json new file mode 100755 index 0000000..94ef1d9 --- /dev/null +++ b/.config/Code/User/settings.json @@ -0,0 +1,67 @@ +{ + "workbench.startupEditor": "newUntitledFile", + "workbench.activityBar.visible": false, + "telemetry.enableCrashReporter": false, + "telemetry.enableTelemetry": false, + "editor.showFoldingControls": "always", + "editor.roundedSelection": false, + "editor.renderWhitespace": "none", + "editor.minimap.enabled": false, + "editor.insertSpaces": false, + "editor.fontSize": 13, + "editor.fontFamily": "DejaVu Sans Mono", + "editor.cursorBlinking": "solid", + "editor.cursorStyle": "block", + "editor.acceptSuggestionOnEnter": "off", + + "workbench.colorCustomizations": { + "editorCursor.background": "#586e75", + "editorCursor.foreground": "#93a1a1", + + }, + + "editor.tokenColorCustomizations": { + "textMateRules": [ + { + "scope": "comment", + "settings": { + "fontStyle": "italic" + } + }, + /*{ + "scope": "storage.type", + "settings": { + "fontStyle": "italic" + } + }*/ + ] + }, + "explorer.confirmDragAndDrop": false, + "explorer.confirmDelete": false, + + "latex-workshop.latex.tools": [ + { + "command": "pdflatex", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-pdf", + "%DOC%" + ], + "name": "Step 1: pdflatex" + } + ], + "latex-workshop.latex.recipes": [ + { + "name": "toolchain", + "tools": [ + "Step 1: pdflatex" + ] + } + ], + "latex-workshop.view.pdf.viewer": "tab", + "window.zoomLevel": 0, + "zenMode.fullScreen": false, + "editor.detectIndentation": false +} \ No newline at end of file diff --git a/.config/Mumble/Mumble.conf b/.config/Mumble/Mumble.conf new file mode 100755 index 0000000..2a5ce3e --- /dev/null +++ b/.config/Mumble/Mumble.conf @@ -0,0 +1,44 @@ +[General] +lastupdate=2 + +[overlay] +version=1.2.19 +usewhitelist=false +blacklist=@Invalid() +whitelist=@Invalid() + +[audio] +vadmin=@Variant(\0\0\0\x87>\xe2\xcd\xc6) +vadmax=@Variant(\0\0\0\x87?\a\xcf\x10) +echomulti=false +input=PulseAudio +output=PulseAudio +attenuateothers=false + +[net] +region=ee.mumble.info +certificate="@ByteArray(0\x82\tG\x2\x1\x3\x30\x82\t\x11\x6\t*\x86H\x86\xf7\r\x1\a\x1\xa0\x82\t\x2\x4\x82\b\xfe\x30\x82\b\xfa\x30\x82\x3\xad\x6\t*\x86H\x86\xf7\r\x1\a\x1\xa0\x82\x3\x9e\x4\x82\x3\x9a\x30\x82\x3\x96\x30\x82\x3\x92\x6\v*\x86H\x86\xf7\r\x1\f\n\x1\x3\xa0\x82\x3+0\x82\x3'\x6\n*\x86H\x86\xf7\r\x1\t\x16\x1\xa0\x82\x3\x17\x4\x82\x3\x13\x30\x82\x3\xf\x30\x82\x1\xf7\xa0\x3\x2\x1\x2\x2\x1\x1\x30\r\x6\t*\x86H\x86\xf7\r\x1\x1\x5\x5\0\x30\x16\x31\x14\x30\x12\x6\x3U\x4\x3\f\vMumble User0\x1e\x17\r180821151931Z\x17\r380816151931Z0\x16\x31\x14\x30\x12\x6\x3U\x4\x3\f\vMumble User0\x82\x1\"0\r\x6\t*\x86H\x86\xf7\r\x1\x1\x1\x5\0\x3\x82\x1\xf\0\x30\x82\x1\n\x2\x82\x1\x1\0\xd1\xd8W\f\xf4\x7f\xe8>!S\xfa\x95\x64M\x88w\x8e,j)\xd7V?\xbe\xdfU\xc5\x33\x9aQ&o\xa8\x4\xa0W\x14\xe8;\xa9\x34\xaf\xdf\xc4\xc9\a\xbc\xa1\x8by\nM\xe0\xdf\xb7\xaa\xda\xb2kT\x8d\x8c\x4\\\x92\xd0\xd6\xc4\xdd\xab\xe5\x33\xca\xdek\xc1`'\xd7\xfd\xbd\x2\xa6+-:\x89\xb1[A\xdf\xcb\xc0R\xfeRFW\xbe\x61y\xf5x&\xde\xcd\x1\xf3\x84\x11\x87\aFm\xfb\xa6\x95\xe2;ME\xc8\xf6\xcdJF!_\xf4\"I\x91M\xf9h\f\x11\x44\x93\xbf\x4P\xcc\xe0\xce\xe2\x83Gl\x83\xf0g|\xac\x19\xe4$]\xff\x86u\x10\b\"\xa6\xedqS\xc9\xe7\x1\x46L\xe3\x63\xf6\xfa\x88\xb8\xcey\t\x83\xde\xcd\x8d\x1cN\x84\xa1\x98\xad\xe3\x30\x62^O5bP\x17\x8c\xcc\xfd\xa0pf\x8b<\xd4\xeb\x19\x39\x91\x87G3\x98U\xfa\xcc\xdf\xc8\xc7\x9c\x82<\x85\xd3\x90\x1fn\bZ\x9b\xbaU\xf5~\x9f\x42\x80\xf0\xad\xabo\xca@\xd8\x9dM\xab\x8f}\x6S\x2\x3\x1\0\x1\xa3h0f0\f\x6\x3U\x1d\x13\x1\x1\xff\x4\x2\x30\0\x30\x13\x6\x3U\x1d%\x4\f0\n\x6\b+\x6\x1\x5\x5\a\x3\x2\x30\x1d\x6\x3U\x1d\xe\x4\x16\x4\x14\x9a,\xd6\x80\x13\xfe\x87\x83t\xe4\x83\x1e\x36\x1}\xa4\x86\xab\xa4T0\"\x6\t`\x86H\x1\x86\xf8\x42\x1\r\x4\x15\x16\x13Generated by Mumble0\r\x6\t*\x86H\x86\xf7\r\x1\x1\x5\x5\0\x3\x82\x1\x1\0\x95\xe1Rn\xf8\xe0\xad^\xcb\v\x1\x38\x66\xcf\x11^\xe0)~GP\x81\x91\x8b\x8c\x43u\xd2\x66\xf2*\xcdS\xd2\xeb\xc8}{\xec\v\xb8\t\x92\x8f\x8d\xdf$\xfa\xff+G\xc4\xfa\xd7\"\xcd|\xab&bm\xf6\xd5\x96,\xa6\xf6*pDK%\xb4\x7f)\xbd\xa3\x95\x18\xb8\xb2|\xcc\x1cM\x87m\xf4\v\xfd\b\xf3\x95\x10\xa8\xb7\xdc\x7fq\xc3k1Y\xd3\xee\xc1\xe2\xb7\xf0\v\xc1\x94\xa0\x9ds1B\xc4\xc1\xd8\xfb\x87\x4\xde\xa7\r\x81m\xf0\x9b\x65\xb2\x90\fA\xff\xc9\xcb\xe7~\xfb\xdb\xa2\xf3-\x93\x35\xa6\xe9\x19Mf\xc3\x83\xb6\"\x1\x1bXZ\xe6\x66-\x13|\x4\xd8V\x8b\x9e\xb4\x1d\xb7\xa4\x8b@\xa6\x82r\xfc\x89;0E]\xc7\x44\xc6\xa3\xc8n\xab\xbe\xe2\x11\xbe\xcc\xcd\x31\x1eW6\x83\xfc\xa0\x4\f\xd3\xd2\xe5\f\x9a`\xd3\xe6\x8e\x8b\x8c\x33\xa4\xe`Q\xd4\xe2T\xe8kPir6\x89\xd5&*\x83\xf8\xfb\xb8\x42w\xa8O\xdf\xb5\x61\x97\x62g\xfd\x34\xe2\xaf\xd2'1T0#\x6\t*\x86H\x86\xf7\r\x1\t\x15\x31\x16\x4\x14\xfb}Xxh\xe6\xd3\x4\xb5\xf4J%6L|>\xce\xe3\xa8\x66\x30-\x6\t*\x86H\x86\xf7\r\x1\t\x14\x31 \x1e\x1e\0M\0u\0m\0\x62\0l\0\x65\0 \0I\0\x64\0\x65\0n\0t\0i\0t\0y0\x82\x5\x45\x6\t*\x86H\x86\xf7\r\x1\a\x1\xa0\x82\x5\x36\x4\x82\x5\x32\x30\x82\x5.0\x82\x5*\x6\v*\x86H\x86\xf7\r\x1\f\n\x1\x1\xa0\x82\x4\xc3\x30\x82\x4\xbf\x2\x1\0\x30\r\x6\t*\x86H\x86\xf7\r\x1\x1\x1\x5\0\x4\x82\x4\xa9\x30\x82\x4\xa5\x2\x1\0\x2\x82\x1\x1\0\xd1\xd8W\f\xf4\x7f\xe8>!S\xfa\x95\x64M\x88w\x8e,j)\xd7V?\xbe\xdfU\xc5\x33\x9aQ&o\xa8\x4\xa0W\x14\xe8;\xa9\x34\xaf\xdf\xc4\xc9\a\xbc\xa1\x8by\nM\xe0\xdf\xb7\xaa\xda\xb2kT\x8d\x8c\x4\\\x92\xd0\xd6\xc4\xdd\xab\xe5\x33\xca\xdek\xc1`'\xd7\xfd\xbd\x2\xa6+-:\x89\xb1[A\xdf\xcb\xc0R\xfeRFW\xbe\x61y\xf5x&\xde\xcd\x1\xf3\x84\x11\x87\aFm\xfb\xa6\x95\xe2;ME\xc8\xf6\xcdJF!_\xf4\"I\x91M\xf9h\f\x11\x44\x93\xbf\x4P\xcc\xe0\xce\xe2\x83Gl\x83\xf0g|\xac\x19\xe4$]\xff\x86u\x10\b\"\xa6\xedqS\xc9\xe7\x1\x46L\xe3\x63\xf6\xfa\x88\xb8\xcey\t\x83\xde\xcd\x8d\x1cN\x84\xa1\x98\xad\xe3\x30\x62^O5bP\x17\x8c\xcc\xfd\xa0pf\x8b<\xd4\xeb\x19\x39\x91\x87G3\x98U\xfa\xcc\xdf\xc8\xc7\x9c\x82<\x85\xd3\x90\x1fn\bZ\x9b\xbaU\xf5~\x9f\x42\x80\xf0\xad\xabo\xca@\xd8\x9dM\xab\x8f}\x6S\x2\x3\x1\0\x1\x2\x82\x1\x1\0\x88\xb8\xf8\x1e\xcc\xbe\xf9\xc6\x61X\xa2\xf\xec\x6H?\xfd\x36\x1b\x5\x9f\xf3\xe6\x1c\xaa\xce\xebi\xaf\xc5\xe7\xd1 \x1b\xc3\x8cyf\xc6X|\xa7\x8a\x98`\x92\xd5\xe8;Ce\xdfP\0\xf3^2\x97\xc5.\x95\xfb\0l\x80\x8b\xe9\"\xe3{8\x1f\x2\xb2\xe0jb\b\x13\xc6\x92\xfb\xc2\xe0\xa6\xdbY\x13\x61n\xe.f\xe4\xac'W\x5\x9cYNi\r\x1b\xe6V\x94J\xe1\x65\xba \x97V\xd9{\xb4tnF\xee\x8c\xfd\xa0\xcc\x1f\xdd\x65\xc5Hp.1\xbd{\xc7\x9a\xba\x44{j5y\x82\xfc\x9a\xf6\xf1\n\a\xfaW4a\xc4\x43;o\xe4_\xfa\x97\xfaTy\xa3\xd3\0\x1c\x85_\x12\xf9\x89\xd2\xe6S\xa0\0][\xc2%=\xd6^\xc3P\xe7t\x10L\xfb\xc1\x9e{7\xf9\xb7\xbe\xf7\xe\x35RXs@\xe5*\xdd,\xc0\xa6\x9dJ\x17+\x93#\x19\n\n\x93\x8d\xf6\xa3@\x91\xa6\xe9v{o5\xa5\xca\x41\xb5\xcc\xfb_Ei\x1b\x15\xd6\xad\x91\xb2\xac\x14\xe4\x38\x1b\xd7!\x2\x81\x81\0\xecr(\x89?\xa5\xe2\x94\x9b\x92\x1a\x1e\xc7(}U\xc7\xc4Q\xe6xj\x8d\x9dq\xaf\xe5v\xa1V}\x94\xb4\xf0\x3\x89\xdc\x85\x8f+0(\xf4\x5J\xd9\x34\xa6\xe5Oi\x1eG\xa7\xe2\xb9\xf1\x65&\xbbgQ\xf8S\x11\x91\x45\xbe\x18\xc9\x43.r\x1\xddt/\xbf\xe\x43#io\x12V\xc0?\xf6m\xe4\x33\x9c\x10X\x89\x41\xd6\xc0ptJ\xdc\x1d\xbaO\xd2\xce\x10\x1P\x92\x9d\x9f\xf0T\x7f\xa7}\x16\xcb/\x80#\xa9,\xa7\0%\x2\x81\x81\0\xe3\x33\x2\x8f:\x11\xecidF\x8aHgCc\"\f\x92\xef\xb7\xce\xcd\\\xf1T\xf6([\xf5\x97\xd3\xf6\x6|\x82\x16\x8co\xb8\xb2\x4\x1dH\xa7H\xcd\xbf\xd8\xd5:W\xb0\x99\x8f\x17\x8a\"\x9c\x4\xbb\x9a,\xf9\x95\x30[\x1c\x8c\x82]\x8a\xecQ\xcb\t\f\xb3\xf9\x7f\x14\xafV1\0\xa7\x98\x9bK\x8e\xf0\xcat%\x16\xc4\x35(\x87O\xc4\xa7\x36n\xb1\x6W\xdb\xdc\xe2\xdaO\xe1\x9eV\xe8\xadPv1\x9fo<\x88\xc1\xeb\x1f\a\x17\x2\x81\x80\x15\xe9\n:\x95\xacP\x8f\xc6\xce\xc6\x1e\xde\x3\xb1\x81\x96ni\xccz\x92\x1d'^\xd6\x96\xe3\xe4Uxs\xa4\x44\xad\x7f\x43\xf1\x18p?\x19\xdd\xcf\x10\v\xf\x33(\xfflq!\xd6\x87\xfa\x12\x92q\x89\x7f\xb0\xc4\xe1\x1e\xf5:\xb3\x41z^|[\xc1Ij\xc3)\n+qA\xb0n\x17\x1e\x1c\xd1\xe2ij_>\xd4\x46\xf3\xb7\"\x6&E\x7fH`\x94\xb4\xbd\x92;\x2\x81\x81\0\xac\x8d\xc6]6L\x19\x1e\x36\xfe\x13\xdd\xfc\xd0Z\xdc\x95 \x1a\xad\x80\x46l\x11\xad!4y\xce\0\xa0?y\\\x9e\xb4\f\na\xfbn\x89U\a\xe8\xddm\x18:\xf4u\xe6\xf5\x61\x87\x80\x46\xa1\xe\xd4R|i+v\x4\x7f>\xbcxG\xe6\xepm\xd3\x89\n\v\"@\x14\x80\xb8\x11Vd\xa5\xd9\xfb\xddIV\xb5;\xc1\xfc\x87\xca\x10Q\x1f\xdeI\xe6\x63\xee\x3Xz\xc1\x1f\x18\v\xbf\x32\x4\xc2\xeb\xf7\xfe\xab\xca\xc5\x15\x91\xafi1T0#\x6\t*\x86H\x86\xf7\r\x1\t\x15\x31\x16\x4\x14\xfb}Xxh\xe6\xd3\x4\xb5\xf4J%6L|>\xce\xe3\xa8\x66\x30-\x6\t*\x86H\x86\xf7\r\x1\t\x14\x31 \x1e\x1e\0M\0u\0m\0\x62\0l\0\x65\0 \0I\0\x64\0\x65\0n\0t\0i\0t\0y0-0!0\t\x6\x5+\xe\x3\x2\x1a\x5\0\x4\x14\x97'\b\xb8\x19\x8d\xa8~K\r\xf6%\xab\x87S\xad\x35-'\xeb\x4\bo\0\xee\x45\x94\xa2\x15\x39)" + +[ui] +expert=true +style=GTK+ +geometry="@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x5\x5\0\0\0\x1f\0\0\au\0\0\x4-\0\0\x5\x6\0\0\0 \0\0\at\0\0\x4,\0\0\0\x1\0\0)" +state="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\0\0\0\x1\0\0\0\x3\xd0\xfc\x2\0\0\0\x2\xfb\0\0\0\f\0q\0\x64\0w\0L\0o\0g\x1\0\0\0=\0\0\x3\xb3\0\0\0K\0\xff\xff\xff\xfb\0\0\0\xe\0q\0\x64\0w\0\x43\0h\0\x61\0t\x1\0\0\x3\xf6\0\0\0\x17\0\0\0\x17\0\0\0\x17\0\0\x1i\0\0\x3\xd0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0q\0t\0I\0\x63\0o\0n\0T\0o\0o\0l\0\x62\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +header=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1g\0\0\0\x1\x1\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x1\0\0\x1g\0\0\0\x1\0\0\0\0) +server=graph +connect\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x2\xa7\0\0\x1x\0\0\x4\xe4\0\0\x2\xe5\0\0\x2\xa7\0\0\x1x\0\0\x4\xe4\0\0\x2\xe5\0\0\0\x1\0\0) +connect\header=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2&\0\0\0\x3\x1\x1\0\0\0\0\0\0\x1\0\0\0\x2\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\x1\x9b\0\0\0\x1\0\0\0\x1\0\0\0\x41\0\0\0\x1\0\0\0\x3\0\0\0J\0\0\0\x1\0\0\0\x3) +ConfigGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x2/\0\0\0\xbb\0\0\x5P\0\0\x3\xa4\0\0\x2\x31\0\0\0\xbb\0\0\x5N\0\0\x3\xa2\0\0\0\x1\0\0) + +[shortcuts] +size=0 + +[messages] +size=20 + +[messagesounds] +size=20 + +[pulseaudio] +input=alsa_input.usb-Logitech_Logitech_G430_Gaming_Headset-00.analog-mono +output=alsa_output.usb-Logitech_Logitech_G430_Gaming_Headset-00.analog-stereo diff --git a/.config/compton.conf b/.config/compton.conf new file mode 100755 index 0000000..aca14d9 --- /dev/null +++ b/.config/compton.conf @@ -0,0 +1,2 @@ +shadow = false; +fading = false; diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100755 index 0000000..de89dea --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,39 @@ +[global] + geometry = "0x5-50+50" + transparency = 20 + + padding = 4 + horizontal_padding = 4 + frame_width = 2 + frame_color = "#aaaaaa" + alignment = center + font = DejaVu Sans Mono 9 + + sort = no + markup = no + + idle_threshold = no + show_age_threshold = -1 + history_length = 0 + + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + indicate_hidden = no + stack_duplicates = false + hide_duplicate_count = true + +[urgency_low] + background = "#282A36" + foreground = "#F8F8F2" + timeout = 10 + +[urgency_normal] + background = "#282A36" + foreground = "#F8F8F2" + timeout = 10 + +[urgency_critical] + background = "#282A36" + foreground = "#F8F8F2" + frame_color = "#ff0000" + timeout = 0 diff --git a/.config/feh/keys b/.config/feh/keys new file mode 100755 index 0000000..419448c --- /dev/null +++ b/.config/feh/keys @@ -0,0 +1,13 @@ +zoom_in K +zoom_out J +next_img L +prev_img H + +scroll_up k +scroll_down j +scroll_right l +scroll_left h + +toggle_fullscreen f +save_filelist + diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..ae66b91 --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,16 @@ +[Settings] +gtk-theme-name=Arc-Dark +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=DejaVu Sans 9 +gtk-cursor-theme-name=Adwaita +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_MENU +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull + diff --git a/.config/htop/htoprc b/.config/htop/htoprc new file mode 100755 index 0000000..22d6634 --- /dev/null +++ b/.config/htop/htoprc @@ -0,0 +1,27 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +fields=0 46 39 1 +sort_key=46 +sort_direction=1 +hide_threads=1 +hide_kernel_threads=1 +hide_userland_threads=1 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_megabytes=1 +highlight_threads=1 +tree_view=0 +header_margin=1 +detailed_cpu_time=0 +cpu_count_from_zero=1 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +delay=15 +left_meters=AllCPUs +left_meter_modes=1 +right_meters=Uptime Tasks Memory Swap +right_meter_modes=2 2 2 2 + diff --git a/.config/i3/config b/.config/i3/config new file mode 100755 index 0000000..fa7ab44 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,111 @@ +set $mod Mod4 +font pango:DejaVu Sans Mono 9 + +exec_always setxkbmap ee +exec_always "xrandr --output HDMI1 --mode 2560x1440 --rate 59.95 --output HDMI2 --mode 1920x1080 --rate 59.93 --left-of HDMI1" + +exec_always ~/.scripts/daemons.sh + +exec_always xrdb ~/.xresources +exec_always feh --bg-fill --no-fehbg ~/.wallpapers/current + +gaps inner 10 +default_border pixel 1 + +bindsym $mod+Ctrl+r restart +bindsym $mod+Ctrl+q kill + +bindsym $mod+s exec dmenu_run +bindsym $mod+Return exec urxvt + +bindsym $mod+F1 exec ~/.scripts/audio.sh toggle_mute +bindsym $mod+F2 exec ~/.scripts/audio.sh lower +bindsym $mod+F3 exec ~/.scripts/audio.sh raise +bindsym $mod+F5 exec ~/.scripts/music.sh toggle +bindsym $mod+F7 exec ~/.scripts/music.sh prev +bindsym $mod+F8 exec ~/.scripts/music.sh next + +bindsym $mod+F9 exec ~/.scripts/mount.sh +bindsym $mod+F10 exec ~/.scripts/umount.sh + +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +bindsym $mod+Control+h move left +bindsym $mod+Control+j move down +bindsym $mod+Control+k move up +bindsym $mod+Control+l move right + +bindsym $mod+Control+y resize shrink width 10 px or 1 ppt +bindsym $mod+Control+u resize grow height 10 px or 1 ppt +bindsym $mod+Control+i resize shrink height 10 px or 1 ppt +bindsym $mod+Control+o resize grow width 10 px or 1 ppt + +bindsym $mod+Ctrl+w split h +bindsym $mod+Ctrl+s split v + +bindsym $mod+Ctrl+f fullscreen toggle +bindsym $mod+Ctrl+space floating toggle + +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+Ctrl+1 move container to workspace 1 +bindsym $mod+Ctrl+2 move container to workspace 2 +bindsym $mod+Ctrl+3 move container to workspace 3 +bindsym $mod+Ctrl+4 move container to workspace 4 +bindsym $mod+Ctrl+5 move container to workspace 5 +bindsym $mod+Ctrl+6 move container to workspace 6 + +set_from_resource $background background +set_from_resource $foreground foreground + +set_from_resource $darkblack color0 +set_from_resource $black color8 +set_from_resource $darkred color1 +set_from_resource $red color9 +set_from_resource $darkgreen color2 +set_from_resource $green color10 +set_from_resource $darkyellow color3 +set_from_resource $yellow color11 +set_from_resource $darkblue color4 +set_from_resource $blue color12 +set_from_resource $darkmagenta color5 +set_from_resource $magenta color13 +set_from_resource $darkcyan color6 +set_from_resource $cyan color14 +set_from_resource $darkwhite color7 +set_from_resource $white color15 + +set $transparent + +# class border background text indicator child_border +client.focused $darkblue $background $foreground $darkblue $darkblue +client.focused_inactive $darkblue $background $foreground $darkblue $darkblue +client.unfocused $black $background $foreground $black $black +client.urgent $darkblue $background $foreground $darkblue $darkblue +client.background $black + +bar { + font pango:DejaVu Sans Mono 9 + colors { + background $background + statusline $foreground + separator $darkblue + + focused_workspace $background $darkblack $foreground + active_workspace $background $darkblack $foreground + inactive_workspace $background $background $black + urgent_workspace $darkblue $background $foreground + } + + position top + status_command i3blocks +} + diff --git a/.config/i3blocks/config b/.config/i3blocks/config new file mode 100755 index 0000000..d86c40b --- /dev/null +++ b/.config/i3blocks/config @@ -0,0 +1,14 @@ +[mpd] +command=echo "$(mpc current)" +interval=5 +signal=2 + +[volume] +command=echo "$(pamixer --get-volume)%" +interval=once +signal=1 + +[time] +command=echo "$(date '+%d.%m %H:%M')" +interval=1 + diff --git a/.config/mpd/database b/.config/mpd/database new file mode 100644 index 0000000..d334197 Binary files /dev/null and b/.config/mpd/database differ diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf new file mode 100644 index 0000000..fa0cc3f --- /dev/null +++ b/.config/mpd/mpd.conf @@ -0,0 +1,14 @@ +music_directory "~/Music" +auto_update "yes" + +playlist_directory "~/.config/mpd/playlists" +sticker_file "~/.config/mpd/sticker.sql" +db_file "~/.config/mpd/database" +pid_file "~/.config/mpd/pid" +log_file "syslog" + +audio_output { + type "pulse" + name "pulse audio" +} + diff --git a/.config/mpd/pid b/.config/mpd/pid new file mode 100644 index 0000000..e0f6509 --- /dev/null +++ b/.config/mpd/pid @@ -0,0 +1 @@ +695 diff --git a/.config/mpd/sticker.sql b/.config/mpd/sticker.sql new file mode 100644 index 0000000..fdf3cd1 Binary files /dev/null and b/.config/mpd/sticker.sql differ diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf new file mode 100644 index 0000000..9611910 --- /dev/null +++ b/.config/mpv/mpv.conf @@ -0,0 +1,14 @@ +no-input-default-bindings + +#profile=gpu-hq +deband=no + +#scale=ewa_lanczossharp +#cscale=ewa_lanczossharp + +alang=jpn,jp +slang=eng,en + +#video-sync=display-resample +#interpolation + diff --git a/.config/ncmpcpp/bindings b/.config/ncmpcpp/bindings new file mode 100755 index 0000000..f1494b3 --- /dev/null +++ b/.config/ncmpcpp/bindings @@ -0,0 +1,11 @@ +def_key "j" + scroll_down + +def_key "k" + scroll_up + +def_key "h" + previous_column + +def_key "l" + next_column diff --git a/.config/ncmpcpp/config b/.config/ncmpcpp/config new file mode 100755 index 0000000..9ac8d81 --- /dev/null +++ b/.config/ncmpcpp/config @@ -0,0 +1,11 @@ +mouse_support = no + +user_interface = alternative +header_visibility = no + +playlist_display_mode = columns +browser_display_mode = columns +search_engine_display_mode = columns +playlist_editor_display_mode = columns + +progressbar_look = -| diff --git a/.config/neofetch/config.conf b/.config/neofetch/config.conf new file mode 100644 index 0000000..9a85b7e --- /dev/null +++ b/.config/neofetch/config.conf @@ -0,0 +1,719 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + info title + info underline + + info "OS" distro + info "Host" model + info "Kernel" kernel + info "Uptime" uptime + info "Packages" packages + info "Terminal" term + info "CPU" cpu + info "GPU" gpu + info "Memory" memory + + # info "GPU Driver" gpu_driver # Linux/macOS only + # info "Disk" disk + # info "Battery" battery + # info "Font" font + # info "Song" song + # info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info line_break + info cols + info line_break +} + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="on" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'off', 'tiny' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="off" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'off', 'tiny' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# off: '2 days, 10 hours, 3 minutes' +# tiny: '2d 10h 3m' +uptime_shorthand="on" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand. +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="on" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="C" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +disk_subtitle="mount" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# Google Play +# guayadeque +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# Spotify +# tomahawk +# vlc +# xmms2d +# yarock +music_player="auto" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %album% - %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '7' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 7) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="off" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'jp2a', 'iterm2', 'off', 'termpix', 'pixterm', 'tycat', 'w3m' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# +# NOTE: Arch and Ubuntu have 'old' logo variants. +# Change this to 'arch_old' or 'ubuntu_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors. +# NOTE: Arch, Crux and Gentoo have a smaller logo variant. +# Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos. +ascii_distro="auto" + +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf new file mode 100644 index 0000000..4946ea3 --- /dev/null +++ b/.config/ranger/rc.conf @@ -0,0 +1,5 @@ +#set show_hidden true +set preview_images true +set use_preview_script true +set preview_script=~/.config/ranger/scope.sh + diff --git a/.config/ranger/scope.sh b/.config/ranger/scope.sh new file mode 100755 index 0000000..52c7ffb --- /dev/null +++ b/.config/ranger/scope.sh @@ -0,0 +1,179 @@ +#!/usr/bin/env bash + +set -o noclobber -o noglob -o nounset -o pipefail +IFS=$'\n' + +# If the option `use_preview_script` is set to `true`, +# then this script will be called and its output will be displayed in ranger. +# ANSI color codes are supported. +# STDIN is disabled, so interactive scripts won't work properly + +# This script is considered a configuration file and must be updated manually. +# It will be left untouched if you upgrade ranger. + +# Meanings of exit codes: +# code | meaning | action of ranger +# -----+------------+------------------------------------------- +# 0 | success | Display stdout as preview +# 1 | no preview | Display no preview at all +# 2 | plain text | Display the plain content of the file +# 3 | fix width | Don't reload when width changes +# 4 | fix height | Don't reload when height changes +# 5 | fix both | Don't ever reload +# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview +# 7 | image | Display the file directly as an image + +# Script arguments +FILE_PATH="${1}" # Full path of the highlighted file +PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) +PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) +IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview +PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. + +FILE_EXTENSION="${FILE_PATH##*.}" +FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]') + +# Settings +HIGHLIGHT_SIZE_MAX=262143 # 256KiB +HIGHLIGHT_TABWIDTH=8 +HIGHLIGHT_STYLE='pablo' +PYGMENTIZE_STYLE='autumn' + + +handle_extension() { + case "${FILE_EXTENSION_LOWER}" in + # Archive + a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ + rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) + atool --list -- "${FILE_PATH}" && exit 5 + bsdtar --list --file "${FILE_PATH}" && exit 5 + exit 1;; + rar) + # Avoid password prompt by providing empty password + unrar lt -p- -- "${FILE_PATH}" && exit 5 + exit 1;; + 7z) + # Avoid password prompt by providing empty password + 7z l -p -- "${FILE_PATH}" && exit 5 + exit 1;; + + # PDF + pdf) + # Preview as text conversion + pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - && exit 5 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + + # BitTorrent + torrent) + transmission-show -- "${FILE_PATH}" && exit 5 + exit 1;; + + # OpenDocument + odt|ods|odp|sxw) + # Preview as text conversion + odt2txt "${FILE_PATH}" && exit 5 + exit 1;; + + # HTML + htm|html|xhtml) + # Preview as text conversion + w3m -dump "${FILE_PATH}" && exit 5 + lynx -dump -- "${FILE_PATH}" && exit 5 + elinks -dump "${FILE_PATH}" && exit 5 + ;; # Continue with next handler on failure + esac +} + +handle_image() { + local mimetype="${1}" + case "${mimetype}" in + # SVG + # image/svg+xml) + # convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 + # exit 1;; + + # Image + image/*) + local orientation + orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" + # If orientation data is present and the image actually + # needs rotating ("1" means no rotation)... + if [[ -n "$orientation" && "$orientation" != 1 ]]; then + # ...auto-rotate the image according to the EXIF data. + convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 + fi + + # `w3mimgdisplay` will be called for all images (unless overriden as above), + # but might fail for unsupported types. + exit 7;; + + # Video + video/*) + # # Thumbnail + ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 + exit 1;; + # PDF + # application/pdf) + # pdftoppm -f 1 -l 1 \ + # -scale-to-x 1920 \ + # -scale-to-y -1 \ + # -singlefile \ + # -jpeg -tiffcompression jpeg \ + # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ + # && exit 6 || exit 1;; + esac +} + +handle_mime() { + local mimetype="${1}" + case "${mimetype}" in + # Text + text/* | */xml) + # Syntax highlight + if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then + exit 2 + fi + if [[ "$( tput colors )" -ge 256 ]]; then + local pygmentize_format='terminal256' + local highlight_format='xterm256' + else + local pygmentize_format='terminal' + local highlight_format='ansi' + fi + highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ + --style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 + # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 + exit 2;; + + # Image + image/*) + # Preview as text conversion + # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + + # Video and audio + video/* | audio/*) + mediainfo "${FILE_PATH}" && exit 5 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + esac +} + +handle_fallback() { + echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 + exit 1 +} + + +MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" +if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then + handle_image "${MIMETYPE}" +fi +handle_extension +handle_mime "${MIMETYPE}" +handle_fallback + +exit 1 + diff --git a/.gtkrc-2.0 b/.gtkrc-2.0 new file mode 100644 index 0000000..b34eed6 --- /dev/null +++ b/.gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by LXAppearance. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/josh/.gtkrc-2.0.mine" +gtk-theme-name="Arc-Dark" +gtk-icon-theme-name="Papirus-Dark" +gtk-font-name="DejaVu Sans 9" +gtk-cursor-theme-name="Adwaita" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_MENU +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintfull" + diff --git a/.pythonrc b/.pythonrc new file mode 100755 index 0000000..6f8b5e1 --- /dev/null +++ b/.pythonrc @@ -0,0 +1,3 @@ +import readline +readline.write_history_file = lambda *args: None + diff --git a/.scripts/audio.sh b/.scripts/audio.sh new file mode 100755 index 0000000..26b39fe --- /dev/null +++ b/.scripts/audio.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +current_volume=$(pamixer --get-volume) + +case $1 in +"raise") + (( current_volume += 5 )) + [[ current_volume -gt 100 ]] && current_volume=100 + + pamixer --set-volume $current_volume + notify-send -t 250 "VOL: $current_volume" + pkill -RTMIN+1 i3blocks +;; +"lower") + (( current_volume -= 5 )) + [[ current_volume -lt 0 ]] && current_volume=0 + + pamixer --set-volume $current_volume + notify-send -t 250 "VOL: $current_volume" + pkill -RTMIN+1 i3blocks +;; +"toggle_mute") + pamixer --toggle-mute + notify-send -t 300 "MUTE: $(pamixer --get-mute)" +;; +esac + diff --git a/.scripts/daemons.sh b/.scripts/daemons.sh new file mode 100755 index 0000000..4055cd9 --- /dev/null +++ b/.scripts/daemons.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +[[ ! $(pidof compton) ]] && compton & +[[ ! $(pidof unclutter) ]] && unclutter & +[[ ! $(pidof mpd) ]] && mpd & +[[ ! $(pidof transmission-daemon) ]] && transmission-daemon & +[[ ! $(pidof dunst) ]] && dunst & + diff --git a/.scripts/mount.sh b/.scripts/mount.sh new file mode 100755 index 0000000..c17a40b --- /dev/null +++ b/.scripts/mount.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# Gives a dmenu prompt to mount unmounted drives. +# If they're in /etc/fstab, they'll be mounted automatically. +# Otherwise, you'll be prompted to give a mountpoint from already existsing directories. +# If you input a novel directory, it will prompt you to create that directory. +pgrep -x dmenu && exit +COLS="name,type,size,mountpoint" + +drives="$(lsblk -rpo "$COLS" | awk '$2=="part"&&$4==""{printf "%s (%s)\n",$1,$3}')" +[ -z "$drives" ] && exit 1 +chosen="$(echo "$drives" | dmenu -i -p "Mount which drive?" | awk '{print $1}')" +[ -z "$chosen" ] && exit 1 +sudo -A mount "$chosen" && exit 0 +# You may want to change the line below for more suggestions for mounting. +# I.e. you can increase the depth of the search, or add directories. +# This will increase the load time briefly though. +mp="$(find /mnt /media /mount /home -type d -maxdepth 5 2>/dev/null | dmenu -i -p "Type in mount point.")" +[ "$mp" = "" ] && exit 1 +if [ ! -d "$mp" ]; then + mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") + [ "$mkdiryn" = "Yes" ] && sudo -A mkdir -p "$mp" +fi +sudo -A mount "$chosen" "$mp" && pgrep -x dunst && notify-send "$chosen mounted to $mp." + diff --git a/.scripts/music.sh b/.scripts/music.sh new file mode 100755 index 0000000..df897a0 --- /dev/null +++ b/.scripts/music.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +case $1 in +"toggle") + mpc toggle +;; +"prev") + mpc prev & + pkill -RTMIN+2 i3blocks +;; +"next") + mpc next & + pkill -RTMIN+2 i3blocks +;; +esac + diff --git a/.scripts/umount.sh b/.scripts/umount.sh new file mode 100755 index 0000000..30d05e8 --- /dev/null +++ b/.scripts/umount.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# A dmenu prompt to unmount drives. +# Provides you with mounted partitions, select one to unmount. +# Drives mounted at /, /boot and /home will not be options to unmount. + +drives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$2=="part"&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s) on %s\n",$1,$3,$4}') +[ -z "$drives" ] && exit +chosen=$(echo "$drives" | dmenu -i -p "Unmount which drive?" | awk '{print $1}') +[ -z "$chosen" ] && exit +sudo -A umount "$chosen" && pgrep -x dunst && notify-send "$chosen unmounted." + diff --git a/.vimrc b/.vimrc new file mode 100755 index 0000000..e9b4df2 --- /dev/null +++ b/.vimrc @@ -0,0 +1,7 @@ +syntax on +set number +set tabstop=4 +set autoindent +set viminfo= +let g:netrw_dirhistmax = 0 + diff --git a/.wallpapers/current b/.wallpapers/current new file mode 120000 index 0000000..b3096b1 --- /dev/null +++ b/.wallpapers/current @@ -0,0 +1 @@ +mountains.jpg \ No newline at end of file diff --git a/.wallpapers/mountains.jpg b/.wallpapers/mountains.jpg new file mode 100755 index 0000000..da4037e Binary files /dev/null and b/.wallpapers/mountains.jpg differ diff --git a/.xinitrc b/.xinitrc new file mode 100755 index 0000000..add8288 --- /dev/null +++ b/.xinitrc @@ -0,0 +1,2 @@ +exec i3 + diff --git a/.xresources b/.xresources new file mode 100755 index 0000000..3b0448d --- /dev/null +++ b/.xresources @@ -0,0 +1,30 @@ +! Dracula Xresources palette +*.foreground: #F8F8F2 +*.background: #282A36 +*.color0: #000000 +*.color8: #4D4D4D +*.color1: #FF5555 +*.color9: #FF6E67 +*.color2: #50FA7B +*.color10: #5AF78E +*.color3: #F1FA8C +*.color11: #F4F99D +*.color4: #BD93F9 +*.color12: #CAA9FA +*.color5: #FF79C6 +*.color13: #FF92D0 +*.color6: #8BE9FD +*.color14: #9AEDFE +*.color7: #BFBFBF +*.color15: #E6E6E6 + +urxvt.scrollBar: false +urxvt.letterSpace: -1 +urxvt.depth: 32 +urxvt.background: rgba:2800/2A00/3600/F000 + +urxvt.font: xft:DejaVu Sans Mono:size=9 +urxvt.italicFont: xft:DejaVu Sans Mono:size=9:italic +urxvt.boldFont: xft:DejaVu Sans Mono:size=9:bold +urxvt.boldItalicFont: xft:DejaVu Sans Mono:size=9:bold:italic +