#!/bin/bash
# Conky Configurator - Configuration interactive
# Usage: ./conky-configurator.sh
echo "=== Configurateur Conky ==="
echo ""
# 1. Position
echo "Position de Conky :"
echo "1) Haut gauche"
echo "2) Haut droit"
echo "3) Bas gauche"
echo "4) Bas droit"
read -p "Votre choix [1-4] : " pos_choice
case $pos_choice in
1) ALIGNMENT="top_left"; GAP_X=20; GAP_Y=50 ;;
2) ALIGNMENT="top_right"; GAP_X=20; GAP_Y=50 ;;
3) ALIGNMENT="bottom_left"; GAP_X=20; GAP_Y=50 ;;
4) ALIGNMENT="bottom_right"; GAP_X=20; GAP_Y=50 ;;
*) ALIGNMENT="top_right"; GAP_X=20; GAP_Y=50 ;;
esac
# 2. Taille
echo ""
echo "Largeur de la fenêtre :"
echo "1) Compact (250px)"
echo "2) Standard (350px)"
echo "3) Large (450px)"
read -p "Votre choix [1-3] : " width_choice
case $width_choice in
1) WIDTH=250 ;;
2) WIDTH=350 ;;
3) WIDTH=450 ;;
*) WIDTH=350 ;;
esac
# 3. Thème couleur
echo ""
echo "Thème de couleur :"
echo "1) Bleu cyber (défaut)"
echo "2) Vert Matrix"
echo "3) Orange/Rouge"
echo "4) Monochrome blanc"
read -p "Votre choix [1-4] : " color_choice
case $color_choice in
1) COLOR1="00BFFF"; COLOR2="1E90FF"; COLOR3="87CEEB" ;;
2) COLOR1="00FF00"; COLOR2="32CD32"; COLOR3="90EE90" ;;
3) COLOR1="FF4500"; COLOR2="FF6347"; COLOR3="FFA500" ;;
4) COLOR1="FFFFFF"; COLOR2="CCCCCC"; COLOR3="999999" ;;
*) COLOR1="00BFFF"; COLOR2="1E90FF"; COLOR3="87CEEB" ;;
esac
# 4. Transparence
echo ""
read -p "Niveau de transparence (0=invisible, 1=opaque) [0.8] : " transparency
ALPHA=${transparency:-0.8}
# 5. Sections à afficher
echo ""
echo "Sections à afficher (o/n) :"
read -p "Système (CPU, RAM, Disque) [o] : " show_system
read -p "Réseau [o] : " show_network
read -p "Processus top [o] : " show_processes
SHOW_SYS=${show_system:-o}
SHOW_NET=${show_network:-o}
SHOW_PROC=${show_processes:-o}
# Génération de la configuration
cat > ~/.conkyrc << EOL
conky.config = {
alignment = '$ALIGNMENT',
background = true,
border_width = 1,
cpu_avg_samples = 2,
default_color = '$COLOR1',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans Mono:size=10',
gap_x = $GAP_X,
gap_y = $GAP_Y,
minimum_height = 5,
minimum_width = $WIDTH,
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 = false,
own_window_argb_visual = true,
own_window_argb_value = $(echo "$ALPHA * 255" | bc | cut -d. -f1),
stippled_borders = 0,
update_interval = 2.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false,
double_buffer = true,
}
conky.text = [[
\${color $COLOR2}\${font DejaVu Sans Mono:size=12:bold}KAISEN LINUX\${font}
\${color $COLOR3}\${hr 2}
EOL
# Section Système
if [ "$SHOW_SYS" = "o" ]; then
cat >> ~/.conkyrc << 'EOL'
${color #00BFFF}${font DejaVu Sans Mono:size=11:bold}SYSTÈME${font}
${color}Hostname: ${color #1E90FF}$nodename
${color}Uptime: ${color #1E90FF}$uptime
${color}Kernel: ${color #1E90FF}$kernel
${color #00BFFF}CPU: ${color #1E90FF}$cpu% ${color #87CEEB}${cpubar 4}
${color}${cpugraph 30,0 1E90FF 00BFFF}
${color}Fréquence: ${color #1E90FF}${freq_g} GHz
${color #00BFFF}RAM: ${color #1E90FF}$mem/$memmax ${color #87CEEB}${membar 4}
${color}Swap: ${color #1E90FF}$swap/$swapmax ${color #87CEEB}${swapbar 4}
${color #00BFFF}Disque: ${color #1E90FF}${fs_used /}/${fs_size /} ${color #87CEEB}${fs_bar 4 /}
${color}I/O: ${color #1E90FF}${diskio}
${color}${diskiograph 30,0 1E90FF 00BFFF}
EOL
fi
# Section Réseau
if [ "$SHOW_NET" = "o" ]; then
cat >> ~/.conkyrc << 'EOL'
${color #00BFFF}${font DejaVu Sans Mono:size=11:bold}RÉSEAU${font}
${color}IP locale: ${color #1E90FF}${addr eth0}
${color}IP publique: ${color #1E90FF}${execi 3600 curl -s ifconfig.me}
${color}Down: ${color #1E90FF}${downspeed eth0}/s ${alignr}${color}Total: ${color #1E90FF}${totaldown eth0}
${color #87CEEB}${downspeedgraph eth0 30,0 1E90FF 00BFFF}
${color}Up: ${color #1E90FF}${upspeed eth0}/s ${alignr}${color}Total: ${color #1E90FF}${totalup eth0}
${color #87CEEB}${upspeedgraph eth0 30,0 1E90FF 00BFFF}
EOL
fi
# Section Processus
if [ "$SHOW_PROC" = "o" ]; then
cat >> ~/.conkyrc << 'EOL'
${color #00BFFF}${font DejaVu Sans Mono:size=11:bold}TOP PROCESSUS${font}
${color}Nom ${alignr}PID CPU% MEM%
${color #1E90FF}${top name 1} ${alignr}${top pid 1} ${top cpu 1} ${top mem 1}
${color}${top name 2} ${alignr}${top pid 2} ${top cpu 2} ${top mem 2}
${color}${top name 3} ${alignr}${top pid 3} ${top cpu 3} ${top mem 3}
${color}${top name 4} ${alignr}${top pid 4} ${top cpu 4} ${top mem 4}
${color}${top name 5} ${alignr}${top pid 5} ${top cpu 5} ${top mem 5}
EOL
fi
# Fermeture du fichier
echo "]]" >> ~/.conkyrc
echo ""
echo "✓ Configuration générée dans ~/.conkyrc"
echo ""
# Redémarrer Conky pour appliquer les changements
echo "Redémarrage de Conky..."
killall conky 2>/dev/null
sleep 1
conky &
echo "✓ Conky redémarré avec la nouvelle configuration"
echo ""
echo "Pour modifier à nouveau : ./conky-configurator.sh"
echo "Pour arrêter Conky : killall conky"