(Because I was going to say something ugly about whoever wrote that, but never mind.)
${#i} is the length of the value of i.
that is, the filename there. But that whole thing falls into the Parsing Ls territory. (also this about sorting files by metadata, though I do know the solutions for sh/bash are rather annoying.)
@overexchange You would do for name in "$sDir"/ABC-*; do ...; done
Don't ever used for i in $(ls) or anything like that. Use shell filename globbing patterns instead.
If you want to be sure that you only pick up regular files, then you may use [ ! -f "$name" ] && continue inside the loop to continue with the next name if the current name is not that of a file.
I have some basic experience with opengl and was thinking that I would love to have an animated wallpaper that also factors in some properties about my machine (such as sound volume,cpu usage etc.) now I understand that in order to do this I would have to create a basic opengl program (I already ...