Adding a conky

This commit is contained in:
Derek Taylor
2023-08-31 18:14:26 -05:00
parent cf12132648
commit ef6f204591
17 changed files with 1061 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Variable
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
cputemp=$(expr $temp / 1000)
base=32
# Main
Fahrenheit=$(expr $cputemp \* 9 / 5 + $base)
echo $Fahrenheit
exit

View File

@@ -0,0 +1,14 @@
#!/bin/bash
# Closebox73
# Simple script to get playerctl status
PCTL=$(playerctl status)
if [[ ${PCTL} == "" ]]; then
echo "No Music Played"
else
playerctl metadata xesam:artist
fi
exit

View File

@@ -0,0 +1,141 @@
--[[
Ring Meters by londonali1010 (2009)
This script draws percentage meters as rings. It is fully customisable; all options are described in the script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement near the end of the script uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0.5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/rings-v1.2.1.lua
lua_draw_hook_pre ring_stats
Changelog:
+ v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009)
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]
settings_table = {
{
name='cpu',
arg='cpu0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x5105DB,
fg_alpha=1,
x=49.5, y=182.3,
radius=25,
thickness=7,
start_angle=0,
end_angle=360,
},
{
name='memperc',
arg='',
max=100,
bg_colour=0xFFFFFFF,
bg_alpha=0.2,
fg_colour=0x8B0AC3,
fg_alpha=1,
x=119.5, y=182.3,
radius=25,
thickness=7,
start_angle=0,
end_angle=360
},
{
name='battery_percent',
arg='BAT0',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.2,
fg_colour=0xC20EAC,
fg_alpha=1,
x=190, y=182.3,
radius=25,
thickness=7,
start_angle=0,
end_angle=360
},
{
name='acpitemp',
arg='',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.2,
fg_colour=0xFF1493,
fg_alpha=1,
x=259.5, y=182.3,
radius=25,
thickness=7,
start_angle=0,
end_angle=360,
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
if value == nil then value = 0 end
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
cairo_surface_destroy(cs)
cairo_destroy(cr)
end

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# A simple script to display wifi name
# 'ssid -i' = with icon, 'ssid' = text only
# Cheers!
# Addy
SSID_NAME=$(/sbin/iwgetid -r)
if [[ "${SSID_NAME}" != "" ]]; then
if [[ $1 = "-i" ]]; then
echo " ${SSID_NAME}"
else
echo "${SSID_NAME}"
fi
else
echo "Not Connected"
fi
exit

View File

@@ -0,0 +1,43 @@
#!/bin/bash
# v2.0
# I create this scripts to show weather icon with text icon
# and take data from json file, so it can use offline
# the font i use Feather icon font { https://github.com/AT-UI/feather-font }
# to get weather.json file i use another script
# Closebox73
# icon font based openweathermap.org data
ICON_01D=""
ICON_01N=""
ICON_02=""
ICON_09=""
ICON_10=""
ICON_11=""
ICON_13=""
ICON_50=""
NO_DATA=""
WEATHER_ICON=$(cat ~/.cache/weather.json | jq -r '.weather[0].icon')
if [[ "${WEATHER_ICON}" = *01d* ]]; then
echo "${ICON_01D}"
elif [[ "${WEATHER_ICON}" = *01n* ]]; then
echo "${ICON_01N}"
elif [[ "${WEATHER_ICON}" = *02d* || "${WEATHER_ICON}" = *02n* || "${WEATHER_ICON}" = *03d* || "${WEATHER_ICON}" = *03n* || "${WEATHER_ICON}" = *04d* || "${WEATHER_ICON}" = *04n* ]]; then
echo "${ICON_02}"
elif [[ "${WEATHER_ICON}" = *09d* || "${WEATHER_ICON}" = *09n* ]]; then
echo "${ICON_09}"
elif [[ "${WEATHER_ICON}" = *10d* || "${WEATHER_ICON}" = *10n* ]]; then
echo "${ICON_10}"
elif [[ "${WEATHER_ICON}" = *11d* || "${WEATHER_ICON}" = *11n* ]]; then
echo "${ICON_11}"
elif [[ "${WEATHER_ICON}" = *13d* || "${WEATHER_ICON}" = *13n* ]]; then
echo "${ICON_13}"
elif [[ "${WEATHER_ICON}" = *50d* || "${WEATHER_ICON}" = *50n* ]]; then
echo "${ICON_50}"
else
echo "${NO_DATA}"
fi
exit

View File

@@ -0,0 +1,24 @@
#!/bin/bash
# v2.0 Closebox73
# This script is to get weather data from openweathermap.com in the form of a json file
# so that conky will still display the weather when offline even though it doesn't up to date
# Variables
# get your city id at https://openweathermap.org/find and replace
city_id=4887398
# you can use this or replace with yours
api_key=e46d6b1c945f2e9983f0735f8928ea2f
# choose between metric for Celcius or imperial for fahrenheit
unit=imperial
# i'm not sure it will support all languange,
lang=en
# Main command
url="api.openweathermap.org/data/2.5/weather?id=${city_id}&appid=${api_key}&cnt=5&units=${unit}&lang=${lang}"
curl ${url} -s -o ~/.cache/weather.json
exit