1# lobster.tcl --
2
3# The code formerly known as "gtklook" on the Tcl'ers
4# wiki.  Most of this code was originally written by Jeremy Collins.
5
6# $Id: lobster.tcl,v 1.7 2005/05/18 16:19:53 andreas_kupries Exp $
7
8package require Tk
9
10namespace eval style::lobster {
11    # This may need to be adjusted for some window managers that are
12    # more aggressive with their own Xdefaults (like KDE and CDE)
13    variable prio "widgetDefault"
14}
15
16proc style::lobster::init {args} {
17    package require Tk
18    variable prio
19
20    if {[llength $args]} {
21	set arg [lindex $args 0]
22	set len [string length $arg]
23	if {$len > 2 && [string equal -len $len $arg "-priority"]} {
24	    set prio [lindex $args 1]
25	    set args [lrange $args 2 end]
26	}
27    }
28
29    if {[string equal [tk windowingsystem] "x11"]} {
30	set size   -12
31	set family Helvetica
32	font create LobsterFont -size $size -family $family
33	font create LobsterBold -size $size -family $family -weight bold
34
35	option add *borderWidth			1 $prio
36	option add *activeBorderWidth		1 $prio
37	option add *selectBorderWidth		1 $prio
38	option add *font			LobsterFont $prio
39
40	option add *padX			2 $prio
41	option add *padY			4 $prio
42
43	option add *Listbox.background		white $prio
44	option add *Listbox.selectBorderWidth	0 $prio
45	option add *Listbox.selectForeground	white $prio
46	option add *Listbox.selectBackground	#4a6984 $prio
47
48	option add *Entry.background		white $prio
49	option add *Entry.foreground		black $prio
50	option add *Entry.selectBorderWidth	0 $prio
51	option add *Entry.selectForeground	white $prio
52	option add *Entry.selectBackground	#4a6984 $prio
53
54	option add *Text.background		white $prio
55	option add *Text.selectBorderWidth	0 $prio
56	option add *Text.selectForeground	white $prio
57	option add *Text.selectBackground	#4a6984 $prio
58
59	option add *Menu.activeBackground	#4a6984 $prio
60	option add *Menu.activeForeground	white $prio
61	option add *Menu.activeBorderWidth	0 $prio
62	option add *Menu.highlightThickness	0 $prio
63	option add *Menu.borderWidth		2 $prio
64
65	option add *Menubutton.activeBackground	#4a6984 $prio
66	option add *Menubutton.activeForeground	white $prio
67	option add *Menubutton.activeBorderWidth 0 $prio
68	option add *Menubutton.highlightThickness 0 $prio
69	option add *Menubutton.borderWidth	0 $prio
70
71	option add *Labelframe.borderWidth	2 $prio
72	option add *Frame.borderWidth		2 $prio
73	option add *Labelframe.padY		8 $prio
74	option add *Labelframe.padX		12 $prio
75
76	option add *highlightThickness		0 $prio
77	option add *troughColor			#c3c3c3 $prio
78
79	option add *Scrollbar.width		12 $prio
80	option add *Scrollbar.borderWidth	1 $prio
81	option add *Scrollbar.highlightThickness 0 $prio
82
83	# These don't seem to take effect without the startupFile
84	# level specified.
85	option add *Dialog.msg.font LobsterBold startupFile
86	option add *Dialog.dtl.font LobsterBold startupFile
87    }
88}
89
90package provide style::lobster 0.2
91