1
0
Fork 0
mirror of https://github.com/lcpz/awesome-copycats.git synced 2024-10-22 12:31:23 +00:00

better support for localization

This commit is contained in:
luke bonham 2013-04-01 10:14:28 +02:00
parent 1b55f9efe8
commit 7beb6f6b44
7 changed files with 9 additions and 487 deletions

1
.gitignore vendored
View file

@ -1,2 +1 @@
rc.lua rc.lua
perceptive/

View file

@ -1,7 +1,7 @@
===== =====
Awesome WM Copycats Awesome WM Copycats
===== =====
A collection of heavy modded themes A collection of heavy modded themes for Awesome WM 3.5+
--------- ---------
Beware! They're more awesome than they appear, it's just they're shy. Beware! They're more awesome than they appear, it's just they're shy.
@ -10,14 +10,14 @@ Notable features:
- Autohide widgets (*tell me only when you have to*) - Autohide widgets (*tell me only when you have to*)
- Autostart functionality - Autostart functionality
- Fast mpd and volume shortcuts (first time you see this trick on Awesome) - Fast mpd and volume shortcuts (first time you see this trick in Awesome)
- Other fancy shortcuts for copying to the clipboard (goodbye clipboard managers!), toggle wiboxes, widgets popups, screenshots capture, moving clients - Other fancy shortcuts for copying to the clipboard (goodbye clipboard managers!), toggle wiboxes, widgets popups, screenshots capture, moving clients
- Quake style dropdown terminal - Quake style dropdown terminal
- Calendar with current day hightlighted plus the possibility to switch months back and forward with just a click - Calendar with current day hightlighted and previous/next month switch with just a click
- Elegant notifications for new mails, current song, hdd critical state, low battery - Elegant notifications for new mails, current song, hdd critical state, low battery
- Yahoo Wheather integration - Yahoo Wheather integration
- A net carrier checker, when you're offline it warns you and lets you start wifi-menu - A net carrier status notifier
- Full localization potential (just easily edit about 20 lines) - Full localization potential (just easily edit about 5 lines - look for 'stub' keywords)
- Colorful autoupdating icons - Colorful autoupdating icons
They're scattered all over the set, but you can get them all *only* in Blackburn. They're scattered all over the set, but you can get them all *only* in Blackburn.

View file

@ -71,7 +71,7 @@ end
home = os.getenv("HOME") home = os.getenv("HOME")
confdir = home .. "/.config/awesome" confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/" scriptdir = confdir .. "/scripts/"
themes = confdir .. "/themes" themes = confdir .. "/themes"
active_theme = themes .. "/blackburn" active_theme = themes .. "/blackburn"

View file

@ -73,7 +73,7 @@ end
-- Useful Paths -- Useful Paths
home = os.getenv("HOME") home = os.getenv("HOME")
confdir = home .. "/.config/awesome" confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/" scriptdir = confdir .. "/scripts/"
themes = confdir .. "/themes" themes = confdir .. "/themes"
active_theme = themes .. "/multicolor" active_theme = themes .. "/multicolor"

View file

@ -74,6 +74,7 @@ end
-- Useful Paths -- Useful Paths
home = os.getenv("HOME") home = os.getenv("HOME")
confdir = home .. "/.config/awesome" confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/scripts/"
themes = confdir .. "/themes" themes = confdir .. "/themes"
active_theme = themes .. "/powerarrow-darker" active_theme = themes .. "/powerarrow-darker"
@ -418,7 +419,7 @@ function add_info()
mouse = mouse, mouse = mouse,
screen = screen screen = screen
} }
local cal = awful.util.pread("dfs") local cal = awful.util.pread(scriptdir .. "dfs")
cal = string.gsub(cal, " ^%s*(.-)%s*$", "%1") cal = string.gsub(cal, " ^%s*(.-)%s*$", "%1")
infos = naughty.notify({ infos = naughty.notify({
text = string.format('<span font_desc="%s">%s</span>', "Terminus", cal), text = string.format('<span font_desc="%s">%s</span>', "Terminus", cal),

View file

@ -1,390 +0,0 @@
#!/bin/bash
#
# Adapted from Eridan's "fs" (cleanup, enhancements and switch to bash/Linux)
# JM, 10/12/2004
#
# Localized in Italian by a maniac, 02/03/2013
#
# -------------------------------------------------------------------------
# Decoding options
# -------------------------------------------------------------------------
USAGE="--> Usage: $0 [-h(elp)] | [-n(arrow mode)] | [-w(eb output)]"
NARROW_MODE=0
WEB_OUTPUT=0
while [ $# -gt 0 ]; do
case "$1" in
"-h" )
echo $USAGE
exit
;;
"-d" )
DEBUG=1
;;
"-n" )
NARROW_MODE=1
;;
"-w" )
WEB_OUTPUT=1
;;
* )
echo $USAGE
exit
;;
esac
shift
done
# -------------------------------------------------------------------------
# Preparations
# -------------------------------------------------------------------------
SYSTEM=`uname -s`
PATTERN="/"
case "$SYSTEM" in
"Linux" )
DF_COMMAND="/bin/df -k"
SORT_COMMAND="/usr/bin/sort -k6"
AWK_COMMAND="/bin/awk"
;;
* )
DF_COMMAND="/bin/df -k"
SORT_COMMAND="/usr/bin/sort -k6"
AWK_COMMAND="/opt/local/bin/gawk"
;;
esac
if [ ! -x ${AWK_COMMAND} ]; then
echo "### ${AWK_COMMAND} not present; install it! ###"
echo " On Mac OS X: install MacPorts and perform:"
echo " sudo port install gawk"
fi
# -------------------------------------------------------------------------
# Grabbing "df" result
# -------------------------------------------------------------------------
DF_RESULT=`$DF_COMMAND`
if [ ! -z $DEBUG ]; then
echo "--> DF_RESULT:"
echo "$DF_RESULT"
echo ""
fi
# -------------------------------------------------------------------------
# Preprocessing "df" result, to join split logical lines
# -------------------------------------------------------------------------
PREPROCESSING_RESULT=` \
echo "$DF_RESULT" | $AWK_COMMAND -v PATTERN=$PATTERN \
'
NF == 1 {
printf ("%s", $0)
}
NF == 5 {
printf ("%s\n", $0)
}
NF > 6 {
}
NF == 6 {
printf ("%s\n", $0)
}'
`
if [ ! -z $DEBUG ]; then
echo "--> PREPROCESSING_RESULT:"
echo "$PREPROCESSING_RESULT"
echo ""
fi
SORTED_FILE_SYSTEMS_INFO=`echo "$PREPROCESSING_RESULT" | $SORT_COMMAND`
if [ ! -z $DEBUG ]; then
echo "--> SORTED_FILE_SYSTEMS_INFO:"
echo "$SORTED_FILE_SYSTEMS_INFO"
echo ""
fi
# -------------------------------------------------------------------------
# Computing mount point max length
# -------------------------------------------------------------------------
MOUNT_POINT_MAX_LENGTH=` \
echo $SORTED_FILE_SYSTEMS_INFO | $AWK_COMMAND -v PATTERN=$PATTERN \
'
BEGIN {
mount_point_length_max = 15;
}
END {
printf ("%d", mount_point_length_max);
}
$0 ~ PATTERN {
# printf ("$6 = %s\n", $6);
mount_point = $6;
# printf ("mount_point = %s\n", mount_point);
mount_point_length = length (mount_point);
# printf ("mount_point_length = %d\n", mount_point_length);
if (mount_point_length > mount_point_length_max)
mount_point_length_max = mount_point_length;
}'
`
if [ ! -z $DEBUG ]; then
echo "MOUNT_POINT_MAX_LENGTH: $MOUNT_POINT_MAX_LENGTH"
fi
# -------------------------------------------------------------------------
# Computing mount point data max size
# -------------------------------------------------------------------------
MOUNT_POINT_MAX_SIZE=` \
echo "$SORTED_FILE_SYSTEMS_INFO" | $AWK_COMMAND -v PATTERN=$PATTERN \
'
BEGIN {
mount_point_size_max = 0;
}
END {
printf ("%d", mount_point_size_max);
}
$0 ~ PATTERN {
# df -k shows k_bytes!
# printf ("$2 = %s\n", $2);
mount_point_size = $2 * 1024;
# printf ("mount_point_size = %d\n", mount_point_size);
if (mount_point_size > mount_point_size_max)
mount_point_size_max = mount_point_size;
}'
`
if [ ! -z $DEBUG ]; then
echo "MOUNT_POINT_MAX_SIZE: $MOUNT_POINT_MAX_SIZE"
fi
# -------------------------------------------------------------------------
# Let's go!
# -------------------------------------------------------------------------
echo "$SORTED_FILE_SYSTEMS_INFO" | $AWK_COMMAND -v DEBUG=$DEBUG -v PATTERN=$PATTERN -v NARROW_MODE=$NARROW_MODE -v LEFT_COLUMN=$MOUNT_POINT_MAX_LENGTH -v MAX_SIZE=$MOUNT_POINT_MAX_SIZE -v SCALE=$SCALE -v WEB_OUTPUT=$WEB_OUTPUT \
'
# {printf ("$0 = %s\n", $0);}
# {printf ("$1 = %s\n", $1);}
# {printf ("PATTERN = %s\n", PATTERN);}
# {printf ("LEFT_COLUMN = %s\n", LEFT_COLUMN);}
BEGIN {
k_bytes = 1024.0;
m_bytes = 1024.0 * k_bytes;
g_bytes = 1024.0 * m_bytes;
t_bytes = 1024.0 * g_bytes;
if (WEB_OUTPUT)
{
all_stars = "**************************************************";
current_date = strftime ("%d-%m-%Y @ %H:%M:%S", localtime (systime ()));
free_threshold = 10; # %
printf ("<!-- DEBUT CONTENU -->\n");
printf ( \
"<A NAME=\"top\"></A>\n" \
"<P ALIGN=CENTER><SPAN CLASS=\"titleblue\">%s</SPAN><SPAN CLASS=\"textbold\"> -- STATUS OF <SPAN CLASS=\"titlered\">ALCOR</SPAN> FILE SYSTEMS</SPAN></P><BR>\n",
current_date )
printf ("<TABLE WIDTH=\"100%%\" BORDER=1>\n");
printf ( \
"<TR>\n" \
"<TD ALIGN=LEFT><STRONG>Mount point</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>%% Usato&nbsp;(<SPAN CLASS=\"titleblue\">*</SPAN>)" \
"&nbsp;-&nbsp;%% Free&nbsp;(<SPAN CLASS=\"titlegreen\">*</SPAN>)</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>%% Usato</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>Spazio libero</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>Spazio totale</STRONG></TD>\n" \
"</TR>\n" );
}
else
{
narrow_margin = " ";
# printf ("%-*s", LEFT_COLUMN + 2, "Mount point");
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print " Usato Libero Totale";
if (! NARROW_MODE)
print "";
}
}
END {
if (WEB_OUTPUT)
{
printf ("</TABLE>\n");
printf ("<!-- FIN CONTENU -->\n");
}
else
{
if (NARROW_MODE)
printf ("%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print "|----|----|----|----|----|----|----|----|----|----|"
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print "0 10 20 30 40 50 60 70 80 90 100";
print "";
}
}
$0 ~ PATTERN {
if (index ($0, "members") == 0 && index ($0, "Download") == 0 && index ($0, "admin") == 0)
{
# df -k shows k_bytes!
total_size = $2 * k_bytes;
free_size = $4 * k_bytes;
percentage_occupied = substr($5, 0, 3);
mount_point = $6;
percentage_free = int (100 - percentage_occupied);
# reduction_factor: 2
stars_number = int (percentage_occupied / 2);
if (WEB_OUTPUT)
{
posGroup = index (mount_point, "scratch");
if (posGroup == 0)
posGroup = index (mount_point, "u1");
if (posGroup == 0)
posGroup = index (mount_point, "u2");
if (posGroup == 0)
posGroup = index (mount_point, "u4");
if (posGroup == 0)
posGroup = index (mount_point, "u5");
printf ("<TR>\n");
if (posGroup > 0 || percentage_free < free_threshold)
{
if (percentage_free < free_threshold)
{
class = "titlered";
if (posGroup == 0)
posGroup = 1; # to display the whole mount_point in this color anyway
}
else if ((index (mount_point, "scratch") != 0) || (index (mount_point, "u1") != 0) || (index (mount_point, "u2") != 0))
{
class = "titleorange";
posGroup = 1; # to display the whole mount_point in this color
}
else if ((index (mount_point, "u4") != 0) || (index (mount_point, "u5") != 0))
{
class = "titlebrown";
posGroup = 1; # to display the whole mount_point in this color
}
printf ( \
"<TD ALIGN=LEFT>%s<SPAN CLASS=\"%s\">%s</SPAN></TD>\n",
substr (mount_point, 1, posGroup - 1),
class,
substr (mount_point, posGroup) );
}
else
{
printf ("<TD ALIGN=LEFT>%s</TD>\n", mount_point);
}
printf ( \
"<TD ALIGN=CENTER><SPAN CLASS=\"titleblue\">%s</SPAN><SPAN CLASS=\"titlegreen\">%s</SPAN></TD>\n",
substr (all_stars, 1, stars_number), substr (all_stars, stars_number + 1, 49) );
if (percentage_free < free_threshold)
{
color_beginning = "<SPAN CLASS=\"titlered\">";
color_end = "</SPAN>"
}
else
{
color_beginning = "";
color_end = ""
}
if (total_size > 1 * t_bytes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Tb</TD><TD ALIGN=RIGHT>%5.1f Tb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / t_bytes, total_size / t_bytes \
);
else if (total_size > 1 * g_bytes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Gb</TD><TD ALIGN=RIGHT>%5.1f Gb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / g_bytes, total_size / g_bytes \
);
else if (total_size > 1 * m_byptes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Mb</TD><TD ALIGN=RIGHT>%5.1f Mb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / m_bytes, total_size / m_bytes \
);
else
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Kb</TD><TD ALIGN=RIGHT>%5.1f Kb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / k_bytes, total_size / k_bytes \
);
printf ("</TR>\n");
}
else
{
# printf ("percentage_occupied = %d\n", percentage_occupied);
# printf ("percentage_free = %d\n", percentage_free);
printf ("%-*s", LEFT_COLUMN + 2, mount_point);
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
# printf ("stars_number = %d\n", stars_number);
printf ("|");
for (i = 1; i <= stars_number; i++)
{
printf ("%s", "*");
}
for (i = stars_number + 1; i <= 49; i++)
{
printf ("%s", "-");
}
if (total_size > 1 * t_bytes)
printf ( \
"| %3d%% %5.1f %5.1f Tb\n", \
percentage_occupied, free_size / t_bytes, total_size / t_bytes \
);
else if (total_size > 1 * g_bytes)
printf ( \
"| %3d%% %5.1f %5.1f Gb\n", \
percentage_occupied, free_size / g_bytes, total_size / g_bytes \
);
else if (total_size > 1 * m_byptes)
printf ( \
"| %3d%% %5.1f %5.1f Mb\n", \
percentage_occupied, free_size / m_bytes, total_size / m_bytes \
);
else
printf ( \
"| %3d%% %5.1f %5.1f Kb\n", \
percentage_occupied, free_size / k_bytes, total_size / k_bytes \
);
}
} # if
}'

View file

@ -1,88 +0,0 @@
#!/bin/bash
# A simple notify script for now-playing songs on mpd. This script uses
# notify-send and mpc to get the current song information.
# Requirements (* = optional)
# - mpd
# - mpc
# - notify-send (libnotify)
# * ImageMagick (convert)
# Author : Wolfgang Mueller
# You can use, edit and redistribute this script in any way you like.
# (Just make sure not to hurt any kittens)
# Configuration-------------------------------------------------------
# The music directory that contains the music and cover files
MUSIC_DIR="$HOME/Musica"
# The default cover to use (optional)
DEFAULT_ART=""
# The following track metadata delimiters can be changed.
# You can find all possible delimiters in the 'mpc' manpage.
# It's also possible to use pango markup like <u></u> and <i></i>
# How to format artist/album information
A_FORMAT="%artist%[ (%album%)] - %date%"
# How to format title information
T_FORMAT="%title%"
# Regex expression used for image search
IMG_REG="(front|cover|art|Folder|folder)\.(jpg|jpeg|png|gif)$"
# Title of the notification
NOTIFY_TITLE="Now Playing"
# Path of temporary resized cover
TEMP_PATH="/tmp/mpdnotify_cover.png"
# Resize cover to (optional, recommended)
COVER_RESIZE="100x100"
# Thumbnail background (transparent by default)
COVER_BACKGROUND="none"
# Logfile
LOGFILE="$HOME/.mpdnotify.log"
#--------------------------------------------------------------------
# determine file
file="$(mpc current -f %file%)"
# check if anything is playing at all
[[ -z $file ]] && exit 1
# Get title info
title="$(mpc current -f "$A_FORMAT")"
# Get song info
song="$(mpc current -f "$T_FORMAT")"
# Art directory
art="$MUSIC_DIR/${file%/*}"
# find every file that matches IMG_REG set the first matching file to be the
# cover.
cover="$(find "$art/" -maxdepth 1 -type f | egrep -i -m1 "$IMG_REG")"
# when no cover is found, use DEFAULT_ART as cover
cover="${cover:=$DEFAULT_ART}"
# check if art is available
if [[ -n $cover ]]; then
if [[ -n $COVER_RESIZE ]]; then
convert "$cover" -thumbnail $COVER_RESIZE -gravity center \
-background "$COVER_BACKGROUND" -extent $COVER_RESIZE "$TEMP_PATH" >> "$LOGFILE" 2>&1
cover="$TEMP_PATH"
fi
notify-send -t 5000 --hint=int:transient:1 "$NOTIFY_TITLE" "$title\n$song" -i "$cover" >> "$LOGFILE" 2>&1
else
notify-send -t 5000 --hint=int:transient:1 "$NOTIFY_TITLE" "$title\n$song" >> "$LOGFILE" 2>&1
fi