├── Conky-Calendar-Extra
├── README.md
├── conky
│ ├── lua_widgets.lua
│ └── start_conky
└── conky_calendar_extra_by_xexpanderx-d77aeos.png
├── Conky-Revisited-2
├── Conky_Revisited_2
│ ├── Conky_Circle_Horizontal
│ │ ├── settings.lua
│ │ └── start_conky_General_HORIZONTAL_circle
│ ├── Conky_Circle_Vertical
│ │ ├── settings.lua
│ │ └── start_conky_General_VERTICAL_circle
│ ├── Conky_Square_Horizontal
│ │ ├── settings.lua
│ │ └── start_conky_General_HORIZONTAL
│ ├── Conky_Square_Vertical
│ │ ├── settings.lua
│ │ └── start_conky_General_VERTICAL
│ └── README.txt
├── README.md
├── Screenshot.png
└── install.sh
├── Conky-Weather
├── PNG
│ ├── 01d.png
│ ├── 01n.png
│ ├── 02d.png
│ ├── 02n.png
│ ├── 03d.png
│ ├── 03n.png
│ ├── 04d.png
│ ├── 04n.png
│ ├── 09d.png
│ ├── 09n.png
│ ├── 10d.png
│ ├── 10n.png
│ ├── 11d.png
│ ├── 11n.png
│ ├── 13d.png
│ ├── 13n.png
│ ├── 50d.png
│ └── 50n.png
├── README.md
├── conky_config
├── install.sh
├── openweather.py
├── screenshot.png
├── settings.lua
└── start_weather.sh
└── README.md
/Conky-Calendar-Extra/README.md:
--------------------------------------------------------------------------------
1 | Conky
2 |
3 | HowTo:
4 |
5 | (1) Install the lm-sensors package.
6 |
7 | (2) Run sudo sensors-detect and choose YES to all YES/no questions.
8 |
9 | (3) At the end of sensors-detect, a list of modules that needs to be loaded will displayed. Type "yes" to have sensors-detect insert those modules into /etc/modules, or edit /etc/modules yourself.
10 |
11 | (4) In Ubuntu, run sudo service module-init-tools restart. This will read the changes you made to /etc/modules in step 3, and insert the new modules into the kernel. Or, if using other distributions simply restart your computer.
12 |
13 | (5) Set your number of physical cores in lua_widgets.lua in USER CONFIGURATION section:
14 | ```
15 | number_of_physical_CPU_cores = YOUR_NUMBER_HERE
16 | ```
17 | (6) Start conky with:
18 | ```
19 | conky -c start_conky
20 | ```
21 |
22 | Optionally:
23 |
24 | In file lua_widgets.lua you can enable/disable graphic card temperature or changing colors, transparency and position. See lua_widgets.lua in USER CONFIGURATION section.
25 |
--------------------------------------------------------------------------------
/Conky-Calendar-Extra/conky/lua_widgets.lua:
--------------------------------------------------------------------------------
1 | -- 2014-02-24 by eXpander
2 |
3 |
4 | ---------------- USER CONFIGURATION ----------------
5 | -- Set your number of physical cores to show temperatures of each.
6 | number_of_physical_CPU_cores = 4
7 |
8 | -- Your GPU model. Only NVIDIA cards with NVIDIA proprietary drivers are official supported. Issue nvidia-smi to find your model!
9 | graphic_card_model = "Type Your Model Here"
10 |
11 | -- Show graphic card temperature? (Yes/No)
12 | enable_graphic_card_temperature_sensor= "No"
13 |
14 | -- Colors
15 | HTML_colors = "#000000"
16 | HTML_colors_current = "#FFFFFF"
17 | transparency = 0.25 -- From 0 to 1
18 |
19 | -- Scaled relative position from middle. Positive x and y means left and up, negative x and y means right and down.
20 | x_rel_pos = 0
21 | y_rel_pos = 0
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | require 'cairo'
79 |
80 | function hex2rgb(hex)
81 | hex = hex:gsub("#","")
82 | return tonumber("0x"..hex:sub(1,2)), tonumber("0x"..hex:sub(3,4)), tonumber("0x"..hex:sub(5,6))
83 | end
84 |
85 | r,g,b = hex2rgb(HTML_colors)
86 | r_c,g_c,b_c = hex2rgb(HTML_colors_current)
87 |
88 | r = r/255
89 | g = g/255
90 | b = b/255
91 |
92 | r_c = r_c/255
93 | g_c = g_c/255
94 | b_c = b_c/255
95 |
96 | if enable_graphic_card_temperature_sensor == "Yes" then
97 | number_of_physical_CPU_cores = number_of_physical_CPU_cores + 1
98 | end
99 |
100 |
101 | function create_circle_hdd(cr,w,h,elements,distance_between_blocks, radius, line_width, current)
102 | cairo_set_line_width(cr, line_width)
103 | cairo_set_source_rgba(cr, r,g,b,transparency)
104 | cairo_new_path(cr)
105 | local number_of_arcs = (360 - (elements*distance_between_blocks)) / elements
106 | local start_angel = 270
107 | local percent_per_element = 100.0 / elements
108 | local charged_elements = current / percent_per_element
109 |
110 | for i=1, elements do
111 | if charged_elements >= i then
112 | cairo_set_source_rgba(cr, r_c,g_c,b_c,transparency)
113 | end
114 | cairo_arc(cr, w,h,radius,start_angel*math.pi/180,(start_angel+number_of_arcs)*math.pi/180)
115 | cairo_stroke(cr)
116 | start_angel = start_angel+number_of_arcs+distance_between_blocks
117 | cairo_set_source_rgba(cr, r,g,b,transparency)
118 | end
119 | end
120 | function create_circle(cr,w,h, elements, distance_between_blocks, two_number_degree, radius, line_width, operator, radius_shift_for_text, current, days, shift_days_distance)
121 | cairo_set_line_width(cr, line_width)
122 | cairo_set_source_rgba(cr, r,g,b,transparency)
123 | cairo_new_path(cr)
124 | local number_of_arcs = (360 - (elements*distance_between_blocks)) / elements
125 | local start_angel = 270
126 |
127 | for i=1, elements do
128 | if i == current then
129 | cairo_set_source_rgba(cr, r_c,g_c,b_c,transparency)
130 | end
131 | cairo_arc(cr, w/2, h/2, radius, start_angel*math.pi/180, (start_angel+number_of_arcs)*math.pi/180)
132 | cairo_stroke(cr)
133 | start_angel = start_angel+number_of_arcs+distance_between_blocks
134 | cairo_set_source_rgba(cr, r,g,b,transparency)
135 | end
136 |
137 | start_angel = 270
138 | cairo_set_operator(cr, operator)
139 |
140 | for i=1, elements do
141 | if i == current then
142 | cairo_set_source_rgba(cr, r_c,g_c,b_c,transparency)
143 | end
144 | if string.len(tostring(i)) == 2 and days == "" then
145 | cairo_move_to(cr,w/2+((radius+radius_shift_for_text)*math.cos((start_angel+(((number_of_arcs-two_number_degree)/2)))*(math.pi/180.0))),h/2+((radius+radius_shift_for_text)*math.sin((start_angel+(((number_of_arcs-two_number_degree)/2)))*(math.pi/180.0))))
146 | cairo_rotate(cr, (((number_of_arcs-two_number_degree)/2)+(number_of_arcs+distance_between_blocks)*(i-1))*math.pi/180.0)
147 | cairo_show_text(cr,tostring(i))
148 | cairo_rotate(cr,-(((number_of_arcs-two_number_degree)/2)+(number_of_arcs+distance_between_blocks)*(i-1))*math.pi/180.0)
149 | elseif days ~= "" then
150 | cairo_move_to(cr,w/2+((radius+radius_shift_for_text)*math.cos((start_angel+((math.abs((number_of_arcs-shift_days_distance))/2)))*(math.pi/180.0))),h/2+((radius+radius_shift_for_text)*math.sin((start_angel+((math.abs((number_of_arcs-shift_days_distance))/2)))*(math.pi/180.0))))
151 | cairo_rotate(cr, ((math.abs((number_of_arcs-shift_days_distance))/2)+(number_of_arcs+distance_between_blocks)*(i-1)+4)*math.pi/180.0)
152 | cairo_show_text(cr,days[i])
153 | cairo_rotate(cr,-((math.abs((number_of_arcs-shift_days_distance))/2)+(number_of_arcs+distance_between_blocks)*(i-1)+4)*math.pi/180.0)
154 | elseif string.len(tostring(i)) == 1 and days == "" then
155 | cairo_move_to(cr,w/2+((radius+radius_shift_for_text)*math.cos((start_angel+(((number_of_arcs-distance_between_blocks)/2)))*(math.pi/180.0))),h/2+((radius+radius_shift_for_text)*math.sin((start_angel+(((number_of_arcs-distance_between_blocks)/2)))*(math.pi/180.0))))
156 | cairo_rotate(cr, (((number_of_arcs-distance_between_blocks)/2)+(number_of_arcs+distance_between_blocks)*(i-1))*math.pi/180.0)
157 | cairo_show_text(cr,tostring(i))
158 | cairo_rotate(cr,-(((number_of_arcs-distance_between_blocks)/2)+(number_of_arcs+distance_between_blocks)*(i-1))*math.pi/180.0)
159 | end
160 |
161 | start_angel = start_angel+number_of_arcs+distance_between_blocks
162 | cairo_set_source_rgba(cr, r,g,b,transparency)
163 | end
164 | cairo_close_path(cr)
165 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
166 | end
167 |
168 |
169 | function vertical_bars(cr,w,h,x,y,conky_value)
170 | cairo_set_source_rgba(cr, r,g,b,transparency)
171 | local percent_per_block = 70 / 10
172 | local number_of_filled_blocks = math.floor((conky_value/percent_per_block)+0.5)
173 |
174 | for i=1,10 do
175 | if number_of_filled_blocks >= i then
176 | cairo_set_source_rgba(cr, r_c,g_c,b_c,transparency)
177 | end
178 | --cairo_rectangle(cr, w/2-x, h/2+y-i*5,15,3)
179 | cairo_rectangle(cr, w, h/2+y-i*5,15,3)
180 | cairo_fill(cr)
181 | cairo_set_source_rgba(cr, r,g,b,transparency)
182 | end
183 |
184 | end
185 |
186 | function draw_circles(cr, x_start,y_start,radius, angle_1, angle_2, free_perc, angle_step)
187 | cairo_select_font_face (cr, "Dejavu Sans Condensed", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
188 | local number_of_circles = 360 / angle_step
189 | local angle_start = 90
190 | cairo_set_line_width(cr, 1)
191 | local percent_per_circle = 100.0 / number_of_circles
192 | local number_of_nonfree_circles = math.floor(((100.0 - tonumber(free_perc)) / percent_per_circle)+0.5)
193 | cairo_set_source_rgba(cr, r,g,b,transparency)
194 |
195 | for i=1,number_of_circles do
196 | cairo_arc(cr,x_start+(radius*math.cos(angle_start*(math.pi/180.0))),y_start-(radius+5)+radius-(radius*math.sin(angle_start*(math.pi/180.0))),2,angle1,angle2)
197 | if i <= number_of_nonfree_circles then
198 | cairo_set_source_rgba(cr, r_c,g_c,b_c,transparency)
199 | cairo_fill(cr)
200 | else
201 | cairo_set_source_rgba(cr, r,g,b,transparency)
202 | cairo_fill(cr)
203 | end
204 | angle_start = angle_start - angle_step
205 | end
206 | cairo_set_source_rgba(cr, r,g,b,transparency)
207 |
208 | end
209 |
210 | function draw_function(cr)
211 | local w,h=conky_window.width,conky_window.height
212 | cairo_set_line_width(cr, 3)
213 | cairo_set_font_size(cr,12)
214 | cairo_select_font_face (cr, "Dejavu Sans Condensed", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
215 |
216 | -- Number of weeks per year ---
217 | create_circle(cr,w-x_rel_pos,h-y_rel_pos, 52.0, 2, 3.5, 225, 3, CAIRO_OPERATOR_OVER, 4, tonumber(conky_parse('${exec date +%V}')), '')
218 |
219 | -- Number of days in a month ---
220 | create_circle(cr,w-x_rel_pos,h-y_rel_pos, conky_parse('${exec cal |egrep -v [a-z] |wc -w}'), 2, 3.5, 200, 13,CAIRO_OPERATOR_CLEAR, -4.5,tonumber(conky_parse('${exec date +%d}')), '')
221 |
222 | --- Days ---
223 | -- function create_circle(cr,w,h, elements, distance_between_blocks, two_number_degree, radius, line_width, operator, radius_shift_for_text, current, days, shift_days_distance)
224 |
225 | local days = {"Mon", "Tue", "Wed","Thu", "Fri", "Sat", "Sun"}
226 | create_circle(cr,w-x_rel_pos,h-y_rel_pos, 7, 2, 3.5, 150, 13, CAIRO_OPERATOR_CLEAR, -4, tonumber(conky_parse('${exec date +%u}')), days, 8.5)
227 |
228 | --- Month ---
229 |
230 | local month = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
231 | create_circle(cr,w-x_rel_pos,h-y_rel_pos, 12, 2, 3.5, 175, 13, CAIRO_OPERATOR_CLEAR, -4, tonumber(conky_parse('${exec date +%m}')), month, 5.5)
232 |
233 |
234 | --- Clock ---
235 | cairo_set_font_size(cr,42)
236 | cairo_move_to(cr, (w-x_rel_pos)/2-54,(h-y_rel_pos)/2)
237 | cairo_show_text(cr,conky_parse('${exec date +%H}') .. ":" .. conky_parse('${exec date +%M}'))
238 | cairo_set_font_size(cr,12)
239 | cairo_move_to(cr, (w-x_rel_pos)/2-24,(h-y_rel_pos)/2+14)
240 | cairo_show_text(cr, "")
241 |
242 |
243 | --- Free space ---
244 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
245 | angle1 = 0.0 * (math.pi/180.0);
246 | angle2 = 360.0 * (math.pi/180.0);
247 |
248 | create_circle_hdd(cr,(w-x_rel_pos)/2-60,(h-y_rel_pos)/2-80,20,3, 20, 3, 100-tonumber(conky_parse("${fs_free_perc /}")))
249 | create_circle_hdd(cr,(w-x_rel_pos)/2+60,(h-y_rel_pos)/2-80,20,3, 20, 3,100-tonumber(conky_parse("${fs_free_perc /home}")))
250 |
251 |
252 | cairo_arc(cr,(w-x_rel_pos)/2-60,(h-y_rel_pos)/2-80,14,0,2*math.pi)
253 | cairo_fill(cr)
254 | cairo_arc(cr,(w-x_rel_pos)/2+60,(h-y_rel_pos)/2-80,14,0,2*math.pi)
255 | cairo_fill(cr)
256 |
257 | cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR)
258 | cairo_move_to(cr, (w-x_rel_pos)/2-64, (h-y_rel_pos)/2-75)
259 | cairo_show_text(cr,"R")
260 | cairo_move_to(cr, (w-x_rel_pos)/2+56, (h-y_rel_pos)/2-75)
261 | cairo_show_text(cr,"H")
262 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
263 |
264 | --- Temperatures ---
265 |
266 | cairo_move_to(cr,(w-x_rel_pos)/2-50,(h-y_rel_pos)/2+100)
267 | cairo_set_font_size(cr,12)
268 |
269 | for i=1, number_of_physical_CPU_cores do
270 | x = (w-x_rel_pos)/2-((15*number_of_physical_CPU_cores)+15*(number_of_physical_CPU_cores-1))/2+30*(i-1)
271 |
272 | if enable_graphic_card_temperature_sensor == "Yes" and i == number_of_physical_CPU_cores then
273 | str= tonumber(conky_parse("${exec nvidia-smi | grep '" .. graphic_card_model .. "' -A 1 | tail -n 1 | awk '{print $3}' | cut -b1,2}"))
274 | vertical_bars(cr,x,h-y_rel_pos,64,75,str)
275 | cairo_arc(cr,x+8,(h-y_rel_pos)/2+90,7,0,2*math.pi)
276 | cairo_fill(cr)
277 | cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR)
278 | cairo_move_to(cr,x+3,(h-y_rel_pos)/2+94)
279 | cairo_show_text(cr,"G")
280 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
281 | else
282 | str = "${exec sensors|grep 'Core " .. tostring(i-1) .. ":'|awk '{print $3}'| cut -b2,3,4,5}"
283 | vertical_bars(cr,x,h-y_rel_pos,64,75,tonumber(conky_parse(str)))
284 | cairo_arc(cr,x+8,(h-y_rel_pos)/2+90,7,0,2*math.pi)
285 | cairo_fill(cr)
286 | cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR)
287 | cairo_move_to(cr,x+5,(h-y_rel_pos)/2+94)
288 | cairo_show_text(cr,tostring(i-1))
289 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
290 | end
291 |
292 | end
293 | end
294 |
295 | function conky_start_widgets()
296 | local function draw_conky_function(cr)
297 | local str=''
298 | local value=0
299 | draw_function(cr)
300 | end
301 |
302 | -- Check that Conky has been running for at least 5s
303 |
304 | if conky_window==nil then return end
305 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
306 |
307 | local cr=cairo_create(cs)
308 |
309 | local updates=conky_parse('${updates}')
310 | update_num=tonumber(updates)
311 |
312 | if update_num>5 then
313 | draw_conky_function(cr)
314 | end
315 | cairo_surface_destroy(cs)
316 | cairo_destroy(cr)
317 | end
318 |
--------------------------------------------------------------------------------
/Conky-Calendar-Extra/conky/start_conky:
--------------------------------------------------------------------------------
1 | background no
2 | update_interval 1
3 |
4 | override_utf8_locale yes
5 |
6 | double_buffer yes
7 | no_buffers yes
8 |
9 | text_buffer_size 2048
10 | imlib_cache_size 0
11 |
12 |
13 | own_window yes
14 | own_window_transparent yes
15 | own_window_argb_visual yes
16 | own_window_type normal
17 | #own_window_class conky-semi
18 | own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
19 |
20 | border_inner_margin 0
21 | border_outer_margin 0
22 |
23 | minimum_size 600 1000 #width height
24 |
25 |
26 | alignment tm
27 | gap_x 0
28 | gap_y 0
29 |
30 | draw_shades yes
31 | draw_outline no
32 | draw_borders no
33 | draw_graph_borders no
34 |
35 | use_xft yes
36 | xftfont pftempestafivecondensed:size=6
37 | xftalpha 0.5
38 |
39 | uppercase no
40 |
41 | default_color FFFFFF
42 |
43 | lua_load lua_widgets.lua
44 | lua_draw_hook_pre start_widgets
45 |
46 | TEXT
47 | ${color FFFFFF}
48 |
--------------------------------------------------------------------------------
/Conky-Calendar-Extra/conky_calendar_extra_by_xexpanderx-d77aeos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Calendar-Extra/conky_calendar_extra_by_xexpanderx-d77aeos.png
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Circle_Horizontal/settings.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | ---------------- USER CONFIGURATION ----------------
3 | Change the parameters below to fit your needs.
4 | ]]--
5 |
6 | -- Colors
7 |
8 | HTML_color_battery = "#FFFFFF"
9 | HTML_color_drive_1 = "#FFFFFF"
10 | HTML_color_drive_2 = "#FFFFFF"
11 | HTML_color_CPU = "#FFFFFF"
12 | HTML_color_RAM = "#FFFFFF"
13 | HTML_color_BORDER = "#FFFFFF"
14 | transparency_battery = 0.6
15 | transparency_drive_1 = 0.6
16 | transparency_drive_2 = 0.6
17 | transparency_CPU = 0.6
18 | transparency_RAM = 0.6
19 | transparency_border = 0.1
20 |
21 | --[[
22 | Show battery:
23 | true
24 | false
25 | ]]--
26 | battery = true
27 |
28 | --[[
29 | Battery number. Default=BAT0. Change this number if you get following errors:
30 | conky: can't open /sys/class/power_supply/BAT0/uevent
31 | conky: can't open /proc/acpi/battery/BAT0/state: No such file or directory
32 |
33 | Try with number BAT1 or BAT2 e.t.c.
34 | ]]--
35 | battery_number="BAT0"
36 |
37 | --[[
38 | Modes:
39 | 1 = Show background area
40 | 2 = No background area
41 | ]]--
42 | mode = 1
43 |
44 | -- Path of drives for free space status.
45 | drive_paths = {"/home", "/"}
46 |
47 | -- Names of drives for free space status.
48 | drive_names = {"Home", "Root"}
49 |
50 | -- Number of drives to show free space status. Adjust the conky "height"-parameter in config manually to adjust for the increase in Conky height when adding more drives.
51 | drives = 2
52 |
53 | -- Number of CPUs
54 | number_of_cpus = 4
55 |
56 | -- Special border width
57 | special_border = 0
58 |
59 | -- Normal border size
60 | border_size = 4
61 |
62 | -- Hide percent text in circular conky mode
63 | hide = false
64 |
65 | -- Draw a horizontal line over circle. Set a value for line size. A value of 0 disables drawing the line.
66 | line_over_size = 0
67 |
68 | -- Distance between each conky area.
69 | gap_x_distance = 10
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 | --[[
97 | -- DON'T EDIT BELOW IF YOU DO NOT KNOW WHAT YOU ARE DOING!!!
98 | ]]--
99 |
100 |
101 | require 'cairo'
102 |
103 | operator = {CAIRO_OPERATOR_SOURCE,
104 | CAIRO_OPERATOR_CLEAR
105 | }
106 |
107 | operator_transpose = {CAIRO_OPERATOR_CLEAR,
108 | CAIRO_OPERATOR_SOURCE
109 | }
110 |
111 | function hex2rgb(hex)
112 | hex = hex:gsub("#","")
113 | return (tonumber("0x"..hex:sub(1,2))/255), (tonumber("0x"..hex:sub(3,4))/255), tonumber(("0x"..hex:sub(5,6))/255)
114 | end
115 |
116 |
117 | r_battery, g_battery, b_battery = hex2rgb(HTML_color_battery)
118 | r_CPU, g_CPU, b_CPU = hex2rgb(HTML_color_CPU)
119 | r_RAM, g_RAM, b_RAM = hex2rgb(HTML_color_RAM)
120 |
121 | r_border, g_border, b_border = hex2rgb(HTML_color_BORDER)
122 |
123 | r_drive_1, g_drive_1, b_drive_1 = hex2rgb(HTML_color_drive_1)
124 | r_drive_2, g_drive_2, b_drive_2 = hex2rgb(HTML_color_drive_2)
125 |
126 | drive_colors = {{r_drive_1, g_drive_1, b_drive_1,transparency_drive_1},
127 | {r_drive_2, g_drive_2, b_drive_2,transparency_drive_2}}
128 |
129 |
130 | function fix_text(text)
131 | if string.len(text) == 1 then
132 | new_text = "0" .. text .. "%"
133 | return new_text
134 | else
135 | new_text = text .. "%"
136 | return new_text
137 | end
138 | end
139 |
140 | function draw_circle(cr,pos_x,pos_y,color1,color2,color3,trans, parameter)
141 | cairo_set_operator(cr, operator[mode])
142 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
143 | cairo_set_line_width(cr, 2)
144 |
145 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,54,0*math.pi/180,360*math.pi/180)
146 | cairo_fill(cr)
147 |
148 |
149 | cairo_set_line_width(cr, border_size)
150 | cairo_set_source_rgba(cr, r_border,g_border,b_border,transparency_border)
151 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,54,0*math.pi/180,360*math.pi/180)
152 | cairo_stroke(cr)
153 |
154 | cairo_set_operator(cr, operator_transpose[mode])
155 | cairo_set_line_width(cr, special_border)
156 | cairo_set_source_rgba(cr, color1,color2,color3, trans)
157 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
158 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,51,0*math.pi/180,360*math.pi/180)
159 | cairo_stroke(cr)
160 |
161 | if not hide then
162 | ct = cairo_text_extents_t:create()
163 | cairo_set_font_size(cr,10)
164 | cairo_text_extents(cr,fix_text(parameter),ct)
165 | cairo_move_to(cr,pos_x+10+34-ct.width/2,pos_y+88/2-54+25/2+ct.height/2)
166 | cairo_show_text(cr,fix_text(parameter))
167 | cairo_close_path(cr)
168 | end
169 |
170 | cairo_set_line_width(cr, line_over_size)
171 | cairo_move_to(cr,pos_x+10+34,pos_y+88/2)
172 | cairo_rel_line_to(cr,54,0)
173 | cairo_rel_line_to(cr,-108,0)
174 | cairo_stroke(cr)
175 | end
176 |
177 | function draw_battery(cr,pos_x, pos_y,start_rect_height,color1,color2,color3,trans)
178 |
179 | cairo_set_operator(cr, operator_transpose[mode])
180 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
181 | cairo_set_line_width(cr, 2)
182 | set_battery_blocks_x = 0
183 | battery_gap_y = (start_rect_height/2)-27/2+pos_y
184 |
185 | cairo_move_to(cr,pos_x,battery_gap_y)
186 |
187 | cairo_rel_line_to(cr,64,0)
188 | cairo_rel_line_to(cr,0,((27-10)/2))
189 | cairo_rel_line_to(cr,5,0)
190 | cairo_rel_line_to(cr,0,10)
191 | cairo_rel_line_to(cr,-5,0)
192 | cairo_rel_line_to(cr,0,((27-10)/2))
193 | cairo_rel_line_to(cr,-64,0)
194 | cairo_close_path(cr)
195 | cairo_fill(cr)
196 |
197 | number_of_charges = math.floor((12 / 100)*tonumber(conky_parse('${battery_percent ' .. battery_number .. '}')))
198 | cairo_set_operator(cr, operator[mode])
199 | for i=1,number_of_charges do
200 | cairo_rectangle(cr,pos_x+3+set_battery_blocks_x,3+battery_gap_y,3,21)
201 | cairo_fill(cr)
202 | set_battery_blocks_x = set_battery_blocks_x + 5
203 | end
204 | end
205 |
206 | function draw_folder(cr,x_pos,y_pos,start_rect_height,hdd,folder_name,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
207 | -- Draw indicator
208 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
209 | cairo_set_operator(cr, operator_transpose[mode])
210 |
211 | local distance_between_arcs = 0
212 | local number_of_arcs = 20
213 | local arcs_length = (360 - (number_of_arcs*distance_between_arcs)) / number_of_arcs
214 | local start_angel = 270
215 | local used_blocks = math.floor((number_of_arcs / 100) * tonumber(conky_parse('${fs_free_perc ' .. hdd .. '}')))
216 | local radius_outer = 34
217 | local radius_inner = 24
218 | local radius = 29
219 | cairo_set_line_width(cr, 2)
220 |
221 | cairo_set_line_width(cr, 6)
222 | cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
223 | cairo_stroke(cr)
224 |
225 | cairo_set_line_width(cr, 3)
226 | cairo_set_operator(cr, operator[mode])
227 | for i=1, used_blocks do
228 | cairo_arc(cr, x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+arcs_length)*math.pi/180)
229 | cairo_stroke(cr)
230 | start_angel = start_angel+arcs_length+distance_between_arcs
231 | end
232 |
233 | cairo_set_operator(cr, operator_transpose[mode])
234 |
235 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
236 | cairo_set_line_width(cr, 2)
237 |
238 | cairo_move_to(cr,x_pos+10+34-15,(start_rect_height/2-5.5)+y_pos)
239 | cairo_rel_line_to(cr,15,-9)
240 | cairo_rel_line_to(cr,15,9)
241 | cairo_rel_line_to(cr,0,4)
242 | cairo_rel_line_to(cr,-15,-9)
243 | cairo_rel_line_to(cr,-15,9)
244 | cairo_close_path(cr)
245 | cairo_fill(cr)
246 |
247 | cairo_move_to(cr,x_pos+10+34-15+24,(start_rect_height/2-5.5)-6+y_pos)
248 | cairo_rel_line_to(cr,4,2)
249 | cairo_rel_line_to(cr,0,-5)
250 | cairo_rel_line_to(cr,-4,0)
251 | cairo_close_path(cr)
252 | cairo_fill(cr)
253 |
254 | cairo_move_to(cr,x_pos+10+34-15+4,(start_rect_height/2-5.5)+5+y_pos)
255 | cairo_rel_line_to(cr,11,-7)
256 | cairo_rel_line_to(cr,11,7)
257 | cairo_rel_line_to(cr,0,15)
258 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
259 | cairo_rel_line_to(cr,0,-6)
260 | cairo_rel_line_to(cr,-8,0)
261 | cairo_rel_line_to(cr,0,6)
262 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
263 | cairo_close_path(cr)
264 | cairo_fill(cr)
265 |
266 | cairo_set_operator(cr, operator_transpose[mode])
267 | ct_text = cairo_text_extents_t:create()
268 | cairo_set_font_size(cr,8)
269 | cairo_text_extents(cr,folder_name,ct_text)
270 | cairo_move_to(cr,x_pos+10+34-ct_text.width/2,(start_rect_height/2)+y_pos+54-25/2+ct_text.height/2)
271 | cairo_show_text(cr,folder_name)
272 |
273 | cairo_set_line_width(cr, line_over_size)
274 | cairo_move_to(cr,x_pos+10+34,y_pos+start_rect_height/2)
275 | cairo_rel_line_to(cr,54,0)
276 | cairo_rel_line_to(cr,-108,0)
277 | cairo_stroke(cr)
278 | end
279 |
280 | function draw_cpu(cr,number_of_cpus,x_pos,y_pos,r,g,b,transparency)
281 | cairo_set_operator(cr, operator_transpose[mode])
282 | cairo_set_source_rgba(cr,r,g,b,transparency)
283 |
284 | multipler = 68/100
285 |
286 | for i=1,number_of_cpus do
287 | cairo_rectangle(cr,x_pos+((68-(5*(number_of_cpus-1)))/number_of_cpus+5)*(i-1),y_pos+68,(68-(5*(number_of_cpus-1)))/number_of_cpus,-multipler*tonumber(conky_parse('${cpu cpu' .. tostring(i) .. '}')))
288 | cairo_fill(cr)
289 | end
290 | end
291 |
292 | function draw_ram(cr,x_pos,y_pos, radius, r, g, b, transparency)
293 | cairo_set_operator(cr, operator_transpose[mode])
294 | cairo_set_source_rgba(cr,r, g, b, transparency)
295 |
296 | cairo_set_line_width(cr, 2)
297 | local align_middle = 14 -- 50 pixel height
298 |
299 | cairo_arc(cr,x_pos+radius,y_pos+radius+align_middle,radius,180*math.pi/180,(180+90)*math.pi/180)
300 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+align_middle,radius,-90*math.pi/180,(0)*math.pi/180)
301 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+20+align_middle,radius,0*math.pi/180,(90)*math.pi/180)
302 | cairo_arc(cr,x_pos+radius,y_pos+radius+20+align_middle,radius,90*math.pi/180,(180)*math.pi/180)
303 |
304 | cairo_close_path(cr)
305 | cairo_fill(cr)
306 |
307 | local multipler = 7/100
308 | local free_memory = math.floor((100-tonumber(conky_parse('${memperc}')))*multipler)
309 |
310 | for i=1, 7 do
311 | cairo_move_to(cr,x_pos+radius+(8*(i-1))-2,y_pos+radius+20+align_middle+10+1+2+1)
312 | cairo_rel_line_to(cr,4,0)
313 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+radius+20+align_middle+10+1+2+1+4,2,0*math.pi/180,(180)*math.pi/180)
314 | cairo_close_path(cr)
315 |
316 | if i <= free_memory then
317 | cairo_stroke_preserve(cr)
318 | cairo_fill(cr)
319 | else
320 | cairo_stroke(cr)
321 | end
322 |
323 | cairo_move_to(cr,x_pos+radius+(8*(i-1))+2,y_pos+align_middle-4)
324 | cairo_rel_line_to(cr,-4,0)
325 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+align_middle-4-4,2,180*math.pi/180,(0)*math.pi/180)
326 | cairo_close_path(cr)
327 |
328 | if i <= free_memory then
329 | cairo_stroke_preserve(cr)
330 | cairo_fill(cr)
331 | else
332 | cairo_stroke(cr)
333 | end
334 |
335 | end
336 |
337 | cairo_set_operator(cr, operator[mode])
338 | cairo_set_font_size(cr, 21)
339 | cairo_move_to(cr,x_pos-1+33-22,y_pos+align_middle+1+19+8)
340 | cairo_show_text(cr, "RAM")
341 | end
342 |
343 | function draw_function(cr)
344 | local w,h=conky_window.width,conky_window.height
345 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
346 |
347 | local start_rect_height = 88
348 | -- Start with 172
349 | local start_rect_width = 108
350 | local gap_y_text = (start_rect_height/2)-7
351 | local gap_x = 10
352 | local gap_y = 10
353 | local gap_x_fix = 15
354 | local gap_y_fix = 15
355 | local start_rect_width_no_battery = 66.5
356 | local radius = 10
357 |
358 | if battery then
359 |
360 | draw_circle(cr,gap_x_fix,gap_y_fix,r_battery,g_battery,b_battery,transparency_battery,conky_parse('${battery_percent ' .. battery_number .. '}'))
361 | draw_battery(cr,gap_x+gap_x_fix, gap_y_fix,start_rect_height,r_battery,g_battery, b_battery,transparency_battery)
362 |
363 | for i=1,drives do
364 | draw_circle(cr,(start_rect_width+gap_x_distance)*i+gap_x_fix,gap_y_fix,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],conky_parse('${fs_free_perc ' .. drive_paths[i] .. '}'))
365 | draw_folder(cr,(start_rect_width+gap_x_distance)*i+gap_x_fix,gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
366 | end
367 |
368 | draw_circle(cr,(start_rect_width+gap_x_distance)*(drives+1)+gap_x_fix,gap_y_fix,r_CPU, g_CPU, b_CPU, transparency_CPU,conky_parse('${cpu cpu0}'))
369 | draw_cpu(cr,number_of_cpus, (start_rect_width+gap_x_distance)*(drives+1)+gap_x+gap_x_fix,gap_y_fix+gap_y,r_CPU, g_CPU, b_CPU, transparency_CPU)
370 |
371 | draw_circle(cr,(start_rect_width+gap_x_distance)*(drives+2)+gap_x_fix,gap_y_fix,r_RAM, g_RAM, b_RAM, transparency_RAM,tostring(100-tonumber(conky_parse('${memperc}'))))
372 | draw_ram(cr,(start_rect_width+gap_x_distance)*(drives+2)+gap_x+gap_x_fix,gap_y+gap_y_fix, radius, r_RAM, g_RAM, b_RAM, transparency_RAM)
373 |
374 | else
375 |
376 | for i=1,drives do
377 | draw_circle(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],conky_parse('${fs_free_perc ' .. drive_paths[i] .. '}'))
378 | draw_folder(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
379 | start_rect_width_no_battery = start_rect_width_no_battery + gap_x_distance + 108
380 | end
381 |
382 | draw_circle(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix,r_CPU, g_CPU, b_CPU, transparency_CPU,conky_parse('${cpu cpu0}'))
383 | draw_cpu(cr,number_of_cpus,(start_rect_width_no_battery)+gap_x+gap_x_fix,gap_y_fix+gap_y,r_CPU, g_CPU, b_CPU, transparency_CPU)
384 | start_rect_width_no_battery = start_rect_width_no_battery + gap_x_distance + 108
385 |
386 | draw_circle(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix,r_RAM,g_RAM,b_RAM,transparency_RAM,tostring(100-tonumber(conky_parse('${memperc}'))))
387 | draw_ram(cr,(start_rect_width_no_battery)+gap_x+gap_x_fix,gap_y+gap_y_fix,radius,r_RAM,g_RAM,b_RAM,transparency_RAM)
388 |
389 | end
390 | end
391 |
392 | function conky_start_widgets()
393 | local function draw_conky_function(cr)
394 | local str=''
395 | local value=0
396 | draw_function(cr)
397 | end
398 |
399 | -- Check that Conky has been running for at least 5s
400 |
401 | if conky_window==nil then return end
402 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
403 |
404 | local cr=cairo_create(cs)
405 |
406 | local updates=conky_parse('${updates}')
407 | update_num=tonumber(updates)
408 |
409 | if update_num>5 then
410 | draw_conky_function(cr)
411 | end
412 | cairo_surface_destroy(cs)
413 | cairo_destroy(cr)
414 | end
415 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Circle_Horizontal/start_conky_General_HORIZONTAL_circle:
--------------------------------------------------------------------------------
1 | conky.config = {
2 | background = false,
3 | update_interval = 1,
4 |
5 | override_utf8_locale = true,
6 |
7 | double_buffer = true,
8 | no_buffers = true,
9 |
10 | text_buffer_size = 2048,
11 | imlib_cache_size = 0,
12 |
13 |
14 | own_window = true,
15 | own_window_type = 'normal',
16 | own_window_transparent = true,
17 | own_window_argb_visual = true,
18 | own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
19 |
20 | border_inner_margin = 0,
21 | border_outer_margin = 0,
22 |
23 | minimum_width = 596, minimum_height = 134,--width height
24 |
25 |
26 | alignment = 'top_middle',
27 | gap_x = 0,
28 | gap_y = 0,
29 |
30 | draw_shades = true,
31 | draw_outline = false,
32 | draw_borders = false,
33 | draw_graph_borders = false,
34 |
35 | use_xft = true,
36 | font = 'pftempestafivecondensed:size=6',
37 | xftalpha = 0.5,
38 |
39 | uppercase = false,
40 |
41 | lua_load = '~/.conky/Conky_Revisited_2/Conky_Circle_Horizontal/settings.lua',
42 | -- lua_load = 'settings.lua',
43 | lua_draw_hook_pre = 'start_widgets',
44 | };
45 |
46 | conky.text = [[
47 | ]];
48 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Circle_Vertical/settings.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | ---------------- USER CONFIGURATION ----------------
3 | Change the parameters below to fit your needs.
4 | ]]--
5 |
6 | -- Colors
7 |
8 | HTML_color_battery = "#FFFFFF"
9 | HTML_color_drive_1 = "#FFFFFF"
10 | HTML_color_drive_2 = "#FFFFFF"
11 | HTML_color_CPU = "#FFFFFF"
12 | HTML_color_RAM = "#FFFFFF"
13 | HTML_color_BORDER = "#FFFFFF"
14 | transparency_battery = 0.6
15 | transparency_drive_1 = 0.6
16 | transparency_drive_2 = 0.6
17 | transparency_CPU = 0.6
18 | transparency_RAM = 0.6
19 | transparency_border = 0.1
20 |
21 | --[[
22 | Show battery:
23 | true
24 | false
25 | ]]--
26 | battery = true
27 |
28 | --[[
29 | Battery number. Default=BAT0. Change this number if you get following errors:
30 | conky: can't open /sys/class/power_supply/BAT0/uevent
31 | conky: can't open /proc/acpi/battery/BAT0/state: No such file or directory
32 |
33 | Try with number BAT1 or BAT2 e.t.c.
34 | ]]--
35 | battery_number="BAT0"
36 |
37 | --[[
38 | Modes:
39 | 1 = Show background area
40 | 2 = No background area
41 | ]]--
42 | mode = 1
43 |
44 | -- Path of drives for free space status.
45 | drive_paths = {"/home", "/"}
46 |
47 | -- Names of drives for free space status.
48 | drive_names = {"Home", "Root"}
49 |
50 | -- Number of drives to show free space status. Adjust the conky "height"-parameter in config manually to adjust for the increase in Conky height when adding more drives.
51 | drives = 2
52 |
53 | -- Number of CPUs
54 | number_of_cpus = 4
55 |
56 | -- Special border width
57 | special_border = 0
58 |
59 | -- Normal border size
60 | border_size = 4
61 |
62 | -- Hide percent text in circular conky mode
63 | hide = false
64 |
65 | -- Draw a horizontal line over circle. Set a value for line size. A value of 0 disables drawing the line.
66 | line_over_size = 0
67 |
68 | -- Distance between each conky area.
69 | gap_y = 10
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 | --[[
97 | -- DON'T EDIT BELOW IF YOU DO NOT KNOW WHAT YOU ARE DOING!!!
98 | ]]--
99 |
100 |
101 | require 'cairo'
102 |
103 | operator = {CAIRO_OPERATOR_SOURCE,
104 | CAIRO_OPERATOR_CLEAR
105 | }
106 |
107 | operator_transpose = {CAIRO_OPERATOR_CLEAR,
108 | CAIRO_OPERATOR_SOURCE
109 | }
110 |
111 | function hex2rgb(hex)
112 | hex = hex:gsub("#","")
113 | return (tonumber("0x"..hex:sub(1,2))/255), (tonumber("0x"..hex:sub(3,4))/255), tonumber(("0x"..hex:sub(5,6))/255)
114 | end
115 |
116 |
117 | r_battery, g_battery, b_battery = hex2rgb(HTML_color_battery)
118 | r_CPU, g_CPU, b_CPU = hex2rgb(HTML_color_CPU)
119 | r_RAM, g_RAM, b_RAM = hex2rgb(HTML_color_RAM)
120 |
121 | r_border, g_border, b_border = hex2rgb(HTML_color_BORDER)
122 |
123 | r_drive_1, g_drive_1, b_drive_1 = hex2rgb(HTML_color_drive_1)
124 | r_drive_2, g_drive_2, b_drive_2 = hex2rgb(HTML_color_drive_2)
125 |
126 | drive_colors = {{r_drive_1, g_drive_1, b_drive_1,transparency_drive_1},
127 | {r_drive_2, g_drive_2, b_drive_2,transparency_drive_2}}
128 |
129 | function fix_text(text)
130 | if string.len(text) == 1 then
131 | new_text = "0" .. text .. "%"
132 | return new_text
133 | else
134 | new_text = text .. "%"
135 | return new_text
136 | end
137 | end
138 |
139 |
140 | function draw_circle(cr,pos_x,pos_y,color1,color2,color3,trans,parameter)
141 | cairo_set_operator(cr, operator[mode])
142 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
143 | cairo_set_line_width(cr, 2)
144 |
145 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,54,0*math.pi/180,360*math.pi/180)
146 | cairo_fill(cr)
147 |
148 | cairo_set_line_width(cr, border_size)
149 | cairo_set_source_rgba(cr, r_border,g_border,b_border,transparency_border)
150 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,54,0*math.pi/180,360*math.pi/180)
151 | cairo_stroke(cr)
152 |
153 | cairo_set_operator(cr, operator_transpose[mode])
154 | cairo_set_line_width(cr, special_border)
155 |
156 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
157 | cairo_arc(cr,pos_x+10+34,(88/2)+pos_y,51,0*math.pi/180,360*math.pi/180)
158 | cairo_stroke(cr)
159 | cairo_close_path(cr)
160 |
161 | if not hide then
162 | ct = cairo_text_extents_t:create()
163 | cairo_set_font_size(cr,10)
164 | cairo_text_extents(cr,fix_text(parameter),ct)
165 | cairo_move_to(cr,pos_x+10+34-ct.width/2,pos_y+88/2-54+25/2+ct.height/2)
166 | cairo_show_text(cr,fix_text(parameter))
167 | cairo_close_path(cr)
168 | end
169 |
170 | cairo_set_line_width(cr, line_over_size)
171 | cairo_move_to(cr,pos_x+10+34,pos_y+88/2)
172 | cairo_rel_line_to(cr,54,0)
173 | cairo_rel_line_to(cr,-108,0)
174 | cairo_stroke(cr)
175 | end
176 |
177 | function draw_battery(cr,pos_x, pos_y,color1,color2,color3,trans)
178 |
179 | cairo_set_operator(cr, operator_transpose[mode])
180 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
181 | cairo_set_line_width(cr, 2)
182 | set_battery_blocks_x = 0
183 | battery_gap_y = (88/2)-(27/2)+pos_y
184 |
185 | cairo_move_to(cr,pos_x,battery_gap_y)
186 | cairo_rel_line_to(cr,64,0)
187 | cairo_rel_line_to(cr,0,((27-10)/2))
188 | cairo_rel_line_to(cr,5,0)
189 | cairo_rel_line_to(cr,0,10)
190 | cairo_rel_line_to(cr,-5,0)
191 | cairo_rel_line_to(cr,0,((27-10)/2))
192 | cairo_rel_line_to(cr,-64,0)
193 | cairo_close_path(cr)
194 | cairo_fill(cr)
195 |
196 | number_of_charges = math.floor((12 / 100)*tonumber(conky_parse('${battery_percent ' .. battery_number .. '}')))
197 | cairo_set_operator(cr, operator[mode])
198 | for i=1,number_of_charges do
199 | cairo_rectangle(cr,pos_x+3+set_battery_blocks_x,3+battery_gap_y,3,21)
200 | cairo_fill(cr)
201 | set_battery_blocks_x = set_battery_blocks_x + 5
202 | end
203 | end
204 |
205 | function draw_folder(cr,x_pos,y_pos,start_rect_height,hdd,folder_name,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
206 |
207 | -- Draw indicator
208 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
209 | cairo_set_operator(cr, operator_transpose[mode])
210 | local distance_between_arcs = 0
211 | local number_of_arcs = 20
212 | local arcs_length = (360 - (number_of_arcs*distance_between_arcs)) / number_of_arcs
213 | local start_angel = 270
214 | local used_blocks = math.floor((number_of_arcs / 100) * tonumber(conky_parse('${fs_free_perc ' .. hdd .. '}')))
215 | local radius_outer = 34
216 | local radius_inner = 24
217 | local radius = 29
218 | cairo_set_line_width(cr, 2)
219 |
220 | cairo_set_line_width(cr, 6)
221 | cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
222 | cairo_stroke(cr)
223 |
224 | cairo_set_line_width(cr, 3)
225 | cairo_set_operator(cr, operator[mode])
226 | for i=1, used_blocks do
227 | cairo_arc(cr, x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+arcs_length)*math.pi/180)
228 | cairo_stroke(cr)
229 | start_angel = start_angel+arcs_length+distance_between_arcs
230 | end
231 |
232 | cairo_set_operator(cr, operator_transpose[mode])
233 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
234 | cairo_set_line_width(cr, 2)
235 |
236 | cairo_move_to(cr,x_pos+10+34-15,(start_rect_height/2-5.5)+y_pos)
237 | cairo_rel_line_to(cr,15,-9)
238 | cairo_rel_line_to(cr,15,9)
239 | cairo_rel_line_to(cr,0,4)
240 | cairo_rel_line_to(cr,-15,-9)
241 | cairo_rel_line_to(cr,-15,9)
242 | cairo_close_path(cr)
243 | cairo_fill(cr)
244 |
245 | cairo_move_to(cr,x_pos+10+34-15+24,(start_rect_height/2-5.5)-6+y_pos)
246 | cairo_rel_line_to(cr,4,2)
247 | cairo_rel_line_to(cr,0,-5)
248 | cairo_rel_line_to(cr,-4,0)
249 | cairo_close_path(cr)
250 | cairo_fill(cr)
251 |
252 | cairo_move_to(cr,x_pos+10+34-15+4,(start_rect_height/2-5.5)+5+y_pos)
253 | cairo_rel_line_to(cr,11,-7)
254 | cairo_rel_line_to(cr,11,7)
255 | cairo_rel_line_to(cr,0,15)
256 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
257 | cairo_rel_line_to(cr,0,-6)
258 | cairo_rel_line_to(cr,-8,0)
259 | cairo_rel_line_to(cr,0,6)
260 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
261 | cairo_close_path(cr)
262 | cairo_fill(cr)
263 |
264 | cairo_set_operator(cr, operator_transpose[mode])
265 | ct_text = cairo_text_extents_t:create()
266 | cairo_set_font_size(cr,8)
267 | cairo_text_extents(cr,folder_name,ct_text)
268 | cairo_move_to(cr,x_pos+10+34-ct_text.width/2,(start_rect_height/2)+y_pos+54-25/2+ct_text.height/2)
269 | cairo_show_text(cr,folder_name)
270 |
271 | cairo_set_line_width(cr, line_over_size)
272 | cairo_move_to(cr,x_pos+10+34,y_pos+start_rect_height/2)
273 | cairo_rel_line_to(cr,54,0)
274 | cairo_rel_line_to(cr,-108,0)
275 | cairo_stroke(cr)
276 | end
277 |
278 | function draw_cpu(cr,number_of_cpus,x_pos,y_pos,r,g,b,transparency)
279 | cairo_set_operator(cr, operator_transpose[mode])
280 | cairo_set_source_rgba(cr,r,g,b,transparency)
281 |
282 | multipler = 68/100
283 |
284 | for i=1,number_of_cpus do
285 | cairo_rectangle(cr,x_pos+((68-(5*(number_of_cpus-1)))/number_of_cpus+5)*(i-1),y_pos+68+10,(68-(5*(number_of_cpus-1)))/number_of_cpus,-multipler*tonumber(conky_parse('${cpu cpu' .. tostring(i) .. '}')))
286 | cairo_fill(cr)
287 | end
288 | end
289 |
290 | function draw_ram(cr,x_pos,y_pos,radius,r_RAM, g_RAM, b_RAM, transparency_RAM)
291 |
292 | cairo_set_operator(cr, operator_transpose[mode])
293 | cairo_set_source_rgba(cr,r_RAM,g_RAM,b_RAM,transparency_RAM)
294 | cairo_set_line_width(cr, 2)
295 | local align_middle = 14 -- 50 pixel height
296 |
297 | cairo_arc(cr,x_pos+radius,y_pos+radius+align_middle,radius,180*math.pi/180,(180+90)*math.pi/180)
298 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+align_middle,radius,-90*math.pi/180,(0)*math.pi/180)
299 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+20+align_middle,radius,0*math.pi/180,(90)*math.pi/180)
300 | cairo_arc(cr,x_pos+radius,y_pos+radius+20+align_middle,radius,90*math.pi/180,(180)*math.pi/180)
301 |
302 | cairo_close_path(cr)
303 | cairo_fill(cr)
304 |
305 | local multipler = 7/100
306 | local free_memory = math.floor((100-tonumber(conky_parse('${memperc}')))*multipler)
307 |
308 | for i=1, 7 do
309 | cairo_move_to(cr,x_pos+radius+(8*(i-1))-2,y_pos+radius+20+align_middle+10+1+2+1)
310 | cairo_rel_line_to(cr,4,0)
311 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+radius+20+align_middle+10+1+2+1+4,2,0*math.pi/180,(180)*math.pi/180)
312 | cairo_close_path(cr)
313 |
314 | if i <= free_memory then
315 | cairo_stroke_preserve(cr)
316 | cairo_fill(cr)
317 | else
318 | cairo_stroke(cr)
319 | end
320 |
321 | cairo_move_to(cr,x_pos+radius+(8*(i-1))+2,y_pos+align_middle-4)
322 | cairo_rel_line_to(cr,-4,0)
323 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+align_middle-4-4,2,180*math.pi/180,(0)*math.pi/180)
324 | cairo_close_path(cr)
325 |
326 | if i <= free_memory then
327 | cairo_stroke_preserve(cr)
328 | cairo_fill(cr)
329 | else
330 | cairo_stroke(cr)
331 | end
332 |
333 | end
334 |
335 | cairo_set_operator(cr, operator[mode])
336 | cairo_set_font_size(cr, 21)
337 | cairo_move_to(cr,x_pos-1+33-22,y_pos+align_middle+1+19+8)
338 | cairo_show_text(cr, "RAM")
339 | end
340 |
341 | function draw_function(cr)
342 | local w,h=conky_window.width,conky_window.height
343 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
344 |
345 | local start_rect_height = 88
346 | local gap_y_text = (88/2)-7
347 | local gap_x = 10
348 | local gap_x_fix = 15
349 | local gap_y_fix = 15
350 | local radius = 10
351 | local start_rect_height_no_battery = 66.5
352 |
353 | if battery then
354 | draw_circle(cr,gap_x_fix,gap_y_fix,r_battery,g_battery,b_battery,transparency_battery,conky_parse('${battery_percent ' .. battery_number .. '}'))
355 | draw_battery(cr,gap_x+gap_x_fix,gap_y_fix,r_battery,g_battery,b_battery,transparency_battery)
356 |
357 | for i=1,drives do
358 | draw_circle(cr,gap_x_fix,(start_rect_height+20+gap_y)*i+gap_y_fix,drive_colors[i][1],drive_colors[i][2],drive_colors[i][3],drive_colors[i][4],conky_parse('${fs_free_perc ' .. drive_paths[i] .. '}'))
359 | draw_folder(cr,gap_x_fix,(start_rect_height+20+gap_y)*i+gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1],drive_colors[i][2],drive_colors[i][3],drive_colors[i][4])
360 | end
361 | draw_circle(cr,gap_x_fix,(start_rect_height+20+gap_y)*(drives+1)+gap_y_fix,r_CPU,g_CPU,b_CPU,transparency_CPU,conky_parse('${cpu cpu0}'))
362 | draw_cpu(cr,number_of_cpus,gap_x+gap_x_fix,(start_rect_height+20+gap_y)*(drives+1)+gap_y_fix,r_CPU,g_CPU,b_CPU,transparency_CPU)
363 | draw_circle(cr,gap_x_fix,(start_rect_height+gap_y+20)*(drives+2)+gap_y_fix,r_RAM,g_RAM,b_RAM,transparency_RAM,tostring(100-tonumber(conky_parse('${memperc}'))))
364 | draw_ram(cr,gap_x+gap_x_fix,(start_rect_height+gap_y+20)*(drives+2)+10+gap_y_fix,radius,r_RAM,g_RAM,b_RAM,transparency_RAM)
365 | else
366 | for i=1,drives do
367 | draw_circle(cr,gap_x_fix,start_rect_height_no_battery+gap_y_fix,drive_colors[i][1],drive_colors[i][2],drive_colors[i][3],drive_colors[i][4],conky_parse('${fs_free_perc ' .. drive_paths[i] .. '}'))
368 | draw_folder(cr,gap_x_fix,(start_rect_height_no_battery)+gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1],drive_colors[i][2],drive_colors[i][3],drive_colors[i][4])
369 | start_rect_height_no_battery = start_rect_height_no_battery+108+gap_y
370 | end
371 | draw_circle(cr,gap_x_fix,start_rect_height_no_battery+gap_y_fix,r_CPU,g_CPU,b_CPU,transparency_CPU,conky_parse('${cpu cpu0}'))
372 | draw_cpu(cr,number_of_cpus,gap_x+gap_x_fix,(start_rect_height_no_battery)+gap_y_fix,r_CPU,g_CPU,b_CPU,transparency_CPU)
373 | start_rect_height_no_battery = start_rect_height_no_battery+108+gap_y
374 | draw_circle(cr,gap_x_fix,(start_rect_height_no_battery)+gap_y_fix,r_RAM,g_RAM,b_RAM,transparency_RAM,tostring(100-tonumber(conky_parse('${memperc}'))))
375 | draw_ram(cr,gap_x+gap_x_fix,(start_rect_height_no_battery)+10+gap_y_fix,radius,r_RAM,g_RAM,b_RAM,transparency_RAM)
376 | end
377 | end
378 |
379 | function conky_start_widgets()
380 | local function draw_conky_function(cr)
381 | local str=''
382 | local value=0
383 | draw_function(cr)
384 | end
385 |
386 | -- Check that Conky has been running for at least 5s
387 |
388 | if conky_window==nil then return end
389 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
390 |
391 | local cr=cairo_create(cs)
392 |
393 | local updates=conky_parse('${updates}')
394 | update_num=tonumber(updates)
395 |
396 | if update_num>5 then
397 | draw_conky_function(cr)
398 | end
399 | cairo_surface_destroy(cs)
400 | cairo_destroy(cr)
401 | end
402 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Circle_Vertical/start_conky_General_VERTICAL_circle:
--------------------------------------------------------------------------------
1 | conky.config = {
2 | background = false,
3 | update_interval = 1,
4 |
5 | override_utf8_locale = true,
6 |
7 | double_buffer = true,
8 | no_buffers = true,
9 |
10 | text_buffer_size = 2048,
11 | imlib_cache_size = 0,
12 |
13 |
14 | own_window = true,
15 | own_window_type = 'normal',
16 | own_window_transparent = true,
17 | own_window_argb_visual = true,
18 | own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
19 |
20 | border_inner_margin = 0,
21 | border_outer_margin = 0,
22 |
23 | minimum_width = 134, minimum_height = 596,--width height
24 |
25 |
26 | alignment = 'middle_right',
27 | gap_x = 0,
28 | gap_y = 0,
29 |
30 | draw_shades = true,
31 | draw_outline = false,
32 | draw_borders = false,
33 | draw_graph_borders = false,
34 |
35 | use_xft = true,
36 | font = 'pftempestafivecondensed:size=6',
37 | xftalpha = 0.5,
38 |
39 | uppercase = false,
40 |
41 | lua_load = '~/.conky/Conky_Revisited_2/Conky_Circle_Vertical/settings.lua',
42 | -- lua_load = 'settings.lua',
43 | lua_draw_hook_pre = 'start_widgets',
44 | };
45 |
46 | conky.text = [[
47 | ]];
48 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Square_Horizontal/settings.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | ---------------- USER CONFIGURATION ----------------
3 | Change the parameters below to fit your needs.
4 | ]]--
5 |
6 | -- Colors
7 |
8 | HTML_color_battery = "#FFFFFF"
9 | HTML_color_drive_1 = "#FFFFFF"
10 | HTML_color_drive_2 = "#FFFFFF"
11 | HTML_background_CPU = "#FFFFFF"
12 | HTML_color_RAM = "#FFFFFF"
13 | HTML_color_BORDER = "#FFFFFF"
14 | transparency_battery = 0.6
15 | transparency_drive_1 = 0.6
16 | transparency_drive_2 = 0.6
17 | transparency_CPU = 0.6
18 | transparency_RAM = 0.6
19 | transparency_border = 0.1
20 |
21 | --[[
22 | Show battery:
23 | true
24 | false
25 | ]]--
26 | battery = true
27 |
28 | --[[
29 | Battery number. Default=BAT0. Change this number if you get following errors:
30 | conky: can't open /sys/class/power_supply/BAT0/uevent
31 | conky: can't open /proc/acpi/battery/BAT0/state: No such file or directory
32 |
33 | Try with number BAT1 or BAT2 e.t.c.
34 | ]]--
35 | battery_number="BAT0"
36 |
37 | --[[
38 | Modes:
39 | 1 = Show background area
40 | 2 = No background area
41 | ]]--
42 | mode = 1
43 |
44 | -- Path of drives for free space status.
45 | drive_paths = {"/home", "/"}
46 |
47 | -- Names of drives for free space status.
48 | drive_names = {"Home", "Root"}
49 |
50 | -- Number of drives to show free space status. Adjust the conky "height"-parameter in config manually to adjust for the increase in Conky height when adding more drives.
51 | drives = 2
52 |
53 | -- Number of CPUs
54 | number_of_cpus = 4
55 |
56 | -- Special border width
57 | special_border = 0
58 |
59 | -- Normal border size
60 | border_size = 4
61 |
62 | -- Distance between each area.
63 | gap_x_distance = 10
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | --[[
94 | -- DON'T EDIT BELOW IF YOU DO NOT KNOW WHAT YOU ARE DOING!!!
95 | ]]--
96 |
97 |
98 | require 'cairo'
99 |
100 | operator = {CAIRO_OPERATOR_SOURCE,
101 | CAIRO_OPERATOR_CLEAR
102 | }
103 |
104 | operator_transpose = {CAIRO_OPERATOR_CLEAR,
105 | CAIRO_OPERATOR_SOURCE
106 | }
107 |
108 | function hex2rgb(hex)
109 | hex = hex:gsub("#","")
110 | return (tonumber("0x"..hex:sub(1,2))/255), (tonumber("0x"..hex:sub(3,4))/255), tonumber(("0x"..hex:sub(5,6))/255)
111 | end
112 |
113 |
114 | r_battery, g_battery, b_battery = hex2rgb(HTML_color_battery)
115 | r_CPU, g_CPU, b_CPU = hex2rgb(HTML_background_CPU)
116 | r_RAM, g_RAM, b_RAM = hex2rgb(HTML_color_RAM)
117 |
118 | r_border, g_border, b_border = hex2rgb(HTML_color_BORDER)
119 |
120 | r_drive_1, g_drive_1, b_drive_1 = hex2rgb(HTML_color_drive_1)
121 | r_drive_2, g_drive_2, b_drive_2 = hex2rgb(HTML_color_drive_2)
122 |
123 | drive_colors = {{r_drive_1, g_drive_1, b_drive_1,transparency_drive_1},
124 | {r_drive_2, g_drive_2, b_drive_2,transparency_drive_2}}
125 |
126 |
127 | function draw_square(cr,pos_x,pos_y,rectangle_x,rectangle_y,color1,color2,color3, trans)
128 | cairo_set_operator(cr, operator[mode])
129 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
130 | cairo_set_line_width(cr, 2)
131 | cairo_rectangle(cr, pos_x, pos_y, rectangle_x,rectangle_y)
132 | cairo_fill(cr)
133 |
134 | cairo_set_operator(cr, operator_transpose[mode])
135 | cairo_set_line_width(cr, special_border)
136 | cairo_set_source_rgba(cr, color1,color2,color3, trans)
137 | cairo_move_to(cr,pos_x+3,pos_y+3)
138 | cairo_rel_line_to(cr,rectangle_x-6,0)
139 | cairo_rel_line_to(cr,0, rectangle_y-6)
140 | cairo_rel_line_to(cr,-(rectangle_x-6))
141 | cairo_close_path(cr)
142 | cairo_stroke(cr)
143 |
144 | cairo_set_operator(cr, operator[mode])
145 | cairo_set_source_rgba(cr, r_border,g_border,b_border,transparency_border)
146 | cairo_set_line_width(cr, border_size)
147 | cairo_rectangle(cr, pos_x, pos_y, rectangle_x,rectangle_y)
148 | cairo_stroke(cr)
149 |
150 | end
151 |
152 | function draw_battery(cr,pos_x, pos_y,start_rect_height,color1,color2,color3,trans, gap_y_text)
153 |
154 | cairo_set_operator(cr, operator_transpose[mode])
155 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
156 | cairo_set_line_width(cr, 2)
157 | set_battery_blocks_x = 0
158 | battery_gap_y = (start_rect_height/2)-27/2+pos_y
159 |
160 | cairo_move_to(cr,pos_x,battery_gap_y)
161 |
162 | cairo_rel_line_to(cr,64,0)
163 | cairo_rel_line_to(cr,0,((27-10)/2))
164 | cairo_rel_line_to(cr,5,0)
165 | cairo_rel_line_to(cr,0,10)
166 | cairo_rel_line_to(cr,-5,0)
167 | cairo_rel_line_to(cr,0,((27-10)/2))
168 | cairo_rel_line_to(cr,-64,0)
169 | cairo_close_path(cr)
170 | cairo_fill(cr)
171 |
172 | number_of_charges = math.floor((12 / 100)*tonumber(conky_parse('${battery_percent ' .. battery_number .. '}')))
173 | cairo_set_operator(cr, operator[mode])
174 | for i=1,number_of_charges do
175 | cairo_rectangle(cr,pos_x+3+set_battery_blocks_x,3+battery_gap_y,3,21)
176 | cairo_fill(cr)
177 | set_battery_blocks_x = set_battery_blocks_x + 5
178 | end
179 |
180 | cairo_set_operator(cr, operator_transpose[mode])
181 | percent_font_size = 21
182 | cairo_set_font_size(cr,percent_font_size)
183 | cairo_move_to(cr,pos_x+69+10, gap_y_text+pos_y)
184 |
185 | percent = conky_parse('${battery_percent ' .. battery_number .. '}')
186 | --ct = cairo_text_extents_t:create()
187 | --cairo_text_extents(cr,percent,ct)
188 |
189 | if string.len(percent) == 1 then
190 | cairo_show_text(cr,"0" .. percent .. "%")
191 | elseif string.len(percent) == 3 then
192 | cairo_show_text(cr,"100%")
193 | else
194 | cairo_show_text(cr,percent .. "%")
195 | end
196 |
197 | cairo_move_to(cr,pos_x+69+10, gap_y_text+18+pos_y)
198 |
199 | cairo_set_font_size(cr,12)
200 | status = conky_parse('${battery ' .. battery_number .. '}')
201 | if string.find(status, "discharging") then
202 | status = "Discharging"
203 | elseif string.find(status, "charging") then
204 | status = "Charging"
205 | elseif string.find(status, "charged") then
206 | status = "Charged"
207 | end
208 |
209 | if status == "" then
210 | status = "N/A"
211 | end
212 | cairo_show_text(cr, status)
213 | cairo_move_to(cr,pos_x+69+10, gap_y_text+18+14+pos_y)
214 | battery_time = conky_parse('${battery_time ' .. battery_number .. '}')
215 |
216 | if battery_time == "" then
217 | battery_time = "N/A"
218 | end
219 |
220 | cairo_show_text(cr, battery_time)
221 | end
222 |
223 | function draw_folder(cr,x_pos,y_pos,start_rect_height,hdd,folder_name,r_color_drive,g_color_drive,b_color_drive,transparency_drive, gap_y_text)
224 | -- Draw indicator
225 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
226 | cairo_set_operator(cr, operator_transpose[mode])
227 |
228 | local distance_between_arcs = 0
229 | local number_of_arcs = 20
230 | local arcs_length = (360 - (number_of_arcs*distance_between_arcs)) / number_of_arcs
231 | local start_angel = 270
232 | local used_blocks = math.floor((number_of_arcs / 100) * tonumber(conky_parse('${fs_free_perc ' .. hdd .. '}')))
233 | local radius_outer = 34
234 | local radius_inner = 24
235 | local radius = 29
236 | cairo_set_line_width(cr, 2)
237 |
238 | -- cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius_outer,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
239 | -- cairo_stroke(cr)
240 |
241 | -- cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius_inner,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
242 | -- cairo_stroke(cr)
243 |
244 | cairo_set_line_width(cr, 6)
245 | cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
246 | cairo_stroke(cr)
247 |
248 | cairo_set_line_width(cr, 3)
249 | cairo_set_operator(cr, operator[mode])
250 | for i=1, used_blocks do
251 | cairo_arc(cr, x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+arcs_length)*math.pi/180)
252 | cairo_stroke(cr)
253 | start_angel = start_angel+arcs_length+distance_between_arcs
254 | end
255 |
256 | cairo_set_operator(cr, operator_transpose[mode])
257 |
258 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
259 | cairo_set_line_width(cr, 2)
260 |
261 | cairo_move_to(cr,x_pos+10+34-15,(start_rect_height/2-5.5)+y_pos)
262 | cairo_rel_line_to(cr,15,-9)
263 | cairo_rel_line_to(cr,15,9)
264 | cairo_rel_line_to(cr,0,4)
265 | cairo_rel_line_to(cr,-15,-9)
266 | cairo_rel_line_to(cr,-15,9)
267 | cairo_close_path(cr)
268 | cairo_fill(cr)
269 |
270 | cairo_move_to(cr,x_pos+10+34-15+24,(start_rect_height/2-5.5)-6+y_pos)
271 | cairo_rel_line_to(cr,4,2)
272 | cairo_rel_line_to(cr,0,-5)
273 | cairo_rel_line_to(cr,-4,0)
274 | cairo_close_path(cr)
275 | cairo_fill(cr)
276 |
277 | cairo_move_to(cr,x_pos+10+34-15+4,(start_rect_height/2-5.5)+5+y_pos)
278 | cairo_rel_line_to(cr,11,-7)
279 | cairo_rel_line_to(cr,11,7)
280 | cairo_rel_line_to(cr,0,15)
281 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
282 | cairo_rel_line_to(cr,0,-6)
283 | cairo_rel_line_to(cr,-8,0)
284 | cairo_rel_line_to(cr,0,6)
285 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
286 | cairo_close_path(cr)
287 | cairo_fill(cr)
288 |
289 | cairo_set_operator(cr, operator_transpose[mode])
290 | str = folder_name .. ": " .. conky_parse('${fs_free_perc ' .. hdd .. '}') .. "%"
291 | cairo_set_font_size(cr, 21)
292 | cairo_move_to(cr,x_pos+10+34+34+10,gap_y_text+y_pos)
293 | cairo_show_text(cr, conky_parse('${fs_free_perc ' .. hdd .. '}') .. "%")
294 |
295 | cairo_set_font_size(cr,12)
296 |
297 | cairo_move_to(cr, x_pos+10+34+34+10,gap_y_text+18+y_pos)
298 | cairo_show_text(cr,folder_name)
299 | cairo_move_to(cr, x_pos+10+34+34+10,gap_y_text+18+14+y_pos)
300 | cairo_show_text(cr,conky_parse('${fs_free ' .. hdd .. '}') .. "/" .. conky_parse('${fs_size ' .. hdd .. '}'))
301 | end
302 |
303 | function draw_cpu(cr,number_of_cpus,x_pos,y_pos,r,g,b,transparency, gap_y_text)
304 | cairo_set_operator(cr, operator_transpose[mode])
305 | cairo_set_source_rgba(cr,r,g,b,transparency)
306 |
307 | multipler = 68/100
308 |
309 | for i=1,number_of_cpus do
310 | cairo_rectangle(cr,x_pos+((68-(5*(number_of_cpus-1)))/number_of_cpus+5)*(i-1),y_pos+68,(68-(5*(number_of_cpus-1)))/number_of_cpus,-multipler*tonumber(conky_parse('${cpu cpu' .. tostring(i) .. '}')))
311 | cairo_fill(cr)
312 | end
313 |
314 | cairo_set_font_size(cr, 21)
315 | cairo_move_to(cr,x_pos+68+10,gap_y_text+y_pos-10)
316 | cairo_show_text(cr, conky_parse('${cpu cpu0}' .. "%"))
317 |
318 | cairo_set_font_size(cr,12)
319 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+y_pos-10)
320 | cairo_show_text(cr,"CPU")
321 |
322 | cairo_set_font_size(cr,12)
323 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+14+y_pos-10)
324 | cairo_show_text(cr,"Total usage")
325 |
326 |
327 |
328 | end
329 |
330 | function draw_ram(cr,x_pos,y_pos, radius, r, g, b, transparency, gap_y_text)
331 | cairo_set_operator(cr, operator_transpose[mode])
332 | cairo_set_source_rgba(cr,r, g, b, transparency)
333 |
334 | cairo_set_line_width(cr, 2)
335 | local align_middle = 14 -- 50 pixel height
336 |
337 | cairo_arc(cr,x_pos+radius,y_pos+radius+align_middle,radius,180*math.pi/180,(180+90)*math.pi/180)
338 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+align_middle,radius,-90*math.pi/180,(0)*math.pi/180)
339 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+20+align_middle,radius,0*math.pi/180,(90)*math.pi/180)
340 | cairo_arc(cr,x_pos+radius,y_pos+radius+20+align_middle,radius,90*math.pi/180,(180)*math.pi/180)
341 |
342 | cairo_close_path(cr)
343 | cairo_fill(cr)
344 |
345 | local multipler = 7/100
346 | local free_memory = math.floor((100-tonumber(conky_parse('${memperc}')))*multipler)
347 |
348 | for i=1, 7 do
349 | cairo_move_to(cr,x_pos+radius+(8*(i-1))-2,y_pos+radius+20+align_middle+10+1+2+1)
350 | cairo_rel_line_to(cr,4,0)
351 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+radius+20+align_middle+10+1+2+1+4,2,0*math.pi/180,(180)*math.pi/180)
352 | cairo_close_path(cr)
353 |
354 | if i <= free_memory then
355 | cairo_stroke_preserve(cr)
356 | cairo_fill(cr)
357 | else
358 | cairo_stroke(cr)
359 | end
360 |
361 | cairo_move_to(cr,x_pos+radius+(8*(i-1))+2,y_pos+align_middle-4)
362 | cairo_rel_line_to(cr,-4,0)
363 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+align_middle-4-4,2,180*math.pi/180,(0)*math.pi/180)
364 | cairo_close_path(cr)
365 |
366 | if i <= free_memory then
367 | cairo_stroke_preserve(cr)
368 | cairo_fill(cr)
369 | else
370 | cairo_stroke(cr)
371 | end
372 |
373 | end
374 |
375 | cairo_set_operator(cr, operator[mode])
376 | cairo_set_font_size(cr, 21)
377 | cairo_move_to(cr,x_pos-1+33-22,y_pos+align_middle+1+19+8)
378 | cairo_show_text(cr, "RAM")
379 |
380 | cairo_set_operator(cr, operator_transpose[mode])
381 | cairo_set_font_size(cr, 21)
382 | cairo_move_to(cr,x_pos+68+10,gap_y_text+y_pos-10)
383 | cairo_show_text(cr, tostring(100-tonumber(conky_parse('${memperc}'))) .. "%")
384 |
385 | cairo_set_font_size(cr,12)
386 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+y_pos-10)
387 | cairo_show_text(cr,"Free RAM")
388 |
389 | cairo_set_font_size(cr,12)
390 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+14+y_pos-10)
391 | cairo_show_text(cr,conky_parse('${memeasyfree}') .. '/' .. conky_parse('${memmax}'))
392 |
393 | end
394 |
395 | function draw_function(cr)
396 | local w,h=conky_window.width,conky_window.height
397 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
398 |
399 | local start_rect_height = 88
400 | -- Start with 172
401 | local start_rect_width = 200
402 | local gap_y_text = (start_rect_height/2)-7
403 | local gap_x = 10
404 | local gap_y = 10
405 | local gap_x_fix = 2
406 | local gap_y_fix = 2
407 | local start_rect_width_no_battery = 106
408 | local radius = 10
409 |
410 | if battery then
411 |
412 | draw_square(cr,gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_battery, g_battery, b_battery, transparency_battery)
413 | draw_battery(cr,gap_x+gap_x_fix, gap_y_fix,start_rect_height,r_battery, g_battery, b_battery, transparency_battery, gap_y_text)
414 |
415 | for i=1,drives do
416 | draw_square(cr,(start_rect_width+gap_x_distance)*i+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
417 | draw_folder(cr,(start_rect_width+gap_x_distance)*i+gap_x_fix,gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],gap_y_text)
418 | end
419 |
420 | draw_square(cr,(start_rect_width+gap_x_distance)*(drives+1)+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_CPU, g_CPU, b_CPU, transparency_CPU)
421 | draw_cpu(cr,number_of_cpus, (start_rect_width+gap_x_distance)*(drives+1)+gap_x+gap_x_fix,gap_y_fix+gap_y,r_CPU, g_CPU, b_CPU, transparency_CPU,gap_y_text)
422 |
423 | draw_square(cr,(start_rect_width+gap_x_distance)*(drives+2)+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_RAM, g_RAM, b_RAM, transparency_RAM)
424 | draw_ram(cr,(start_rect_width+gap_x_distance)*(drives+2)+gap_x+gap_x_fix,gap_y+gap_y_fix, radius, r_RAM, g_RAM, b_RAM, transparency_RAM,gap_y_text)
425 |
426 | else
427 |
428 | for i=1,drives do
429 | draw_square(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
430 | draw_folder(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],gap_y_text)
431 | start_rect_width_no_battery = start_rect_width_no_battery + gap_x_distance + 200
432 | end
433 |
434 | draw_square(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_CPU, g_CPU, b_CPU, transparency_CPU)
435 | draw_cpu(cr,number_of_cpus,(start_rect_width_no_battery)+gap_x+gap_x_fix,gap_y_fix+gap_y,r_CPU, g_CPU, b_CPU, transparency_CPU,gap_y_text)
436 | start_rect_width_no_battery = start_rect_width_no_battery + gap_x_distance + 200
437 |
438 | draw_square(cr,(start_rect_width_no_battery)+gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_RAM, g_RAM, b_RAM, transparency_RAM)
439 | draw_ram(cr,(start_rect_width_no_battery)+gap_x+gap_x_fix,gap_y+gap_y_fix, radius, r_RAM, g_RAM, b_RAM, transparency_RAM,gap_y_text)
440 |
441 | end
442 | end
443 |
444 | function conky_start_widgets()
445 | local function draw_conky_function(cr)
446 | local str=''
447 | local value=0
448 | draw_function(cr)
449 | end
450 |
451 | -- Check that Conky has been running for at least 5s
452 |
453 | if conky_window==nil then return end
454 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
455 |
456 | local cr=cairo_create(cs)
457 |
458 | local updates=conky_parse('${updates}')
459 | update_num=tonumber(updates)
460 |
461 | if update_num>5 then
462 | draw_conky_function(cr)
463 | end
464 | cairo_surface_destroy(cs)
465 | cairo_destroy(cr)
466 | end
467 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Square_Horizontal/start_conky_General_HORIZONTAL:
--------------------------------------------------------------------------------
1 | conky.config = {
2 | background = false,
3 | update_interval = 1,
4 |
5 | override_utf8_locale = true,
6 |
7 | double_buffer = true,
8 | no_buffers = true,
9 |
10 | text_buffer_size = 2048,
11 | imlib_cache_size = 0,
12 |
13 |
14 | own_window = true,
15 | own_window_type = 'normal',
16 | own_window_transparent = true,
17 | own_window_argb_visual = true,
18 | own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
19 |
20 | border_inner_margin = 0,
21 | border_outer_margin = 0,
22 |
23 | minimum_width = 1053, minimum_height = 101,--width height
24 |
25 |
26 | alignment = 'top_middle',
27 | gap_x = 0,
28 | gap_y = 0,
29 |
30 | draw_shades = true,
31 | draw_outline = false,
32 | draw_borders = false,
33 | draw_graph_borders = false,
34 |
35 | use_xft = true,
36 | font = 'pftempestafivecondensed:size=6',
37 | xftalpha = 0.5,
38 |
39 | uppercase = false,
40 |
41 | lua_load = '~/.conky/Conky_Revisited_2/Conky_Square_Horizontal/settings.lua',
42 | -- lua_load = 'settings.lua',
43 | lua_draw_hook_pre = 'start_widgets',
44 | };
45 |
46 | conky.text = [[
47 | ]];
48 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Square_Vertical/settings.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | ---------------- USER CONFIGURATION ----------------
3 | Change the parameters below to fit your needs.
4 | ]]--
5 |
6 | -- Colors
7 |
8 | HTML_color_battery = "#FFFFFF"
9 | HTML_color_drive_1 = "#FFFFFF"
10 | HTML_color_drive_2 = "#FFFFFF"
11 | HTML_color_CPU = "#FFFFFF"
12 | HTML_color_RAM = "#FFFFFF"
13 | HTML_color_BORDER = "#FFFFFF"
14 | transparency_battery = 0.6
15 | transparency_drive_1 = 0.6
16 | transparency_drive_2 = 0.6
17 | transparency_CPU = 0.6
18 | transparency_RAM = 0.6
19 | transparency_border = 0.1
20 |
21 | --[[
22 | Show battery:
23 | true
24 | false
25 | ]]--
26 | battery = true
27 |
28 | --[[
29 | Battery number. Default=BAT0. Change this number if you get following errors:
30 | conky: can't open /sys/class/power_supply/BAT0/uevent
31 | conky: can't open /proc/acpi/battery/BAT0/state: No such file or directory
32 |
33 | Try with number BAT1 or BAT2 e.t.c.
34 | ]]--
35 | battery_number="BAT0"
36 |
37 | --[[
38 | Modes:
39 | 1 = Show squared background area
40 | 2 = No background area (style 1)
41 | 3 = Hides text. Show circular background area
42 | ]]--
43 | mode = 1
44 |
45 | -- Path of drives for free space status.
46 | drive_paths = {"/home", "/"}
47 |
48 | -- Names of drives for free space status.
49 | drive_names = {"Home", "Root"}
50 |
51 | -- Number of drives to show free space status. Adjust the conky "height"-parameter in config manually to adjust for the increase in Conky height when adding more drives.
52 | drives = 2
53 |
54 | -- Number of CPUs
55 | number_of_cpus = 4
56 |
57 | -- Special border width
58 | special_border = 0
59 |
60 | -- Normal border size
61 | border_size = 4
62 |
63 | -- Distance between each area
64 | gap_y = 10
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | --[[
95 | -- DON'T EDIT BELOW IF YOU DO NOT KNOW WHAT YOU ARE DOING!!!
96 | ]]--
97 |
98 |
99 | require 'cairo'
100 |
101 | operator = {CAIRO_OPERATOR_SOURCE,
102 | CAIRO_OPERATOR_CLEAR
103 | }
104 |
105 | operator_transpose = {CAIRO_OPERATOR_CLEAR,
106 | CAIRO_OPERATOR_SOURCE
107 | }
108 |
109 | function hex2rgb(hex)
110 | hex = hex:gsub("#","")
111 | return (tonumber("0x"..hex:sub(1,2))/255), (tonumber("0x"..hex:sub(3,4))/255), tonumber(("0x"..hex:sub(5,6))/255)
112 | end
113 |
114 |
115 | r_battery, g_battery, b_battery = hex2rgb(HTML_color_battery)
116 | r_CPU, g_CPU, b_CPU = hex2rgb(HTML_color_CPU)
117 | r_RAM, g_RAM, b_RAM = hex2rgb(HTML_color_RAM)
118 |
119 | r_border, g_border, b_border = hex2rgb(HTML_color_BORDER)
120 |
121 | r_drive_1, g_drive_1, b_drive_1 = hex2rgb(HTML_color_drive_1)
122 | r_drive_2, g_drive_2, b_drive_2 = hex2rgb(HTML_color_drive_2)
123 |
124 | drive_colors = {{r_drive_1, g_drive_1, b_drive_1,transparency_drive_1},
125 | {r_drive_2, g_drive_2, b_drive_2,transparency_drive_2}}
126 |
127 |
128 | function draw_square(cr,pos_x,pos_y,rectangle_x,rectangle_y,color1,color2,color3, trans)
129 | cairo_set_operator(cr, operator[mode])
130 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
131 | cairo_set_line_width(cr, 2)
132 | cairo_rectangle(cr, pos_x, pos_y, rectangle_x,rectangle_y)
133 | cairo_fill(cr)
134 |
135 | cairo_set_operator(cr, operator_transpose[mode])
136 | cairo_set_line_width(cr, special_border)
137 | cairo_set_source_rgba(cr, color1,color2,color3, trans)
138 | cairo_move_to(cr,pos_x+3,pos_y+3)
139 | cairo_rel_line_to(cr,rectangle_x-6,0)
140 | cairo_rel_line_to(cr,0, rectangle_y-6)
141 | cairo_rel_line_to(cr,-(rectangle_x-6))
142 | cairo_close_path(cr)
143 | cairo_stroke(cr)
144 |
145 | cairo_set_operator(cr, operator[mode])
146 | cairo_set_source_rgba(cr, r_border,g_border,b_border,transparency_border)
147 | cairo_set_line_width(cr, border_size)
148 | cairo_rectangle(cr, pos_x, pos_y, rectangle_x,rectangle_y)
149 | cairo_stroke(cr)
150 |
151 |
152 | end
153 |
154 | function draw_battery(cr,pos_x, pos_y,start_rect_height,color1,color2,color3,trans,gap_y_text)
155 |
156 | cairo_set_operator(cr, operator_transpose[mode])
157 | cairo_set_source_rgba(cr, color1,color2,color3,trans)
158 | cairo_set_line_width(cr, 2)
159 | set_battery_blocks_x = 0
160 | battery_gap_y = (start_rect_height/2)-27/2+pos_y
161 |
162 | cairo_move_to(cr,pos_x,battery_gap_y)
163 | cairo_rel_line_to(cr,64,0)
164 | cairo_rel_line_to(cr,0,((27-10)/2))
165 | cairo_rel_line_to(cr,5,0)
166 | cairo_rel_line_to(cr,0,10)
167 | cairo_rel_line_to(cr,-5,0)
168 | cairo_rel_line_to(cr,0,((27-10)/2))
169 | cairo_rel_line_to(cr,-64,0)
170 | cairo_close_path(cr)
171 | cairo_fill(cr)
172 |
173 | number_of_charges = math.floor((12 / 100)*tonumber(conky_parse('${battery_percent ' .. battery_number .. '}')))
174 | cairo_set_operator(cr, operator[mode])
175 | for i=1,number_of_charges do
176 | cairo_rectangle(cr,pos_x+3+set_battery_blocks_x,3+battery_gap_y,3,21)
177 | cairo_fill(cr)
178 | set_battery_blocks_x = set_battery_blocks_x + 5
179 | end
180 |
181 | cairo_set_operator(cr, operator_transpose[mode])
182 | percent_font_size = 21
183 | cairo_set_font_size(cr,percent_font_size)
184 | cairo_move_to(cr,pos_x+69+10, gap_y_text+pos_y)
185 |
186 | percent = conky_parse('${battery_percent ' .. battery_number .. '}')
187 | --ct = cairo_text_extents_t:create()
188 | --cairo_text_extents(cr,percent,ct)
189 |
190 | if string.len(percent) == 1 then
191 | cairo_show_text(cr,"0" .. percent .. "%")
192 | elseif string.len(percent) == 3 then
193 | cairo_show_text(cr,"100%")
194 | else
195 | cairo_show_text(cr,percent .. "%")
196 | end
197 |
198 | cairo_move_to(cr,pos_x+69+10, gap_y_text+18+pos_y)
199 |
200 | cairo_set_font_size(cr,12)
201 | status = conky_parse('${battery ' .. battery_number .. '}')
202 | if string.find(status, "discharging") then
203 | status = "Discharging"
204 | elseif string.find(status, "charging") then
205 | status = "Charging"
206 | elseif string.find(status, "charged") then
207 | status = "Charged"
208 | end
209 |
210 | if status == "" then
211 | status = "N/A"
212 | end
213 | cairo_show_text(cr, status)
214 | cairo_move_to(cr,pos_x+69+10, gap_y_text+18+14+pos_y)
215 | battery_time = conky_parse('${battery_time ' .. battery_number .. '}')
216 |
217 | if battery_time == "" then
218 | battery_time = "N/A"
219 | end
220 |
221 | cairo_show_text(cr, battery_time)
222 | end
223 |
224 | function draw_folder(cr,x_pos,y_pos,start_rect_height,hdd,folder_name,r_color_drive,g_color_drive,b_color_drive,transparency_drive,gap_y_text)
225 |
226 | -- Draw indicator
227 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
228 | cairo_set_operator(cr, operator_transpose[mode])
229 | local distance_between_arcs = 0
230 | local number_of_arcs = 20
231 | local arcs_length = (360 - (number_of_arcs*distance_between_arcs)) / number_of_arcs
232 | local start_angel = 270
233 | local used_blocks = math.floor((number_of_arcs / 100) * tonumber(conky_parse('${fs_free_perc ' .. hdd .. '}')))
234 | local radius_outer = 34
235 | local radius_inner = 24
236 | local radius = 29
237 | cairo_set_line_width(cr, 2)
238 |
239 | -- cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius_outer,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
240 | -- cairo_stroke(cr)
241 |
242 | -- cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius_inner,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
243 | -- cairo_stroke(cr)
244 |
245 | cairo_set_line_width(cr, 6)
246 | cairo_arc(cr,x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+360)*math.pi/180)
247 | cairo_stroke(cr)
248 |
249 | cairo_set_line_width(cr, 3)
250 | cairo_set_operator(cr, operator[mode])
251 | for i=1, used_blocks do
252 | cairo_arc(cr, x_pos+10+34,(start_rect_height/2)+y_pos,radius,start_angel*math.pi/180,(start_angel+arcs_length)*math.pi/180)
253 | cairo_stroke(cr)
254 | start_angel = start_angel+arcs_length+distance_between_arcs
255 | end
256 |
257 | cairo_set_operator(cr, operator_transpose[mode])
258 | cairo_set_source_rgba(cr,r_color_drive,g_color_drive,b_color_drive,transparency_drive)
259 | cairo_set_line_width(cr, 2)
260 |
261 | cairo_move_to(cr,x_pos+10+34-15,(start_rect_height/2-5.5)+y_pos)
262 | cairo_rel_line_to(cr,15,-9)
263 | cairo_rel_line_to(cr,15,9)
264 | cairo_rel_line_to(cr,0,4)
265 | cairo_rel_line_to(cr,-15,-9)
266 | cairo_rel_line_to(cr,-15,9)
267 | cairo_close_path(cr)
268 | cairo_fill(cr)
269 |
270 | cairo_move_to(cr,x_pos+10+34-15+24,(start_rect_height/2-5.5)-6+y_pos)
271 | cairo_rel_line_to(cr,4,2)
272 | cairo_rel_line_to(cr,0,-5)
273 | cairo_rel_line_to(cr,-4,0)
274 | cairo_close_path(cr)
275 | cairo_fill(cr)
276 |
277 | cairo_move_to(cr,x_pos+10+34-15+4,(start_rect_height/2-5.5)+5+y_pos)
278 | cairo_rel_line_to(cr,11,-7)
279 | cairo_rel_line_to(cr,11,7)
280 | cairo_rel_line_to(cr,0,15)
281 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
282 | cairo_rel_line_to(cr,0,-6)
283 | cairo_rel_line_to(cr,-8,0)
284 | cairo_rel_line_to(cr,0,6)
285 | cairo_rel_line_to(cr,-(11*2-math.abs(-8))/2,0)
286 | cairo_close_path(cr)
287 | cairo_fill(cr)
288 |
289 |
290 |
291 | cairo_set_operator(cr, operator_transpose[mode])
292 | str = folder_name .. ": " .. conky_parse('${fs_free_perc ' .. hdd .. '}') .. "%"
293 | cairo_set_font_size(cr, 21)
294 | cairo_move_to(cr,x_pos+10+34+34+10,gap_y_text+y_pos)
295 | cairo_show_text(cr, conky_parse('${fs_free_perc ' .. hdd .. '}') .. "%")
296 |
297 | cairo_set_font_size(cr,12)
298 |
299 | cairo_move_to(cr, x_pos+10+34+34+10,gap_y_text+18+y_pos)
300 | cairo_show_text(cr,folder_name)
301 | cairo_move_to(cr, x_pos+10+34+34+10,gap_y_text+18+14+y_pos)
302 | cairo_show_text(cr,conky_parse('${fs_free ' .. hdd .. '}') .. "/" .. conky_parse('${fs_size ' .. hdd .. '}'))
303 | end
304 |
305 | function draw_cpu(cr,number_of_cpus,x_pos,y_pos,r,g,b,transparency,gap_y_text)
306 | cairo_set_operator(cr, operator_transpose[mode])
307 | cairo_set_source_rgba(cr,r,g,b,transparency)
308 |
309 | multipler = 68/100
310 |
311 | for i=1,number_of_cpus do
312 | cairo_rectangle(cr,x_pos+((68-(5*(number_of_cpus-1)))/number_of_cpus+5)*(i-1),y_pos+68+10,(68-(5*(number_of_cpus-1)))/number_of_cpus,-multipler*tonumber(conky_parse('${cpu cpu' .. tostring(i) .. '}')))
313 | cairo_fill(cr)
314 | end
315 |
316 | cairo_set_font_size(cr, 21)
317 | cairo_move_to(cr,x_pos+68+10,gap_y_text+y_pos)
318 | cairo_show_text(cr, conky_parse('${cpu cpu0}' .. "%"))
319 |
320 | cairo_set_font_size(cr,12)
321 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+y_pos)
322 | cairo_show_text(cr,"CPU")
323 |
324 | cairo_set_font_size(cr,12)
325 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+14+y_pos)
326 | cairo_show_text(cr,"Total usage")
327 |
328 |
329 |
330 | end
331 |
332 | function draw_ram(cr,x_pos,y_pos, radius,r_RAM, g_RAM, b_RAM, transparency_RAM,gap_y_text)
333 |
334 | cairo_set_operator(cr, operator_transpose[mode])
335 | cairo_set_source_rgba(cr,r_RAM,g_RAM,b_RAM,transparency_RAM)
336 | cairo_set_line_width(cr, 2)
337 | local align_middle = 14 -- 50 pixel height
338 |
339 | cairo_arc(cr,x_pos+radius,y_pos+radius+align_middle,radius,180*math.pi/180,(180+90)*math.pi/180)
340 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+align_middle,radius,-90*math.pi/180,(0)*math.pi/180)
341 | cairo_arc(cr,x_pos+radius+(68-2*radius),y_pos+radius+20+align_middle,radius,0*math.pi/180,(90)*math.pi/180)
342 | cairo_arc(cr,x_pos+radius,y_pos+radius+20+align_middle,radius,90*math.pi/180,(180)*math.pi/180)
343 |
344 | cairo_close_path(cr)
345 | cairo_fill(cr)
346 |
347 | local multipler = 7/100
348 | local free_memory = math.floor((100-tonumber(conky_parse('${memperc}')))*multipler)
349 |
350 | for i=1, 7 do
351 | cairo_move_to(cr,x_pos+radius+(8*(i-1))-2,y_pos+radius+20+align_middle+10+1+2+1)
352 | cairo_rel_line_to(cr,4,0)
353 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+radius+20+align_middle+10+1+2+1+4,2,0*math.pi/180,(180)*math.pi/180)
354 | cairo_close_path(cr)
355 |
356 | if i <= free_memory then
357 | cairo_stroke_preserve(cr)
358 | cairo_fill(cr)
359 | else
360 | cairo_stroke(cr)
361 | end
362 |
363 | cairo_move_to(cr,x_pos+radius+(8*(i-1))+2,y_pos+align_middle-4)
364 | cairo_rel_line_to(cr,-4,0)
365 | cairo_arc(cr,x_pos+radius+(8*(i-1)),y_pos+align_middle-4-4,2,180*math.pi/180,(0)*math.pi/180)
366 | cairo_close_path(cr)
367 |
368 | if i <= free_memory then
369 | cairo_stroke_preserve(cr)
370 | cairo_fill(cr)
371 | else
372 | cairo_stroke(cr)
373 | end
374 |
375 | end
376 |
377 | cairo_set_operator(cr, operator[mode])
378 | cairo_set_font_size(cr, 21)
379 | cairo_move_to(cr,x_pos-1+33-22,y_pos+align_middle+1+19+8)
380 | cairo_show_text(cr, "RAM")
381 |
382 | cairo_set_operator(cr, operator_transpose[mode])
383 | cairo_set_font_size(cr, 21)
384 | cairo_move_to(cr,x_pos+68+10,gap_y_text+y_pos-10)
385 | cairo_show_text(cr, tostring(100-tonumber(conky_parse('${memperc}'))) .. "%")
386 |
387 | cairo_set_font_size(cr,12)
388 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+y_pos-10)
389 | cairo_show_text(cr,"Free RAM")
390 |
391 | cairo_set_font_size(cr,12)
392 | cairo_move_to(cr, x_pos+68+10,gap_y_text+18+14+y_pos-10)
393 | cairo_show_text(cr,conky_parse('${memeasyfree}') .. '/' .. conky_parse('${memmax}'))
394 |
395 | end
396 |
397 | function draw_function(cr)
398 | local w,h=conky_window.width,conky_window.height
399 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
400 |
401 | local start_rect_height = 88
402 | -- Start with 172
403 | local start_rect_width = 200
404 | local gap_y_text = (start_rect_height/2)-7
405 | local gap_x = 10
406 | local gap_x_fix = 2
407 | local gap_y_fix = 2
408 | local radius = 10
409 | local start_rect_height_no_battery = 50
410 |
411 | if battery then
412 | draw_square(cr,gap_x_fix,gap_y_fix, start_rect_width, start_rect_height,r_battery, g_battery, b_battery, transparency_battery)
413 | draw_battery(cr,gap_x+gap_x_fix, gap_y_fix,start_rect_height,r_battery, g_battery, b_battery, transparency_battery,gap_y_text)
414 |
415 | for i=1,drives do
416 | draw_square(cr,gap_x_fix,(start_rect_height+gap_y)*i+gap_y_fix, start_rect_width, start_rect_height,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
417 | draw_folder(cr,gap_x_fix,(start_rect_height+gap_y)*i+gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],gap_y_text)
418 | end
419 | draw_square(cr,gap_x_fix,(start_rect_height+gap_y)*(drives+1)+gap_y_fix, start_rect_width, start_rect_height,r_CPU, g_CPU, b_CPU, transparency_CPU)
420 | draw_cpu(cr,number_of_cpus,gap_x+gap_x_fix,(start_rect_height+gap_y)*(drives+1)+gap_y_fix,r_CPU, g_CPU, b_CPU, transparency_CPU,gap_y_text)
421 | draw_square(cr,gap_x_fix,(start_rect_height+gap_y)*(drives+2)+gap_y_fix, start_rect_width, start_rect_height,r_RAM, g_RAM, b_RAM, transparency_RAM)
422 | draw_ram(cr,gap_x+gap_x_fix,(start_rect_height+gap_y)*(drives+2)+10+gap_y_fix, radius, r_RAM, g_RAM, b_RAM, transparency_RAM,gap_y_text)
423 | else
424 | for i=1,drives do
425 | draw_square(cr,gap_x_fix,start_rect_height_no_battery+gap_y_fix, start_rect_width, start_rect_height,drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4])
426 | draw_folder(cr,gap_x_fix,(start_rect_height_no_battery)+gap_y_fix,start_rect_height,drive_paths[i],drive_names[i],drive_colors[i][1], drive_colors[i][2], drive_colors[i][3], drive_colors[i][4],gap_y_text)
427 | start_rect_height_no_battery = start_rect_height_no_battery + gap_y + 88 + gap_y_fix
428 | end
429 | draw_square(cr,gap_x_fix,start_rect_height_no_battery+gap_y_fix, start_rect_width, start_rect_height,r_CPU, g_CPU, b_CPU, transparency_CPU)
430 | draw_cpu(cr,number_of_cpus,gap_x+gap_x_fix,(start_rect_height_no_battery)+gap_y_fix,r_CPU, g_CPU, b_CPU, transparency_CPU,gap_y_text)
431 | start_rect_height_no_battery = start_rect_height_no_battery + gap_y + 88 + gap_y_fix
432 | draw_square(cr,gap_x_fix,(start_rect_height_no_battery)+gap_y_fix, start_rect_width, start_rect_height,r_RAM, g_RAM, b_RAM, transparency_RAM)
433 | draw_ram(cr,gap_x+gap_x_fix,(start_rect_height_no_battery)+10+gap_y_fix, radius, r_RAM, g_RAM, b_RAM, transparency_RAM,gap_y_text)
434 | end
435 | end
436 |
437 | function conky_start_widgets()
438 | local function draw_conky_function(cr)
439 | local str=''
440 | local value=0
441 | draw_function(cr)
442 | end
443 |
444 | -- Check that Conky has been running for at least 5s
445 |
446 | if conky_window==nil then return end
447 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
448 |
449 | local cr=cairo_create(cs)
450 |
451 | local updates=conky_parse('${updates}')
452 | update_num=tonumber(updates)
453 |
454 | if update_num>5 then
455 | draw_conky_function(cr)
456 | end
457 | cairo_surface_destroy(cs)
458 | cairo_destroy(cr)
459 | end
460 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/Conky_Square_Vertical/start_conky_General_VERTICAL:
--------------------------------------------------------------------------------
1 | conky.config = {
2 | background = false,
3 | update_interval = 1,
4 |
5 | override_utf8_locale = true,
6 |
7 | double_buffer = true,
8 | no_buffers = true,
9 |
10 | text_buffer_size = 2048,
11 | imlib_cache_size = 0,
12 |
13 |
14 | own_window = true,
15 | own_window_type = 'normal',
16 | own_window_transparent = true,
17 | own_window_argb_visual = true,
18 | own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
19 |
20 | border_inner_margin = 0,
21 | border_outer_margin = 0,
22 |
23 | minimum_width = 213, minimum_height = 493,--width height
24 |
25 |
26 | alignment = 'middle_left',
27 | gap_x = 0,
28 | gap_y = 0,
29 |
30 | draw_shades = true,
31 | draw_outline = false,
32 | draw_borders = false,
33 | draw_graph_borders = false,
34 |
35 | use_xft = true,
36 | font = 'pftempestafivecondensed:size=6',
37 | xftalpha = 0.5,
38 |
39 | uppercase = false,
40 |
41 | lua_load = '~/.conky/Conky_Revisited_2/Conky_Square_Vertical/settings.lua',
42 | -- lua_load = 'settings.lua',
43 | lua_draw_hook_pre = 'start_widgets',
44 |
45 | };
46 |
47 | conky.text = [[
48 | ]];
49 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Conky_Revisited_2/README.txt:
--------------------------------------------------------------------------------
1 | -- Conky Revisited 2
2 |
3 | Copyright 2016
4 |
5 | This program is free software; you can redistribute it and/or modify
6 | it under the terms of the GNU General Public License as published by
7 | the Free Software Foundation; either version 2 of the License, or
8 | (at your option) any later version.
9 |
10 | This program is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with this program; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18 | MA 02110-1301, USA.
19 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/README.md:
--------------------------------------------------------------------------------
1 | Conky config.
2 |
3 | Features
4 | * Customization options. See "settings.lua".
5 | * Displays battery status.
6 | * Displays free space.
7 | * Displays CPU usage.
8 | * Displays RAM usage.
9 |
10 |
11 | Installation
12 |
13 | 1 Clone this repository:
14 | ```
15 | git clone https://github.com/xexpanderx/Conky-Revisited-2
16 | ```
17 |
18 | 2 cd into Conky-Revisited-2 - directory.
19 |
20 | 3 Run the basic installation script:
21 | ```
22 | sh install.sh
23 | ```
24 | The conky will be installed in your ~/.conky - directory.
25 |
26 | 4 cd to ~/.conky/Conky_Revisited_2. Then cd into one of the four listed subdirectories and issue:
27 | ```
28 | conky -c CONKY_FILE
29 | ```
30 | CONKY_FILE is the name of the conky-file in that directory.
31 |
32 | 5 (Optional) Edit settings.lua and change the parameters in the "USER CONFIGURATION" - section to fit your customization needs.
33 |
34 | 6 Hopefully, enjoy!
35 |
--------------------------------------------------------------------------------
/Conky-Revisited-2/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Revisited-2/Screenshot.png
--------------------------------------------------------------------------------
/Conky-Revisited-2/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir ~/.conky
4 | cp -r Conky_Revisited_2 ~/.conky/
5 |
--------------------------------------------------------------------------------
/Conky-Weather/PNG/01d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/01d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/01n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/02d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/02d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/02n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/03d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/03d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/03n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/04d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/04d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/04n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/09d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/09d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/09n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/09n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/10d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/10d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/10n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/11d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/11d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/11n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/11n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/13d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/13d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/13n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/13n.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/50d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/50d.png
--------------------------------------------------------------------------------
/Conky-Weather/PNG/50n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/PNG/50n.png
--------------------------------------------------------------------------------
/Conky-Weather/README.md:
--------------------------------------------------------------------------------
1 |
2 | Installation
3 | ```
4 | git clone https://github.com/xexpanderx/Conky-themes
5 | cd Conky-themes/Conky-Weather/
6 | sh install.sh
7 | sudo pip3 install pyowm
8 | ```
9 |
10 | Configuration
11 |
12 | (1) API-key
13 |
14 | Go to https://openweathermap.org/ and create an account to acquire an API-key.
15 |
16 | (2) settings.lua
17 |
18 | Edit "settings.lua" (~/.conky/Conky-Weather/settings.lua) and change the appropriate values for api_key, city, country_code and font sizes.
19 |
20 | (3) Start it
21 |
22 | ```
23 | ~/.conky/Conky-Weather/start_weather.sh &
24 | ```
25 |
26 |
--------------------------------------------------------------------------------
/Conky-Weather/conky_config:
--------------------------------------------------------------------------------
1 | conky.config = {
2 | background = false,
3 | update_interval = 15,
4 |
5 | override_utf8_locale = true,
6 |
7 | double_buffer = true,
8 | no_buffers = true,
9 |
10 | text_buffer_size = 2048,
11 | imlib_cache_size = 0,
12 |
13 |
14 | own_window = true,
15 | own_window_type = 'normal',
16 | own_window_transparent = true,
17 | own_window_argb_visual = true,
18 | own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
19 |
20 | border_inner_margin = 0,
21 | border_outer_margin = 0,
22 |
23 | minimum_width = 400, minimum_height = 400,
24 |
25 |
26 | alignment = 'top_right',
27 | gap_x = 0,
28 | gap_y = 0,
29 |
30 | draw_shades = true,
31 | draw_outline = false,
32 | draw_borders = false,
33 | draw_graph_borders = false,
34 |
35 | use_xft = true,
36 | xftalpha = 0.5,
37 |
38 | uppercase = false,
39 |
40 | lua_load = '~/.conky/Conky-Weather/settings.lua',
41 | lua_draw_hook_pre = 'start_widgets',
42 | };
43 |
44 | conky.text = [[
45 | ]];
46 |
--------------------------------------------------------------------------------
/Conky-Weather/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 |
3 | mkdir -p ~/.conky/Conky-Weather/
4 | cp -r PNG ~/.conky/Conky-Weather/
5 | cp conky_config ~/.conky/Conky-Weather/
6 | cp openweather.py ~/.conky/Conky-Weather/
7 | cp settings.lua ~/.conky/Conky-Weather/
8 | cp start_weather.sh ~/.conky/Conky-Weather/
9 | chmod +x ~/.conky/Conky-Weather/start_weather.sh
10 | chmod +x ~/.conky/Conky-Weather/openweather.py
11 |
--------------------------------------------------------------------------------
/Conky-Weather/openweather.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | import pyowm
3 | import argparse
4 | import subprocess
5 |
6 |
7 | def process(args):
8 |
9 | owm = pyowm.OWM(args.api_key[0])
10 | mgr = owm.weather_manager()
11 | weather_details = mgr.weather_at_place(args.city[0] + ',' + args.ccode[0])
12 | weather_values = weather_details.weather
13 |
14 | if args.get_temp_c:
15 | temp = weather_values.temperature(unit='celsius')['temp']
16 | temp = round(int(temp))
17 | print(temp)
18 | if args.get_temp_f:
19 | temp = weather_values.temperature(unit='fahrenheit')['temp']
20 | temp = round(int(temp))
21 | print(temp)
22 | if args.get_weather_icon:
23 | print(weather_values.weather_icon_name)
24 |
25 |
26 | parser = argparse.ArgumentParser(description='Openweather script.')
27 | parser.add_argument('--api_key',help='OWM API key.',nargs=1,metavar=('[api_key]'), required=True)
28 | parser.add_argument('--city',help='Cityname.',nargs=1,metavar=('[city]'), required=True)
29 | parser.add_argument('--ccode',help='Country code.',nargs=1,metavar=('[code]'), required=True)
30 | parser.add_argument('--get_temp_c',help='Get temperature in Celsius.',action='store_true')
31 | parser.add_argument('--get_temp_f',help='Get temperature in Fahrenheit.',action='store_true')
32 | parser.add_argument('--get_weather_icon',help='Get weather icon.',action='store_true')
33 | args = parser.parse_args()
34 |
35 | process(args)
36 |
--------------------------------------------------------------------------------
/Conky-Weather/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xexpanderx/Conky-themes/ae1930227a2167cc5f2f4eb396298fb46bd948e8/Conky-Weather/screenshot.png
--------------------------------------------------------------------------------
/Conky-Weather/settings.lua:
--------------------------------------------------------------------------------
1 |
2 | -- ###Openweather settings###
3 | api_key = "YOUR_API_KEY"
4 | city = "YOUR_CITY"
5 | country_code = "YOUR_COUNTRY_CODE"
6 | -- ###Colors###
7 | HTML_circle = "#232323"
8 | HTML_border = "#000000"
9 | HTML_text = "#FFFFFF"
10 | transparency = 1.0
11 | transparency_border = 0.2
12 | transparency_text = 0.5
13 | transparency_weather_icon = 1.0
14 | -- ###Font sizes###
15 | City_font = 9
16 | Temperature_font = 24
17 | Day_font = 12
18 | -- ###Dont change code below###
19 | require 'cairo'
20 | assert(os.setlocale("en_US.utf8", "numeric"))
21 |
22 | function hex2rgb(hex)
23 | hex = hex:gsub("#","")
24 | return (tonumber("0x"..hex:sub(1,2))/255), (tonumber("0x"..hex:sub(3,4))/255), tonumber(("0x"..hex:sub(5,6))/255)
25 | end
26 |
27 | r_circle, g_circle, b_circle = hex2rgb(HTML_circle)
28 | r_border, g_border, b_border = hex2rgb(HTML_border)
29 | r_text, g_text, b_text = hex2rgb(HTML_text)
30 |
31 | function fix_text(text)
32 | if string.len(text) == 1 then
33 | new_text = "0" .. text .. "%"
34 | return new_text
35 | else
36 | new_text = text .. "%"
37 | return new_text
38 | end
39 | end
40 |
41 | function draw_circle(cr, pos_x, pos_y, radius, r_border, g_border, b_border, trans)
42 | cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE)
43 | cairo_set_source_rgba(cr, r_border,g_border,b_border,trans)
44 | cairo_set_line_width(cr, 1)
45 | cairo_arc(cr,pos_x,pos_y,radius,0*math.pi/180,360*math.pi/180)
46 | cairo_fill(cr)
47 | end
48 |
49 | function draw_border(cr, pos_x, pos_y, radius, r_border, g_border, b_border, trans)
50 | cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE)
51 | cairo_set_source_rgba(cr, r_border,g_border,b_border,trans)
52 | cairo_set_line_width(cr, 2)
53 | cairo_arc(cr,pos_x,pos_y,radius,0*math.pi/180,360*math.pi/180)
54 | cairo_stroke(cr)
55 | end
56 |
57 | function draw_weather_icon(cr, pos_x, pos_y, image_path, trans)
58 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER)
59 | local home = assert(io.popen("echo $HOME"))
60 | local home = assert(home:read('*a'))
61 | local home = home:gsub("[\n\r]", "")
62 | local image_path = home .. "/.conky/Conky-Weather/PNG/" .. image_path .. ".png"
63 | local image = cairo_image_surface_create_from_png(image_path)
64 | local w_img = cairo_image_surface_get_width(image)
65 | local h_img = cairo_image_surface_get_height(image)
66 |
67 | cairo_save(cr)
68 | cairo_set_source_surface (cr, image, pos_x-w_img/2, pos_y-h_img/2)
69 | cairo_paint_with_alpha (cr, trans)
70 | cairo_surface_destroy (image)
71 | cairo_restore(cr)
72 | end
73 |
74 | function draw_text(cr, pos_x, pos_y, r_text, g_text, b_text, trans, text, font_size, shift_x, shift_y)
75 | cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE)
76 | cairo_set_source_rgba(cr, r_text, g_text, b_text, trans)
77 | ct = cairo_text_extents_t:create()
78 | cairo_set_font_size(cr, font_size)
79 | cairo_text_extents(cr,text,ct)
80 | cairo_move_to(cr,pos_x-ct.width/2+shift_x,pos_y+ct.height/2+shift_y)
81 | cairo_show_text(cr,text)
82 | cairo_close_path(cr)
83 | end
84 |
85 | function draw_function(cr)
86 | local w,h=conky_window.width,conky_window.height
87 |
88 | --Draw backgrounds
89 | local radius = 60
90 | local pos_x = w-70
91 | local pos_y = 70
92 |
93 | draw_circle(cr, pos_x, pos_y, radius, r_circle, g_circle, b_circle, transparency)
94 | draw_border(cr, pos_x, pos_y, radius+1, r_border, g_border, b_border, transparency_border)
95 |
96 | --Draw text
97 | ----City
98 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
99 | draw_text(cr, pos_x, pos_y, r_text, g_text, b_text, transparency_text, city, City_font, 0, -35)
100 | ----Day
101 | day = conky_parse('${exec date +%A}')
102 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
103 | draw_text(cr, pos_x, pos_y, r_text, g_text, b_text, transparency_text, day, Day_font, 0, 35)
104 | ----Temperature
105 | cairo_select_font_face (cr, "Dejavu Sans Book", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
106 | temperature = conky_parse("${exec ~/.conky/Conky-Weather/openweather.py --get_temp_c --api_key " .. api_key .. " --city " .. "\"" .. city .. "\"" .. " --ccode " .. country_code .. "}")
107 | draw_text(cr, pos_x, pos_y, r_text, g_text, b_text, transparency_text, temperature .. "˚C", Temperature_font, 19.25, 0)
108 | ----Draw weathor icon
109 | image_path = conky_parse("${exec ~/.conky/Conky-Weather/openweather.py --get_weather_icon --api_key " .. api_key .. " --city " .. "\"" .. city .. "\"" .. " --ccode " .. country_code .. "}")
110 | draw_weather_icon(cr, pos_x-60, pos_y, image_path, transparency_weather_icon)
111 |
112 | end
113 |
114 | function conky_start_widgets()
115 |
116 | local function draw_conky_function(cr)
117 | draw_function(cr)
118 | end
119 |
120 | if conky_window==nil then return end
121 | local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
122 |
123 | local cr=cairo_create(cs)
124 |
125 | draw_conky_function(cr)
126 | cairo_surface_destroy(cs)
127 | cairo_destroy(cr)
128 | end
129 |
--------------------------------------------------------------------------------
/Conky-Weather/start_weather.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 |
3 | cd ~/.conky/Conky-Weather/
4 |
5 | conky -c conky_config
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | conky-drawer-interactive (https://github.com/xexpanderx/conky-drawer-interactive)
2 |
3 | 
4 |
5 | conky-pywal (https://github.com/xexpanderx/conky-pywal)
6 |
7 | 
8 |
9 | Conky-Weather
10 |
11 | 
12 |
13 | Conky-Calendar-Extra
14 |
15 | 
16 |
17 | Conky-Revisited-2
18 |
19 | 
20 |
21 |
--------------------------------------------------------------------------------