aboutsummaryrefslogtreecommitdiff
path: root/kiosk-plugin.tcl
blob: e414229c7473bc86cd331b6746372af0adc32c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# META NAME Kiosk
# META DESCRIPTION all windows in fullscreen mode
# META DESCRIPTION main window invisible
# META DESCRIPTION no keybindings

# META AUTHOR IOhannes m zmölnig <zmoelnig@iem.at>


package require Tcl 8.5
package require Tk
package require pdwindow 0.1

namespace eval ::kiosk:: {
    variable showmenu True
    variable fullscreen False
    variable hidemain False
    variable windowtitle "Pd KIOSK"
    variable hidepopup True
}


## hide the Pd window
if { $::kiosk::hidemain } {
    set ::stderr 1 
    wm state .pdwindow withdraw
}


## don't show popup menu on right-click
if { $::kiosk::hidepopup }  {
 proc ::pdtk_canvas::pdtk_canvas_popup {mytoplevel xcanvas ycanvas hasproperties hasopen} { }
}


# this is just an empty menu
menu .kioskmenu

proc ::kiosk::makekiosk {mywin} {
#puts "makekiosk $mywin"
#remove menu
    if { $::kiosk::showmenu } { } {
        $mywin configure -menu .kioskmenu; 
    }

# make fullscreen
    if { $::kiosk::fullscreen } {
    	wm attributes $mywin -fullscreen 1
    }

# set the title of the window 
# (makes mostly sense in non-fullscren...)
    if { $::kiosk::windowtitle != "" } {
        wm title $mywin $::kiosk::windowtitle
    }
}

foreach kioskwin [array names ::loaded] { 
    ::kiosk::makekiosk $kioskwin 
}