├── 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 | ![alt tag](https://raw.githubusercontent.com/xexpanderx/conky-drawer-interactive/master/screenshot.png) 4 | 5 | conky-pywal (https://github.com/xexpanderx/conky-pywal) 6 | 7 | ![alt tag](https://raw.githubusercontent.com/xexpanderx/conky-pywal/master/screenshot.png) 8 | 9 | Conky-Weather 10 | 11 | ![alt tag](https://raw.githubusercontent.com/xexpanderx/Conky-themes/master/Conky-Weather/screenshot.png) 12 | 13 | Conky-Calendar-Extra 14 | 15 | ![alt tag](https://raw.githubusercontent.com/xexpanderx/Conky-themes/master/Conky-Calendar-Extra/conky_calendar_extra_by_xexpanderx-d77aeos.png) 16 | 17 | Conky-Revisited-2 18 | 19 | ![alt tag](https://raw.githubusercontent.com/xexpanderx/Conky-themes/master/Conky-Revisited-2/Screenshot.png) 20 | 21 | --------------------------------------------------------------------------------