GS Here is the Bouncing DVD Logo that you found when you put your favorite DVD movie on pause. The display is in full screen like a screensaver. When the logo hit a side, the color will change between red, green and blue. Hit ESCAPE to exit.
# dvdlogo.tcl
# Author: Gerard Sookahet
# Date: 1 Oct 2022
# Description: Bouncing DVD logo
package require Tk
namespace import ::tcl::mathop::*
wm geometry . +0+0
wm attributes . -fullscreen 1
focus .
bind all <Escape> {exit}
set g {
R0lGODlh8AB1AHAAACwAAAAA8AB1AIEBBgIo+RYAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G4kiW5om
m6sq27gvH8kzX9o3n+s73/g8MCofEYiuATCqXzKbzCY1Kmayp9ToFBH7YrvdrXYHHYx35jMaq0mx1rQ
2PI1Hy+pNmz5dP+n5S5heYZSIYCFOI6FSSaFjF+Dg3AunnOJkoaUmZkskYwqlJ91noKdrHVyoIggpKR
LnHcablqWVnlFD7qhG7GWerIEfrBbsr1ub7a5xrQezCdrzgrFzB3JwmQjYcKz1BvL1M3YGdvef90F1O
Yf0hPl6GzsDMvoFG+rW+CzYtH2zvAa77Lh2+fBKo7Zt3ECBBf+ICHgDnkFvCDBElvlpo7uBEDLb/OFY
syC7gv40ePzogeeFcvwYdTUZAKRBjOHkykdV8eFNhzpQ7KSortxGmPpfwiJ7UuPIWOqExezYVpgopVK
VOjR51+rRLvZrSUFpl+ZXq1Hs3f75jahFrWq1RvWGEiRZkWJxq144V64bf3aJ15faFEBcwSYIR5+Jly
/BvxrP2Chumq3jxXp9eL718rHcy5aQ61Y6ymxchZgOB+Tpu5Bex6NGZQ5esmAr0lXaRBXP+Rk82nKG3
ef+zbj37dWlTvlVn/Q08TPGOV+vwVLzFGKa60XcLl45bMzRgJOhFl0X8urPs+b5X10NoVZTV2JerV3L
qvSLazG3LXxLqPvzE6sTL56XfFm3l5p96awTYHYEFlnLEfYvUl9oq1RgYX202SfgChQD2Rt4ngIgyoX
bHTfJGJh8atxmJNqiIB4opjiIgDjCa4Rp7ecjyTI6XKadjjz4iENyPQuo4yJBG5ijFkUoes96SThYBx
ZNSttLElFYGUeWVWvZAxZZe7oDfl2LesN+YZs7wx5lqArJmm4e4CSc84FWXnCt0fhenD+cFCEyMeZLF
53s4/nlLnYEeOoefXu6JaKONHclfqKOSJsPkpJZ+xsWlmkIi46aemhjDp6IyeOCoYST6EC2Gmppkeqz
ipyh9r2Z5zayxPmjrfPyZGmquXc7Eaou+pinrpsIOe+tzvKKJbLILXnoislstW0yzkdQ666DYWutU7K
6+avvSqsM2yG25HJZqbrqKdJuhuukK4W6uRIobr6BORlqviexOaV6+6O37J77+rksaodeQJi2eBnNRc
CeoFrxwxBJPTHHFFl+MccYab8zxkgUAADs=
}
set b {
R0lGODlh8AB1AHAAACwAAAAA8AB1AIEBAQQAJvsAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G4kiW5om
m6sq27gvH8kzX9o3n+s73/g8MCofEYiuATCqXzKbzCY1Kmayp9ToFBH7YrvdrXYHHYx35jMaq0mx1rQ
2PI1Hy+pNmz5dP+n5S5heYZSIYCFOI6FSSaFjF+Dg3AunnOJkoaUmZkskYwqlJ91noKdrHVyoIggpKR
LnHgYZpZ5Qw+6pxthZHqyCn9QVL5gLH29v2C5wR+8JWvNB8a5Eb00wKFjx9jTGN7NWxrBq9na1dwS2M
LZ7e5bGs/sDd7f0dv87eTj4/UY9O/z5ezt68f8/EEZTWz18yfHsOIuDnkEK9DREl9gvoYGJCgbluFOp
jWM7hRHn3PmzEVXHfRYzG3qVUyVLZywjxYj78NxPCSIAfQfbECdSmzJwMTlI8adPoAaVDhZojmhHpwp
tOSV4RwRRhVa0sY2a1Gsba1KNbnyYd+/Ur17Eo2ZI9+1GtWrNuefbkGLagvrlzYZaV0BdwVm0VoTYIT
NNwy6rXCiteXNduR7xXoyIS/Dfx41qbDYCzzEpnZ7CTKUvxGJlzI8x3Jbdum5p15lR+X1vcCbuk69iq
89C1Lf87c23dv3OaKl56+OjewIsSQ35sbXKdpJs3te65Ou/DdXYP0vxcFrAt5LVo/yy9GvSr5dvrIbQ
qytvo6eMvgW+/iU/0t/PfP+WfEibRd0GA/wEYoFi4gZegLg0qKJxe/lWS3yILBrfKEfaF0lmFzGTo4H
aioQKIKMNE6JyJM6j4IXHXQXLDJDZghyFtOYyyxY3TvWiLMz4qp8iPQg7J3B1EHjlkXkguWcxpTD7Ji
3xQTlkEFFRe2Yp+WG4JhJZcfskDFWCOucOBZJ75xh9orolHJGy+SQ2cch4yZ51FmTfHHzDqiaedPrhn
4C5u+jlgoBXmSGgt5xnKaHlnktdopMJgIHokpJJe6gulVWLK6ShddgoqjDGGSmomJZaK6idipMqeo9n
lyepyKcYqoKam0aomVrjaauGuQe6HKjW+iolaqW0Om+t8wa6IbLK5LXsqsuHEGq2001JLYbO8Fhvstt
wOUYugtN7eqa2V2ZaLLo29psuukTq2264Q8ILro6XzXnrlvRuO+6W9+vaYaEaL/stnwJJ4pm12BnOxl
L/v5bnUwhJPTHHFFl+MccYab8xxx84UAAA7
}
set r {
R0lGODlh8AB1AHAAACwAAAAA8AB1AIEHAQH3AgIAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G4kiW5om
m6sq27gvH8kzX9o3n+s73/g8MCofEYiuATCqXzKbzCY1Kmayp9ToFBH7YrvdrXYHH4x35jMam0mx1rQ
2PI1Hy+pNmz5dP+r4S5hcYViIYqPVSmOhEqOh31Ag5NxLpKEYJKXJpuKaZmNnZpwLqCTJayWgq6JF6O
rTFurRKdmiwRVtrEWp0YKcF1nEmGrerIOfrxYH2yEZc3HaMnBGMyNzsrLyHMQ2Y9vm70Z2dOwsdDb79
QX5OLj6Bri6tnN4eH0wP8X5/IT//1b+njwG6cl3++TNYUBa7gxIGwkv2cB1DYAsnPhhI8EopjMTaAnb
M9g1fxIgaONYzpzCkx1okSZZ0OS4kRXUrTa6MKVMiypkyc16ziADmR6AnE27MGRCm0H1LKTSt4JBoRj
cLnjq1KtKnzp1TpVT1iNXdTbFaX9I7W7OsWak4uW41GhRpWrVD2baFC1Ffz5thI5i8S5UnW5Vj+1403
ABxYqHfxnb1etQuYI0pJf9yrPhrZs2Syc4t1NCx380/3TJ9Ctoz3rWdoYp2wO/wptB0Vbe+eht2bNm6
aOde/LfoanePKfvuhfs3/+fXx4c3r73cmGvoAquFMDxscjftWaZv93b7FZy647lDHp190qxXh2abZ85
rffvi38HDWsS6vvf7VPjwbyLYbsn994cJBMZSWXC8HSgMg9fp994onBConoD73VfFf7c8qGBW/C3DCh
2ksQQLNyFOqFx1qchgigvwRXfJG53EkKKKMdpACY7ORZiHGarYgsOOp7lnTZG6DWJkkkrG1d2SThrZ5
JNSWnPelFYaEcWVWmJ5x5ZeCtHll2Jy0d+YZvJQ5plq5oDgmm7qCOSbcs6QxJx20nlnnnruyWZ74s04
B3tx8qnDnwfWsSGhydB3aI6DKopLo5J69aiZhk6KqT+VQl3JaKaeatrMp6KSQuaopmJyw6mqgkLjqq5
K2OCrYQjqZ6eyQmHgrVRsKpyuYSIkqyW+4hdZsNQMm2Z+ruKBbJtvqcpss3UGCG200ha7bKvSSpLgqy
Bui4quiWJ7La9T1A47Lmx+bktsrOy++yK58M4LoLnH0osvmPg2y+m+pm55qb8t5hmwwL3YS6igBmuEM
KQl2fovew4DYUvBjkjc8MQab8xxxx5/DHLIIo9McsnWFAAAOw==
}
proc every {ms body} {
uplevel #0 $body
after $ms [list every $ms $body]
}
lassign [wm maxsize .] W H
set dx 10
set dy 10
pack [canvas .c -width $W -height $H -bg black] -fill both -expand yes
set pic [image create photo -data $g]
set tag [.c create image 10 10 -anchor nw -image $pic]
lassign [.c bbox $tag] xo yo x1 y1
set wd [- $W $x1]
set ht [- $H $y1]
set R {G g}
set G {B b}
set B {R r}
set l $R
every 40 {
.c move $tag $dx $dy
lassign [.c coords $tag] x y
if {$x > $wd || $x < 0} then {
set dx [- 0 $dx]
set l [set [lindex $l 0]]
$pic configure -data [set [lindex $l 1]]
}
if {$y > $ht || $y < 0} then {
set dy [- 0 $dy]
set l [set [lindex $l 0]]
$pic configure -data [set [lindex $l 1]]
}
}
If you prefer a Bouncing Tcl/Tk Logo, just replace those data in the above code.
set g {R0lGODlh8ABHAHAAACwAAAAA8ABHAIEAAwAA+SAAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G
4kiW5omm6sq27gvH8kzXNhUAwZ7z/X5T/YA+HTCIlPiWzGNy1Iw6n9SENFoVXZunrfe7dIF5mXHuYE5
zFWaU+h1mpTFzA/x+RrdNeLh4b1HX54dQVzKo9jd2YYhoqLfI5xgpB4gDOEkJCdaV+aXIWfHo+WllCU
W61fI4MZp6ZapJ8ioFWnopS1tbeKqlu1YpG+H6G8crHFLMZOsleqpsvHk7C0222vvAWm19HHq4ndeqm
o3dkNgNzVb+AR7uQBjrrdTbHj9tL49ePIynjvxODxy+cQveMNgGAZG/fOSQIVx4TxrDeev49SlYEWKz
QP8ZMTo8x4gVrosaCSbs6PEfwI8ixaFMSVLfRosTT76UCWvgzJA3ccKTaLJhTZsqDwZsOTIiTYU6dy3
dmVTpSoYg6SAVOggmVHM9m2Jxluuqy6JGJ2kNypVsWrUlc9qparWrEbNtnU6V+nQr0Wlw47L1eafu17
16Kf4FSrCv36Fl6QIGhrVwXrSRE4sFy/jsvR46NNtdi3eyW8OlDHZQfDc0aMmPl5WRK+hyVNaeB2NWP
TdzZcq7a6FejNsr5NmjGwdfTbs2F9m3j789LNx1at5jdUfPCuK3cunNqSP+zLHrr2TMW0cjDv56kQ3a
t/cjL17u88zlkXs3nglVz/qCh6t15/YabKlQs598uTHGH37J9ReYftAl+J1tDJ4H3ILmNQifdRcCiJ6
E/00RIHQHeuJLfCJG6N+GIFZYnGiOZKghitx1mOJ8zk13n3vvsZOggSNSB6GO69G4TJA4tnhkeoQB6e
OHKy65S3vd5ajik1Aq+SOSPIkY/1uTEw5ZnYVOKqjlljHaOJOUpN2IZkxVkolleGe26ZaaLnp45U8yU
phlnFOWaZ9TprEHIYlfckinn0TOeOd5dvam6KFUYWMknJG+WaU7LAJq6aB7gvkpoho8mqiEnprJZqgR
iVRppzUG6iGpQoraKEuTngjpq7D6d+qfl0pKGateOqlpnrzKSmyIO2KqarGjFvoPspk+62apx+KaJJ7
ZMmqttrXyuSha2gwLrLO7ctsnp+ei6+uqz5A7Zrvs9votqNS2RMyca1IZ76y0JjRXwGRYqex9Ayt58B
BGEDhEw52hulyuRZibhRUPV4xxxhpvzHHHHn8Mcsgij0xyySafjAZyyionUAAAOw==
}
set b {R0lGODlh8ABHAHAAACwAAAAA8ABHAIEAAQQAJfoAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G
4kiW5omm6sq27gvH8kzXNhXk+s4Hd9oL5n7EifBYLB2FyeZiyXSGoL0T9YrVtbLaC/fADSMRYpP4XGW
VLWEw+p1Yk9707ZfdBtDh5LtyL7eSVzEIeBbnN2eYCDRoVLiYpeA4EimpRhkhZ4mFyDjFeWX3CeEYSu
V5qXi6NNpJCMk65qa6KhvkKgpbeztrkAnay+MC7BAonNZXW4m8k6v7uNzsnApt27wLZVzMEKg3PaS8P
KlX7nNu3g0e/lBXbV36ue4j/jrp/Tsfz1cPvy2/7h2qe/jyTWsHiKA9TaQCCmz15BAeUhIiKfTXoCBC
bv/qxn3juNEjQ0MXMXYU+Q/lyYUGQaZkGS3hQ4j7VGZ0OdNXS5svYY4kmTNKTZ9DTd5kJBFD0phA+2m
rSDEkz6DJdk49GnVlU1pESw7MdpUrvKVecFLFZ9as169QeWnEodaqTKdPpRq1y/anPbJK4360eHZY0b
oTw8qty7ew4b+L1tLE2nUwYb26EiuO7FgbOsGBu+B9DBZzZlyMRbdd/Lbn5IhZP692zcRy2dajqzK9e
1hn6LyUNfuFLbT3a8mga9vePRwyKxCpjVO7zLuz59moezFvLp0e9OLZtfel3f038ODEyd9Onls3XL+3
RGCny124evjmkaNnHYoZeLG4tUZz5//feffhx4l+holXWoAJxrdedcu5FxeCb7033nEV8vOBbAQqqBq
DC85nH4j+AXZdhPs5N113HGi4YYElHijehCd2OGB4M8onIoopnkYUhRc+x+ODHvj4YY4jxoegjuwEiQ
qRPwJZXn1RWliklNt52CJELPEKWCOA0aGT5XxOHomlkukZySSHNq5WTJLhhUhalXFu4OQpZirpnQZbZ
udll08umSaGZ845KJXUmUafUHtOaahye+AJ6ZDsmTLmm3CilYmbkXJJ3qKOqoknmwDdSGOZfCaK5qem
hslXpqSWmmqf5nnKqpV/TuZNparGWihnsvK66ZWuIvUqrIQy6muvjd6q51y/zqnrrrbWSiWtqB7boKB
yJhstmdPeGWqega5qrKhuFSvtt6eGe2h/475G6WI4AsuNtc8mS2dUo7orLLZPlouvFHF885HABh+McM
IKL8xwww4/DHHEEk9MccUWX4xxAgUAADs=
}
set r {R0lGODlh8ABHAHAAACwAAAAA8ABHAIEEAAD6AAAAAAAAAAAC/4SPqcvtD6OctNqLs968+w+G
4kiW5omm6sq27gvH8kzXNhXk+s4HN9oL7n5EifBYLB2FyeZiyXSCoMET9YrVtbLaC/fADSMRYpP43Nu
GvV8D+u0jr5VwtDrLbtft8jZpX3aHlTfoBjgH5vd3iMcSiIPI2JioOCJZuPI48Xh5laAp0unpiLipKA
r1WRqKuiQ4CunX6to3aTkblVkZUYqba2h76zv0SlWhOcyjsMqanFNsHIsJ7Ky6G+LcZRrNAPoAmv1cO
718HS7+/VZ+3cB8bh1Maf6erg5P7uBNL48PwLeerB4cgLB4zat2j9s4dgL7GTlEUGHDgg+Z5bP475hF
g/+AIkq8yLDdRpG7MmoMCXKPx1Qc47V0SDKYSWkuIUhaScvmyJQwu62auQ3lk5sJWb78eJSizlNnNDS
l2bFozolIlwqVOobaVZ5KrULE+our0ZNbtRZ86nTnUKILq4ING7Tn2klAycrFaa/t2JhdK9bkO6ou1L
6AVb6tQnXvYMWJaaFNq/YwEx+UiUm2LHaqBW+NkTyG/NdnWb1ZCzP2GxrvZM4YWJsuHZcwP7dJT7++9
MH13Lu7ZfuLnFmzV1RTgM+23RnuZcybjR/HnVu36jSEfEsfTrs39OjOf6e+jRh8+Oq8SX/l/t288tqw
pysDnf45o2bxzWYXHfp68vHso2Jr696devwth04G+gk4EH3l2SccaoQdGFx7+yVYHICjIcgcgXFsACG
D81U4WoDyreddfeINOCGFHnTY4YgkiqgdcjFu1wGLMLLWIn4LeshWjRZeyON6MM4oYYSrAXkidQ7eRy
SKJe5opJNJDvH1mYE2YuSPjlXl2CSJWrJUZWtX9hikkhqu2GIkXLr3Xmz+uWgmnHFa+SNda2q4oZsql
jnnnWxmmKJlYTYHJI18tiknohwGiIyfT0L5aB1/apMopRyk2Yujg0bpTklDdinll5oJ1p+XnMbTqYnY
MVmppaSu2mCpP82K5JSWwtreq6cCumSV4NRqa4Gy9rkprqYGKlyjwIoaa7B5tnprrzIim2sljk4qrLE
o6grqnITOlOmy3SqqLbmHeluuueS5FC6k6aobLLPTyhvqtw+iqqq0x2Lr7LNSfPKbd/8OTHDBBh+McM
IKL8xwww4/DHHEEk9MccUJFAAAOw==
}
Jeff Smith 2022-10-18 : Below is an online demo using CloudTk. This demo runs "Bouncing DVD Logo" in an Alpine Linux Docker Container. It is a 27.4MB image which is made up of Alpine Linux + tclkit + Bouncing-DVD-Logo.kit + libx11 + libxft + fontconfig + ttf-linux-libertine. It is run under a user account in the Container. The Container is restrictive with permissions for "Other" removed for "execute" and "read" for certain directories.
Click on the "v" in the upper left corner to view the "Bouncing Tcl/Tk Logo" demo.
Please Note : This demo has a run time of 2 minutes.