Bouncing DVD Logo

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.

IMG_BouncingDVDLogo.jpg

 # 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.

IMG_BouncingTclTkLogo.jpg

 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.