├── .Xresources
├── .asoundrc.hdmi
├── .astylerc
├── .bashrc
├── .config
├── bspwm
│ └── bspwmrc
├── compton.conf
├── conky
│ ├── HUD.conky
│ ├── HUD.lua
│ ├── README
│ ├── archey.conky
│ ├── crunchbang.conky
│ ├── grey.conky
│ ├── grey.lua
│ ├── laptop.conky
│ ├── laptop.conky.desktop
│ ├── solarized.conky
│ ├── solarized.lua
│ ├── solarized.png
│ ├── stickyclock.conky
│ ├── stickynote.conky
│ └── stickynote.conky.desktop
├── openbox
│ ├── autostart
│ ├── menu.xml
│ └── rc.xml
├── sxhkd
│ └── sxhkdrc
├── tint2
│ └── tint2rc
└── zsh
│ └── custom
│ ├── aliases.zsh
│ └── git-prompt.zsh
├── .gitignore
├── .vim
├── after
│ └── ftplugin
│ │ └── markdown
│ │ └── instant-markdown.vim
└── colors
│ └── solarized.vim
├── .vimrc
├── .yuri_misc_sys_files
├── FILES.txt
├── bash.bashrc
├── bspwm-exit
├── bspwm-session
├── bspwm.desktop
├── lightdm-gtk-greeter.conf
├── lightdm.conf
├── mirrorlist
├── pacman.conf
├── scripts
│ ├── brightness.sh
│ ├── conkystart.sh
│ ├── killstart.sh
│ ├── mirror_displays.sh
│ ├── quiet.sh
│ ├── rip-yt.sh
│ ├── shuffle.sh
│ ├── stickynote.sh
│ ├── updates-available.sh
│ ├── urxvt-quake.sh
│ └── volume_change.sh
├── updates-available.service
├── updates-available.timer
└── yuri
├── .zshrc
├── README.md
└── update-yuri_config.sh
/.Xresources:
--------------------------------------------------------------------------------
1 | ! Xft font settings - used by urxvt
2 | Xft.dpi: 96
3 | Xft.antialias: true
4 | Xft.rgba: rgb
5 | Xft.hinting: true
6 | Xft.hintstyle: hintslight
7 |
8 | ! solarized dmenu - requires patched dmenu
9 | dmenu.font: xft:Consolas:pixelsize=12
10 | dmenu.foreground: #839496
11 | dmenu.background: #002b36
12 | dmenu.selforeground: #839496
13 | dmenu.selbackground: #eee8d5
14 |
15 | ! yuri - all urxvt X resources are listed below, in the order output by
16 | ! urxvt --help 2>&1| sed -n '/: /s/^ */! URxvt*/gp'
17 | !
18 | ! use xrdb .Xresources to reload this file
19 |
20 | ! URxvt*termName: string
21 | URxvt*geometry: 110x30+100+100
22 | URxvtDesktop*geometry: 110x30+5+5
23 | URxvtQuake*geometry: 110x20
24 | ! URxvt*chdir: string
25 | ! URxvt*reverseVideo: boolean
26 | URxvt*loginShell: true
27 | ! URxvt*jumpScroll: boolean
28 | ! URxvt*skipScroll: boolean
29 | ! URxvt*pastableTabs: boolean
30 | ! URxvt*scrollstyle: mode
31 | URxvt*scrollBar: false
32 | ! URxvt*scrollBar_right: boolean
33 | ! URxvt*scrollBar_floating: boolean
34 | ! URxvt*scrollBar_align: mode
35 | ! URxvt*thickness: number
36 | ! URxvt*scrollTtyOutput: boolean
37 | ! URxvt*scrollTtyKeypress: boolean
38 | ! URxvt*scrollWithBuffer: boolean
39 | ! URxvt*inheritPixmap: boolean
40 | ! URxvt*transparent: false
41 | ! URxvt*tintColor: color
42 | ! URxvt*shading: number
43 | ! URxvt*blurRadius: HxV
44 | URxvtDesktop*fading: 0
45 | URxvt*fading: 40
46 | !URxvt*fadeColor: #002b36
47 | ! URxvt*utmpInhibit: boolean
48 | ! URxvt*urgentOnBell: boolean
49 | ! URxvt*visualBell: boolean
50 | ! URxvt*mapAlert: boolean
51 | ! URxvt*meta8: boolean
52 | ! URxvt*mouseWheelScrollPage: boolean
53 | ! URxvt*tripleclickwords: boolean
54 | ! URxvt*insecure: boolean
55 | ! URxvt*cursorUnderline: true
56 | URxvt*cursorBlink: true
57 | URxvt*pointerBlank: true
58 | ! yuri - solarized colors for both urxvt and xterm
59 | ! - true transparency supported by urxvt
60 | ! - use [alpha]#rrggbb format
61 | URxvt*background: [85]#002b36
62 | URxvtDesktop*background: [0]#002b36
63 | XTerm*background: #002b36
64 | XTerm*foreground: #839496
65 | URxvt*foreground: #839496
66 | ! dark grey
67 | XTerm*color0: #073642
68 | URxvt*color0: #073642
69 | ! dark red
70 | XTerm*color1: #dc322f
71 | URxvt*color1: #dc322f
72 | ! dark green
73 | XTerm*color2: #586e75
74 | URxvt*color2: #586e75
75 | ! dark yellow
76 | XTerm*color3: #b58900
77 | URxvt*color3: #b58900
78 | ! dark blue
79 | XTerm*color4: #268bd2
80 | URxvt*color4: #268bd2
81 | ! dark magenta
82 | XTerm*color5: #d33682
83 | URxvt*color5: #d33682
84 | ! dark cyan
85 | XTerm*color6: #2aa198
86 | URxvt*color6: #2aa198
87 | ! light grey
88 | XTerm*color7: #eee8d5
89 | URxvt*color7: #eee8d5
90 | ! black
91 | XTerm*color8: #002b36
92 | URxvt*color8: #002b36
93 | ! red
94 | XTerm*color9: #cb4b16
95 | URxvt*color9: #cb4b16
96 | ! green
97 | XTerm*color10: #859900
98 | URxvt*color10: #859900
99 | ! yellow
100 | XTerm*color11: #657b83
101 | URxvt*color11: #657b83
102 | ! blue
103 | XTerm*color12: #839496
104 | URxvt*color12: #839496
105 | ! magenta
106 | XTerm*color13: #6c71c4
107 | URxvt*color13: #6c71c4
108 | ! cyan
109 | XTerm*color14: #93a1a1
110 | URxvt*color14: #93a1a1
111 | ! white
112 | XTerm*color15: #fdf6e3
113 | URxvt*color15: #fdf6e3
114 | ! URxvt*colorBD: color
115 | ! URxvt*colorIT: color
116 | URxvt*colorUL: #268bd2
117 | ! URxvt*colorRV: color
118 | ! URxvt*underlineColor: color
119 | ! URxvt*scrollColor: color
120 | ! URxvt*troughColor: color
121 | ! URxvt*highlightColor: color
122 | ! URxvt*highlightTextColor: color
123 | XTerm*cursorColor: #93a1a1
124 | URxvt*cursorColor: #93a1a1
125 | ! URxvt*cursorColor2: color
126 | ! URxvt*pointerColor: color
127 | ! URxvt*pointerColor2: color
128 | ! URxvt*borderColor: color
129 | ! URxvt*path: search path
130 | ! yuri - backgroundPixmap and iconFile require installation from AUR
131 | ! - packer -S rxvt-unicode-pixbuf
132 | ! URxvt*backgroundPixmap: file[;geom]
133 | URxvt*iconFile: /usr/share/icons/Faenza/apps/48/utilities-terminal.png
134 | URxvt*font: xft:Consolas:pixelsize=11
135 | URxvt*boldFont: xft:Consolas:bold:pixelsize=11
136 | XTerm*faceName: Consolas:size=8:antialias=true
137 | ! URxvt*italicFont: fontname
138 | ! URxvt*boldItalicFont: fontname
139 | ! URxvt*intensityStyles: boolean
140 | ! URxvt*inputMethod: name
141 | ! URxvt*preeditType: style
142 | ! URxvt*imLocale: string
143 | ! URxvt*imFont: fontname
144 | ! URxvt*title: string
145 | ! URxvt*iconName: string
146 | URxvt*saveLines: 4096
147 | ! URxvt*buffered: boolean
148 | URxvt*depth: 32
149 | ! URxvt*visual: number
150 | ! URxvt*transient-for: windowid
151 | ! URxvt*override-redirect: boolean
152 | ! URxvt*hold: boolean
153 | ! URxvt*externalBorder: number
154 | URxvt*internalBorder: 0
155 | ! URxvt*borderLess: boolean
156 | URxvt*lineSpace: 0
157 | URxvt*letterSpace: -1
158 | ! URxvt*skipBuiltinGlyphs: boolean
159 | ! URxvt*pointerBlankDelay: number
160 | ! URxvt*backspacekey: string
161 | ! URxvt*deletekey: string
162 | ! URxvt*print-pipe: string
163 | ! URxvt*modifier: modifier
164 | ! URxvt*cutchars: string
165 | ! URxvt*answerbackString: string
166 | ! URxvt*secondaryScreen: boolean
167 | ! URxvt*secondaryScroll: boolean
168 | ! URxvt*perl-lib: string
169 | ! URxvt*perl-eval: perl-eval
170 | URxvt*perl-ext-common: default,clipboard,matcher,vtwheel
171 | ! URxvt*perl-ext: string
172 | URxvt*iso14755: false
173 | ! URxvt*iso14755_52: boolean
174 | ! URxvt*xrm: string
175 | ! URxvt*keysym.sym: keysym
176 | URxvt.keysym.Control-Shift-C: perl:clipboard:copy
177 | URxvt.keysym.Control-Shift-V: perl:clipboard:paste
178 | ! URxvt*background.border: boolean
179 | ! URxvt*background.expr: string
180 | ! URxvt*background.interval: seconds
181 | ! URxvt*bell-command: string
182 | URxvt*matcher.button: 1
183 | ! URxvt*matcher.launcher: string
184 | ! URxvt*matcher.launcher.*: string
185 | ! URxvt*matcher.pattern.*: string
186 | ! URxvt*matcher.rend.*: string
187 | ! URxvt*remote-clipboard.fetch: string
188 | ! URxvt*remote-clipboard.store: string
189 | ! URxvt*searchable-scrollback: string
190 | ! URxvt*selection-autotransform.*: string
191 | ! URxvt*selection-pastebin.cmd: string
192 | ! URxvt*selection-pastebin.url: string
193 | ! URxvt*selection.pattern-0: string
194 | ! URxvt*tab-bg: colour
195 | ! URxvt*tab-fg: colour
196 | ! URxvt*tabbar-bg: colour
197 | ! URxvt*tabbar-fg: colour
198 | URxvt*url-launcher: /usr/bin/google-chrome-stable
199 |
--------------------------------------------------------------------------------
/.asoundrc.hdmi:
--------------------------------------------------------------------------------
1 | defaults.pcm.card 0
2 | defaults.pcm.device 3
3 | defaults.ctl.card 0
4 |
--------------------------------------------------------------------------------
/.astylerc:
--------------------------------------------------------------------------------
1 | # ROOT code formatting style
2 | style=stroustrup
3 | mode=c
4 | align-pointer=name
5 | indent=spaces=2
6 | indent-switches
7 | indent-cases
8 | indent-namespaces
9 | max-instatement-indent=40
10 | indent-preprocessor
11 | convert-tabs
12 | pad-header
13 | pad-oper
14 | unpad-paren
15 |
--------------------------------------------------------------------------------
/.bashrc:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.bashrc
3 | #
4 |
5 | # If not running interactively, don't do anything
6 | [[ $- != *i* ]] && return
7 |
8 | # include common options for commands
9 | alias ls='ls --color=auto'
10 | alias grep='grep --color=auto'
11 | alias df='df -hT -x tmpfs -x devtmpfs'
12 | alias free='free -ht'
13 |
14 | # PS1='\u@\h: \w\$ '
15 | # yuri - nicer looking command prompt in solarized scheme
16 | PS1='\[\e[0;37m\]\u\[\e[m\] \[\e[0;34m\]\w\[\e[m\] \[\e[0;37m\]\$\[\e[m\] '
17 |
18 | # yuri - set fixed window title for transparent desktop terminal
19 | # test for custom named terminal with same window id as the present one
20 | # if it matches, set the window title so that the compositor and
21 | # window manager can treat it appropriately
22 |
23 | if [ -n "$WINDOWID" ]; then # this shell is running in X
24 |
25 | # use X forwarding with ssh
26 | alias ssh='ssh -Y'
27 |
28 | DESKTOPWINDOWID=$((`wmctrl -lpx | grep URxvtDesktop | awk '{ print $1 }'`))
29 | if [ $WINDOWID -eq $DESKTOPWINDOWID ]; then
30 | PROMPT_COMMAND='echo -ne "\033]0;URxvtDesktop\007"'
31 | # display system info on the desktop terminal
32 | archey
33 | fi
34 | fi
35 |
36 | # add --user-install ruby gems to PATH
37 | if which ruby >/dev/null && which gem >/dev/null; then
38 | PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
39 | fi
40 |
--------------------------------------------------------------------------------
/.config/bspwm/bspwmrc:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 |
3 | # TODO: find a way to use `sleep` less
4 |
5 | bspc config border_width 0
6 | bspc config window_gap 2
7 |
8 | bspc config split_ratio 0.50
9 | bspc config borderless_monocle true
10 | bspc config gapless_monocle true
11 | bspc config focus_by_distance true
12 | bspc config remove_disabled_monitor true
13 |
14 | bspc monitor -d 01 02 03 04 05 06 07 08 09 10
15 |
16 | bspc rule -a gimp floating=on
17 | bspc rule -a URxvtQuake sticky=on floating=on
18 | bspc rule -a tint2 floating=on manage=off # needed with R675M, window hints previously worked
19 |
20 | xsetroot -cursor_name left_ptr &
21 | hsetroot -fill ~/images/wallpaper.png
22 | compton --config "$HOME/.config/compton.conf" -b
23 | udiskie --tray &
24 | nm-applet &
25 | numlockx on &
26 |
27 | # desktop 10 is the sys monitor workspace
28 | bspc rule -a URxvtDesktop desktop=^10
29 | bspc rule -a htop desktop=^10
30 | bspc config -d ^10 split_ratio 0.80
31 | conky -c ~/.config/conky/bspwm.conky &
32 | urxvt -name URxvtDesktop &
33 | # sleep to allow terminal to spawn first
34 | sleep 2 && urxvt -bg '[0]#000000' -name htop -e htop &
35 |
36 | # seems to help if tint2 is started after compton is fully up and running
37 | # previous sleep command should allow for that
38 | tint2 &
39 |
40 | # seems as if split_ratio takes effect for all desktops
41 | # this resets it
42 | # sleep is required to allow desktop 10 windows to spawn
43 | sleep 2 && bspc config -d focused split_ratio 0.50
44 |
--------------------------------------------------------------------------------
/.config/compton.conf:
--------------------------------------------------------------------------------
1 | # Shadow
2 | shadow = true; # Enabled client-side shadows on windows.
3 | no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
4 | no-dnd-shadow = true; # Don't draw shadows on DND windows.
5 | clear-shadow = true; # Zero the part of the shadow's mask behind the
6 | # window. Fix some weirdness with ARGB windows.
7 | shadow-radius = 7; # The blur radius for shadows. (default 12)
8 | shadow-offset-x = -3; # The left offset for shadows. (default -15)
9 | shadow-offset-y = -3; # The top offset for shadows. (default -15)
10 | # shadow-opacity = 0.7; # The translucency for shadows. (default .75)
11 | # shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0)
12 | # shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0)
13 | # shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0)
14 |
15 | # yuri - custom rules, mostly integrating desktop windows
16 | shadow-exclude = [ "class_g = 'Conky'", "class_g ?= 'Notify-osd'", "n:e:slingshot", "n:e:Wingpanel", "n:e:Notification", "name = 'URxvtDesktop'" ]; # Exclude conditions for shadows.
17 | # shadow-exclude = "n:e:Notification";
18 | shadow-ignore-shaped = true; # Avoid drawing shadow on all shaped windows
19 | # (see also: --detect-rounded-corners)
20 | #detect-rounded-corners = true;
21 |
22 | # Opacity
23 | # yuri - custom rules for translucent terminal windows, editors, etc
24 | opacity-rule = [ "85:class_g = 'Gvim'" ];
25 | menu-opacity = 0.8; # The opacity for menus. (default 1.0)
26 | inactive-opacity = 1.0; # Default opacity of inactive windows. (0.0 - 1.0)
27 | # active-opacity = 0.8; # Default opacity for active windows. (0.0 - 1.0)
28 | # frame-opacity = 0.8; # Opacity of window titlebars and borders. (0.1 - 1.0)
29 | # inactive-opacity-override = true; # Let inactive opacity set by 'inactive-opacity' overrides
30 | # value of _NET_WM_OPACITY. Bad choice.
31 | alpha-step = 0.06; # XRender backend: Step size for alpha pictures. Increasing
32 | # it may result in less X resource usage,
33 | # Yet fading may look bad.
34 | # inactive-dim = 0.2; # Dim inactive windows. (0.0 - 1.0)
35 | # inactive-dim-fixed = true; # Do not let dimness adjust based on window opacity.
36 | blur-background = true; # Blur background of transparent windows.
37 | # Bad performance with X Render backend.
38 | # GLX backend is preferred.
39 | # blur-background-frame = true; # Blur background of opaque windows with transparent
40 | # frames as well.
41 | blur-background-fixed = false; # Do not let blur radius adjust based on window opacity.
42 | blur-background-exclude = [ "class_g ?= 'Notify-osd'",
43 | "n:e:Notification",
44 | "window_type = 'dock'",
45 | "window_type = 'desktop'",
46 | "class_g = 'Conky'",
47 | "name = 'URxvtDesktop'" ];
48 | # Exclude conditions for background blur.
49 |
50 | # Fading
51 | fading = true; # Fade windows during opacity changes.
52 | fade-delta = 5; # The time between steps in a fade in milliseconds. (default 10).
53 | fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028).
54 | fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03).
55 | # no-fading-openclose = true; # Avoid fade windows in/out when opening/closing.
56 | # fade-exclude = [ ]; # Exclude conditions for fading.
57 |
58 | # Other
59 | backend = "glx" # Backend to use: "xrender" or "glx". GLX backend is typically
60 | # much faster but depends on a sane driver.
61 | mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
62 | mark-ovredir-focused = true; # Mark all non-WM but override-redirect windows active (e.g. menus).
63 | use-ewmh-active-win = false; # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused
64 | # instead of using FocusIn/Out events. Usually more reliable but
65 | # depends on a EWMH-compliant WM.
66 | detect-rounded-corners = true; # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
67 | detect-client-opacity = true; # Detect _NET_WM_OPACITY on client windows, useful for window
68 | # managers not passing _NET_WM_OPACITY of client windows to frame
69 | # windows.
70 | refresh-rate = 0; # For --sw-opti: Specify refresh rate of the screen. 0 for auto.
71 | vsync = "none"; # "none", "drm", "opengl", "opengl-oml", "opengl-swc", "opengl-mswc"
72 | # See man page for more details.
73 | dbe = false; # Enable DBE painting mode. Rarely needed.
74 | paint-on-overlay = true; # Painting on X Composite overlay window. Recommended.
75 | sw-opti = false; # Limit compton to repaint at most once every 1 / refresh_rate.
76 | # Incompatible with certain VSync methods.
77 | unredir-if-possible = false; # Unredirect all windows if a full-screen opaque window is
78 | # detected, to maximize performance for full-screen windows.
79 | focus-exclude = [ ]; # A list of conditions of windows that should always be considered
80 | # focused.
81 | detect-transient = true; # Use WM_TRANSIENT_FOR to group windows, and consider windows in
82 | # the same group focused at the same time.
83 | detect-client-leader = true; # Use WM_CLIENT_LEADER to group windows.
84 | invert-color-include = [ ]; # Conditions for windows to be painted with inverted color.
85 |
86 | # GLX backend # GLX backend fine-tune options. See man page for more info.
87 | glx-no-stencil = true; # Recommended.
88 | glx-copy-from-front = false; # Useful with --glx-swap-method,
89 | glx-use-copysubbuffermesa = true; # Recommended if it works. Breaks VSync.
90 | glx-no-rebind-pixmap = true; # Recommended if it works.
91 | glx-swap-method = "undefined"; # See man page.
92 |
93 | # Window type settings
94 | wintypes:
95 | {
96 | tooltip = { fade = true; shadow = false; opacity = 0.75; focus = true; };
97 | # fade: Fade the particular type of windows.
98 | # shadow: Give those windows shadow
99 | # opacity: Default opacity for the type of windows.
100 | # focus: Whether to always consider windows of this type focused.
101 | };
102 |
--------------------------------------------------------------------------------
/.config/conky/HUD.conky:
--------------------------------------------------------------------------------
1 | #==============================================================================
2 | # conkyrc_HUD
3 | #
4 | # author : SLK
5 | # version : v2011011601
6 | # license : Distributed under the terms of GNU GPL version 2 or later
7 | #
8 | #==============================================================================
9 |
10 | background no
11 | update_interval 1
12 |
13 | cpu_avg_samples 2
14 | net_avg_samples 2
15 | temperature_unit fahrenheit
16 |
17 | double_buffer yes
18 | no_buffers yes
19 | text_buffer_size 2048
20 |
21 | gap_x 90
22 | gap_y 285
23 | minimum_size 250 130
24 | maximum_width 250
25 | own_window yes
26 | own_window_type normal
27 | own_window_transparent yes
28 | own_window_argb_visual yes
29 | own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
30 | border_inner_margin 0
31 | border_outer_margin 0
32 | alignment tl
33 |
34 | draw_shades no
35 | draw_outline no
36 | draw_borders no
37 | draw_graph_borders no
38 |
39 | override_utf8_locale yes
40 | use_xft yes
41 | xftfont caviar dreams:size=8
42 | xftalpha 0.5
43 | uppercase no
44 |
45 | default_color 000000
46 | color1 444444
47 |
48 | lua_load ~/.config/conky/HUD.lua
49 | lua_draw_hook_post main
50 |
51 | TEXT
52 | #${color1}${font ubuntu:size=10}${time %H:%M:%S}
53 | ${voffset 25}
54 | ${goto 100}${font Ubuntu:size=8,weight:bold}${color}DISKS
55 | ${goto 110}${font Ubuntu:size=7,weight:normal}${color1}size /
56 | ${goto 105}${font Ubuntu:size=9,weight:normal}${color1}${offset 5}${voffset -4}${fs_size /}
57 | ${goto 105}${font Ubuntu:size=7,weight:normal}${color1}size /home
58 | ${goto 105}${font Ubuntu:size=9,weight:normal}${color1}${offset 5}${voffset -4}${fs_size /home}
59 |
60 | ${voffset -70}
61 | ${goto 30}${font Ubuntu:size=8,weight:bold}${color}MEM
62 |
63 | ${voffset -25}
64 | ${goto 180}${font Ubuntu:size=8,weight:bold}${color}CPU
65 |
66 |
--------------------------------------------------------------------------------
/.config/conky/HUD.lua:
--------------------------------------------------------------------------------
1 | --==============================================================================
2 | -- conky_HUD.lua
3 | --
4 | -- author : SLK
5 | -- version : v2011062101
6 | -- license : Distributed under the terms of GNU GPL version 2 or later
7 | --
8 | --==============================================================================
9 |
10 | require 'cairo'
11 |
12 | --------------------------------------------------------------------------------
13 | -- gauge DATA
14 | gauge = {
15 | {
16 | name='cpu', arg='cpu0', max_value=100,
17 | x=180, y=120,
18 | graph_radius=50,
19 | graph_thickness=5,
20 | graph_start_angle=0,
21 | graph_unit_angle=0.9, graph_unit_thickness=0.9,
22 | graph_bg_colour=0x111111, graph_bg_alpha=0.3,
23 | graph_fg_colour=0x111111, graph_fg_alpha=0.0,
24 | hand_fg_colour=0x111111, hand_fg_alpha=1.0,
25 | txt_radius=40,
26 | txt_weight=1, txt_size=10.0,
27 | txt_fg_colour=0x111111, txt_fg_alpha=0.8,
28 | graduation_radius=30,
29 | graduation_thickness=0, graduation_mark_thickness=1,
30 | graduation_unit_angle=27,
31 | graduation_fg_colour=0x111111, graduation_fg_alpha=0.3,
32 | caption='',
33 | caption_weight=1, caption_size=8.0,
34 | caption_fg_colour=0x000000, caption_fg_alpha=0.3,
35 | },
36 | {
37 | name='cpu', arg='cpu1', max_value=100,
38 | x=180, y=120,
39 | graph_radius=60,
40 | graph_thickness=5,
41 | graph_start_angle=0,
42 | graph_unit_angle=0.9, graph_unit_thickness=0.9,
43 | graph_bg_colour=0x111111, graph_bg_alpha=0.3,
44 | graph_fg_colour=0x111111, graph_fg_alpha=0.0,
45 | hand_fg_colour=0x111111, hand_fg_alpha=1.0,
46 | txt_radius=70,
47 | txt_weight=1, txt_size=10.0,
48 | txt_fg_colour=0x111111, txt_fg_alpha=0.8,
49 | graduation_radius=55,
50 | graduation_thickness=5, graduation_mark_thickness=2,
51 | graduation_unit_angle=27,
52 | graduation_fg_colour=0x111111, graduation_fg_alpha=0.3,
53 | caption='',
54 | caption_weight=1, caption_size=8.0,
55 | caption_fg_colour=0x000000, caption_fg_alpha=0.3,
56 | },
57 | {
58 | name='memperc', arg='', max_value=100,
59 | x=40, y=85,
60 | graph_radius=34,
61 | graph_thickness=5,
62 | graph_start_angle=180,
63 | graph_unit_angle=2, graph_unit_thickness=2,
64 | graph_bg_colour=0x111111, graph_bg_alpha=0.3,
65 | graph_fg_colour=0x111111, graph_fg_alpha=0.0,
66 | hand_fg_colour=0x111111, hand_fg_alpha=1.0,
67 | txt_radius=20,
68 | txt_weight=1, txt_size=10.0,
69 | txt_fg_colour=0x111111, txt_fg_alpha=0.8,
70 | graduation_radius=24,
71 | graduation_thickness=6, graduation_mark_thickness=2,
72 | graduation_unit_angle=10,
73 | graduation_fg_colour=0x111111, graduation_fg_alpha=0.3,
74 | caption='',
75 | caption_weight=1, caption_size=10.0,
76 | caption_fg_colour=0x000000, caption_fg_alpha=0.5,
77 | },
78 | {
79 | name='fs_used_perc', arg='/', max_value=100,
80 | x=120, y=70,
81 | graph_radius=40,
82 | graph_thickness=4,
83 | graph_start_angle=210,
84 | graph_unit_angle=2, graph_unit_thickness=2,
85 | graph_bg_colour=0x111111, graph_bg_alpha=0.3,
86 | graph_fg_colour=0x111111, graph_fg_alpha=0.0,
87 | hand_fg_colour=0x111111, hand_fg_alpha=1.0,
88 | txt_radius=32,
89 | txt_weight=1, txt_size=10.0,
90 | txt_fg_colour=0x111111, txt_fg_alpha=0.8,
91 | graduation_radius=46,
92 | graduation_thickness=0, graduation_mark_thickness=2,
93 | graduation_unit_angle=20,
94 | graduation_fg_colour=0x111111, graduation_fg_alpha=0.3,
95 | caption='',
96 | caption_weight=1, caption_size=8.0,
97 | caption_fg_colour=0x000000, caption_fg_alpha=0.5,
98 | },
99 | {
100 | name='fs_used_perc', arg='/home/', max_value=100,
101 | x=120, y=70,
102 | graph_radius=50,
103 | graph_thickness=8,
104 | graph_start_angle=210,
105 | graph_unit_angle=2, graph_unit_thickness=2,
106 | graph_bg_colour=0x111111, graph_bg_alpha=0.3,
107 | graph_fg_colour=0x111111, graph_fg_alpha=0.0,
108 | hand_fg_colour=0x111111, hand_fg_alpha=1.0,
109 | txt_radius=60,
110 | txt_weight=1, txt_size=10.0,
111 | txt_fg_colour=0x111111, txt_fg_alpha=0.8,
112 | graduation_radius=58,
113 | graduation_thickness=4, graduation_mark_thickness=2,
114 | graduation_unit_angle=20,
115 | graduation_fg_colour=0x111111, graduation_fg_alpha=0.3,
116 | caption='',
117 | caption_weight=1, caption_size=8.0,
118 | caption_fg_colour=0x000000, caption_fg_alpha=0.5,
119 | },
120 | }
121 |
122 | -------------------------------------------------------------------------------
123 | -- rgb_to_r_g_b
124 | -- converts color in hexa to decimal
125 | --
126 | function rgb_to_r_g_b(colour, alpha)
127 | return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
128 | end
129 |
130 | -------------------------------------------------------------------------------
131 | -- angle_to_position
132 | -- convert degree to rad and rotate (0 degree is top/north)
133 | --
134 | function angle_to_position(start_angle, current_angle)
135 | local pos = current_angle + start_angle
136 | return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) )
137 | end
138 |
139 | -------------------------------------------------------------------------------
140 | -- draw_gauge_ring
141 | -- displays gauges
142 | --
143 | function draw_gauge_ring(display, data, value)
144 | local max_value = data['max_value']
145 | local x, y = data['x'], data['y']
146 | local graph_radius = data['graph_radius']
147 | local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness']
148 | local graph_start_angle = data['graph_start_angle']
149 | local graph_unit_angle = data['graph_unit_angle']
150 | local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha']
151 | local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
152 | local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha']
153 | local graph_end_angle = (max_value * graph_unit_angle) % 360
154 |
155 | -- background ring
156 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle))
157 | cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha))
158 | cairo_set_line_width(display, graph_thickness)
159 | cairo_stroke(display)
160 |
161 | -- arc of value
162 | local val = value % (max_value + 1)
163 | local start_arc = 0
164 | local stop_arc = 0
165 | local i = 1
166 | while i <= val do
167 | start_arc = (graph_unit_angle * i) - graph_unit_thickness
168 | stop_arc = (graph_unit_angle * i)
169 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
170 | cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha))
171 | cairo_stroke(display)
172 | i = i + 1
173 | end
174 | local angle = start_arc
175 |
176 | -- hand
177 | start_arc = (graph_unit_angle * val) - (graph_unit_thickness * 2)
178 | stop_arc = (graph_unit_angle * val)
179 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
180 | cairo_set_source_rgba(display, rgb_to_r_g_b(hand_fg_colour, hand_fg_alpha))
181 | cairo_stroke(display)
182 |
183 | -- graduations marks
184 | local graduation_radius = data['graduation_radius']
185 | local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness']
186 | local graduation_unit_angle = data['graduation_unit_angle']
187 | local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha']
188 | if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then
189 | local nb_graduation = graph_end_angle / graduation_unit_angle
190 | local i = 0
191 | while i < nb_graduation do
192 | cairo_set_line_width(display, graduation_thickness)
193 | start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2)
194 | stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2)
195 | cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
196 | cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha))
197 | cairo_stroke(display)
198 | cairo_set_line_width(display, graph_thickness)
199 | i = i + 1
200 | end
201 | end
202 |
203 | -- text
204 | local txt_radius = data['txt_radius']
205 | local txt_weight, txt_size = data['txt_weight'], data['txt_size']
206 | local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha']
207 | local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle))
208 | local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle))
209 | cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight)
210 | cairo_set_font_size (display, txt_size)
211 | cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha))
212 | cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3)
213 | cairo_show_text (display, value)
214 | cairo_stroke (display)
215 |
216 | -- caption
217 | local caption = data['caption']
218 | local caption_weight, caption_size = data['caption_weight'], data['caption_size']
219 | local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha']
220 | local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
221 | local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
222 | cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight);
223 | cairo_set_font_size (display, caption_size)
224 | cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha))
225 | cairo_move_to (display, x + tox + 5, y + toy + 1)
226 | -- bad hack but not enough time !
227 | if graph_start_angle < 105 then
228 | cairo_move_to (display, x + tox - 30, y + toy + 1)
229 | end
230 | cairo_show_text (display, caption)
231 | cairo_stroke (display)
232 | end
233 |
234 | -------------------------------------------------------------------------------
235 | -- go_gauge_rings
236 | -- loads data and displays gauges
237 | --
238 | function go_gauge_rings(display)
239 | local function load_gauge_rings(display, data)
240 | local str, value = '', 0
241 | str = string.format('${%s %s}',data['name'], data['arg'])
242 | str = conky_parse(str)
243 | value = tonumber(str)
244 | draw_gauge_ring(display, data, value)
245 | end
246 |
247 | for i in pairs(gauge) do
248 | load_gauge_rings(display, gauge[i])
249 | end
250 | end
251 |
252 | -------------------------------------------------------------------------------
253 | -- MAIN
254 | function conky_main()
255 | if conky_window == nil then
256 | return
257 | end
258 |
259 | local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
260 | local display = cairo_create(cs)
261 |
262 | local updates = conky_parse('${updates}')
263 | update_num = tonumber(updates)
264 |
265 | if update_num > 5 then
266 | go_gauge_rings(display)
267 | end
268 |
269 | cairo_surface_destroy(cs)
270 | cairo_destroy(display)
271 | end
272 |
273 |
--------------------------------------------------------------------------------
/.config/conky/README:
--------------------------------------------------------------------------------
1 | yuri - Jun 2014
2 |
3 | Put all conkyrc files in $HOME/.config/conky
4 |
5 | All files ending in .desktop will be run by /usr/local/bin/conkystart.sh
6 |
7 | $HOME/.config/openbox/autostart calls conkystart.sh
8 |
9 | Suggest symlinks ending in .desktop rather than renaming files
10 |
--------------------------------------------------------------------------------
/.config/conky/archey.conky:
--------------------------------------------------------------------------------
1 | use_xft yes
2 | xftfont Consolas:size=7
3 | xftalpha 1.0
4 | update_interval 1.0
5 | total_run_times 0
6 | own_window yes
7 | own_window_transparent yes
8 | own_window_argb_visual yes
9 | own_window_type normal
10 | # own_window_class conky-clock
11 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
12 | background no
13 | double_buffer yes
14 | draw_outline no
15 | draw_borders no
16 | imlib_cache_size 0
17 | draw_shades no
18 | alignment bottom_right
19 | gap_x 20
20 | gap_y 10
21 | no_buffers yes
22 | uppercase no
23 | override_utf8_locale yes
24 | default_color 839496
25 | temperature_unit fahrenheit
26 | text_buffer_size 2048
27 |
28 | TEXT
29 | ${execi 300 archey | sed 's/\x1b\[[0-9;]*m//g'}
30 |
31 |
--------------------------------------------------------------------------------
/.config/conky/crunchbang.conky:
--------------------------------------------------------------------------------
1 | # conky configuration
2 | #
3 | # The list of variables has been removed from this file in favour
4 | # of keeping the documentation more maintainable.
5 | # Check http://conky.sf.net for an up-to-date-list.
6 | #
7 | # For ideas about how to modify conky, please see:
8 | # http://crunchbanglinux.org/forums/topic/59/my-conky-config/
9 | #
10 | # For help with conky, please see:
11 | # http://crunchbanglinux.org/forums/topic/2047/conky-help/
12 | #
13 | # Enjoy! :)
14 | ##############################################
15 | # Settings
16 | ##############################################
17 | background yes
18 | use_xft yes
19 | xftfont Liberation Sans:size=9
20 | xftalpha 1
21 | update_interval 1.0
22 | total_run_times 0
23 | own_window yes
24 | own_window_transparent yes
25 | own_window_type desktop
26 | #own_window_argb_visual yes
27 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
28 | double_buffer yes
29 | minimum_size 200 200
30 | maximum_width 240
31 | draw_shades no
32 | draw_outline no
33 | draw_borders no
34 | draw_graph_borders no
35 | default_color 656667
36 | default_shade_color 000000
37 | default_outline_color 828282
38 | alignment top_right
39 | gap_x 12
40 | gap_y 56
41 | no_buffers yes
42 | uppercase no
43 | cpu_avg_samples 2
44 | override_utf8_locale no
45 | ##############################################
46 | # Output
47 | ##############################################
48 | TEXT
49 | S Y S T E M I N F O
50 | ${hr}
51 | Host:$alignr$nodename
52 | Uptime:$alignr$uptime
53 | RAM:$alignr$mem/$memmax
54 | Swap usage:$alignr$swap/$swapmax
55 | Disk usage:$alignr${fs_used /}/${fs_size /}
56 | CPU usage:$alignr${cpu cpu0}%
57 |
58 |
59 | S H O R T C U T K E Y S
60 | ${hr}
61 | Alt+F2$alignr Run Dialog
62 | Alt+F3$alignr Alt Menu
63 | Super+Space$alignr Main Menu
64 | Super+Tab$alignr Client Menu
65 | Super+t$alignr Terminal
66 | Super+f$alignr File Manager
67 | Super+e$alignr Editor
68 | Super+m$alignr Media Player
69 | Super+w$alignr Web Browser
70 | Super+h$alignr Task Manager
71 | Super+l$alignr Lock Screen
72 | Super+v$alignr Volume Control
73 | Super+x$alignr Logout
74 | PrtSc$alignr Screenshot
75 |
--------------------------------------------------------------------------------
/.config/conky/grey.conky:
--------------------------------------------------------------------------------
1 | #==============================================================================
2 | # conkyrc_grey
3 | #
4 | # author : SLK
5 | # version : v2011011601
6 | # license : Distributed under the terms of GNU GPL version 2 or later
7 | #
8 | #==============================================================================
9 |
10 | background no
11 | update_interval 1
12 |
13 | cpu_avg_samples 2
14 | net_avg_samples 2
15 | temperature_unit fahrenheit
16 |
17 | double_buffer yes
18 | no_buffers yes
19 | text_buffer_size 2048
20 |
21 | gap_x 10
22 | gap_y 30
23 | minimum_size 190 450
24 | maximum_width 190
25 | own_window yes
26 | own_window_type normal
27 | own_window_transparent yes
28 | own_window_argb_visual yes
29 | own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
30 | border_inner_margin 0
31 | border_outer_margin 0
32 | alignment tr
33 |
34 | draw_shades no
35 | draw_outline no
36 | draw_borders no
37 | draw_graph_borders no
38 |
39 | override_utf8_locale yes
40 | use_xft yes
41 | xftfont caviar dreams:size=8
42 | xftalpha 0.5
43 | uppercase no
44 |
45 | default_color FFFFFF
46 | color1 DDDDDD
47 | color2 AAAAAA
48 | color3 888888
49 | color4 666666
50 |
51 | lua_load ~/.config/conky/grey.lua
52 | lua_draw_hook_post main
53 |
54 | TEXT
55 | ${voffset 35}
56 | ${goto 95}${color4}${font ubuntu:size=22}${time %e}${color1}${offset -50}${font ubuntu:size=10}${time %A}
57 | ${goto 85}${color2}${voffset -2}${font ubuntu:size=9}${time %b}${voffset -2} ${color3}${font ubuntu:size=12}${time %Y}${font}
58 |
59 | ${voffset 80}
60 | ${goto 90}${font Ubuntu:size=7,weight:bold}${color}CPU
61 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${top name 1}${alignr}${top cpu 1}%
62 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color2}${top name 2}${alignr}${top cpu 2}%
63 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color3}${top name 3}${alignr}${top cpu 3}%
64 | ${goto 90}${cpugraph 10,100 666666 666666}
65 | ${goto 90}${voffset -10}${font Ubuntu:size=7,weight:normal}${color}${threads} process
66 |
67 | ${voffset 20}
68 | ${goto 90}${font Ubuntu:size=7,weight:bold}${color}MEM
69 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${top_mem name 1}${alignr}${top_mem mem 1}%
70 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color2}${top_mem name 2}${alignr}${top_mem mem 2}%
71 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color3}${top_mem name 3}${alignr}${top_mem mem 3}%
72 |
73 | ${voffset 15}
74 | ${goto 90}${font Ubuntu:size=7,weight:bold}${color}DISKS
75 |
76 | ${goto 90}${diskiograph 30,100 666666 666666}${voffset -40}
77 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color}used: ${fs_used /home} /home
78 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color}used: ${fs_used /} /
79 |
80 | ${voffset 10}
81 | ${goto 70}${font Ubuntu:size=18,weight:bold}${color3}NET${alignr}${color2}${font Ubuntu:size=7,weight:bold}${color1}${if_up eth0}eth ${addr eth0} ${endif}
82 | ${alignr}${if_up wlan0}wifi ${addr wlan0}${endif}
83 | ${goto 90}${font Ubuntu:size=7,weight:bold}${color}open ports: ${alignr}${color2}${tcp_portmon 1 65535 count}
84 | ${goto 90}${font Ubuntu:size=7,weight:bold}${color}${offset 10}IP${alignr}DPORT
85 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 0}${alignr 1}${tcp_portmon 1 65535 rport 0}
86 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 1}${alignr 1}${tcp_portmon 1 65535 rport 1}
87 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 2}${alignr 1}${tcp_portmon 1 65535 rport 2}
88 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 3}${alignr 1}${tcp_portmon 1 65535 rport 3}
89 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 4}${alignr 1}${tcp_portmon 1 65535 rport 4}
90 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 5}${alignr 1}${tcp_portmon 1 65535 rport 5}
91 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 6}${alignr 1}${tcp_portmon 1 65535 rport 6}
92 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 7}${alignr 1}${tcp_portmon 1 65535 rport 7}
93 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 8}${alignr 1}${tcp_portmon 1 65535 rport 8}
94 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 9}${alignr 1}${tcp_portmon 1 65535 rport 9}
95 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 10}${alignr 1}${tcp_portmon 1 65535 rport 10}
96 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 11}${alignr 1}${tcp_portmon 1 65535 rport 11}
97 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 12}${alignr 1}${tcp_portmon 1 65535 rport 12}
98 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 13}${alignr 1}${tcp_portmon 1 65535 rport 13}
99 | ${goto 90}${font Ubuntu:size=7,weight:normal}${color1}${tcp_portmon 1 65535 rip 14}${alignr 1}${tcp_portmon 1 65535 rport 14}
100 |
101 |
102 |
--------------------------------------------------------------------------------
/.config/conky/grey.lua:
--------------------------------------------------------------------------------
1 | --==============================================================================
2 | -- conky_grey.lua
3 | --
4 | -- author : SLK
5 | -- version : v2011062101
6 | -- license : Distributed under the terms of GNU GPL version 2 or later
7 | --
8 | --==============================================================================
9 |
10 | require 'cairo'
11 |
12 | --------------------------------------------------------------------------------
13 | -- clock DATA
14 | -- HOURS
15 | clock_h = {
16 | {
17 | name='time', arg='%H', max_value=12,
18 | x=110, y=80,
19 | graph_radius=53,
20 | graph_thickness=3,
21 | graph_unit_angle=30, graph_unit_thickness=30,
22 | graph_bg_colour=0xffffff, graph_bg_alpha=0.0,
23 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
24 | txt_radius=34,
25 | txt_weight=1, txt_size=10.0,
26 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.6,
27 | graduation_radius=53,
28 | graduation_thickness=6, graduation_mark_thickness=2,
29 | graduation_unit_angle=30,
30 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
31 | },
32 | }
33 | -- MINUTES
34 | clock_m = {
35 | {
36 | name='time', arg='%M', max_value=60,
37 | x=110, y=80,
38 | graph_radius=57,
39 | graph_thickness=2,
40 | graph_unit_angle=6, graph_unit_thickness=6,
41 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
42 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
43 | txt_radius=70,
44 | txt_weight=0, txt_size=9.0,
45 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.6,
46 | graduation_radius=57,
47 | graduation_thickness=0, graduation_mark_thickness=2,
48 | graduation_unit_angle=30,
49 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
50 | },
51 | }
52 | -- SECONDS
53 | clock_s = {
54 | {
55 | name='time', arg='%S', max_value=60,
56 | x=110, y=80,
57 | graph_radius=50,
58 | graph_thickness=2,
59 | graph_unit_angle=6, graph_unit_thickness=2,
60 | graph_bg_colour=0xffffff, graph_bg_alpha=0.0,
61 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.2,
62 | txt_radius=40,
63 | txt_weight=0, txt_size=12.0,
64 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.3,
65 | graduation_radius=0,
66 | graduation_thickness=0, graduation_mark_thickness=0,
67 | graduation_unit_angle=0,
68 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.0,
69 | },
70 | }
71 |
72 | --------------------------------------------------------------------------------
73 | -- gauge DATA
74 | gauge = {
75 | {
76 | name='cpu', arg='cpu0', max_value=100,
77 | x=85, y=200,
78 | graph_radius=24,
79 | graph_thickness=5,
80 | graph_start_angle=180,
81 | graph_unit_angle=2.7, graph_unit_thickness=2.7,
82 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
83 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.5,
84 | hand_fg_colour=0xEF5A29, hand_fg_alpha=0.0,
85 | txt_radius=34,
86 | txt_weight=0, txt_size=8.0,
87 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.3,
88 | graduation_radius=28,
89 | graduation_thickness=0, graduation_mark_thickness=1,
90 | graduation_unit_angle=27,
91 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
92 | caption='',
93 | caption_weight=1, caption_size=8.0,
94 | caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
95 | },
96 | {
97 | name='cpu', arg='cpu1', max_value=100,
98 | x=85, y=200,
99 | graph_radius=18,
100 | graph_thickness=5,
101 | graph_start_angle=180,
102 | graph_unit_angle=2.7, graph_unit_thickness=2.7,
103 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
104 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.5,
105 | hand_fg_colour=0xEF5A29, hand_fg_alpha=0.0,
106 | txt_radius=10,
107 | txt_weight=0, txt_size=8.0,
108 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.3,
109 | graduation_radius=28,
110 | graduation_thickness=0, graduation_mark_thickness=1,
111 | graduation_unit_angle=27,
112 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
113 | caption='',
114 | caption_weight=1, caption_size=8.0,
115 | caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
116 | },
117 | {
118 | name='memperc', arg='', max_value=100,
119 | x=85, y=300,
120 | graph_radius=24,
121 | graph_thickness=5,
122 | graph_start_angle=180,
123 | graph_unit_angle=2.7, graph_unit_thickness=2.7,
124 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
125 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.5,
126 | hand_fg_colour=0xEF5A29, hand_fg_alpha=0.0,
127 | txt_radius=10,
128 | txt_weight=0, txt_size=8.0,
129 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.3,
130 | graduation_radius=23,
131 | graduation_thickness=8, graduation_mark_thickness=2,
132 | graduation_unit_angle=27,
133 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.5,
134 | caption='',
135 | caption_weight=1, caption_size=8.0,
136 | caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
137 | },
138 | {
139 | name='fs_used_perc', arg='/', max_value=100,
140 | x=85, y=380,
141 | graph_radius=24,
142 | graph_thickness=5,
143 | graph_start_angle=180,
144 | graph_unit_angle=2.7, graph_unit_thickness=2.7,
145 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
146 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.5,
147 | hand_fg_colour=0xEF5A29, hand_fg_alpha=0.0,
148 | txt_radius=34,
149 | txt_weight=0, txt_size=8.0,
150 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.5,
151 | graduation_radius=28,
152 | graduation_thickness=0, graduation_mark_thickness=1,
153 | graduation_unit_angle=27,
154 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
155 | caption='/',
156 | caption_weight=1, caption_size=8.0,
157 | caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.5,
158 | },
159 | {
160 | name='fs_used_perc', arg='/home/', max_value=100,
161 | x=85, y=380,
162 | graph_radius=18,
163 | graph_thickness=5,
164 | graph_start_angle=180,
165 | graph_unit_angle=2.7, graph_unit_thickness=2.7,
166 | graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
167 | graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.5,
168 | hand_fg_colour=0xEF5A29, hand_fg_alpha=0.0,
169 | txt_radius=10,
170 | txt_weight=0, txt_size=8.0,
171 | txt_fg_colour=0xFFFFFF, txt_fg_alpha=0.5,
172 | graduation_radius=28,
173 | graduation_thickness=0, graduation_mark_thickness=1,
174 | graduation_unit_angle=27,
175 | graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
176 | caption='/home',
177 | caption_weight=1, caption_size=8.0,
178 | caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.5,
179 | },
180 | }
181 |
182 | -------------------------------------------------------------------------------
183 | -- rgb_to_r_g_b
184 | -- converts color in hexa to decimal
185 | --
186 | function rgb_to_r_g_b(colour, alpha)
187 | return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
188 | end
189 |
190 | -------------------------------------------------------------------------------
191 | -- angle_to_position
192 | -- convert degree to rad and rotate (0 degree is top/north)
193 | --
194 | function angle_to_position(start_angle, current_angle)
195 | local pos = current_angle + start_angle
196 | return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) )
197 | end
198 |
199 | -------------------------------------------------------------------------------
200 | -- draw_clock_ring
201 | -- displays clock
202 | --
203 | function draw_clock_ring(display, data, value)
204 | local max_value = data['max_value']
205 | local x, y = data['x'], data['y']
206 | local graph_radius = data['graph_radius']
207 | local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness']
208 | local graph_unit_angle = data['graph_unit_angle']
209 | local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha']
210 | local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
211 |
212 | -- background ring
213 | cairo_arc(display, x, y, graph_radius, 0, 2 * math.pi)
214 | cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha))
215 | cairo_set_line_width(display, graph_thickness)
216 | cairo_stroke(display)
217 |
218 | -- arc of value
219 | local val = (value % max_value)
220 | local i = 1
221 | while i <= val do
222 | cairo_arc(display, x, y, graph_radius,( ((graph_unit_angle * i) - graph_unit_thickness)*(2*math.pi/360) )-(math.pi/2),((graph_unit_angle * i) * (2*math.pi/360))-(math.pi/2))
223 | cairo_set_source_rgba(display,rgb_to_r_g_b(graph_fg_colour,graph_fg_alpha))
224 | cairo_stroke(display)
225 | i = i + 1
226 | end
227 | local angle = (graph_unit_angle * i) - graph_unit_thickness
228 |
229 | -- graduations marks
230 | local graduation_radius = data['graduation_radius']
231 | local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness']
232 | local graduation_unit_angle = data['graduation_unit_angle']
233 | local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha']
234 | if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then
235 | local nb_graduation = 360 / graduation_unit_angle
236 | local i = 1
237 | while i <= nb_graduation do
238 | cairo_set_line_width(display, graduation_thickness)
239 | cairo_arc(display, x, y, graduation_radius, (((graduation_unit_angle * i)-(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2),(((graduation_unit_angle * i)+(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2))
240 | cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha))
241 | cairo_stroke(display)
242 | cairo_set_line_width(display, graph_thickness)
243 | i = i + 1
244 | end
245 | end
246 |
247 | -- text
248 | local txt_radius = data['txt_radius']
249 | local txt_weight, txt_size = data['txt_weight'], data['txt_size']
250 | local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha']
251 | local movex = txt_radius * (math.cos((angle * 2 * math.pi / 360)-(math.pi/2)))
252 | local movey = txt_radius * (math.sin((angle * 2 * math.pi / 360)-(math.pi/2)))
253 | cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight);
254 | cairo_set_font_size (display, txt_size);
255 | cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha));
256 | cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3);
257 | cairo_show_text (display, value);
258 | cairo_stroke (display);
259 | end
260 |
261 | -------------------------------------------------------------------------------
262 | -- draw_gauge_ring
263 | -- displays gauges
264 | --
265 | function draw_gauge_ring(display, data, value)
266 | local max_value = data['max_value']
267 | local x, y = data['x'], data['y']
268 | local graph_radius = data['graph_radius']
269 | local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness']
270 | local graph_start_angle = data['graph_start_angle']
271 | local graph_unit_angle = data['graph_unit_angle']
272 | local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha']
273 | local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
274 | local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha']
275 | local graph_end_angle = (max_value * graph_unit_angle) % 360
276 |
277 | -- background ring
278 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle))
279 | cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha))
280 | cairo_set_line_width(display, graph_thickness)
281 | cairo_stroke(display)
282 |
283 | -- arc of value
284 | local val = value % (max_value + 1)
285 | local start_arc = 0
286 | local stop_arc = 0
287 | local i = 1
288 | while i <= val do
289 | start_arc = (graph_unit_angle * i) - graph_unit_thickness
290 | stop_arc = (graph_unit_angle * i)
291 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
292 | cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha))
293 | cairo_stroke(display)
294 | i = i + 1
295 | end
296 | local angle = start_arc
297 |
298 | -- hand
299 | start_arc = (graph_unit_angle * val) - (graph_unit_thickness * 2)
300 | stop_arc = (graph_unit_angle * val)
301 | cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
302 | cairo_set_source_rgba(display, rgb_to_r_g_b(hand_fg_colour, hand_fg_alpha))
303 | cairo_stroke(display)
304 |
305 | -- graduations marks
306 | local graduation_radius = data['graduation_radius']
307 | local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness']
308 | local graduation_unit_angle = data['graduation_unit_angle']
309 | local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha']
310 | if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then
311 | local nb_graduation = graph_end_angle / graduation_unit_angle
312 | local i = 0
313 | while i < nb_graduation do
314 | cairo_set_line_width(display, graduation_thickness)
315 | start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2)
316 | stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2)
317 | cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
318 | cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha))
319 | cairo_stroke(display)
320 | cairo_set_line_width(display, graph_thickness)
321 | i = i + 1
322 | end
323 | end
324 |
325 | -- text
326 | local txt_radius = data['txt_radius']
327 | local txt_weight, txt_size = data['txt_weight'], data['txt_size']
328 | local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha']
329 | local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle))
330 | local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle))
331 | cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight)
332 | cairo_set_font_size (display, txt_size)
333 | cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha))
334 | cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3)
335 | cairo_show_text (display, value)
336 | cairo_stroke (display)
337 |
338 | -- caption
339 | local caption = data['caption']
340 | local caption_weight, caption_size = data['caption_weight'], data['caption_size']
341 | local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha']
342 | local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
343 | local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
344 | cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight);
345 | cairo_set_font_size (display, caption_size)
346 | cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha))
347 | cairo_move_to (display, x + tox + 5, y + toy + 1)
348 | -- bad hack but not enough time !
349 | if graph_start_angle < 105 then
350 | cairo_move_to (display, x + tox - 30, y + toy + 1)
351 | end
352 | cairo_show_text (display, caption)
353 | cairo_stroke (display)
354 | end
355 |
356 | -------------------------------------------------------------------------------
357 | -- go_clock_rings
358 | -- loads data and displays clock
359 | --
360 | function go_clock_rings(display)
361 | local function load_clock_rings(display, data)
362 | local str, value = '', 0
363 | str = string.format('${%s %s}',data['name'], data['arg'])
364 | str = conky_parse(str)
365 | value = tonumber(str)
366 | draw_clock_ring(display, data, value)
367 | end
368 |
369 | for i in pairs(clock_h) do
370 | load_clock_rings(display, clock_h[i])
371 | end
372 | for i in pairs(clock_m) do
373 | load_clock_rings(display, clock_m[i])
374 | end
375 | for i in pairs(clock_s) do
376 | load_clock_rings(display, clock_s[i])
377 | end
378 | end
379 |
380 | -------------------------------------------------------------------------------
381 | -- go_gauge_rings
382 | -- loads data and displays gauges
383 | --
384 | function go_gauge_rings(display)
385 | local function load_gauge_rings(display, data)
386 | local str, value = '', 0
387 | str = string.format('${%s %s}',data['name'], data['arg'])
388 | str = conky_parse(str)
389 | value = tonumber(str)
390 | draw_gauge_ring(display, data, value)
391 | end
392 |
393 | for i in pairs(gauge) do
394 | load_gauge_rings(display, gauge[i])
395 | end
396 | end
397 |
398 | -------------------------------------------------------------------------------
399 | -- MAIN
400 | function conky_main()
401 | if conky_window == nil then
402 | return
403 | end
404 |
405 | local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
406 | local display = cairo_create(cs)
407 |
408 | local updates = conky_parse('${updates}')
409 | update_num = tonumber(updates)
410 |
411 | if update_num > 5 then
412 | go_clock_rings(display)
413 | go_gauge_rings(display)
414 | end
415 |
416 | cairo_surface_destroy(cs)
417 | cairo_destroy(display)
418 | end
419 |
420 |
--------------------------------------------------------------------------------
/.config/conky/laptop.conky:
--------------------------------------------------------------------------------
1 | use_xft yes
2 | xftfont Roboto:bold:size=8
3 | xftalpha 1.0
4 | update_interval 1.0
5 | total_run_times 0
6 | own_window yes
7 | own_window_transparent yes
8 | own_window_argb_visual yes
9 | own_window_type normal
10 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
11 | background no
12 | double_buffer yes
13 | draw_outline no
14 | draw_borders no
15 | imlib_cache_size 0
16 | draw_shades no
17 | alignment top_right
18 | gap_x 20
19 | gap_y 20
20 | no_buffers yes
21 | uppercase no
22 | override_utf8_locale yes
23 | default_color 839496
24 | temperature_unit fahrenheit
25 |
26 | TEXT
27 | ${font Rock Salt:size=14}${alignc}Vorlauf${font}
28 |
29 | Central: ${alignr}${tztime America/Chicago %H:%M:%S}
30 | Zulu: ${alignr}${tztime Etc/Zulu %H:%M:%S}
31 |
32 | HDD $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%
33 | ${fs_bar /}
34 |
35 | MEM $alignc $mem / $memmax $alignr $memperc%
36 | $membar
37 |
38 | CPU Avg $alignr ${cpu cpu0}%
39 | ${cpubar cpu0}
40 | ${font Roboto:bold:size=8}Core 1$alignr ${cpu cpu1}%
41 | ${cpubar 3,230 cpu1}
42 | Core 2$alignr ${cpu cpu2}%
43 | ${cpubar 3,230 cpu2}
44 | Core 3$alignr ${cpu cpu3}%
45 | ${cpubar 3,230 cpu3}
46 | Core 4$alignr ${cpu cpu4}%
47 | ${cpubar 3,230 cpu4}${font}
48 |
49 | CPU Temp $alignr ${hwmon 1 temp 2}°F
50 | ${execbar sensors | grep 'CPUTIN' | cut -f2 -d '+' | cut -f1 -d'.'}
51 |
52 | NVidia GPU Temp $alignr ${hwmon 0 temp 1}°F
53 | ${execbar sensors | grep 'temp1' | cut -f2 -d '+' | cut -f1 -d'.'}
54 |
55 | Wifi Signal $alignr ${wireless_link_qual_perc wlp2s0}%
56 | ${wireless_link_bar wlp2s0}
57 |
58 | Battery: $alignr ${execi 60 acpi | awk '{ sub (/\%,/, "%"); print $3 " " $4 }'}
59 |
60 | ${execpi 120 [ -e /var/local/updates-available-sh.info ] && cat /var/local/updates-available-sh.info || echo "Update info not available"}
61 |
62 |
--------------------------------------------------------------------------------
/.config/conky/laptop.conky.desktop:
--------------------------------------------------------------------------------
1 | laptop.conky
--------------------------------------------------------------------------------
/.config/conky/solarized.conky:
--------------------------------------------------------------------------------
1 | # Conky settings #
2 | background no
3 | update_interval 1
4 |
5 | cpu_avg_samples 2
6 | net_avg_samples 2
7 |
8 | override_utf8_locale yes
9 |
10 | double_buffer yes
11 | no_buffers yes
12 |
13 | text_buffer_size 2048
14 | #imlib_cache_size 0
15 |
16 | temperature_unit fahrenheit
17 |
18 | # Window specifications #
19 |
20 | own_window yes
21 | own_window_type normal
22 | own_window_transparent yes
23 | own_window_argb_visual yes
24 | own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
25 |
26 | border_inner_margin 0
27 | border_outer_margin 0
28 |
29 | minimum_size 200 250
30 | maximum_width 200
31 |
32 | alignment tr
33 | gap_x 35
34 | gap_y 55
35 |
36 | # Graphics settings #
37 | draw_shades no
38 | draw_outline no
39 | draw_borders no
40 | draw_graph_borders no
41 |
42 | # Text settings #
43 | use_xft yes
44 | xftfont Roboto:size=8
45 | xftalpha 0.5
46 |
47 | uppercase no
48 |
49 | temperature_unit fahrenheit
50 |
51 |
52 | default_color 839496
53 |
54 | # Lua Load #
55 | lua_load ~/.config/conky/solarized.lua
56 | lua_draw_hook_pre clock_rings
57 |
58 | TEXT
59 | ${voffset 8}${color 839496}${font Roboto:size=16}${time %A}${font}${voffset -8}${alignr 50}${color 839496}${font Roboto:size=38}${time %e}${font}
60 | ${color 839496}${voffset -30}${color 839496}${font Roboto:size=18}${time %b}${font}${voffset -3} ${color 839496}${font Roboto:size=20}${time %Y}${font}${color 839496}${hr}
61 | ${voffset 140}${font Roboto:size=10}${alignr}HDAM${font}
62 | ${font Roboto:size=10}${color 839496}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ HDAM temperature temperature 30} °F${font}
63 | ${image ~/.config/conky/solarized.png -p 20,160 -s 160x26}
64 |
65 | ${color 839496}${goto 25}${voffset 35}${cpu cpu0}%
66 | ${color 839496}${goto 25}CPU
67 | ${color 839496}${goto 50}${voffset 23}${memperc}%
68 | ${color 839496}${goto 50}RAM
69 | ${color 839496}${goto 75}${voffset 23}${swapperc}%
70 | ${color 839496}${goto 75}Swap
71 | ${color 839496}${goto 100}${voffset 23}${fs_used_perc /}%
72 | ${color 839496}${goto 100}Disk
73 | ${color 839496}${goto 125}${voffset 25}${downspeed wlan0}
74 | ${color 839496}${goto 125}${upspeed wlan0}
75 | ${color 839496}${goto 125}Wifi
76 |
77 |
78 |
79 |
80 | ${color 839496}${font Roboto:bold:size=9}Uptime: ${uptime_short}
81 | ${color 839496}${font Roboto:bold:size=9}Processes: ${processes}
82 | ${color 839496}${font Roboto:bold:size=9}Running: ${running_processes}
83 |
84 | ${color 839496}${font Roboto:bold:size=9}${alignr}${nodename}
85 | ${color 839496}${font Roboto:bold:size=9}${alignr}${pre_exec cat /etc/issue.net} $machine
86 | ${color 839496}${font Roboto:bold:size=9}${alignr}Kernel: ${kernel}
87 |
--------------------------------------------------------------------------------
/.config/conky/solarized.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | Clock Rings by Linux Mint (2011) reEdited by despot77
3 |
4 | This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua script.
5 |
6 | IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
7 |
8 | To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
9 | lua_load ~/scripts/clock_rings.lua
10 | lua_draw_hook_pre clock_rings
11 |
12 | Changelog:
13 | + v1.0 -- Original release (30.09.2009)
14 | v1.1p -- Jpope edit londonali1010 (05.10.2009)
15 | *v 2011mint -- reEdit despot77 (18.02.2011)
16 | ]]
17 |
18 | settings_table = {
19 | {
20 | -- Edit this table to customise your rings.
21 | -- You can create more rings simply by adding more elements to settings_table.
22 | -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
23 | name='time',
24 | -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
25 | arg='%I.%M',
26 | -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
27 | max=12,
28 | -- "bg_colour" is the colour of the base ring.
29 | bg_colour=0xffffff,
30 | -- "bg_alpha" is the alpha value of the base ring.
31 | bg_alpha=0.1,
32 | -- "fg_colour" is the colour of the indicator part of the ring.
33 | fg_colour=0x094959,
34 | -- "fg_alpha" is the alpha value of the indicator part of the ring.
35 | fg_alpha=0.3,
36 | -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
37 | x=100, y=150,
38 | -- "radius" is the radius of the ring.
39 | radius=50,
40 | -- "thickness" is the thickness of the ring, centred around the radius.
41 | thickness=5,
42 | -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
43 | start_angle=0,
44 | -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
45 | end_angle=360
46 | },
47 | {
48 | name='time',
49 | arg='%M.%S',
50 | max=60,
51 | bg_colour=0xffffff,
52 | bg_alpha=0.1,
53 | fg_colour=0x094959,
54 | fg_alpha=0.4,
55 | x=100, y=150,
56 | radius=56,
57 | thickness=5,
58 | start_angle=0,
59 | end_angle=360
60 | },
61 | {
62 | name='time',
63 | arg='%S',
64 | max=60,
65 | bg_colour=0xffffff,
66 | bg_alpha=0.1,
67 | fg_colour=0x094959,
68 | fg_alpha=0.6,
69 | x=100, y=150,
70 | radius=62,
71 | thickness=5,
72 | start_angle=0,
73 | end_angle=360
74 | },
75 | {
76 | name='time',
77 | arg='%d',
78 | max=31,
79 | bg_colour=0xffffff,
80 | bg_alpha=0.1,
81 | fg_colour=0x094959,
82 | fg_alpha=0.8,
83 | x=100, y=150,
84 | radius=70,
85 | thickness=5,
86 | start_angle=-90,
87 | end_angle=90
88 | },
89 | {
90 | name='time',
91 | arg='%m',
92 | max=12,
93 | bg_colour=0xffffff,
94 | bg_alpha=0.1,
95 | fg_colour=0x094959,
96 | fg_alpha=1,
97 | x=100, y=150,
98 | radius=76,
99 | thickness=5,
100 | start_angle=-90,
101 | end_angle=90
102 | },
103 | {
104 | name='cpu',
105 | arg='cpu0',
106 | max=100,
107 | bg_colour=0xffffff,
108 | bg_alpha=0.2,
109 | fg_colour=0x094959,
110 | fg_alpha=0.8,
111 | x=50, y=300,
112 | radius=25,
113 | thickness=5,
114 | start_angle=-90,
115 | end_angle=180
116 | },
117 | {
118 | name='memperc',
119 | arg='',
120 | max=100,
121 | bg_colour=0xffffff,
122 | bg_alpha=0.2,
123 | fg_colour=0x094959,
124 | fg_alpha=0.8,
125 | x=75, y=350,
126 | radius=25,
127 | thickness=5,
128 | start_angle=-90,
129 | end_angle=180
130 | },
131 | {
132 | name='swapperc',
133 | arg='',
134 | max=100,
135 | bg_colour=0xffffff,
136 | bg_alpha=0.2,
137 | fg_colour=0x094959,
138 | fg_alpha=0.8,
139 | x=100, y=400,
140 | radius=25,
141 | thickness=5,
142 | start_angle=-90,
143 | end_angle=180
144 | },
145 | {
146 | name='fs_used_perc',
147 | arg='/',
148 | max=100,
149 | bg_colour=0xffffff,
150 | bg_alpha=0.2,
151 | fg_colour=0x094959,
152 | fg_alpha=0.8,
153 | x=125, y=450,
154 | radius=25,
155 | thickness=5,
156 | start_angle=-90,
157 | end_angle=180
158 | },
159 | {
160 | name='downspeedf',
161 | arg='wlan0',
162 | max=100,
163 | bg_colour=0xffffff,
164 | bg_alpha=0.2,
165 | fg_colour=0x094959,
166 | fg_alpha=0.8,
167 | x=150, y=500,
168 | radius=25,
169 | thickness=4,
170 | start_angle=-90,
171 | end_angle=180
172 | },
173 | {
174 | name='upspeedf',
175 | arg='wlan0',
176 | max=100,
177 | bg_colour=0xffffff,
178 | bg_alpha=0.2,
179 | fg_colour=0x094959,
180 | fg_alpha=0.8,
181 | x=150, y=500,
182 | radius=20,
183 | thickness=4,
184 | start_angle=-90,
185 | end_angle=180
186 | },
187 | }
188 |
189 | -- Use these settings to define the origin and extent of your clock.
190 |
191 | clock_r=65
192 |
193 | -- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
194 |
195 | clock_x=100
196 | clock_y=150
197 |
198 | show_seconds=true
199 |
200 | require 'cairo'
201 |
202 | function rgb_to_r_g_b(colour,alpha)
203 | return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
204 | end
205 |
206 | function draw_ring(cr,t,pt)
207 | local w,h=conky_window.width,conky_window.height
208 |
209 | local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
210 | local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
211 |
212 | local angle_0=sa*(2*math.pi/360)-math.pi/2
213 | local angle_f=ea*(2*math.pi/360)-math.pi/2
214 | local t_arc=t*(angle_f-angle_0)
215 |
216 | -- Draw background ring
217 |
218 | cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
219 | cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
220 | cairo_set_line_width(cr,ring_w)
221 | cairo_stroke(cr)
222 |
223 | -- Draw indicator ring
224 |
225 | cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
226 | cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
227 | cairo_stroke(cr)
228 | end
229 |
230 | function draw_clock_hands(cr,xc,yc)
231 | local secs,mins,hours,secs_arc,mins_arc,hours_arc
232 | local xh,yh,xm,ym,xs,ys
233 |
234 | secs=os.date("%S")
235 | mins=os.date("%M")
236 | hours=os.date("%I")
237 |
238 | secs_arc=(2*math.pi/60)*secs
239 | mins_arc=(2*math.pi/60)*mins+secs_arc/60
240 | hours_arc=(2*math.pi/12)*hours+mins_arc/12
241 |
242 | -- Draw hour hand
243 |
244 | xh=xc+0.7*clock_r*math.sin(hours_arc)
245 | yh=yc-0.7*clock_r*math.cos(hours_arc)
246 | cairo_move_to(cr,xc,yc)
247 | cairo_line_to(cr,xh,yh)
248 |
249 | cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
250 | cairo_set_line_width(cr,5)
251 | cairo_set_source_rgba(cr,0.8,0.8,0.8,0.8)
252 | cairo_stroke(cr)
253 |
254 | -- Draw minute hand
255 |
256 | xm=xc+clock_r*math.sin(mins_arc)
257 | ym=yc-clock_r*math.cos(mins_arc)
258 | cairo_move_to(cr,xc,yc)
259 | cairo_line_to(cr,xm,ym)
260 |
261 | cairo_set_line_width(cr,3)
262 | cairo_stroke(cr)
263 |
264 | -- Draw seconds hand
265 |
266 | if show_seconds then
267 | xs=xc+clock_r*math.sin(secs_arc)
268 | ys=yc-clock_r*math.cos(secs_arc)
269 | cairo_move_to(cr,xc,yc)
270 | cairo_line_to(cr,xs,ys)
271 |
272 | cairo_set_line_width(cr,1)
273 | cairo_stroke(cr)
274 | end
275 | end
276 |
277 | function conky_clock_rings()
278 | local function setup_rings(cr,pt)
279 | local str=''
280 | local value=0
281 |
282 | str=string.format('${%s %s}',pt['name'],pt['arg'])
283 | str=conky_parse(str)
284 |
285 | value=tonumber(str)
286 | pct=value/pt['max']
287 |
288 | draw_ring(cr,pct,pt)
289 | end
290 |
291 | -- Check that Conky has been running for at least 5s
292 |
293 | if conky_window==nil then return end
294 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
295 |
296 | local cr=cairo_create(cs)
297 |
298 | local updates=conky_parse('${updates}')
299 | update_num=tonumber(updates)
300 |
301 | if update_num>5 then
302 | for i in pairs(settings_table) do
303 | setup_rings(cr,settings_table[i])
304 | end
305 | end
306 |
307 | draw_clock_hands(cr,clock_x,clock_y)
308 | end
309 |
--------------------------------------------------------------------------------
/.config/conky/solarized.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yuri-rage/yuri_config/370f5debdcd39939e10de677ec0eab4c962d9c64/.config/conky/solarized.png
--------------------------------------------------------------------------------
/.config/conky/stickyclock.conky:
--------------------------------------------------------------------------------
1 | use_xft yes
2 | xftfont Roboto:bold:size=8
3 | xftalpha 1.0
4 | update_interval 1.0
5 | total_run_times 0
6 | own_window yes
7 | own_window_transparent yes
8 | own_window_argb_visual yes
9 | own_window_type normal
10 | # own_window_class conky-clock
11 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
12 | # own_window_hints undecorated,above,sticky,skip_taskbar,skip_pager
13 | background no
14 | double_buffer yes
15 | draw_outline no
16 | draw_borders no
17 | imlib_cache_size 0
18 | draw_shades no
19 | alignment top_right
20 | gap_x 100
21 | gap_y 0
22 | no_buffers yes
23 | uppercase no
24 | override_utf8_locale no
25 | color1 839496
26 |
27 | TEXT
28 | ${alignr}${color1}${time %a, %e %B %G %T}
29 |
--------------------------------------------------------------------------------
/.config/conky/stickynote.conky:
--------------------------------------------------------------------------------
1 | use_xft yes
2 | xftfont Roboto::size=8
3 | xftalpha 1.0
4 | update_interval 1.0
5 | total_run_times 0
6 | own_window yes
7 | own_window_transparent yes
8 | own_window_argb_visual yes
9 | own_window_type normal
10 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
11 | # own_window_hints undecorated,above,sticky,skip_taskbar,skip_pager
12 | background no
13 | double_buffer yes
14 | draw_outline no
15 | draw_borders no
16 | imlib_cache_size 0
17 | draw_shades no
18 | alignment bottom_left
19 | gap_x 1037
20 | gap_y 20
21 | no_buffers yes
22 | uppercase no
23 | override_utf8_locale no
24 | default_color 839496
25 |
26 | TEXT
27 |
28 |
--------------------------------------------------------------------------------
/.config/conky/stickynote.conky.desktop:
--------------------------------------------------------------------------------
1 | stickynote.conky
--------------------------------------------------------------------------------
/.config/openbox/autostart:
--------------------------------------------------------------------------------
1 | #/bin/bash
2 |
3 | # yuri - custom startup for openbox without a desktop environment
4 | # - I made it executable so I can rerun it
5 | # - #!/bin/bash is not the default first line
6 |
7 | # no longer necessary to run xrandr - lightdm uses mirror_displays.sh at display startup
8 | # xrandr --output LVDS1 --mode 1366x768 --output HDMI1 --mode 1360x768 --same-as LVDS1
9 |
10 | # set wallpaper
11 | hsetroot -fill ~/images/wallpaper.png
12 |
13 | # start compositor
14 | compton --config "$HOME/.config/compton.conf" -b
15 |
16 | # recent system update starts nm-applet automatically (daemon support?)
17 | # nm-applet &
18 |
19 | # perhaps not the best place to start an automount daemon
20 | # but I'm not sure there's a better option for the moment
21 | # OBE - udevil + spacefm installed instead, Nov 2015
22 | # udiskie --tray &
23 |
24 | volumeicon &
25 |
26 | # desktop terminal
27 | urxvt -name URxvtDesktop &
28 |
29 | # start task manager
30 | tint2 &
31 |
32 | # start conky system monitor(s)
33 | # conky -c ~/.config/conky/conkyrc_lua_solarized &
34 | # conky -c "$HOME/.config/conky/stickyclock.conky" &
35 | /usr/local/bin/conkystart.sh
36 |
37 | # start openbox with numlock on
38 | numlockx on &
39 |
--------------------------------------------------------------------------------
/.config/openbox/menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
22 |
57 |
77 |
154 |
202 |
203 |
--------------------------------------------------------------------------------
/.config/openbox/rc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10
6 | 20
7 |
8 |
9 | yes
10 |
11 | no
12 |
13 | yes
14 |
16 | no
17 |
18 | 200
19 |
21 | no
22 |
24 |
25 |
26 | Smart
27 |
28 | Primary
29 |
32 | 1
33 |
38 |
39 |
40 | Onyx-black
41 | NLIMC
42 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | no
53 | yes
54 |
55 | Roboto
56 | 7
57 |
58 | Normal
59 |
60 | Normal
61 |
62 |
63 |
64 | Roboto
65 | 7
66 |
67 | Normal
68 |
69 | Normal
70 |
71 |
72 |
73 | Roboto
74 | 8
75 |
76 | Normal
77 |
78 | Normal
79 |
80 |
81 |
82 | Roboto
83 | 8
84 |
85 | Normal
86 |
87 | Normal
88 |
89 |
90 |
91 | Roboto
92 | 8
93 |
94 | Normal
95 |
96 | Normal
97 |
98 |
99 |
100 | Roboto
101 | 8
102 |
103 | Normal
104 |
105 | Normal
106 |
107 |
108 |
109 |
110 |
118 | 4
119 | 1
120 |
121 | 01
122 | 02
123 | 03
124 | 04
125 |
126 | 875
127 |
129 |
130 |
131 | yes
132 | Nonpixel
133 |
134 | Center
135 |
136 |
137 |
138 | 10
139 |
141 | 10
142 |
144 |
145 |
146 |
150 |
151 | 0
152 |
153 | 2
154 | 0
155 | 0
156 |
157 |
158 | TopLeft
159 |
160 | 0
161 | 0
162 | yes
163 | Above
164 |
165 | Vertical
166 |
167 | no
168 | 300
169 |
170 | 300
171 |
172 | Middle
173 |
174 |
175 |
176 | C-g
177 |
178 |
179 |
180 | left
181 | no
182 |
183 |
184 |
185 |
186 | right
187 | no
188 |
189 |
190 |
191 |
192 | up
193 | no
194 |
195 |
196 |
197 |
198 | down
199 | no
200 |
201 |
202 |
203 |
204 | left
205 | no
206 |
207 |
208 |
209 |
210 | right
211 | no
212 |
213 |
214 |
215 |
216 | up
217 | no
218 |
219 |
220 |
221 |
222 | down
223 | no
224 |
225 |
226 |
227 |
228 | 1
229 |
230 |
231 |
232 |
233 | 2
234 |
235 |
236 |
237 |
238 | 3
239 |
240 |
241 |
242 |
243 | 4
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 | yes
285 | yes
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 | right
297 |
298 |
299 |
300 |
301 | left
302 |
303 |
304 |
305 |
306 | up
307 |
308 |
309 |
310 |
311 | down
312 |
313 |
314 |
315 |
316 |
317 |
318 | true
319 | Konqueror
320 |
321 | kfmclient openProfile filemanagement
322 |
323 |
324 |
325 |
326 |
327 |
328 | /usr/local/bin/urxvt-quake.sh
329 |
330 |
331 |
332 |
333 | /usr/local/bin/urxvt-quake.sh
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 | 0
345 | 50%
346 | 50%
347 | 50%
348 |
349 |
350 |
351 |
352 |
353 | 0
354 | 50%
355 | 100%
356 | 50%
357 |
358 |
359 |
360 |
361 |
362 | 50%
363 | 50%
364 | 50%
365 | 50%
366 |
367 |
368 |
369 |
370 |
371 | 0
372 | 0
373 | 50%
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 | 50%
384 | 0
385 | 50%
386 |
387 |
388 |
389 |
390 |
391 |
392 | 0
393 | 0
394 | 50%
395 | 50%
396 |
397 |
398 |
399 |
400 |
401 | 0
402 | 0
403 | 100%
404 | 50%
405 |
406 |
407 |
408 |
409 |
410 | 50%
411 | 0
412 | 50%
413 | 50%
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 | /usr/local/bin/volume_change.sh up
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 | /usr/local/bin/volume_change.sh down
441 |
442 |
443 |
444 |
445 | /usr/local/bin/volume_change.sh toggle
446 |
447 |
448 |
449 |
450 | 1
451 |
452 | 500
453 |
454 | 400
455 |
458 | false
459 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 | previous
488 |
489 |
490 |
491 |
492 | next
493 |
494 |
495 |
496 |
497 | previous
498 |
499 |
500 |
501 |
502 | next
503 |
504 |
505 |
506 |
507 | previous
508 |
509 |
510 |
511 |
512 | next
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 | no
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 | yes
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 | top
567 |
568 |
569 |
570 |
571 |
572 |
573 | left
574 |
575 |
576 |
577 |
578 |
579 |
580 | right
581 |
582 |
583 |
584 |
585 |
586 |
587 | bottom
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 | URxvtDesktop
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 | vertical
700 |
701 |
702 |
703 |
704 | horizontal
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
729 |
730 |
731 | previous
732 |
733 |
734 |
735 |
736 | next
737 |
738 |
739 |
740 |
741 | previous
742 |
743 |
744 |
745 |
746 | next
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 | previous
775 |
776 |
777 |
778 |
779 | next
780 |
781 |
782 |
783 |
784 | previous
785 |
786 |
787 |
788 |
789 | next
790 |
791 |
792 |
793 |
794 |
818 |
819 |
913 |
914 |
915 | no
916 | yes
917 | yes
918 | below
919 | no
920 | all
921 |
922 |
923 |
924 | no
925 |
926 | center
927 | 0
928 |
929 | no
930 | yes
931 | yes
932 | above
933 | yes
934 | all
935 |
936 |
940 |
941 | no
942 |
943 |
944 |
945 |
--------------------------------------------------------------------------------
/.config/sxhkd/sxhkdrc:
--------------------------------------------------------------------------------
1 | #
2 | # bspwm hotkeys
3 | #
4 |
5 | # graceful exit (calls modified crunchbang exit script)
6 | # if systemd is in use, need to modify /etc/systemd/logind.conf to ignore power button events
7 | {XF86PowerOff}
8 | /usr/local/bin/bspwm-exit
9 |
10 | # exit bspwm
11 | super + alt + Escape
12 | bspc quit
13 |
14 | # close/kill window
15 | super + w
16 | bspc window -c
17 |
18 | # next desktop
19 | super + t
20 | bspc desktop -l next
21 |
22 | # balance tree
23 | super + b
24 | bspc desktop -B
25 |
26 | # toggle floating/fullscreen
27 | super + {s,f}
28 | bspc window -t {floating,fullscreen}
29 |
30 | # set focus on previous window/desktop
31 | super + {grave,Tab}
32 | bspc {window,desktop} -f last
33 |
34 | # swap position of current window with the last one
35 | super + apostrophe
36 | bspc window -s last
37 |
38 | # set focus to windows in "historical" order
39 | super + {o,i}
40 | bspc control --record-history off; \
41 | bspc window {older,newer} -f; \
42 | bspc control --record-history on
43 |
44 | # swap position of current window with the last one (in manual mode)
45 | # seems useless
46 | super + y
47 | bspc window -w last.manual
48 |
49 | # swap this window with the largest one in the layout
50 | super + m
51 | bspc window -s biggest
52 |
53 | # switch/move window (vim keybinding)
54 | super + {_,shift + }{h,j,k,l}
55 | bspc window -{f,s} {left,down,up,right}
56 |
57 | # switch windows sequentially (like an app/task switcher)
58 | super + {_,shift + }c
59 | bspc window -f {next,prev}
60 |
61 | # circulate binary tree leaves back/forward ("rotate" window layout)
62 | super + {comma,period}
63 | bspc desktop -C {backward,forward}
64 |
65 | # rotate binary tree clockwise/counter-clockwise
66 | super + ctrl + {comma,period}
67 | bspc desktop -R {-90,90}
68 |
69 | # flip (mirror) binary tree horizontally/vertically
70 | super + alt + {comma,period}
71 | bspc desktop -F {vertical,horizontal}
72 |
73 | # switch desktops sequentially
74 | super + bracket{left,right}
75 | bspc desktop -f {prev,next}
76 |
77 | # pre-select next window split location
78 | super + ctrl + {h,j,k,l}
79 | bspc window -p {left,down,up,right}
80 |
81 | # cancel pre-selection of window/desktop
82 | super + ctrl + {_,shift + }space
83 | bspc {window -p cancel,desktop -c}
84 |
85 | # resize window outwards(?)
86 | super + alt + {h,j,k,l}
87 | bspc window -e {left -10,down +10,up -10,right +10}
88 |
89 | # resize window inwards(?)
90 | super + alt + shift + {h,j,k,l}
91 | bspc window -e {right -10,up +10,down -10,left +10}
92 |
93 | # set focus to desktop / send window to desktop
94 | super + {_,shift + }{1-9,0}
95 | bspc {desktop -f,window -d} ^{1-9,10}
96 |
97 | # man page says "set the splitting ratio of the selected window" (appears useless)
98 | # super + ctrl + {1-9}
99 | # bspc window -r 0.{1-9}
100 |
101 | # adjust desktop split ratio - replaced window ratio command above
102 | super + ctrl + {1-9}
103 | bspc config -d focused split_ratio {0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90};\
104 | bspc desktop --equalize
105 |
106 | # dynamic window gaps (mostly just showing off...)
107 | super + {minus,equal}
108 | bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
109 |
110 | # click to focus
111 | ~button1
112 | bspc pointer -g focus
113 |
114 | # move/resize window
115 | super + button{1-3}
116 | bspc pointer -g {move,resize_side,resize_corner}
117 |
118 | # send the coordinates of the pointer to the current action (don't change this)
119 | super + !button{1-3}
120 | bspc pointer -t %i %i
121 |
122 | # terminate the current pointer action (don't change this)
123 | super + @button{1-3}
124 | bspc pointer -u
125 |
126 | #
127 | # wm independent hotkeys
128 | #
129 |
130 | # open a terminal
131 | super + Return
132 | urxvt
133 |
134 | # open a "scratchpad" terminal (quake-style, in this case, on a 1366x768 display)
135 | F12
136 | xdotool search --onlyvisible --classname URxvtQuake windowunmap \
137 | || xdotool search --classname URxvtQuake windowmap \
138 | || urxvt -name URxvtQuake -geometry 110x20+297+1
139 |
140 | # open dmenu
141 | super + space
142 | dmenu_run
143 |
144 | # make sxhkd reload its configuration files:
145 | super + Escape
146 | pkill -USR1 -x sxhkd
147 |
148 | # volume key bindings
149 | {XF86AudioLowerVolume}
150 | amixer -q set Master 5-
151 |
152 | {XF86AudioRaiseVolume}
153 | amixer -q set Master 5+
154 |
155 | {XF86AudioMute}
156 | $(amixer get Master | grep off > /dev/null && amixer -q set Master unmute) || amixer -q set Master mute
157 |
158 | # some simple notifications in lieu of a systray
159 | # might be better to dedicate a desktop to system performance
160 |
161 | # show acpi output (battery status)
162 | super + a
163 | notify-send -t 5000 "`acpi`"
164 |
165 | # show current date/time
166 | super + d
167 | notify-send -t 5000 "`date +'%H:%M %a, %d %b %Y'`"
168 |
169 | # show output of periodically run update-checking script
170 | super + u
171 | notify-send -t 5000 "`cat /var/local/updates-available-sh.info`"
172 |
--------------------------------------------------------------------------------
/.config/tint2/tint2rc:
--------------------------------------------------------------------------------
1 | # Tint2 config file
2 | # Generated by tintwizard (http://code.google.com/p/tintwizard/)
3 | # For information on manually configuring tint2 see http://code.google.com/p/tint2/wiki/Configure
4 |
5 | # Background definitions
6 | # ID 1 - transparent - panel and inactive tasks
7 | rounded = 7
8 | border_width 0
9 | background_color = #000000 0
10 | border_color = #FFFFFF 16
11 |
12 | # ID 2 - task active
13 | rounded = 5
14 | border_width = 0
15 | background_color = #FFFFFF 10
16 | border_color = #FFFFFF 48
17 |
18 | # ID 3 - desktop inactive
19 | rounded = 7
20 | border_width = 0
21 | background_color = #000000 40
22 | border_color = #FFFFFF 68
23 |
24 | # ID 4 - desktop active
25 | rounded = 7
26 | border_width = 0
27 | background_color = #000000 80
28 | border_color = #000000 0
29 |
30 | # Panel
31 | panel_monitor = all
32 | panel_position = bottom center horizontal
33 | panel_size = 90% 24
34 | panel_margin = 0 0
35 | panel_padding = 7 0 7
36 | panel_dock = 0
37 | # shows openbox menu on right click
38 | wm_menu = 1
39 | panel_layer = top
40 | panel_background_id = 1
41 | panel_items = TSC
42 |
43 | # Panel Autohide
44 | autohide = 1
45 | autohide_show_timeout = 0
46 | autohide_hide_timeout = 0
47 | autohide_height = 2
48 | strut_policy = none
49 |
50 | # Launcher
51 | launcher_padding = 6 4 6
52 | launcher_background_id = 4
53 | launcher_icon_size = 24
54 | launcher_icon_asb = 90 0 0
55 | launcher_tooltip = 0
56 | launcher_icon_theme = Faenza-CrunchBang-Dark
57 | launcher_item_app = /usr/share/applications/Thunar.desktop
58 | launcher_item_app = /usr/share/applications/urxvt.desktop
59 | launcher_item_app = /usr/share/applications/chromium.desktop
60 | launcher_item_app = /usr/share/applications/xbmc.desktop
61 |
62 | # Taskbar
63 | taskbar_mode = multi_desktop
64 | taskbar_padding = 2 2 2
65 | taskbar_background_id = 4
66 | taskbar_active_background_id = 4
67 | taskbar_name = 1
68 | taskbar_name_font = Roboto bold 9
69 | taskbar_name_font_color = #FFFFFF 30
70 | taskbar_name_active_font_color = #FFFFFF 80
71 |
72 | # Tasks
73 | urgent_nb_of_blink = 8
74 | task_icon = 1
75 | task_text = 0
76 | task_centered = 1
77 | task_maximum_size = 24 24
78 | task_padding = 6 2
79 | task_background_id = 1
80 | task_active_background_id = 1
81 | task_urgent_background_id = 1
82 | task_iconified_background_id = 1
83 | task_tooltip = 0
84 |
85 | # Task Icons
86 | task_icon_asb = 30 0 0
87 | task_active_icon_asb = 90 0 0
88 | task_urgent_icon_asb = 90 0 0
89 | task_iconified_icon_asb = 30 0 0
90 |
91 | # Fonts
92 | task_font = Roboto 7
93 | task_font_color = #FFFFFF 68
94 | task_active_font_color = #FFFFFF 83
95 | task_urgent_font_color = #FFFFFF 83
96 | task_iconified_font_color = #FFFFFF 68
97 | font_shadow = 0
98 |
99 | # System Tray
100 | systray = 1
101 | systray_padding = 2 3 2
102 | systray_sort = ascending
103 | systray_background_id = 4
104 | systray_icon_size = auto
105 | systray_icon_asb = 70 0 0
106 |
107 | # Clock
108 | time1_format = %H:%M
109 | time1_font = Roboto 8
110 | time2_format = %A %d %B
111 | time2_font = Roboto 6
112 | clock_font_color = #FFFFFF 74
113 | clock_padding = 4 4
114 | clock_background_id = 4
115 | clock_rclick_command = orage
116 |
117 | # Tooltips
118 | tooltip_padding = 2 2
119 | tooltip_show_timeout = 0.7
120 | tooltip_hide_timeout = 0.3
121 | tooltip_background_id = 1
122 | tooltip_font = sans 10
123 | tooltip_font_color = #000000 80
124 |
125 | # Mouse
126 | mouse_middle = none
127 | mouse_right = none
128 | mouse_scroll_up = toggle
129 | mouse_scroll_down = iconify
130 |
131 | # Battery
132 | battery = 0
133 | battery_low_status = 20
134 | battery_low_cmd = notify-send "Battery low"
135 | battery_hide = never
136 | bat1_font = Roboto 8
137 | bat2_font = Roboto 6
138 | battery_font_color = #FFFFFF 74
139 | battery_padding = 34 0
140 | battery_background_id = 4
141 |
142 | # End of config
143 |
--------------------------------------------------------------------------------
/.config/zsh/custom/aliases.zsh:
--------------------------------------------------------------------------------
1 | # zsh aliases
2 | # - yuri - July 2014
3 |
4 | alias ls='ls --color=auto'
5 | alias grep='grep --color=auto'
6 | alias df='df -hT -x tmpfs -x devtmpfs'
7 | alias free='free -ht'
8 | alias vi='vim'
9 | alias packer='packer --noedit'
10 | alias hackterm='nohup urxvt -fg "rgb:00/aa/00" -bg "rgba:0000/0000/0000/ee00" -e zsh -c "cmatrix -aBls && zsh" > /dev/null 2>&1 &'
11 | alias cmatrix='cmatrix -aBls'
12 | alias checklibs='lsof +c 0 | grep '\''DEL.*lib'\'' | awk '\''1 { print $1 ": " $NF }'\'' | sort -u'
13 |
14 | # give common file types default behavior
15 | alias -s com="$BROWSER"
16 | alias -s net="$BROWSER"
17 | alias -s org="$BROWSER"
18 | alias -s pdf="$BROWSER" # requires browser pdf plugin
19 |
20 | alias -s txt="$EDITOR"
21 | alias -s md="$EDITOR"
22 | alias -s markdown="$EDITOR"
23 | alias -s htm="$EDITOR"
24 | alias -s html="$EDITOR"
25 | alias -s ino="$EDITOR"
26 | alias -s c="$EDITOR"
27 | alias -s cpp="$EDITOR"
28 | alias -s h="$EDITOR"
29 |
30 | alias -s jar="java -jar"
31 |
32 | alias -s iso="vlc"
33 | alias -s avi="vlc"
34 | alias -s AVI="vlc"
35 | alias -s mov="vlc"
36 | alias -s mpg="vlc"
37 | alias -s m4v="vlc"
38 | alias -s mp4="vlc"
39 | alias -s rmvb="vlc"
40 | alias -s MP4="vlc"
41 | alias -s ogg="vlc"
42 | alias -s ogv="vlc"
43 | alias -s flv="vlc"
44 | alias -s mkv="vlc"
45 | alias -s wav="vlc"
46 | alias -s mp3="vlc"
47 | alias -s webm="vlc"
48 |
49 | alias -s tif="feh"
50 | alias -s tiff="feh"
51 | alias -s png="feh"
52 | alias -s jpg="feh"
53 | alias -s jpeg="feh"
54 | alias -s JPG="feh"
55 | alias -s gif="feh"
56 | alias -s svg="feh"
57 | alias -s psd="feh"
58 |
--------------------------------------------------------------------------------
/.config/zsh/custom/git-prompt.zsh:
--------------------------------------------------------------------------------
1 | # copied from http://techanic.net/2012/12/30/my_git_prompt_for_zsh.html
2 | # - yuri - July 2014
3 |
4 | # Adapted from code found at .
5 |
6 | setopt prompt_subst
7 | autoload -U colors && colors # Enable colors in prompt
8 |
9 | # Modify the colors and symbols in these variables as desired.
10 | GIT_PROMPT_SYMBOL="%{$fg[blue]%}±"
11 | GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$reset_color%}"
12 | GIT_PROMPT_SUFFIX="%{$fg[green]%}]%{$reset_color%}"
13 | GIT_PROMPT_AHEAD="%{$fg[red]%}ANUM%{$reset_color%}"
14 | GIT_PROMPT_BEHIND="%{$fg[cyan]%}BNUM%{$reset_color%}"
15 | GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}⚡︎%{$reset_color%}"
16 | GIT_PROMPT_UNTRACKED="%{$fg_bold[red]%}●%{$reset_color%}"
17 | GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%}●%{$reset_color%}"
18 | GIT_PROMPT_STAGED="%{$fg_bold[green]%}●%{$reset_color%}"
19 |
20 | # Show Git branch/tag, or name-rev if on detached head
21 | parse_git_branch() {
22 | (git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD) 2> /dev/null
23 | }
24 |
25 | # Show different symbols as appropriate for various Git repository states
26 | parse_git_state() {
27 |
28 | # Compose this value via multiple conditional appends.
29 | local GIT_STATE=""
30 |
31 | local NUM_AHEAD="$(git log --oneline @{u}.. 2> /dev/null | wc -l | tr -d ' ')"
32 | if [ "$NUM_AHEAD" -gt 0 ]; then
33 | GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$NUM_AHEAD}
34 | fi
35 |
36 | local NUM_BEHIND="$(git log --oneline ..@{u} 2> /dev/null | wc -l | tr -d ' ')"
37 | if [ "$NUM_BEHIND" -gt 0 ]; then
38 | GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$NUM_BEHIND}
39 | fi
40 |
41 | local GIT_DIR="$(git rev-parse --git-dir 2> /dev/null)"
42 | if [ -n $GIT_DIR ] && test -r $GIT_DIR/MERGE_HEAD; then
43 | GIT_STATE=$GIT_STATE$GIT_PROMPT_MERGING
44 | fi
45 |
46 | if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
47 | GIT_STATE=$GIT_STATE$GIT_PROMPT_UNTRACKED
48 | fi
49 |
50 | if ! git diff --quiet 2> /dev/null; then
51 | GIT_STATE=$GIT_STATE$GIT_PROMPT_MODIFIED
52 | fi
53 |
54 | if ! git diff --cached --quiet 2> /dev/null; then
55 | GIT_STATE=$GIT_STATE$GIT_PROMPT_STAGED
56 | fi
57 |
58 | if [[ -n $GIT_STATE ]]; then
59 | echo "$GIT_PROMPT_PREFIX$GIT_STATE$GIT_PROMPT_SUFFIX"
60 | fi
61 |
62 | }
63 |
64 | # If inside a Git repository, print its branch and state
65 | git_prompt_string() {
66 | local git_where="$(parse_git_branch)"
67 | [ -n "$git_where" ] && echo "$GIT_PROMPT_SYMBOL$(parse_git_state)$GIT_PROMPT_PREFIX%{$fg[yellow]%}${git_where#(refs/heads/|tags/)}$GIT_PROMPT_SUFFIX"
68 | }
69 |
70 | # Set the right-hand prompt
71 | RPS1='$(git_prompt_string)'
72 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vim/tmp
2 | .vim/.netrwhist
3 | downloads
4 | images
5 | sketchbook
6 | yuri-rage.github.io
7 | .ICEauthority
8 | .Xauthority
9 | .arduino/
10 | .bash_history
11 | .bash_logout
12 | .bash_profile
13 | .cache/
14 | .config/Thunar/
15 | .config/Trolltech.conf
16 | .config/catfish/
17 | .config/chromium/
18 | .config/dconf/
19 | .config/fontconfig/
20 | .config/gtk-2.0/
21 | .config/gtk-3.0/
22 | .config/pulse/
23 | .config/vlc/
24 | .config/volumeicon/
25 | .config/xfburn/
26 | .config/xfce4/
27 | .dbus/
28 | .dmrc
29 | .gem/
30 | .gimp-2.8/
31 | .gitconfig
32 | .gmrun_history
33 | .gstreamer-0.10/
34 | .gtkrc-2.0
35 | .histfile
36 | .icons/
37 | .java/
38 | .lesshst
39 | .local/
40 | .mplayer/
41 | .npm/
42 | .openshot/
43 | .pki/
44 | .python_history
45 | .ssh/
46 | .subversion/
47 | .teensy
48 | .thumbnails/
49 | .viminfo
50 | .w3m/
51 | .xbmc/addons/
52 | .xbmc/media/
53 | .xbmc/temp/
54 | .xbmc/userdata/Database/
55 | .xbmc/userdata/LCD.xml
56 | .xbmc/userdata/RssFeeds.xml
57 | .xbmc/userdata/Thumbnails/
58 | .xbmc/userdata/addon_data/
59 | .xbmc/userdata/guisettings.xml
60 | .xbmc/userdata/keymaps/Joystick.AppleRemote.xml
61 | .xbmc/userdata/profiles.xml
62 | .xbmc/userdata/sources.xml
63 | .xsel.log
64 | .xsession-errors
65 | .xsession-errors.old
66 | .zcompdump
67 | .zcompdump-vorlauf-arch-5.0.5
68 | .zsh-update
69 | .zsh_history
70 | .config/zsh/MIT-LICENSE.txt
71 | .config/zsh/README.textile
72 | .config/zsh/lib/
73 | .config/zsh/log/
74 | .config/zsh/oh-my-zsh.sh
75 | .config/zsh/plugins/
76 | .config/zsh/templates/
77 | .config/zsh/themes/
78 | .config/zsh/tools/
79 | .oh-my-zsh
80 |
--------------------------------------------------------------------------------
/.vim/after/ftplugin/markdown/instant-markdown.vim:
--------------------------------------------------------------------------------
1 | " # Configuration
2 | if !exists('g:instant_markdown_slow')
3 | let g:instant_markdown_slow = 0
4 | endif
5 |
6 | if !exists('g:instant_markdown_autostart')
7 | let g:instant_markdown_autostart = 1
8 | endif
9 |
10 | " # Utility Functions
11 | " Simple system wrapper that ignores empty second args
12 | function! s:system(cmd, stdin)
13 | if strlen(a:stdin) == 0
14 | call system(a:cmd)
15 | else
16 | call system(a:cmd, a:stdin)
17 | endif
18 | endfu
19 |
20 | function! s:refreshView()
21 | let bufnr = expand('')
22 | call s:system("curl -X PUT -T - http://localhost:8090/ &>/dev/null &",
23 | \ s:bufGetContents(bufnr))
24 | endfu
25 |
26 | function! s:startDaemon(initialMD)
27 | call s:system("instant-markdown-d &>/dev/null &", a:initialMD)
28 | endfu
29 |
30 | function! s:initDict()
31 | if !exists('s:buffers')
32 | let s:buffers = {}
33 | endif
34 | endfu
35 |
36 | function! s:pushBuffer(bufnr)
37 | call s:initDict()
38 | let s:buffers[a:bufnr] = 1
39 | endfu
40 |
41 | function! s:popBuffer(bufnr)
42 | call s:initDict()
43 | call remove(s:buffers, a:bufnr)
44 | endfu
45 |
46 | function! s:killDaemon()
47 | call system("curl -s -X DELETE http://localhost:8090/ &>/dev/null &")
48 | endfu
49 |
50 | function! s:bufGetContents(bufnr)
51 | return join(getbufline(a:bufnr, 1, "$"), "\n")
52 | endfu
53 |
54 | " I really, really hope there's a better way to do this.
55 | fu! s:myBufNr()
56 | return str2nr(expand(''))
57 | endfu
58 |
59 | " # Functions called by autocmds
60 | "
61 | " ## push a new Markdown buffer into the system.
62 | "
63 | " 1. Track it so we know when to garbage collect the daemon
64 | " 2. Start daemon if we're on the first MD buffer.
65 | " 3. Initialize changedtickLast, possibly needlessly(?)
66 | fu! s:pushMarkdown()
67 | let bufnr = s:myBufNr()
68 | call s:initDict()
69 | if len(s:buffers) == 0
70 | call s:startDaemon(s:bufGetContents(bufnr))
71 | endif
72 | call s:pushBuffer(bufnr)
73 | let b:changedtickLast = b:changedtick
74 | endfu
75 |
76 | " ## pop a Markdown buffer
77 | "
78 | " 1. Pop the buffer reference
79 | " 2. Garbage collection
80 | " * daemon
81 | " * autocmds
82 | fu! s:popMarkdown()
83 | let bufnr = s:myBufNr()
84 | silent au! instant-markdown *
85 | call s:popBuffer(bufnr)
86 | if len(s:buffers) == 0
87 | call s:killDaemon()
88 | endif
89 | endfu
90 |
91 | " ## Refresh if there's something new worth showing
92 | "
93 | " 'All things in moderation'
94 | fu! s:temperedRefresh()
95 | if !exists('b:changedtickLast')
96 | let b:changedtickLast = b:changedtick
97 | elseif b:changedtickLast != b:changedtick
98 | let b:changedtickLast = b:changedtick
99 | call s:refreshView()
100 | endif
101 | endfu
102 |
103 | fu! s:previewMarkdown()
104 | call s:startDaemon(join(getline(1, '$'), "\n"))
105 | aug instant-markdown
106 | if g:instant_markdown_slow
107 | au CursorHold,BufWrite,InsertLeave call s:temperedRefresh()
108 | else
109 | au CursorHold,CursorHoldI,CursorMoved,CursorMovedI call s:temperedRefresh()
110 | endif
111 | au BufWinLeave call s:cleanUp()
112 | aug END
113 | endfu
114 |
115 | fu! s:cleanUp()
116 | call s:killDaemon()
117 | au! instant-markdown *
118 | endfu
119 |
120 | if g:instant_markdown_autostart
121 | " # Define the autocmds "
122 | aug instant-markdown
123 | au! *
124 | au BufEnter call s:refreshView()
125 | if g:instant_markdown_slow
126 | au CursorHold,BufWrite,InsertLeave call s:temperedRefresh()
127 | else
128 | au CursorHold,CursorHoldI,CursorMoved,CursorMovedI call s:temperedRefresh()
129 | endif
130 | au BufWinLeave call s:popMarkdown()
131 | au BufwinEnter call s:pushMarkdown()
132 | aug END
133 | else
134 | command! -buffer InstantMarkdownPreview call s:previewMarkdown()
135 | endif
136 |
--------------------------------------------------------------------------------
/.vimrc:
--------------------------------------------------------------------------------
1 | set shell=bash\ -i
2 | syntax on
3 | set number
4 | set tabstop=4
5 | set expandtab
6 | set shiftwidth=2
7 | set softtabstop=2
8 |
9 | " make sure gvim uses a nice 'theme'
10 | if has('gui_running')
11 | set background=dark
12 | colorscheme solarized
13 | set guifont=Consolas\ 10
14 | endif
15 |
16 | " change cursor shape based on mode
17 | if &term =~ "^rxvt" || &term=~ "^xterm"
18 | " blinking underscore
19 | let &t_SI .= "\[3 q"
20 | " blinking block
21 | let &t_EI .= "\[1 q"
22 | " reset to blinking underscore on exit
23 | autocmd VimLeave * silent !echo -ne "\033[3 q"
24 | " 1 or 0 -> blinking block
25 | " 2 -> solid block
26 | " 3 -> blinking underscore
27 | " 4 -> solid underscore
28 | endif
29 |
30 | " make xclipboard more easily accessible
31 | set clipboard=unnamedplus
32 |
33 | " collate .swp files - don't keep them in the working directory
34 | set directory=~/.vim/tmp,/tmp,.
35 | set backupdir=~/.vim/tmp,/tmp,.
36 |
37 | " use gggqG for autoformat of c-like code
38 | " requires astyle
39 | autocmd FileType h,c,cpp,java,ino,pde set formatprg=astyle
40 |
41 | " use gggqG for autoformat of xml
42 | " requires xmllint
43 | autocmd FileType xml set formatprg=xmllint\ --encode\ UTF-8\ --format\ %
44 |
45 | " force *.md files to be opened as markdown filetypes
46 | autocmd BufNewFile,BufReadPost *.md set filetype=markdown
47 |
48 | " vim-instant-markdown previewer
49 | " from https://github.com/suan/vim-instant-markdown
50 | " requires ruby rubygems nodejs xdg-utils
51 | " gems: pygments.rb redcarpet
52 | " also, from npm (nodejs) - instant-markdown-d
53 | let g:instant_markdown_slow = 0
54 | filetype plugin on
55 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/FILES.txt:
--------------------------------------------------------------------------------
1 | /etc/lightdm/lightdm.conf
2 | /etc/lightdm/lightdm-gtk-greeter.conf
3 | /etc/bash.bashrc
4 | /var/lib/AccountsService/users/yuri
5 | /usr/local/bin/*.sh
6 | /etc/pacman.d/mirrorlist
7 | /etc/pacman.conf
8 | /usr/lib/systemd/system/updates-available.*
9 | /usr/local/bin/bspwm-exit
10 | /usr/share/xsessions/bspwm.desktop
11 | /usr/bin/bspwm-session
12 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/bash.bashrc:
--------------------------------------------------------------------------------
1 | #
2 | # /etc/bash.bashrc
3 | #
4 |
5 | # If not running interactively, don't do anything
6 | [[ $- != *i* ]] && return
7 |
8 | PS1='\u@\h:\w\$ '
9 | PS2='> '
10 | PS3='> '
11 | PS4='+ '
12 |
13 | case ${TERM} in
14 | xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
15 | PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
16 |
17 | ;;
18 | screen)
19 | PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
20 | ;;
21 | esac
22 |
23 | [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
24 |
25 | # yuri - if not an X terminal, display system info
26 | if [ -z "$DISPLAY" ]; then
27 | archey
28 | fi
29 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/bspwm-exit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python2
2 |
3 | import pygtk
4 | pygtk.require('2.0')
5 | import gtk
6 | import os
7 | import getpass
8 |
9 | class bspwm_exit:
10 | def disable_buttons(self):
11 | self.cancel.set_sensitive(False)
12 | self.logout.set_sensitive(False)
13 | self.suspend.set_sensitive(False)
14 | self.reboot.set_sensitive(False)
15 | self.shutdown.set_sensitive(False)
16 |
17 | def cancel_action(self,btn):
18 | self.disable_buttons()
19 | gtk.main_quit()
20 |
21 | def logout_action(self,btn):
22 | self.disable_buttons()
23 | # yuri - modified cb-exit script to exit bspwm gracefully
24 | self.status.set_label("Exiting bspwm, please standby...")
25 | os.system("bspc quit")
26 |
27 | def suspend_action(self,btn):
28 | self.disable_buttons()
29 | self.status.set_label("Suspending, please standby...")
30 | # os.system("cb-lock")
31 | # yuri - modified to send systemctl suspend
32 | os.system("systemctl suspend")
33 | # os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Suspend")
34 | gtk.main_quit()
35 |
36 | def reboot_action(self,btn):
37 | self.disable_buttons()
38 | self.status.set_label("Rebooting, please standby...")
39 | # yuri - modified to send systemctl reboot
40 | os.system("systemctl reboot")
41 | # os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
42 |
43 | def shutdown_action(self,btn):
44 | self.disable_buttons()
45 | self.status.set_label("Shutting down, please standby...")
46 | # yuri - modified to send systemctl poweroff
47 | os.system("systemctl poweroff")
48 | # os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
49 |
50 | def create_window(self):
51 | self.window = gtk.Window()
52 | title = "Log out " + getpass.getuser() + "? Choose an option:"
53 | self.window.set_title(title)
54 | self.window.set_border_width(5)
55 | self.window.set_size_request(500, 80)
56 | self.window.set_resizable(False)
57 | self.window.set_keep_above(True)
58 | self.window.stick
59 | self.window.set_position(1)
60 | self.window.connect("delete_event", gtk.main_quit)
61 | windowicon = self.window.render_icon(gtk.STOCK_QUIT, gtk.ICON_SIZE_MENU)
62 | self.window.set_icon(windowicon)
63 |
64 |
65 | #Create HBox for buttons
66 | self.button_box = gtk.HBox()
67 | self.button_box.show()
68 |
69 | #Cancel button
70 | self.cancel = gtk.Button(stock = gtk.STOCK_CANCEL)
71 | self.cancel.set_border_width(4)
72 | self.cancel.connect("clicked", self.cancel_action)
73 | self.button_box.pack_start(self.cancel)
74 | self.cancel.show()
75 |
76 | #Logout button
77 | self.logout = gtk.Button("_Log out")
78 | self.logout.set_border_width(4)
79 | self.logout.connect("clicked", self.logout_action)
80 | self.button_box.pack_start(self.logout)
81 | self.logout.show()
82 |
83 | #Suspend button
84 | self.suspend = gtk.Button("_Suspend")
85 | self.suspend.set_border_width(4)
86 | self.suspend.connect("clicked", self.suspend_action)
87 | self.button_box.pack_start(self.suspend)
88 | self.suspend.show()
89 |
90 | #Reboot button
91 | self.reboot = gtk.Button("_Reboot")
92 | self.reboot.set_border_width(4)
93 | self.reboot.connect("clicked", self.reboot_action)
94 | self.button_box.pack_start(self.reboot)
95 | self.reboot.show()
96 |
97 | #Shutdown button
98 | self.shutdown = gtk.Button("_Power off")
99 | self.shutdown.set_border_width(4)
100 | self.shutdown.connect("clicked", self.shutdown_action)
101 | self.button_box.pack_start(self.shutdown)
102 | self.shutdown.show()
103 |
104 | #Create HBox for status label
105 | self.label_box = gtk.HBox()
106 | self.label_box.show()
107 | self.status = gtk.Label()
108 | self.status.show()
109 | self.label_box.pack_start(self.status)
110 |
111 | #Create VBox and pack the above HBox's
112 | self.vbox = gtk.VBox()
113 | self.vbox.pack_start(self.button_box)
114 | self.vbox.pack_start(self.label_box)
115 | self.vbox.show()
116 |
117 | self.window.add(self.vbox)
118 | self.window.show()
119 |
120 | def __init__(self):
121 | self.create_window()
122 |
123 |
124 | def main():
125 | gtk.main()
126 |
127 | if __name__ == "__main__":
128 | go = bspwm_exit()
129 | main()
130 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/bspwm-session:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 | #
3 | # bspwm-session
4 | #
5 | # This script is a session launcher for bspwm.
6 | # It is based on similar scripts included with Openbox.
7 |
8 | if [ -n "$1" ]; then
9 | echo "Usage: bspwm-session"
10 | echo
11 | exit 1
12 | fi
13 |
14 | # Multi-user support:
15 | state_prefix=${XDG_CACHE_HOME:-"$HOME/.cache"}
16 | mkdir -p "${state_prefix}"
17 |
18 | if [ ! -d "${state_prefix}" ]; then
19 | echo "bspwm-session: cache directory ‘${state_prefix}‘ is missing."
20 | echo
21 | exit 1
22 | elif [ ! -w "${state_prefix}" ]; then
23 | echo "bspwm-session: cache directory ‘${state_prefix}‘ is not writable."
24 | echo
25 | exit 1
26 | fi
27 |
28 | state_path=$(mktemp -d "${state_prefix}/bspwm-session.XXXXXX")
29 |
30 | if [ $? -ne 0 ]; then
31 | echo "bspwm-session: failed to create state directory ‘${state_path}‘."
32 | echo
33 | exit 1
34 | fi
35 |
36 | export BSPWM_SOCKET=${state_path}/bspwm-socket
37 |
38 | # Trap: make sure everything started in ~/.config/bspwm/autostart is
39 | # signalled when this script exits or dies. Also clean up $state_path.
40 | function on_exit {
41 | for child in $(jobs -p); do
42 | jobs -p | grep -q $child && kill $child
43 | done
44 | # Extra paranoia
45 | [[ -d "${state_path}" && -w "${state_path}" ]] && rm -rf -- "${state_path}"
46 | }
47 |
48 | trap on_exit EXIT SIGHUP SIGINT SIGTERM
49 |
50 | # Environment and autostart:
51 | source_these=(
52 | "/etc/profile"
53 | "${HOME}/.profile"
54 | "${XDG_CONFIG_HOME:-"$HOME/.config"}/bspwm/autostart"
55 | )
56 |
57 | for file in "${source_these[@]}"; do
58 | [ -r "${file}" ] && . "${file}"
59 | done
60 |
61 | # Launch sxhkd:
62 | sxhkd &
63 |
64 | # Launch bspwm:
65 | bspwm
66 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/bspwm.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Type=XSession
3 | Exec=bspwm-session
4 | TryExec=bspwm-session
5 | Name=Bspwm
6 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/lightdm-gtk-greeter.conf:
--------------------------------------------------------------------------------
1 | # yuri - custom gtk greeter settings
2 | [greeter]
3 | clock-format = %a, %d %b %Y %H:%M:%S
4 | icon-theme-name = Faenza-CrunchBang-Dark
5 | xft-dpi = 96
6 | xft-antialias = true
7 | show-clock = true
8 | xft-hintstyle = hintslight
9 | screensaver-timeout = 60
10 | xft-rgba = rgb
11 | theme-name = MediterraneanWhiteNight
12 | default-user-image = #avatar-default
13 | background = /usr/share/backgrounds/wallpaper.png
14 | position = 20%,center 50%,center
15 | font-name = Roboto 10
16 | keyboard = no
17 |
18 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/lightdm.conf:
--------------------------------------------------------------------------------
1 | #
2 | # General configuration
3 | #
4 | # start-default-seat = True to always start one seat if none are defined in the configuration
5 | # greeter-user = User to run greeter as
6 | # minimum-display-number = Minimum display number to use for X servers
7 | # minimum-vt = First VT to run displays on
8 | # lock-memory = True to prevent memory from being paged to disk
9 | # user-authority-in-system-dir = True if session authority should be in the system location
10 | # guest-account-script = Script to be run to setup guest account
11 | # log-directory = Directory to log information to
12 | # run-directory = Directory to put running state in
13 | # cache-directory = Directory to cache to
14 | # sessions-directory = Directory to find sessions
15 | # remote-sessions-directory = Directory to find remote sessions
16 | # greeters-directory = Directory to find greeters
17 | #
18 | [LightDM]
19 | #start-default-seat=true
20 | #greeter-user=lightdm
21 | #minimum-display-number=0
22 | minimum-vt=7 # yuri - changed from minimum-vt=1, which started X on virtual terminal 1
23 | #lock-memory=true
24 | #user-authority-in-system-dir=false
25 | #guest-account-script=guest-account
26 | #log-directory=/var/log/lightdm
27 | run-directory=/run/lightdm
28 | #cache-directory=/var/cache/lightdm
29 | sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions
30 | #remote-sessions-directory=/usr/share/lightdm/remote-sessions
31 | #greeters-directory=/usr/share/lightdm/greeters:/usr/share/xgreeters
32 |
33 | #
34 | # Seat defaults
35 | #
36 | # type = Seat type (xlocal, xremote)
37 | # xdg-seat = Seat name to set pam_systemd XDG_SEAT variable and name to pass to X server
38 | # xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
39 | # xserver-layout = Layout to pass to X server
40 | # xserver-config = Config file to pass to X server
41 | # xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
42 | # xserver-share = True if the X server is shared for both greeter and session
43 | # xserver-hostname = Hostname of X server (only for type=xremote)
44 | # xserver-display-number = Display number of X server (only for type=xremote)
45 | # xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
46 | # xdmcp-port = XDMCP UDP/IP port to communicate on
47 | # xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
48 | # unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option)
49 | # unity-compositor-timeout = Number of seconds to wait for compositor to start
50 | # greeter-session = Session to load for greeter
51 | # greeter-hide-users = True to hide the user list
52 | # greeter-allow-guest = True if the greeter should show a guest login option
53 | # greeter-show-manual-login = True if the greeter should offer a manual login option
54 | # greeter-show-remote-login = True if the greeter should offer a remote login option
55 | # user-session = Session to load for users
56 | # allow-guest = True if guest login is allowed
57 | # guest-session = Session to load for guests (overrides user-session)
58 | # session-wrapper = Wrapper script to run session with
59 | # greeter-wrapper = Wrapper script to run greeter with
60 | # guest-wrapper = Wrapper script to run guest sessions with
61 | # display-setup-script = Script to run when starting the display server (runs as root)
62 | # display-stopped-script = Script to run after stopping the display server (runs as root)
63 | # greeter-setup-script = Script to run when starting a greeter (runs as root)
64 | # session-setup-script = Script to run when starting a user session (runs as root)
65 | # session-cleanup-script = Script to run when quitting a user session (runs as root)
66 | # autologin-guest = True to log in as guest by default
67 | # autologin-user = User to log in with by default (overrides autologin-guest)
68 | # autologin-user-timeout = Number of seconds to wait before loading default user
69 | # autologin-session = Session to load for automatic login (overrides user-session)
70 | # autologin-in-background = True if autologin session should not be immediately activated
71 | # exit-on-failure = True if the daemon should exit if this seat fails
72 | #
73 | [SeatDefaults]
74 | #type=xlocal
75 | #xdg-seat=seat0
76 | #xserver-command=X
77 | #xserver-layout=
78 | #xserver-config=
79 | #xserver-allow-tcp=false
80 | #xserver-share=true
81 | #xserver-hostname=
82 | #xserver-display-number=
83 | #xdmcp-manager=
84 | #xdmcp-port=177
85 | #xdmcp-key=
86 | #unity-compositor-command=unity-system-compositor
87 | #unity-compositor-timeout=60
88 | #greeter-session=lightdm-webkit-greeter
89 | #greeter-hide-users=false
90 | #greeter-allow-guest=true
91 | #greeter-show-manual-login=false
92 | #greeter-show-remote-login=true
93 | #user-session=default
94 | #allow-guest=true
95 | #guest-session=
96 | session-wrapper=/etc/lightdm/Xsession
97 | #greeter-wrapper=
98 | #guest-wrapper=
99 | # yuri - mirror_displays.sh has an xrandr command to set up multiple displays properly
100 | display-setup-script=/usr/local/bin/mirror_displays.sh
101 | #display-stopped-script=
102 | #greeter-setup-script=
103 | #session-setup-script=
104 | #session-cleanup-script=
105 | #autologin-guest=false
106 | #autologin-user=
107 | #autologin-user-timeout=0
108 | #autologin-in-background=false
109 | #autologin-session=UNIMPLEMENTED
110 | #exit-on-failure=false
111 | pam-service=lightdm-autologin
112 |
113 | #
114 | # Seat configuration
115 | #
116 | # Each seat must start with "Seat:".
117 | # Uses settings from [SeatDefaults], any of these can be overriden by setting them in this section.
118 | #
119 | #[Seat:0]
120 |
121 | #
122 | # XDMCP Server configuration
123 | #
124 | # enabled = True if XDMCP connections should be allowed
125 | # port = UDP/IP port to listen for connections on
126 | # key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
127 | #
128 | # The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
129 | # it can be a word and the first 7 characters are used as the key.
130 | #
131 | [XDMCPServer]
132 | #enabled=false
133 | #port=177
134 | #key=
135 |
136 | #
137 | # VNC Server configuration
138 | #
139 | # enabled = True if VNC connections should be allowed
140 | # command = Command to run Xvnc server with
141 | # port = TCP/IP port to listen for connections on
142 | # width = Width of display to use
143 | # height = Height of display to use
144 | # depth = Color depth of display to use
145 | #
146 | [VNCServer]
147 | #enabled=false
148 | #command=Xvnc
149 | #port=5900
150 | #width=1024
151 | #height=768
152 | #depth=8
153 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/mirrorlist:
--------------------------------------------------------------------------------
1 | # Server list generated by rankmirrors on 2015-01-20
2 | ##
3 | ## Arch Linux repository mirrorlist
4 | ## Sorted by mirror score from mirror status page
5 | ## Generated on 2015-01-21
6 | ##
7 | ## Score: 0.7, United States
8 | ## Score: 0.9, United States
9 | ## Score: 1.0, United States
10 | ## Score: 1.1, United States
11 | ## Score: 1.1, United States
12 | ## Score: 1.4, United States
13 | ## Score: 1.4, United States
14 | ## Score: 1.5, United States
15 | ## Score: 1.7, Canada
16 | ## Score: 1.7, United States
17 | ## Score: 1.8, United States
18 | ## Score: 1.9, United States
19 | ## Score: 1.9, United States
20 | ## Score: 1.9, United States
21 | ## Score: 1.9, United States
22 | ## Score: 2.0, United States
23 | ## Score: 2.0, United States
24 | ## Score: 2.1, United States
25 | ## Score: 2.4, Canada
26 | ## Score: 2.4, United States
27 | ## Score: 2.4, United States
28 | ## Score: 2.6, United States
29 | ## Score: 2.7, Canada
30 | ## Score: 2.7, United States
31 | ## Score: 2.8, United States
32 | ## Score: 2.9, United States
33 | ## Score: 3.0, United States
34 | ## Score: 3.8, United States
35 | ## Score: 3.8, United States
36 | ## Score: 4.1, United States
37 | ## Score: 4.1, United States
38 | ## Score: 4.2, United States
39 | ## Score: 4.2, Canada
40 | ## Score: 4.4, United States
41 | ## Score: 4.8, United States
42 | ## Score: 6.1, United States
43 | ## Score: 7.2, Canada
44 | ## Score: 12.8, Canada
45 | ## Score: 13.0, United States
46 | ## Score: 13.2, United States
47 | ## Score: 20.5, United States
48 | ## Score: 63.0, United States
49 | Server = http://mirror.umd.edu/archlinux/$repo/os/$arch
50 | Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
51 | Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
52 | Server = http://archlinux.surlyjake.com/archlinux/$repo/os/$arch
53 | Server = http://mirrors.liquidweb.com/archlinux/$repo/os/$arch
54 | Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
55 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/pacman.conf:
--------------------------------------------------------------------------------
1 | #
2 | # /etc/pacman.conf
3 | #
4 | # See the pacman.conf(5) manpage for option and repository directives
5 |
6 | #
7 | # GENERAL OPTIONS
8 | #
9 | [options]
10 | # The following paths are commented out with their default values listed.
11 | # If you wish to use different paths, uncomment and update the paths.
12 | #RootDir = /
13 | #DBPath = /var/lib/pacman/
14 | #CacheDir = /var/cache/pacman/pkg/
15 | #LogFile = /var/log/pacman.log
16 | #GPGDir = /etc/pacman.d/gnupg/
17 | HoldPkg = pacman glibc
18 | #XferCommand = /usr/bin/curl -C - -f %u > %o
19 | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
20 | #CleanMethod = KeepInstalled
21 | #UseDelta = 0.7
22 | Architecture = auto
23 |
24 | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
25 | #IgnorePkg =
26 | #IgnoreGroup =
27 |
28 | #NoUpgrade =
29 | #NoExtract =
30 |
31 | # Misc options
32 | #UseSyslog
33 | Color
34 | TotalDownload
35 | CheckSpace
36 | #VerbosePkgLists
37 | ILoveCandy
38 |
39 | # By default, pacman accepts packages signed by keys that its local keyring
40 | # trusts (see pacman-key and its man page), as well as unsigned packages.
41 | SigLevel = Required DatabaseOptional
42 | LocalFileSigLevel = Optional
43 | #RemoteFileSigLevel = Required
44 |
45 | # NOTE: You must run `pacman-key --init` before first using pacman; the local
46 | # keyring can then be populated with the keys of all official Arch Linux
47 | # packagers with `pacman-key --populate archlinux`.
48 |
49 | #
50 | # REPOSITORIES
51 | # - can be defined here or included from another file
52 | # - pacman will search repositories in the order defined here
53 | # - local/custom mirrors can be added here or in separate files
54 | # - repositories listed first will take precedence when packages
55 | # have identical names, regardless of version number
56 | # - URLs will have $repo replaced by the name of the current repo
57 | # - URLs will have $arch replaced by the name of the architecture
58 | #
59 | # Repository entries are of the format:
60 | # [repo-name]
61 | # Server = ServerName
62 | # Include = IncludePath
63 | #
64 | # The header [repo-name] is crucial - it must be present and
65 | # uncommented to enable the repo.
66 | #
67 |
68 | # The testing repositories are disabled by default. To enable, uncomment the
69 | # repo name header and Include lines. You can add preferred servers immediately
70 | # after the header, and they will be used before the default mirrors.
71 |
72 | #[testing]
73 | #Include = /etc/pacman.d/mirrorlist
74 |
75 | [core]
76 | Include = /etc/pacman.d/mirrorlist
77 |
78 | [extra]
79 | Include = /etc/pacman.d/mirrorlist
80 |
81 | #[community-testing]
82 | Include = /etc/pacman.d/mirrorlist
83 |
84 | [community]
85 | Include = /etc/pacman.d/mirrorlist
86 |
87 | # If you want to run 32 bit applications on your x86_64 system,
88 | # enable the multilib repositories as required here.
89 |
90 | #[multilib-testing]
91 | #Include = /etc/pacman.d/mirrorlist
92 |
93 | #[multilib]
94 | #Include = /etc/pacman.d/mirrorlist
95 |
96 | # An example of a custom package repository. See the pacman manpage for
97 | # tips on creating your own repositories.
98 | #[custom]
99 | #SigLevel = Optional TrustAll
100 | #Server = file:///home/custompkgs
101 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/brightness.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # wrapper for xbacklight - mostly to avoid turning the sreen off (brightness = 0)
4 |
5 | # yuri - Nov 2014
6 |
7 | # obsoleted by (grub) kernel parameter video.use_native_backlight=0 on Asus K55A laptop
8 |
9 | # if no argument, usage/exit with error status
10 | usage(){
11 | echo "Usage: `basename $0` [brightness]"
12 | echo " [brightness] can be an integer from 1 to 100"
13 | echo " [brightness] also be \"up\" or \"down\""
14 | exit 1
15 | }
16 | [ -z "$1" ] && usage
17 |
18 | # round brightness to integer part
19 | brightness=`xbacklight | awk '{printf("%d\n",$1 + 0.5)}'`
20 |
21 | [ "$1" == "up" ] && xbacklight -inc 10
22 |
23 | [ "$1" == "down" ] && [ $brightness -gt 10 ] && xbacklight -dec 10
24 |
25 | # test for integer greater than 0
26 | [[ $1 =~ ^-?[0-9]+$ ]] && [ $1 -gt 0 ] && xbacklight -set $1
27 |
28 | echo `xbacklight | awk '{printf("%d\n",$1 + 0.5)}'`
29 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/conkystart.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # starts selected conkys in ~/.config/conky/
4 | # looks for all config files ending in .desktop
5 |
6 | # yuri - Jun 2014
7 |
8 | CONFPATH=$HOME/.config/conky/*.desktop
9 |
10 | # kill existing conkys
11 | pgrep -x conky && pkill -x conky
12 |
13 | for f in $CONFPATH; do
14 | conky -c "$f" &
15 | done
16 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/killstart.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # start process(es) after killing all instances of the same
4 |
5 | # yuri - Jun 2014
6 |
7 |
8 | # if no argument, usage/exit with error status
9 | usage(){
10 | echo "Usage: `basename $0` command1 command2 .."
11 | echo -e "\nCommands with arguments must be quoted:"
12 | echo " `basename $0` \"command --with args\""
13 | exit 1
14 | }
15 | [ -z "$1" ] && usage
16 |
17 | # treat each argument as a separate command
18 |
19 | # kill all instances of each command
20 | for ARG in "$@"; do
21 | # accept commands with multiple arguments
22 | BASECMD=`echo "$ARG" | awk '{ print $1 }'`
23 | # if process(es) running, kill 'em
24 | pgrep -x $BASECMD && pkill -x $BASECMD
25 | done
26 |
27 | # run specified command(s)
28 | for ARG in "$@"; do
29 | $ARG &
30 | done
31 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/mirror_displays.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # yuri - mirror HDMI display at correct resolution
3 | # - useful for lightdm setup
4 | xrandr --output LVDS1 --mode 1366x768 --output HDMI1 --mode 1280x720 --same-as LVDS1
5 | exit 0
6 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/quiet.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # run a command quietly in the background even after shell exit
4 |
5 | # yuri - Jun 2014
6 |
7 | usage() {
8 | echo "Usage: `basename $0` command"
9 | echo -e "\nCommands with arguments must be quoted:"
10 | echo " `basename $0` \"command --with args\""
11 | exit 1
12 |
13 | }
14 |
15 | [ -z "$1" ] && usage
16 |
17 | nohup $1 > /dev/null 2>&1 &
18 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/rip-yt.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # A very simple Bash script to download a YouTube video
3 | # and extract the music file from it.
4 | if [ -n "$1" ]; then
5 | youtube-dl -i --extract-audio --audio-format mp3 --audio-quality 0 -o '%(title)s.%(ext)s' $1
6 | else
7 | echo "Nothing to download."
8 | exit 1
9 | fi
10 |
11 | # ask about normalizing audio (adjust track volume/gain)
12 | # default = yes
13 | read -n 1 -r -p 'Normalize all tracks? [Y/n] '
14 | if [[ $REPLY =~ ^[Nn]$ ]]; then
15 | echo -e "\nExiting - tracks not normalized."
16 | exit 0
17 | fi
18 |
19 | # normalize all mp3 audio tracks in this directory
20 | mp3gain -r *.mp3
21 |
22 | exit 0 # code below will not be executed
23 |
24 | # alternate method below, including regex matching of video id
25 |
26 | address=$1
27 | regex='v=(.*)'
28 | if [[ $address =~ $regex ]]; then
29 | video_id=${BASH_REMATCH[1]}
30 | video_id=$(echo $video_id | cut -d'&' -f1)
31 | video_title="$(youtube-dl --get-title $address)"
32 | echo "Video title: $video_title"
33 | video_filename="$(youtube-dl -f bestaudio --get-filename $address)"
34 | echo "Download target: $video_filename"
35 | youtube-dl -f bestaudio $address
36 | avconv -i "$video_filename" "$video_title".wav
37 | lame "$video_title".wav "$video_title".mp3
38 | rm "$video_filename" "$video_title".wav
39 | echo -e "\nSuccess: $video_title.mp3\n"
40 | else
41 | echo "Sorry but the system encountered a problem."
42 | fi
43 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/shuffle.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | for file in *.mp3
4 | do
5 | if [[ -d $file ]]
6 | then
7 | continue # skip directories
8 | fi
9 | if [[ $file =~ ^[0-9]{3}-(.*).mp3$ ]] # get basename
10 | then
11 | name=${file#*-} # of a previously shuffled file
12 | else
13 | name=$file # of an unshuffled file
14 | fi
15 | if [[ $1 != -u ]]
16 | then
17 | mv "$file" "`shuf -i 100-999 -n 1`-$name" # shuffle
18 | else
19 | mv "$file" "$name" # unshuffle
20 | fi
21 | done
22 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/stickynote.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # modifies a conky file with text from user input
4 | # intended to make conky into a bit of a "sticky note" app
5 |
6 | # yuri - Jan 2015
7 |
8 | INFILE=~/.config/conky/stickynote.conky
9 |
10 | # if no argument, usage/exit with error status
11 | usage(){
12 | echo "Usage: `basename $0` [--clear] "
13 | exit 1
14 | }
15 | [ -z "$1" ] && usage
16 |
17 | # remove all lines after TEXT if --clear flag is the first argument
18 | [ $1 == '--clear' ] && sed -i '/TEXT/q' $INFILE
19 |
20 | for ARG in "$@"; do
21 | [ "$ARG" != '--clear' ] && MSG="$MSG $ARG"
22 | done
23 |
24 | echo $MSG >> $INFILE
25 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/updates-available.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # consolidates data from arch's built in checkupdates script
4 | #
5 | # if run as a normal user, output is simply to stdout
6 | # if run as root, output is also logged to OUTFILE
7 | #
8 | # this file can be run as a systemd.timer or cron job on a periodic basis
9 | # if run as a timer, conky can display the output file's results
10 | #
11 | # yuri - Jan 2015
12 | #
13 | # requires a typical arch install as well as the `bc` package
14 | #
15 | # *** SAMPLE /usr/lib/systemd/system/updates-available-sh.service ***
16 | # [Unit]
17 | # Description=Check for Arch updates
18 | #
19 | # [Service]
20 | # Type=simple
21 | # ExecStart=/usr/local/bin/updates-available.sh
22 | # *** END SAMPLE ***
23 | #
24 | # *** SAMPLE /usr/lib/systemd/system/updates-available-sh.timer ***
25 | # [Unit]
26 | # Description=Hourly check for Arch updates
27 | #
28 | # [Timer]
29 | # OnCalendar=hourly
30 | # Persistent=true
31 | # Unit=updates-available.service
32 | #
33 | # [Install]
34 | # WantedBy=multi-user.target
35 | # *** END SAMPLE ***
36 |
37 | # declare a couple of variables
38 | OUTFILE="/var/local/updates-available-sh.info"
39 | DBPATH="/tmp/checkup-db-$USER"
40 | USER_ID=`id -u`
41 |
42 | # check for Internet connectivity
43 | wget -q --tries=10 --timeout=20 --spider http://google.com > /dev/null
44 | # if no connectivity, append (offline) to the previous output
45 | if [[ $? -ne 0 ]]; then
46 | RESULT=`cat $OUTFILE`
47 | RESULT="${RESULT// (offline)/} (offline)"
48 | # if root, append to output file
49 | [ $USER_ID -eq 0 ] && echo "$RESULT" > $OUTFILE
50 | echo "$RESULT"
51 | exit 1
52 | fi
53 |
54 | NUMPKGS=0
55 |
56 | # run arch's checkupdates script and capture output
57 | PKGS=`checkupdates`
58 |
59 | # pacman -Si will retrieve a wealth of info
60 | # here we strip the "Download size" lines and count the number of iterations
61 | # DBPATH is probably unnecessary, but I suppose it's safe to use the
62 | # temp path created by `checkupdates`
63 | SIZES=''
64 | for pkg in $PKGS
65 | do
66 | SIZES+=`pacman -Si $pkg --dbpath $DBPATH | grep 'Download'`'\n'
67 | ((NUMPKGS++))
68 | done
69 |
70 | # further strip pacman output to separate KiB from MiB
71 | KBLIST=`echo -e "$SIZES" | grep 'KiB' | awk '{ print $4 }'`
72 | MBLIST=`echo -e "$SIZES" | grep 'MiB' | awk '{ print $4 }'`
73 |
74 | # count KiBs
75 | KBS='0.0'
76 | for kb in $KBLIST
77 | do
78 | KBS=`echo "$KBS + $kb" | bc`
79 | done
80 |
81 | # add KiBs to MiBs for the grand total download size
82 | MBS=`echo "$KBS / 1000.0" | bc`
83 | for mb in $MBLIST
84 | do
85 | MBS=`echo "$MBS + $mb" | bc`
86 | done
87 |
88 | # display results
89 | RESULT="$NUMPKGS updates available ($MBS MiB)"
90 | # if root, write output to file
91 | [ $USER_ID -eq 0 ] && echo "$RESULT" > $OUTFILE
92 | echo "$RESULT"
93 |
94 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/urxvt-quake.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # urxvt-quake.sh - yuri - Jun 2014
4 |
5 | # toggles a tilda/guake/yakuake-like urxvt window
6 | # requires wmctrl, openbox, and custom .config/openbox/rc.xml settings
7 |
8 | # online forum example scripts use xdotool - wmctrl is faster
9 |
10 | # copy/paste to rc.xml in the applications section
11 | #
12 | #
13 | # no
14 | #
15 | # center
16 | # 0
17 | #
18 | # no
19 | # yes
20 | # yes
21 | # above
22 | # yes
23 | # all
24 | #
25 | #
26 | # for similar funcionality in bspwm, this script is less useful, instead map this to a key in sxhkdrc:
27 | # (note, geometry is hard coded into the keymapped command in this case)
28 | # xdotool search --onlyvisible --classname URxvtQuake windowunmap \
29 | # || xdotool search --classname URxvtQuake windowmap \
30 | # || urxvt -name URxvtQuake -geometry 110x20+297+1
31 | #
32 | # and add this rule to bspwmrc
33 | # bspc rule -a URxvtQuake sticky=on floating=on
34 |
35 | # grab the window ID of the urxvt-quake terminal window
36 | WINID=`wmctrl -lx | grep URxvtQuake.URxvt | awk '{ print $1 }'`
37 |
38 | # if no existing window, start the terminal
39 | if [ -z "$WINID" ]; then
40 | urxvt -name URxvtQuake &
41 | else # toggle hidden
42 | wmctrl -i -r $WINID -b toggle,hidden
43 | # if window is visible, activate it
44 | [ -z "$(xprop -id $WINID | grep HIDDEN)" ] && wmctrl -i -a $WINID
45 | fi
46 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/scripts/volume_change.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # wrapper for amixer volume changes - sends notifications to wm
4 |
5 | step=5
6 |
7 | if [[ $# -eq 1 ]]; then
8 | case $1 in
9 | "up")
10 | amixer set Master,0 $step+;;
11 | "down")
12 | amixer set Master,0 $step-;;
13 | "toggle")
14 | amixer set Master,0 toggle;;
15 | *)
16 | echo "Invalid option";;
17 | esac
18 | fi
19 |
20 | muted=`amixer get Master|tail -n1|sed -E 's/.*\[([a-z]+)\]/\1/'`
21 | volume=`amixer get Master|tail -n1|sed -E 's/.*\[([0-9]+)\%\].*/\1/'`
22 |
23 | if [ $volume -lt 33 ]; then
24 | intensity="low"
25 | elif [ $volume -lt 66 ]; then
26 | intensity="medium"
27 | else
28 | intensity="high"
29 | fi
30 |
31 | if [[ $muted == "off" ]]; then
32 | notify-send "Muted" -t 1000 -i notification-audio-volume-muted -h int:value:0
33 |
34 | else
35 | notify-send "Volume" -t 1000 -i notification-audio-volume-"$intensity" -h int:value:$volume
36 | fi
37 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/updates-available.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Check for Arch updates
3 |
4 | [Service]
5 | Type=simple
6 | ExecStart=/usr/local/bin/updates-available.sh
7 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/updates-available.timer:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Hourly check for Arch updates
3 |
4 | [Timer]
5 | OnCalendar=hourly
6 | Persistent=true
7 | Unit=updates-available.service
8 |
9 | [Install]
10 | WantedBy=multi-user.target
11 |
--------------------------------------------------------------------------------
/.yuri_misc_sys_files/yuri:
--------------------------------------------------------------------------------
1 | [User]
2 | Language=en_US.utf8
3 | XSession=openbox
4 | Icon=/var/lib/AccountsService/icons/yuri.png
5 | SystemAccount=false
6 |
--------------------------------------------------------------------------------
/.zshrc:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.zshrc
3 | #
4 | # yuri - Jul 2014
5 |
6 | BROWSER='/usr/bin/google-chrome-stable'
7 | if [ -n "$WINDOWID" ]; then # this shell is running in X
8 | EDITOR='/usr/bin/gvim'
9 | else
10 | EDITOR='/usr/bin/vim'
11 | fi
12 |
13 | ZSH="$HOME/.config/zsh"
14 | PLUGINS="$ZSH/plugins"
15 | CUSTOM="$ZSH/custom"
16 |
17 | # add --user-install ruby gems to PATH
18 | if which ruby >/dev/null && which gem >/dev/null; then
19 | PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
20 | fi
21 |
22 | # initialize colors and completion
23 | autoload -U compinit promptinit colors
24 | compinit
25 | colors
26 | LS_COLORS='rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:';
27 | export LS_COLORS
28 |
29 | # this is the highlight color for tab completion menu selection
30 | ZLS_COLORS="ma=47:$LS_COLORS"
31 |
32 | # enable arrow key navigation of tab completion options
33 | zstyle ':completion:*' menu select
34 | zstyle ':completion:*' list-colors ${(s.:.)ZLS_COLORS}
35 |
36 | # tab completion options
37 | setopt completealiases
38 | unsetopt flowcontrol
39 | setopt auto_menu
40 | setopt complete_in_word
41 | setopt always_to_end
42 |
43 | # in order try:
44 | # simple tab completion
45 | # case insensitive completion
46 | # simple substring completion
47 | # case insensitive substring completion
48 | # by defining multiple patterns, completion performance remains fast
49 | # while still affording tons of flexibility
50 | zstyle ':completion:*' matcher-list '' 'm:{A-ZÄÖÜa-zäöü}={a-zäöüA-ZÄÖÜ}' \
51 | 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' \
52 | 'm:{A-ZÄÖÜa-zäöü}={a-zäöüA-ZÄÖÜ} r:|[._-]=* r:|=*' \
53 | 'm:{A-ZÄÖÜa-zäöü}={a-zäöüA-ZÄÖÜ} l:|=* r:|=*'
54 |
55 | # command history
56 | HISTFILE=~/.histfile
57 | HISTSIZE=4096
58 | SAVEHIST=4096
59 |
60 | # prevent duplicate history entries
61 | setopt HIST_IGNORE_DUPS
62 | setopt HIST_SAVE_NO_DUPS
63 |
64 | #share history between terminals
65 | setopt INC_APPEND_HISTORY
66 | setopt SHARE_HISTORY
67 |
68 | # add search functionality to up and down arrow keys
69 | autoload -U up-line-or-beginning-search down-line-or-beginning-search
70 | zle -N up-line-or-beginning-search
71 | zle -N down-line-or-beginning-search
72 | bindkey "^[[A" up-line-or-beginning-search # Up
73 | bindkey "^[[B" down-line-or-beginning-search # Down
74 |
75 | # a few more keybindings
76 | bindkey '^P' up-history
77 | bindkey '^N' down-history
78 | bindkey '^?' backward-delete-char
79 | bindkey '^h' backward-delete-char
80 | bindkey '^w' backward-kill-word
81 | bindkey '^r' history-incremental-search-backward
82 |
83 | # vi mode settings
84 | bindkey -v
85 | KEYTIMEOUT=1 # reduce time to transition between INSERT and NORMAL
86 |
87 | # right prompt indication of INSERT vs NORMAL vi modes
88 | # perhaps a bit more complex with substitution than required
89 | # in order to prepend vi mode to righthand prompt
90 | # function zle-line-init zle-keymap-select {
91 | # VI_MODE="${${KEYMAP/vicmd/[NORMAL]}/(main|viins)/[INSERT]}"
92 | # RPS1=${RPS1/\[*\] /}
93 | # RPS1="$VI_MODE $RPS1"
94 | # RPS2=$RPS1
95 | # zle reset-prompt
96 | # }
97 | # zle -N zle-line-init
98 | # zle -N zle-keymap-select
99 |
100 | # cursor shape indication of INSERT vs NORMAL vi modes
101 | # supported (at a minimum) by rxvt-unicode-256color and xterm
102 | zle-keymap-select () {
103 | if [[ "$TERM" =~ "^rxvt|^xterm" ]]; then
104 | if [ $KEYMAP = vicmd ]; then
105 | echo -ne "\033[1 q"
106 | else
107 | echo -ne "\033[3 q"
108 | fi
109 | fi
110 | }
111 | zle -N zle-keymap-select
112 |
113 | zle-line-init () {
114 | zle -K viins
115 | echo -ne "\033[3 q"
116 | }
117 | zle -N zle-line-init
118 |
119 | # nicely formatted prompt
120 | PROMPT="%m%{$fg[white]%} %n %{$fg_no_bold[blue]%}%~ %{$fg[white]%}%# %{$reset_color%}"
121 |
122 | # yuri - set fixed window title for transparent desktop terminal
123 | # test for custom named terminal with same window id as the present one
124 | # if it matches, set the window title so that the compositor and
125 | # window manager can treat it appropriately
126 |
127 | if [ -n "$WINDOWID" ]; then # this shell is running in X
128 |
129 | # use X forwarding with ssh
130 | alias ssh='ssh -Y'
131 |
132 | # this dynamically sets the window title of terminal windows
133 | # it's mostly just an openbox hack, hence the desktop session condition
134 | DESKTOPWINDOWID=0
135 | if [ -n $WINDOWID ]; then
136 | wmctrl -l > /dev/null 2>&1 && DESKTOPWINDOWID=$((`wmctrl -lpx | grep 'URxvtDesktop.URxvt' | awk '{ print $1 }'`))
137 | fi
138 | if [ $WINDOWID -eq $DESKTOPWINDOWID ]; then
139 | print -n "\e]0;URxvtDesktop\a"
140 | # display system info on the desktop terminal
141 | if [ $DESKTOP_SESSION = "openbox" ]; then
142 | archey
143 | fi
144 | else
145 | case $TERM in
146 | termite|*xterm*|rxvt|rxvt-unicode|rxvt-256color|rxvt-unicode-256color|(dt|k|E)term)
147 | precmd () { print -Pn "\e]0;%n@%M:%~\a" }
148 | preexec () { print -Pn "\e]0;%n@%M:%~ ($1)\a" }
149 | ;;
150 | esac
151 |
152 | fi
153 | fi
154 |
155 | # plugins / scripts
156 | # source $CUSTOM/git-prompt.zsh # better/faster git prompt than the oh-my-zsh plugin
157 | source $CUSTOM/aliases.zsh # all aliases in one place
158 | source $PLUGINS/history-substring-search/history-substring-search.zsh
159 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ##yuri_config - Yuri's Linux configuration files##
2 |
3 | My collection of Linux configuration files, stored here primarily for personal use.
4 |
5 | Feel free to copy/clone them for your own use. I make no promises that they'll work on your system.
6 |
7 | --Yuri
8 |
9 | #####RELEASE NOTES:#####
10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11 | Version 2, December 2004
12 |
13 | Copyright (C) 2004 Sam Hocevar
14 |
15 | Everyone is permitted to copy and distribute verbatim or modified
16 | copies of this license document, and changing it is allowed as long
17 | as the name is changed.
18 |
19 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
20 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
21 |
22 | 0. You just DO WHAT THE FUCK YOU WANT TO.
23 |
24 | ---------------------------------------------
25 |
26 | System info current as of: Fri, 20 Nov 2015 13:38:19
27 |
28 | Output of `uname -a >> README.md` :
29 |
30 | Linux vorlauf-arch 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
31 |
32 | Output of `pacman -Qe >> README.md` :
33 | (all explicitly installed Arch packages)
34 |
35 | accountsservice 0.6.40-1
36 | acpi 1.7-1
37 | aircrack-ng 1.2rc2-1
38 | alsa-utils 1.1.0-1
39 | archey 20130324-7
40 | arduino 1:1.6.5.r5-2
41 | asoundconf 1:1.2-1
42 | astyle 2.05.1-1
43 | at 3.1.16-1
44 | autoconf 2.69-2
45 | automake 1.15-1
46 | bash 4.3.042-3
47 | bc 1.06.95-1
48 | binutils 2.25.1-3
49 | bison 3.0.4-1
50 | blender 17:2.76.b-1
51 | bspwm 0.9-2
52 | bzip2 1.0.6-5
53 | catfish 1.3.3-3
54 | chromaprint 1.2-1
55 | cmake 3.4.0-1
56 | cmatrix 1.2a-11
57 | cnijfilter-mg5200 3.40-11
58 | compton-git 0.1_beta2.82.gd7f95b5-1
59 | conky-lua 1.9.0-2
60 | coreutils 8.24-1
61 | cryptsetup 1.7.0-1
62 | cups 2.1.0-1
63 | device-mapper 2.02.133-1
64 | dhcpcd 6.9.3-1
65 | dialog 1:1.2_20150920-1
66 | diffutils 3.3-2
67 | dmenu-mousey-git 2-1
68 | e2fsprogs 1.42.13-1
69 | expac 4-3
70 | faenza-crunchbang-icon-theme 1.2-2
71 | faenza-icon-theme 1.3.1-4
72 | fakeroot 1.20.2-1
73 | fdupes 1.51-2
74 | feh 2.14-1
75 | file 5.25-1
76 | filebot 4.6-1
77 | filesystem 2015.09-1
78 | findutils 4.4.2-6
79 | firefox 42.0-2
80 | flashplugin 11.2.202.548-1
81 | flex 2.5.39-1
82 | gawk 4.1.3-1
83 | gcc 5.2.0-2
84 | gcc-libs 5.2.0-2
85 | gettext 0.19.6-1
86 | ghostscript 9.18-4
87 | gimp 2.8.14-4
88 | glibc 2.22-3
89 | gmrun 0.9.2-5
90 | gnome-themes-standard 3.18.0-1
91 | google-chrome 46.0.2490.86-1
92 | grep 2.22-1
93 | groff 1.22.3-4
94 | grub 1:2.02.beta2-5
95 | gst-libav 1.6.1-1
96 | gst-plugins-good 1.6.1-2
97 | gstreamer0.10-bad-plugins 0.10.23-11
98 | gstreamer0.10-good-plugins 0.10.31-9
99 | gstreamer0.10-ugly-plugins 0.10.19-15
100 | gvim 7.4.884-1
101 | gzip 1.6-1
102 | hal 0.5.15-1
103 | handbrake 0.10.2-3
104 | hdparm 9.48-1
105 | hsetroot 1.0.2-4
106 | htop 1.0.3-3
107 | imagemagick 6.9.2.4-1
108 | inetutils 1.9.4-2
109 | iproute2 4.1.1-1
110 | iputils 20140519.fad11dc-1
111 | iw 4.1-1
112 | java-rxtx 2.2pre2-2
113 | jdk8-openjdk 8.u66-1
114 | jfsutils 1.1.15-4
115 | jre7-openjdk 7.u91_2.6.3-1
116 | jre8-openjdk 8.u66-1
117 | jshon 20131105-1
118 | kodi 15.2-1
119 | less 481-2
120 | libdvdcss 1.3.0-1
121 | libmediainfo 0.7.79-1
122 | libpng12 1.2.53-2
123 | libreoffice-fresh 5.0.3-1
124 | libtool 2.4.6-3
125 | libutil-linux 2.27-6
126 | licenses 20140629-1
127 | lightdm 1:1.16.5-1
128 | lightdm-gtk-greeter-settings 1.2.0-3
129 | lightdm-gtk3-greeter-devel 1.8.5-2
130 | linux 4.2.5-1
131 | lm_sensors 3.4.0-1
132 | logrotate 3.9.1-1
133 | lvm2 2.02.133-1
134 | lxappearance-obconf 0.2.2-3
135 | m4 1.4.17-1
136 | make 4.1-1
137 | man-db 2.7.5-1
138 | man-pages 4.02-1
139 | mdadm 3.3.4-1
140 | mediterraneannight-theme-git 2.03.0.1.r9.g2c41b16-1
141 | mencoder 37379-6
142 | mesa 11.0.5-1
143 | mlocate 0.26-5
144 | mp3gain 1.5.2-3
145 | nano 2.4.2-2
146 | network-manager-applet 1.0.6-1
147 | networkmanager 1.0.7-1
148 | nfs-utils 1.3.3-3
149 | nodejs 5.1.0-1
150 | nss-mdns 0.10-6
151 | ntfs-3g 2015.3.14-1
152 | ntop 5.0.1-7
153 | numlockx 1.2-3
154 | obconf 2.0.4-3
155 | oblogout 0.2-16
156 | obmenu 1.0-10
157 | openbox 3.6.1-1
158 | openbox-themes 1.0.2-3
159 | openshot 1.4.3-5
160 | openssh 7.1p1-1
161 | openvpn 2.3.8-2
162 | os-prober 1.70-1
163 | packer 20150808-1
164 | pacman 4.2.1-4
165 | patch 2.7.5-1
166 | pciutils 3.3.1-1
167 | pcmciautils 018-7
168 | perl 5.22.0-1
169 | php-mcrypt 5.6.15-3
170 | picocom 2.1-1
171 | pkg-config 0.29-1
172 | procps-ng 3.3.11-2
173 | psmisc 22.21-3
174 | python-dateutil 2.4.2-2
175 | python-gobject 3.18.2-1
176 | python2-xlib 0.15rc1-7
177 | reaver 1.4-2
178 | reiserfsprogs 3.6.24-1
179 | rxvt-unicode 9.21-3
180 | s-nail 14.8.5-1
181 | screen 4.3.1-2
182 | screenruler 2.0-1
183 | scrot 0.8.13-1
184 | sed 4.2.2-3
185 | shadow 4.2.1-3
186 | spacefm 1.0.4-1
187 | sudo 1.8.15-1
188 | sxhkd 0.5.5-1
189 | sysfsutils 2.1.0-9
190 | systemd-sysvcompat 227-1
191 | tar 1.28-1
192 | terminus-font 4.40-2
193 | texinfo 6.0-1
194 | tint2-git 0.12.1.r84.g095b311-1
195 | ttf-dejavu 2.34-2
196 | ttf-google-fonts-git 20150319-1
197 | ttf-mac-fonts 1-7
198 | ttf-microsoft-consolas 5.33-1
199 | ttf-ms-fonts 2.0-10
200 | udevil 0.4.4-1
201 | unrar 1:5.3.4-1
202 | urxvt-perls 2.2-1
203 | urxvt-vtwheel 0.3-2
204 | usbutils 008-1
205 | util-linux 2.27-6
206 | vi 1:070224-2
207 | vlc 2.2.1-9
208 | volumeicon 0.5.1-1
209 | waldorf-ui-theme 0.07-1
210 | wget 1.16.3-1
211 | which 2.21-1
212 | wireshark-gtk 2.0.0-1
213 | wmctrl 1.07-4
214 | wpa_supplicant 1:2.3-1
215 | wxgtk 3.0.2-4
216 | xclip 0.12-4
217 | xcursor-vanilla-dmz 0.4.4-1
218 | xdotool 3.20150503.1-1
219 | xf86-video-intel 1:2.99.917+478+gdf72bc5-2
220 | xfburn 0.5.4-2
221 | xfce4-notifyd 0.2.4-2
222 | xfsprogs 4.2.0-1
223 | xorg-server 1.17.4-2
224 | xorg-server-utils 7.6-4
225 | xorg-twm 1.0.9-1
226 | xorg-utils 7.6-9
227 | xorg-xclock 1.0.7-1
228 | xorg-xinit 1.3.4-3
229 | xsane 0.999-1
230 | xsel 1.2.0-6
231 | xterm 320-2
232 | youtube-dl-git 2015.11.10.r4.g6abce58-1
233 | zsh 5.1.1-2
234 |
--------------------------------------------------------------------------------
/update-yuri_config.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # updates README.md with current system info
4 | # copies some additional files for inclusion in the repo
5 | # stages all tracked files for upload to the git repo
6 |
7 | INPUT_FILE='/home/yuri/README.md'
8 | TMP_FILE=`mktemp -u "yuri_config-XXXXXX.md"`
9 | OUTPUT_FILE='/home/yuri/README.md'
10 | BACKUP_FILE="$INPUT_FILE.old"
11 |
12 | # files not in my home directory are listed in $ADDL_FILES_LIST
13 | # this script will copy them to $ADDL_FILES_PATH
14 | # files matching *.sh will be copied to $ADDL_FILES_PATH/scripts
15 | ADDL_FILES_LIST='/home/yuri/.yuri_misc_sys_files/FILES.txt'
16 | ADDL_FILES_PATH='/home/yuri/.yuri_misc_sys_files'
17 |
18 | # back up the previous file
19 | echo -e "Backing up $INPUT_FILE as $BACKUP_FILE\n"
20 | cp $INPUT_FILE $BACKUP_FILE
21 |
22 | # remove previous system info/output
23 | echo -e "Creating temporary $TMP_FILE\n"
24 | sed '/cut_here/q' $INPUT_FILE > $TMP_FILE
25 |
26 | # append date/time stamp
27 | date +"Appending time stamp: %a, %d %b %Y %H:%M:%S"
28 | date +"System info current as of: %a, %d %b %Y %H:%M:%S" >> $TMP_FILE
29 |
30 | # append uname info to temp file
31 | echo "Appending output of uname -a"
32 | echo -ne '\nOutput of `uname -a >> README.md` :\n\n ' >> $TMP_FILE
33 | uname -a >> $TMP_FILE
34 |
35 | # append package info to temp file
36 | # sed indents the lines for markdown purposes
37 | echo "Appending output of pacman -Qe"
38 | echo -ne '\nOutput of `pacman -Qe >> README.md` :
\n' >> $TMP_FILE
39 | echo -ne '(all explicitly installed Arch packages)\n\n' >> $TMP_FILE
40 | pacman -Qe | sed 's/^/ /' >> $TMP_FILE
41 |
42 | # move temp file to output file
43 | mv $TMP_FILE $OUTPUT_FILE
44 | echo -e "\nFile updated: $OUTPUT_FILE\n"
45 |
46 | # update files to include in the git repository
47 | # (files that are external to my home directory)
48 | echo -e "Copying selected system files to $ADDL_FILES_PATH\n"
49 | [ ! -d "$ADDL_FILES_PATH"/scripts ] && mkdir "$ADDL_FILES_PATH"/scripts
50 | while IFS= read -r f; do
51 | # copy files, scripts go to their own sub-directory
52 | [ ${f: -3} == ".sh" ] && cp $f "$ADDL_FILES_PATH"/scripts || cp $f $ADDL_FILES_PATH
53 | [ $? -ne 0 ] && echo "Error: did not copy $f" || echo "Success: copied $f"
54 | done < $ADDL_FILES_LIST
55 | echo
56 |
57 | # ask whether to stage update files for git
58 | # default = yes
59 | read -n 1 -r -p 'Stage tracked files (git add/commit)? [Y/n] '
60 | REPLY="${REPLY:=Y}"
61 | if [[ ! $REPLY =~ ^[Yy]$ ]]; then
62 | echo -e "\nExiting - files not staged."
63 | exit 0
64 | fi
65 |
66 | # git add/commit
67 | git add $ADDL_FILES_PATH
68 | git add -u
69 | git commit -m "`date +"scripted update: %a, %d %b %Y %H:%M:%S"`"
70 | if [ $? -ne 0 ] ; then
71 | echo -e "\nError - exiting, files not staged."
72 | exit 1
73 | fi
74 | echo -e "\nFiles staged for upload.\n"
75 |
76 | # ask whether to push files to git
77 | # default = yes
78 | read -n 1 -r -p 'Push files to current git branch? [Y/n] '
79 | REPLY="${REPLY:=Y}"
80 | if [[ ! $REPLY =~ ^[Yy]$ ]]; then
81 | echo -e "\nExiting - no files pushed."
82 | exit 0
83 | fi
84 |
85 | # git push
86 | echo
87 | git push origin master
88 | if [ $? -ne 0 ] ; then
89 | echo -e "\nError - exiting, no files pushed."
90 | exit 1
91 | fi
92 | echo -e "\n\nSuccess! Files pushed to current git branch.\n"
93 |
--------------------------------------------------------------------------------