Add conkys and wallpapers

This commit is contained in:
kuben
2019-11-03 15:04:22 +01:00
parent a58cdb6355
commit 86764734fd
57 changed files with 1669 additions and 0 deletions

52
.conky/arch/.conkyrc-arch Executable file
View File

@@ -0,0 +1,52 @@
conky.config = {
use_spacer='none',
use_xft=true,
font='DejaVu Sans:size=9',
text_buffer_size=2048,
update_interval=600.0,
total_run_times=0,
own_window=true,
own_window_transparent=true,
own_window_type='normal',
own_window_hints='undecorated,skip_taskbar,skip_pager',
own_window_class='Conky-arch',
own_window_argb_visual=true,
own_window_argb_value=0,
draw_shades=false,
draw_outline=false,
draw_borders=false,
stippled_borders=0,
double_buffer=true,
default_color='white',
default_shade_color='black',
--Minimum size of text area
maximum_width=1200 ,
minimum_width=1200 ,
--alignment=top_right,
--gap_x=20,
--gap_y=20,
no_buffers=true,
net_avg_samples=2,
override_utf8_locale=true,
use_spacer=none,
short_units=on,
color1 = '0099ff', -- Arch News
color2 = '0000ff', --Titles
color3 = '3a3a3a', --Dates
color4 = 'dddddd', --Code tag
default_outline_color='black',--'00ccee',
lua_load = '~/.conky/arch/lua.lua'
};
conky.text = [[
${color1}${font DejaVu Sans:normal:size=24}${alignc}Arch-news
${lua_parse conky_print}
]];

84
.conky/arch/cache Executable file
View File

@@ -0,0 +1,84 @@
${alignr}${font DejaVu Sans:size=8}Retrieved: 09/14/2018
${color2}${font DejaVu Sans:size=12}libutf8proc>=2.1.1-3 update requires manual intervention
${color}${font}The libutf8proc package prior to version 2.1.1-3 had an incorrect soname link. This has been fixed in 2.1.1-3, so the upgrade will need to overwrite the untracked soname link created by ldconfig. If
you get an error
${color4}${font DejaVu Sans:italic:size=9}libutf8proc: /usr/lib/libutf8proc.so.2 exists in filesystem${color}${font}
when updating, use
${color4}${font DejaVu Sans:italic:size=9}pacman -Suy --overwrite usr/lib/libutf8proc.so.2${color}${font}
to perform the upgrade.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 07/14/2018
${color2}${font DejaVu Sans:size=12}js52 52.7.3-2 upgrade requires intervention
${color}${font}Due to the SONAME of ${color4}${font DejaVu Sans:italic:size=9}/usr/lib/libmozjs-52.so${color}${font} not matching its file name, ldconfig created an untracked file ${color4}${font DejaVu Sans:italic:size=9}/usr/lib/libmozjs-52.so.0${color}${font}. This is now fixed and both files are present in the package.
To pass the upgrade, remove ${color4}${font DejaVu Sans:italic:size=9}/usr/lib/libmozjs-52.so.0${color}${font} prior to upgrading.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 05/04/2018
${color2}${font DejaVu Sans:size=12}glibc 2.27-2 and pam 1.3.0-2 may require manual intervention
${color}${font}The new version of glibc removes support for NIS and NIS+. The default ${color4}${font DejaVu Sans:italic:size=9}/etc/nsswitch.conf${color}${font} file provided by ${color4}${font DejaVu Sans:italic:size=9}filesystem${color}${font} package already reflects this change. Please make sure to merge pacnew file if it
exists prior to upgrade.
NIS functionality can still be enabled by installing ${color4}${font DejaVu Sans:italic:size=9}libnss_nis${color}${font} package. There is no replacement for NIS+ in the official repositories.
${color4}${font DejaVu Sans:italic:size=9}pam 1.3.0-2${color}${font} no longer ships pam_unix2 module and ${color4}${font DejaVu Sans:italic:size=9}pam_unix_*.so${color}${font} compatibility symlinks. Before upgrading, review PAM configuration files in the ${color4}${font DejaVu Sans:italic:size=9}/etc/pam.d${color}${font} directory and replace removed modules with ${color4}${font DejaVu Sans:italic:size=9}pam
_unix.so${color}${font}. Users of pam_unix2 should also reset their passwords after such change. Defaults provided by ${color4}${font DejaVu Sans:italic:size=9}pambase${color}${font} package do not need any modifications.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 04/20/2018
${color2}${font DejaVu Sans:size=12}zita-resampler 1.6.0-1 -> 2 update requires manual intervention
${color}${font}The zita-resampler 1.6.0-1 package was missing a library symlink that has been readded in 1.6.0-2. If you installed 1.6.0-1, ldconfig would have created this symlink at install time, and it will
conflict with the one included in 1.6.0-2. In that case, remove /usr/lib/libzita-resampler.so.1 manually before updating.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 02/22/2018
${color2}${font DejaVu Sans:size=12} The end of i686 support
${color}${font}Following 9 months of deprecation period${color}${font}, support for the i686 architecture effectively ends today. By the end of November, i686 packages will be removed from our mirrors and later from the packages
archive. The [multilib] repository is not affected.
For users unable to upgrade their hardware to x86_64, an alternative is a community maintained fork named Arch Linux 32${color}${font}. See their website for details on migrating existing installations.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 11/08/2017
${color2}${font DejaVu Sans:size=12}Perl library path change
${color}${font}The perl package now uses a versioned path for compiled modules. This means that modules built for a non-matching perl version will not be loaded any more and must be rebuilt.
A pacman hook warns about affected modules during the upgrade by showing output like this:
You must rebuild all affected packages against the new perl package before you can use them again. The change also affects modules installed directly via CPAN. Rebuilding will also be necessary again
with future major perl updates like 5.28 and 5.30.
Please note that rebuilding was already required for major updates prior to this change, however now perl will no longer try to load the modules and then fail in strange ways.
If the build system of some software does not detect the change automatically, you can use ${color4}${font DejaVu Sans:italic:size=9}perl -V:vendorarch${color}${font} in your PKGBUILD to query perl for the correct path. There is also ${color4}${font DejaVu Sans:italic:size=9}sitearch${color}${font} for software
that is not packaged with pacman.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 09/02/2017
${color2}${font DejaVu Sans:size=12}Deprecation of ABS tool and rsync endpoint
${color}${font}Due to high maintenance cost of scripts related to the Arch Build System, we have decided to deprecate the ${color4}${font DejaVu Sans:italic:size=9}abs${color}${font} tool and thus rsync as a way of obtaining PKGBUILDs.
The ${color4}${font DejaVu Sans:italic:size=9}asp${color}${font} tool, available in [extra], provides similar functionality to ${color4}${font DejaVu Sans:italic:size=9}abs${color}${font}. ${color4}${font DejaVu Sans:italic:size=9}asp export pkgname${color}${font} can be used as direct alternative; more information about its usage can be found in the documentation${color}${font}.
Additionally Subversion sparse checkouts, as described here${color}${font}, can be used to achieve a similar effect. For fetching all PKGBUILDs, the best way is cloning the svntogit${color}${font} mirrors.
While the ${color4}${font DejaVu Sans:italic:size=9}extra/abs${color}${font} package has been already dropped, the rsync endpoint (rsync://rsync.archlinux.org/abs) will be disabled by the end of the month.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 05/15/2017
${color2}${font DejaVu Sans:size=12}ca-certificates-utils 20170307-1 upgrade requires manual intervention
${color}${font}The upgrade to <strong>ca-certificates-utils 20170307-1${color}${font} requires manual intervention because a symlink which used to be generated post-install has been moved into the package proper.
As deleting the symlink may leave you unable to download packages, perform this upgrade in three steps:${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 03/15/2017
${color2}${font DejaVu Sans:size=12}mesa with libglvnd support is now in testing
${color}${font}${color4}${font DejaVu Sans:italic:size=9}mesa${color}${font}-17.0.0-3 can now be installed side-by-side with ${color4}${font DejaVu Sans:italic:size=9}nvidia${color}${font}-378.13 driver without any libgl/libglx hacks, and with the help of Fedora and upstream xorg-server patches.
First step was to remove the libglx symlinks with xorg-server-1.19.1-3 and associated mesa/nvidia drivers through the removal of various libgl packages. It was a tough moment because it was breaking
optimus system, ${color4}${font DejaVu Sans:italic:size=9}xorg-server${color}${font} configuration needs manual updating.
The second step is now here, with an updated 10-nvidia-drm-outputclass.conf${color}${font} file that should help to have an "out-of-the-box" working ${color4}${font DejaVu Sans:italic:size=9}xorg-server${color}${font} experience with optimus system.
Please test this extensively and post your feedback in this forum thread${color}${font} or in our bugtracker${color}${font}.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 02/27/2017
${color2}${font DejaVu Sans:size=12}Phasing out i686 support
${color}${font}Due to the decreasing popularity of i686 among the developers and the community, we have decided to phase out the support of this architecture.
The decision means that February ISO will be the last that allows to install 32 bit Arch Linux. The next 9 months are deprecation period, during which i686 will be still receiving upgraded packages.
Starting from November 2017, packaging and repository tools will no longer require that from maintainers, effectively making i686 unsupported.
However, as there is still some interest in keeping i686 alive, we would like to encourage the community to make it happen with our guidance. The arch-ports${color}${font} mailing list and #archlinux-ports IRC
channel on Freenode will be used for further coordination.
The [multilib] repository will not be affected by this change.${color3}${font DejaVu Sans:size=8}${alignr} Uppdated: 01/25/2017

67
.conky/arch/fetch_feed.sh Executable file
View File

@@ -0,0 +1,67 @@
#!/bin/bash
# Written by Peter Garceau
# Based on the RDF Feed Display Script by Hellf[i]re v0.1
#
# This script is designed for the Arch Linux News Feed.
#
# This script depends on curl.
# pacman -Sy curl
#
# Usage:
# .conkyrc: ${execi [time] /path/to/script/conky-rss.sh}
#
# Usage Example
# ${execi 300 /home/youruser/scripts/conky-rss.sh}
#Try to download feed
RES=$(curl -fs https://www.archlinux.org/feeds/news/)
SUCCESS=$?
if [ $SUCCESS == 0 ]
then
echo $RES > ~/.conky/arch/cache
fi
#RSS Setup
LINES=4 #Number of headlines
FEED=$(cat ~/.conky/arch/cache)
if [ "$FEED" ]
then
IFS=$'\n'
TITLES=($(echo $FEED |
sed -e 's/></>\n</g' |
sed -n '/<title>/p'))
ITEMS=($(echo $FEED |
sed -e 's/<item>/\n<item>/g'))
unset IFS
OUTPUT='1'
i=1
while [ $i -le $LINES ]
do
OUTPUT+='\n'
OUTPUT+=$(echo ${TITLES[$i]} | sed -n '/<title>/p' | \
sed -e 's/<title>//' | sed -e 's/<\/title>//')
OUTPUT+='\n'
OUTPUT+=$(echo ${ITEMS[$i]} | sed -e 's/.*<pubDate>\(.*\)<\/pubDate>.*/\1/' | \
awk '{print $1 " " $2 " " $3}')
OUTPUT+='\n'
OUTPUT+=$(echo ${ITEMS[$i]} | sed -e 's/.*<description>\(.*\)<\/description>.*/\1/' | \
sed -e 's/&lt;\/p&gt; &lt;p&gt;/\n/g' | sed -e 's/&lt;\/p&gt;//g' | \
sed -e 's/&lt;p&gt;//g')
i=$(($i + 1))
done
echo -e $OUTPUT
echo -e $OUTPUT | sed -e 's/&lt;/</g' | sed -e 's/&gt;/>/g' | \
sed -e 's/<ul>/\\n/g' | sed -e 's/<\/ul>/\\n/g' | sed -e 's/<li>/\\n• /g' | sed -e 's/<\/li>//g' | \
sed -e 's/<a href=[^>]*>/\\3/g' | sed -e 's/<\/a>/\\d/g' | \
sed -e 's/<strong>/\\b/g' | sed -e 's/<\/strong>/\\r/g' | \
sed -e 's/<pre>//g' | sed -e 's/<\/pre>//g' | \
sed -e 's/<code>/\\i/g' | sed -e 's/<\/code>/\\r/g' \
> ~/.conky/arch/feed
fi
#Do not update anything if curl fails

174
.conky/arch/lua.lua Normal file
View File

@@ -0,0 +1,174 @@
line_width = 200
lipsum = [[
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget dolor a dui interdum rhoncus. Aenean congue nunc quis sem ultrices, vel fringilla tellus dignissim. Vivamus vitae purus ligula. Quisque ante elit, ultrices id aliquam a, porttitor quis risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc elementum nisl nec efficitur mattis. Donec viverra tempor enim nec dictum. Suspendisse quam neque, posuere eu magna sit amet, rhoncus finibus risus. Phasellus tristique ac lacus eu ultricies. Quisque varius purus at eros rutrum hendrerit. Donec efficitur justo eu scelerisque mollis. Fusce dictum aliquam convallis. Phasellus eget nunc lacus. Nunc urna dui, tempor pharetra consectetur non, elementum sed purus. Phasellus consectetur quis libero et semper.
Pellentesque condimentum sem quis diam commodo convallis. Morbi et ligula sagittis, venenatis tortor ut, molestie dui. Nam egestas, purus eu efficitur mollis, ex neque convallis felis, at egestas nisi dolor sed enim. Pellentesque a felis facilisis orci dapibus porttitor. Aenean et viverra nulla, interdum eleifend neque. Nunc sem justo, vulputate et arcu eget, dignissim lobortis dui. Vivamus laoreet feugiat elit.
Fusce euismod nibh vitae orci gravida pretium. Quisque feugiat lacinia tortor eget sagittis. Morbi in mauris sit amet dui vehicula egestas. Curabitur sit amet facilisis lectus. Donec id turpis eleifend, hendrerit turpis eu, tristique velit. Curabitur pulvinar facilisis tincidunt. In hac habitasse platea dictumst. Donec convallis erat id neque pretium, non gravida felis imperdiet. Vivamus hendrerit, nunc id rutrum tristique, arcu leo auctor sapien, id fringilla mauris erat sed justo. Etiam pharetra quis enim sit amet imperdiet. Vestibulum condimentum massa vel ullamcorper malesuada. Duis libero eros, facilisis in suscipit in, varius id ipsum.
Donec in orci ac leo dapibus maximus sed eget tortor. Sed blandit eros lectus, et venenatis erat aliquam sed. Vestibulum risus ex, laoreet at malesuada non, egestas ut lacus. Quisque sed malesuada leo. Ut id ligula accumsan, commodo massa eget, porta mauris. Mauris a lectus ac tellus ornare aliquet quis at arcu. Curabitur nec sem sodales, mattis velit non, tempor arcu. Morbi sit amet maximus lacus, nec venenatis est. Curabitur et congue dui. Nullam lacinia augue non quam hendrerit facilisis.
Curabitur molestie mauris eget tempor mattis. Donec velit arcu, iaculis quis leo et, sodales venenatis erat. Maecenas in malesuada erat, vitae iaculis odio. Praesent id ultrices sem. In hac habitasse platea dictumst. In aliquet, nisl laoreet bibendum sodales, justo lacus aliquam mi, non elementum urna odio et nunc. Nulla interdum, ante in vestibulum pellentesque, nunc enim iaculis urna, eget convallis lectus ex sed tortor. Morbi suscipit malesuada felis at aliquam.
]]
text = [[
<p>
<H2>The string library</H2>
<p>
Lua supplies a range of useful functions for processing and manipulating strings in its standard library. More details are supplied in the <a href="/wiki/StringLibraryTutorial" >StringLibraryTutorial</a>. Below are a few examples of usage of the string library.
<DL>
<dt><dd><pre class="code">
&gt; = <span class="library">string.byte</span>(<span class="string">"ABCDE"</span>, 2) <span class="comment">-- return the ASCII value of the second character</span>
66
&gt; = <span class="library">string.char</span>(65,66,67,68,69) <span class="comment">-- return a string constructed from ASCII values</span>
ABCDE
&gt; = <span class="library">string.find</span>(<span class="string">"hello Lua user"</span>, <span class="string">"Lua"</span>) <span class="comment">-- find substring "Lua"</span>
7 9
&gt; = <span class="library">string.find</span>(<span class="string">"hello Lua user"</span>, <span class="string">"l+"</span>) <span class="comment">-- find one or more occurrences of "l"</span>
3 4
&gt; = <span class="library">string.format</span>(<span class="string">"%.7f"</span>, <span class="library">math.pi</span>) <span class="comment">-- format a number</span>
3.1415927
&gt; = <span class="library">string.format</span>(<span class="string">"%8s"</span>, <span class="string">"Lua"</span>) <span class="comment">-- format a string</span>
Lua
</pre>
</DL>
<p>
<H2>Coercion</H2>
<p>
Lua performs automatic conversion of numbers to strings and vice versa where it is appropriate. This is called <em>coercion</em>.
<DL>
<dt><dd><pre class="code">
&gt; = <span class="string">"This is Lua version "</span> .. 5.1 .. <span class="string">" we are using."</span>
This is Lua version 5.1 we are using.
&gt; = <span class="string">"Pi = "</span> .. <span class="library">math.pi</span>
Pi = 3.1415926535898
&gt; = <span class="string">"Pi = "</span> .. 3.1415927
Pi = 3.1415927
</pre>
</DL>
As shown above, during coercion, we do not have full control over the formatting of the conversion. To format the number as a string as we would like we can use the <code>string.format()</code> function. e.g.,
<DL>
<dt><dd><pre class="code">
&gt; = <span class="library">string.format</span>(<span class="string">"%.3f"</span>, 5.1)
5.100
&gt; = <span class="string">"Lua version "</span> .. <span class="library">string.format</span>(<span class="string">"%.1f"</span>, 5.1)
Lua version 5.1
</pre>
]]
text = text:gsub("\n"," ")
function indent_entry(contents,init,break_at)
if contents:len() <= break_at then
return contents -- Done
end
local begin_tag,end_tag = contents:find("<(.-)>",init)
if not begin_tag or begin_tag > break_at then
-- No tag exists or next tag is behind preferred break
-- Find last space before break, if no space break word at break_at
for i=break_at,init,-1 do -- Iterate backwards over string
if contents:sub(i,i) == " " then
break_at = i
break;
end
end
contents = contents:sub(1,break_at) .. "\n" .. contents:sub(break_at+1)
init = break_at+1 -- Not necessarily same value as passed to the function
break_at = break_at + line_width
debug = "No tag or tag behind break."
elseif end_tag < break_at then
-- Next tag is before preferred break
-- Increase break_at by length of tag and iterate (init = end_tag)
init = end_tag
break_at = break_at + 1 + end_tag - begin_tag
debug = "Tag entirely before break"
else
-- Case break_at in the middle of tag:
-- Increase break at by length of tag
init = end_tag + 1
break_at = break_at + 1 + end_tag - begin_tag
debug = "Tag in the middle of break"
end
return indent_entry(contents,init,break_at)
end
function parse_paragraph(par)
return indent_entry(par:gsub("\n", " "),1,line_width)
end
function substitute_tags(content)
return content:gsub("<code>",("${color4}${font %s}"):format(font_i(9)))
:gsub("<b>",("${font_b %s}"):format(font_b(9)))
:gsub("</(.-)>","${color}${font}")
:gsub("<a(.-)>","")
end
function parse_entry(contents)
local ret = ""
for paragraph in contents:gmatch("<p>(.-)</p>") do
if ret ~= "" then
ret = ret .. "\n\n" -- Add line break on all except first entry
end
ret = ret .. parse_paragraph(paragraph)
end
return substitute_tags(ret)
end
function format_entry(entry)
local entry_contents = parse_entry(entry.summary)
local res = ('${color2}${font %s}%s\n'):format(font(12),entry.title)
res = ('%s${color}${font}%s'):format(res,entry_contents)
res = ('%s${color3}${font %s}${alignr} Uppdated: %s\n\n'):format(res,font(8),os.date("%x",entry.updated_parsed))
return res
end
function conky_print()
local f = assert(get_file_handle('rb'))
local content = f:read("*all")
f:close()
return content
end
function fetch_feed()
-- Fetch over http
local http_request = require "http.request"
local url = "https://www.archlinux.org/feeds/news/"
local headers, stream = assert(http_request.new_from_uri(url):go())
local body = assert(stream:get_body_as_string())
if headers:get ":status" ~= "200" then
error(body)
end
a,s,c = headers:geti(3)
p="%a+, (%d+) (%a+) (%d+) (%d+):(%d+):(%d+) GMT"
day,month,year,hour,min,sec=s:match(p)
MON={Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12}
month=MON[month]
offset=os.time()-os.time(os.date("!*t"))
retrieved = os.date("%x",os.time({day=day,month=month,year=year,hour=hour,min=min,sec=sec})+offset)
-- Parse
local feedparser = require("feedparser")
entries = feedparser.parse(body).entries
s = entries[2].summary
local res = ('${alignr}${font %s}Retrieved: %s\n'):format(font(8),retrieved)
for key,entry in pairs(entries) do
res = res .. format_entry(entry)
end
-- Save to cache
local file = get_file_handle("w")
io.output(file)
io.write(res)
io.close(file)
return parsed
end
function font(size)
return ('DejaVu Sans:size=%d'):format(size)
end
function font_b(size)
return ('DejaVu Sans:bold:size=%d'):format(size)
end
function font_i(size)
return ('DejaVu Sans:italic:size=%d'):format(size)
end
function get_file_handle(opt)
local filename = '/home/kuba/.conky/arch/cache'
return io.open(filename, opt)
end
s = fetch_feed()