Ένα ελαφρύ, κομψό, οριζόντιο Conky widget σχεδιασμένο για το κέντρο της οθόνης, στο μέσο του κάτω μέρους ώστε να μην ενοχλεί, το οποίο συνδυάζει πληροφορίες συστήματος (ώρα, καιρός, CPU, RAM, δίκτυο) και τραβάει αυτόματα την τελευταία δημοσίευση από το φόρουμ του OSarena μέσω του Flarum API.

Δεν κάναμε τίποτα μαγικό. Ένα αρχείο conky πήραμε από τα αμέτρητα που κυκλοφορούν, το παραμετροποιήσαμε, του αλλάξαμε στην αισθητική του osarena και αυτό ήταν!
Παρόλα αυτά, αμέσως μετά την παρούσα δημοσίευση υπάρχει και μια ακόμα εκδοχή του, η πρώιμη, με εντελώς διαφορετική εμφάνιση και πάνω στην οποία βασιστήκαμε.
Δομή Αρχείων:
Το project αποτελείται από δύο βασικά αρχεία που πρέπει να βρίσκονται στον ίδιο φάκελο:
conky.conf (Το αρχείο ρύθμισης του conky)
get_osarena.py (Το python script που φέρνει δυναμικά τον τελευταίο τίτλο)
Οδηγίες Εγκατάστασης:
Για να δουλέψει (όπως και το κάθε conky) χρειάζεται να εγκαταστήσετε από του Διαχειριστές Λογισμικού των διανομών σας το Conky και την Python 3 στο σύστημά σας (πολλές διανομές την Python 3 την έχουν ήδη προεγκατεστημένη).
Για συντομία, μπορείτε και με την εξής εντολή για Ubuntu, Mint και παράγωγες διανομές:
sudo apt install conky-all python3
Αντίστοιχα και για τη διανομή σας.
Το widget λειτουργεί plug-and-play σε οποιονδήποτε χρήστη και σύστημα, καθώς εντοπίζει αυτόματα τη διαδρομή εκτέλεσης.
Τοποθέτηση Αρχείων:
Δημιουργήστε έναν φάκελο (π.χ: conky-osarena) στον υπολογιστή σας και τοποθετήστε μέσα τα δύο αρχεία (conky.conf και get_osarena.py).
Προετοιμασία του Python Script:
Κάντε το script εκτελέσιμο ανοίγοντας τερματικό στον φάκελο και πληκτρολογώντας:
chmod +x get_osarena.py
είτε με δεξί κλικ επάνω του -> Ιδιότητες -> Δικαιώματα και επιλέγετε να είναι Εκτελέσιμο.
Τα αρχεία:
Αντιγράψτε τα εξής, βάζοντας τα ένα - ένα σε ένα απλό αρχείο κειμένου:
Το αρχικό αρχείο, το οποίο θα το ονομάσετε: get_osarena.py
#!/usr/bin/env python3
import json
import urllib.request
url = "https://osarena.org/api/discussions?page[limit]=1"
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
try:
with urllib.request.urlopen(req) as res:
data = json.loads(res.read().decode())
title = data['data'][0]['attributes']['title']
if len(title) > 32:
title = title[:29] + "..."
print(f"• {title}")
except:
print("• Feed unavailable")
Κατόπιν, το δεύτερο που θα ονομάσετε: conky.conf
conky.config = {
alignment = 'bottom_middle',
background = false,
border_width = 1,
cpu_avg_samples = 2,
default_color = 'A0A0A0',
default_outline_color = 'black',
default_shade_color = 'black',
double_buffer = true,
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans:size=9',
gap_x = 0,
gap_y = 15,
minimum_width = 1200,
minimum_height = 30,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_transparent = true,
own_window_argb_visual = true,
update_interval = 10.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false,
};
conky.text = [[
${color 00E5FF}TIME: ${time %H:%M:%S} (${time %d/%m})${color} | \
${color 76FF03}WEATHER: ${execi 300 curl -s "wttr.in/?format=%t"}${color} | \
${color FFC107}CPU: ${cpu cpu0}%${color} | \
${color FF5252}RAM: $memperc% ($mem)${color} | \
${color E040FB}NET D: ${downspeed} U: ${upspeed}${color} | \
${color 00B0FF}OSARENA: ${execi 600 python3 "$(find ~ -name 'get_osarena.py' -print -quit)"}$Color
]];
Εναλλακτικά, μπορείτε να τα κατεβάσετε από το αποθετήριο του osarena στο Codeberg: 🌐 conky-osarena
Ρύθμιση (conky.conf):
Η γραμμή που καλεί δυναμικά το script εντός του conky.conf χρησιμοποιεί αυτόματη αναζήτηση διαδρομής μέσω του find, διασφαλίζοντας πλήρη φορητότητα ανεξάρτητα από το όνομα χρήστη ή τη γλώσσα του συστήματος:
${color 00B0FF}OSARENA: ${execi 600 python3 "$(find ~ -name 'get_osarena.py' -print -quit)"}$Color
Εκκίνηση:
Για να ξεκινήσετε το widget δοκιμαστικά ή κανονικά, τρέξτε στο τερματικό:
conky -c /διαδρομή/προς/τον/φάκελο/conky.conf
όπου: «διαδρομή/προς/τον/φάκελο» εκεί που το έχετε τοποθετήσει.
Για παράδειγμα, στην περίπτωση μου (έχω δημιουργήσει έναν φάκελο Apps στο /home μου)
Φυσικά, κατόπιν μπορείτε να κλείσετε το τερματικό σας, το conky θα συνεχίσει να τρέχει κανονικά.
Αν θέλετε, μπορείτε να προσθέσετε και στις εφαρμογές εκκίνησης ώστε να ξεκινάει μόλις ανοίγετε το σύστημά σας. Απλά, δώστε του μια καθυστέρηση 5 ή 6 δευτερολέπτων.
Είναι πανάλαφρο, δεν καταναλώνει σχεδόν τίποτα από πόρους.
Αν θέλετε να κάνετε την οποιαδήποτε αλλαγή, ρωτήστε και θα σας πούμε πώς μπορεί να γίνει.