#!/bin/sh
exec rep "$0" "$@"
!#;; Source file: sawmill-ui.jl
(validate-byte-code 9 0)

(require (quote gtk))
(defvar sawmill-client-program "sawfish-client")
(defvar ui-debug nil)
(defvar ui-group t)
(defvar ui-socket-id nil)
(defvar ui-window nil)
(defvar ui-root nil)
(defvar ui-apply-widget nil)
(defvar ui-revert-widget nil)
(defvar ui-ok-widget nil)
(defvar ui-values-to-apply nil)
(defvar ui-apply-changed-hook nil)
(defvar ui-original-values nil)
(defvar ui-changed-variables nil)
(defconst ui-box-spacing 4)
(defconst ui-box-border 5)
(defvar ui-enable-refresh nil)
(defvar ui-beautify-keymaps t)
(defvar ui-pages-style (quote list))
(defvar ui-set-style (quote menu))
(defvar ui-match-window-max-matchers 3)
(defvar ui-lang (jade-byte-code "	 	 	v" [getenv "LC_ALL" "LC_MESSAGES" "LANG"] 2))
(defvar ui-lang-base (jade-byte-code " 
 	vv" [ui-lang string-match "^([^_.]+)_.*" expand-last-match "\\1"] 3))
(defvar ui-color-preview-width 28)
(defvar ui-color-preview-height 16)
(defvar ui-hack-activate-tree nil)
(jade-byte-code "x] 	Fv" [quotient /] 2)
(defun sawmill-eval #[(form &optional read-back) "D18	3J8II	;
k -
9	: +9	v9v
	v" [make-string-output-stream output make-process process print-escape call-process sawmill-client-program "-e" format "%S" get-output-stream-string read-from-string error "can't call sawfish-client"] 9])
(defun sawmill-eval-async #[(form) "I	JD28II9k] !	
	v" [make-process print-escape process call-process sawmill-client-program "-q" "-e" format "%S" error "can't call sawfish-client"] 10])
(defmacro get-key #[(spec key) "89+**v" [car cdr memq] 5])
(defmacro key-exists-p #[(spec key) "89+v" [memq] 3])
(defun set-key #[(spec key value) "9:DF0 8M9Nv;:9*
v" [cell nconc] 5])
(defun build-ui #[(spec) "8 	v8LzDF3 89	v9
v" [gtk-label-new "[empty]" builder fun error "Unknown ui element: %S"] 4])
(defun build-tree #[(spec) "I
D4566;	FH
8
H8;
H;9
H
;xH8:
H9
HDI6CF=M:
EH8	H9	LD68	H:F&EH8v" [gtk-hpaned-new gtk-tree-new gtk-vbox-new gtk-scrolled-window-new scroller vbox tree hbox gtk-scrolled-window-set-policy automatic gtk-container-border-width gtk-paned-add1 gtk-scrolled-window-add-with-viewport gtk-widget-set-usize gtk-paned-add2 gtk-tree-set-selection-mode browse iterator #[(tree tree-widget) "9L	I
9	D345;8
H8	H8	
CH9:JFH< \\D6
8
H98
H= WFLD6>89
EHM JEIv" [gtk-tree-item-new-with-label gtk-vbox-new build-ui widget t-vbox item gtk-tree-append gtk-widget-show-all gtk-signal-connect "select" #[nil ">	 FLD1>	8
EHM 9	H>9
v" [gtk-container-children w gtk-container-remove gtk-widget-show-all gtk-container-add] 4] gtk-box-pack-start gtk-tree-new subtree gtk-tree-set-selection-mode browse gtk-tree-item-set-subtree x] 5] gtk-widget-show-all gtk-container-children tem gtk-tree-item-expand ui-hack-activate-tree] 6])
(put (quote tree) (quote builder) build-tree)
(defun build-tree-as-list #[(spec) "DI0I1I2I
CF;MJ
H9
H:FH	:,H
:9
H9	
H:	H:v" [scroller top-vbox iterator gtk-scrolled-window-new gtk-vbox-new #[(tree &optional top-level) "99D1F2 ;D: ;L	4I
6< '>8
 1>9
H98
H8:	
EH<9v" [gtk-container-add sub-specs root-spec gtk-frame-new frame gtk-vbox-new vbox gtk-box-pack-start build-ui] 5] gtk-container-border-width gtk-scrolled-window-set-policy automatic gtk-widget-set-usize gtk-scrolled-window-add-with-viewport gtk-viewport-set-shadow-type gtk-widget-parent none gtk-widget-show-all] 5])
(defun build-pages #[(spec) "a 3D58
H8	H9M .FLD198		8L	EHM 8v
a 	
8MT	D66668
H9JH89
H8:
H9
H<M FLD1:8L	
8	D669	H>8:L9KREEHM y9 CH!9FH8Ev" [ui-pages-style page build-ui notebook gtk-notebook-new book gtk-notebook-set-scrollable gtk-notebook-popup-enable gtk-notebook-append-page gtk-label-new list gtk-hpaned-new gtk-clist-new gtk-frame-new make-vector contents frame clist hbox gtk-container-border-width gtk-clist-set-column-auto-resize gtk-paned-add1 gtk-paned-add2 gtk-clist-set-selection-mode browse gtk-clist-append vector widget row gtk-widget-show-all gtk-signal-connect "select_row" #[(clist row col) ">9=v" [build-pages:select-row] 4] gtk-clist-select-row] 6])
(put (quote pages) (quote builder) build-pages)
(defun build-pages:select-row #[(contents row frame) "8	 FLD198
EHM 8:9SL
H8:9SM
v" [gtk-container-children w gtk-container-remove gtk-frame-set-label gtk-container-add] 4])
(defun build-box #[(spec) "8La I
 I
D38
H8
H9M 7FLD698	IFEHM %8v" [vbox gtk-vbox-new gtk-hbox-new box gtk-box-set-spacing gtk-container-border-width widget gtk-box-pack-start build-ui] 6])
(put (quote vbox) (quote builder) build-box)
(put (quote hbox) (quote builder) build-box)
(defun build-table #[(spec) "8L8ID19 *FLD298	88L8L8LEHM 8v" [gtk-table-new table cell gtk-table-attach-defaults build-ui] 8])
(put (quote table) (quote builder) build-table)
(defun build-label #[(spec) "8	D18
H8J
H8v" [gtk-label-new label gtk-label-set-justify left gtk-label-set-line-wrap] 3])
(put (quote label) (quote builder) build-label)
(defun build-text #[(spec) "D18I
H8
H8IFF99TH8v" [gtk-text-new text gtk-text-set-editable gtk-text-set-word-wrap gtk-text-insert] 7])
(put (quote text) (quote builder) build-text)
(defun build-frame #[(spec) "8	D19 89	
H8v" [gtk-frame-new frame gtk-container-add build-ui] 4])
(put (quote frame) (quote builder) build-frame)
(defun build-separator #[(spec) "8La 
vv" [hsep gtk-hseparator-new gtk-vseparator-new] 2])
(put (quote hsep) (quote builder) build-separator)
(put (quote vsep) (quote builder) build-separator)
(defun build-toggle #[(spec) "8	D28	 FLD48	 8
EHM 9 69 <8	 <	9IH
8CH8v" [:value gtk-check-button-new-with-label toggle gtk-container-children w gtk-label-p gtk-label-set-justify left gtk-button-clicked set-key gtk-signal-connect "clicked" #[(w) ":]D1;;8v" [:value value ui-set :variable] 4]] 4])
(put (quote toggle) (quote builder) build-toggle)
(defun build-entry #[(spec) "ID23: *8:La \"I: &:
 0:IH	8
C:
8*
8v" [:value gtk-entry-new id entry gtk-entry-set-text number format "%s" set-key gtk-signal-connect "changed" #[(w) ";	v" [build-entry:changed] 2] nconc :widget] 7])
(put (quote string) (quote builder) build-entry)
(defun build-number-entry #[(spec) "8] 8HD8398L 8M &68	
CH:8*
8v" [:value set-key :range range gtk-spin-button-new gtk-adjustment-new 1000000 entry gtk-signal-connect "changed" #[(w) ";	v" [build-entry:changed] 2] nconc :widget] 8])
(put (quote number) (quote builder) build-number-entry)
(defun build-entry:changed #[(spec) "8] C	HH8Iv" [:in-apply-hook ui-add-apply-hook #[nil "8	v" [build-entry:set] 2] ui-set-button-states set-key] 4])
(defun build-entry:set #[(spec) "8	DF2` 9 IF G9La G 1| +IF DI %u8	Fp] DIFEGHH9	IH
998v" [gtk-entry-get-text :widget value "" :allow-nil number error read-from-string set-key :in-apply-hook ui-set :variable] 5])
(defun build-font #[(spec) "8 
		D48	 (FLD68	 %8J
EHM 9] 8	9IH
8CH
98*
8v" [:value gtk-button-new-with-label build-font:abbrev "" button gtk-container-children w gtk-label-p gtk-label-set-line-wrap set-key gtk-signal-connect "clicked" #[(w) ":	v" [build-font:clicked] 2] nconc :widget] 4])
(put (quote font) (quote builder) build-font)
(defun build-font:clicked #[(spec) "		D69 89
H	8	
CH8	CH8CH
8	H8	v" [gtk-signal-connect :value "clicked" #[(w) "9	v" [gtk-widget-destroy] 2] gtk-font-selection-dialog-new _ "Select font" fontsel gtk-font-selection-dialog-set-font-name gtk-font-selection-dialog-ok-button #[(w) "9	DF1` ; IFH;;8H;8	
H	:	v" [gtk-font-selection-dialog-get-font-name value "" :allow-nil ui-set :variable ui-set-button-label :widget build-font:abbrev gtk-widget-destroy] 5] gtk-font-selection-dialog-cancel-button "delete_event" gtk-widget-show gtk-grab-add] 4])
(defun build-font:abbrev #[(font-name) "8
 	v8v" [string-match "-[^-]+-([^-]+)-" expand-last-match "\\1"] 3])
(defun build-color #[(spec) "8	D29] 9IH8CH98*
8v" [:value ui-button-new-with-color button set-key gtk-signal-connect "clicked" #[(w) ":	v" [build-color:clicked] 2] nconc :widget] 4])
(put (quote color) (quote builder) build-color)
(defun build-color:clicked #[(spec) "		D69 	8	
9	
H8	CH
8	CH8CH8		H8	H8	v" [gtk-signal-connect :value "clicked" #[(w) "9	v" [gtk-widget-destroy] 2] gtk-color-selection-dialog-new _ "Select color" colorsel gtk-color-selection-set-color-interp gtk-color-selection-dialog-colorsel gdk-color-parse-interp gtk-color-selection-dialog-ok-button #[(w) "D9		F2 I8	8	8	
F6 (	< <
<<8H
<8
H;	v" [gtk-color-selection-get-color-interp gtk-color-selection-dialog-colorsel color format "#%04x%04x%04x" gdk-color-red gdk-color-green gdk-color-blue name :allow-nil ui-set :variable ui-set-button-color :widget gtk-widget-destroy] 8] gtk-color-selection-dialog-cancel-button "delete_event" gtk-widget-hide gtk-color-selection-dialog-help-button gtk-widget-show gtk-grab-add] 5])
(defun build-file #[(spec) "8 
		D48	 (FLD68	 %8J
EHM 9] 8	9IH
8CH
98*
8v" [:value gtk-button-new-with-label file-name-nondirectory "" button gtk-container-children w gtk-label-p gtk-label-set-line-wrap set-key gtk-signal-connect "clicked" #[(w) ":	v" [build-file:clicked] 2] nconc :widget] 4])
(put (quote file-name) (quote builder) build-file)
(defun build-file:clicked #[(spec) "		D69 89
H	8	
CH8	CH8CH
8	v" [gtk-signal-connect :value "clicked" #[(w) "9	v" [gtk-widget-destroy] 2] gtk-file-selection-new _ "Select file" filesel gtk-file-selection-set-filename gtk-file-selection-ok-button #[(w) "9	DF1` ; IFH;;8H;8	
H	:	v" [gtk-file-selection-get-filename value "" :allow-nil ui-set :variable ui-set-button-label :widget file-name-nondirectory gtk-widget-destroy] 5] gtk-file-selection-cancel-button "delete_event" gtk-widget-show] 4])
(defun build-symbol #[(spec) "D868T	6	: 
61I6=] +
=<LH:a ID646 ><<k PI U><iS>L	
RH9><S
H>L>a ~><SJ
H<FH><S	H><S<D1CEH<h>M> B89
H: 8:
H8v:a	D68JH8
H8 =L		
H=L>a !8:H\"8:I
H:h=M= 8#$CH%>&8*
8v:'a|(I
D6)v<:*:k:I><:iS=L	
RH=L>aW+<:SJ
H,8<:SIFH<:S:D1-CEH:h=M=-8Ev" [:value i symbol-name gtk-signal-connect menu "toggled" values make-vector buttons :widget ui-set-style type group set-key gtk-option-menu-new gtk-menu-new history omenu gtk-radio-menu-item-new-with-label-from-widget gtk-menu-append gtk-check-menu-item-set-state gtk-widget-show #[(w) "8	 >
9
v" [gtk-check-menu-item-active build-symbol:select-row] 3] gtk-option-menu-set-menu gtk-option-menu-set-history list gtk-clist-new clist gtk-clist-set-column-auto-resize gtk-clist-set-selection-mode browse gtk-clist-append vector gtk-clist-select-row gtk-clist-moveto "select_row" #[(clist row col) ">	9
v" [build-symbol:select-row] 3] nconc :clist radio gtk-vbox-new box gtk-radio-button-new-with-label-from-widget gtk-toggle-button-set-state gtk-box-pack-start #[(w) "8	 >9
v" [gtk-toggle-button-active build-symbol:select-row] 3]] 6])
(put (quote symbol) (quote builder) build-symbol)
(defun build-symbol:select-row #[(spec row) "9989Pv" [ui-set :variable] 5])
(defvar ui-keymap-shell nil)
(defun build-keymap #[(spec) "I

I
I
8	
								
	D6666666668
H8
H9
H9
H	>JH	>JH>
H> FH!>, H8>
H\"89
H>>
H9=
H9<
H9>
H#>	M FLD6$%>8M&8L	

EHM '>	()*>+.
	=,CH<-CH>.CH>/0CH1:;
H2;3
H:8
H:v" [gtk-container-add _ gtk-signal-connect gtk-button-new-with-label "clicked" gtk-vbox-new vector gtk-box-set-spacing gtk-container-border-width gtk-clist-set-column-auto-resize gtk-hbox-new gtk-label-new :doc "Insert" "Copy" "Delete" gtk-clist-new-with-titles "Key" "Command" gtk-scrolled-window-new scroller clist deleteb copy insert label vbox-2 vbox hbox gtk-clist-set-selection-mode browse gtk-scrolled-window-set-policy automatic gtk-widget-set-usize gtk-box-pack-end :value cell gtk-clist-append beautify-symbol-name nconc :shell ui-keymap-shell :clist :selection #[nil ">		v" [build-keymap:copy] 2] #[nil ">		v" [build-keymap:insert] 2] #[nil ">		v" [build-keymap:delete] 2] "select_row" #[(w row col) ">9H>	v" [set-key :selection build-keymap:select-row] 4] gtk-box-pack-start gtk-label-set-justify left] 12])
(put (quote keymap) (quote builder) build-keymap)
(defun build-keymap:select-row #[(spec) "D82949:MPF6  98M8Lv9v" [build-keymap-shell:set-binding :selection row :shell shell :value binding "" nop] 5])
(defun build-keymap:insert #[(spec) "D8598QF6K8MKOH::9H	::
	
H::v" [:selection nop "Null" :clist :value map pred ui-set :variable gtk-clist-insert vector beautify-symbol-name gtk-clist-select-row] 8])
(defun build-keymap:copy #[(spec) "D8398MP4:9QF59L9MK8MKOH;;:H;;	9M
9L	
H;F;hH;;v" [:selection :clist :value map binding pred ui-set :variable gtk-clist-insert vector beautify-symbol-name set-key gtk-clist-select-row] 8])
(defun build-keymap:delete #[(spec) "D8298QFF3OH::9H::
v" [:selection :value map pred ui-set :variable gtk-clist-remove :clist] 5])
(defun ui-bind-key #[(spec index new) "D:3;8MQF5L:`] B8:L:MKNH<<9H<;:MH<;:L	v" [gtk-clist-set-text :clist :value map :selection cell ui-set :variable beautify-symbol-name] 7])
(defun build-keymap-shell #[(spec) "D886I
6I
6I
666I
6		6 			6!	6\"	6#$%	6&'			6(
6)
6*+>T	6,>
H>

H>
H->
H> >F&.H=<
H/<0
H>FOH1>283>4;5>
6=7<8.
:
FH:, H:;
H;JH9>FLD6:<8		
EHM >	>

H>	>
H>
:
H>
>	
H;;CH>
<=CH>>?CH9
FH>JH@>A
H9 FH9>
H>9
H>>
H>FLD6BDC8L		6DI6EFGH9
I9JFH>
9	
;8:L:K:	RHL;8SS	EEHM>MCHN>FHO>>JFH>=IJHP>>
HQ>>
H>v" [gtk-container-add vector gtk-signal-connect _ gtk-box-set-spacing gtk-box-pack-end gtk-hbox-new gtk-vbox-new gtk-clist-new-with-titles gtk-frame-new gtk-scrolled-window-new :doc-path gtk-scrolled-window-set-policy automatic gtk-widget-set-usize gtk-clist-set-column-auto-resize gtk-clist-append beautify-symbol-name "select_row" ui-keymap-shell pages hbox-1 vbox-2 vbox gtk-vpaned-new paned gtk-entry-new entry entry-hbox gtk-button-new-with-label "Grab key..." entry-button "Keymaps" map-clist frame doc-frame gtk-label-new "" doc-label "Commands" cmd-clist scroller scroller-2 make-vector maps gtk-container-border-width documentation-files gtk-label-set-justify left nconc :maps :frame :cmd-clist :entry :doc-frame :doc-label :active-map :commands c #[(w row col) ">9H>	v" [set-key :active-cmd build-keymap-shell:set-command] 4] "changed" #[(w) ">	v" [build-keymap-shell:set-event] 2] "clicked" #[nil ">	v" [build-keymap-shell:grab] 2] gtk-clist-set-selection-mode browse page intern name row ui-beautify-keymaps string-match " keymap" substring match-start build-ui gtk-widget-show-all #[(w row col) ">;9v" [build-keymap-shell:select-map] 4] gtk-clist-select-row gtk-box-pack-start gtk-paned-add1 gtk-paned-add2] 16])
(put (quote keymap-shell) (quote builder) build-keymap-shell)
(defun build-keymap-shell:current-binding #[(spec) "D88S28SF49SMPv" [:maps :active-map map :selection binding :value] 5])
(defun build-keymap-shell:select-map #[(spec maps row) ":D1;9H8	 FLD598
EHM 8:9SS
H8:9SS
H	:9SS	v" [:frame frame set-key :active-map gtk-container-children w gtk-container-remove gtk-frame-set-label gtk-container-add build-keymap:select-row] 4])
(defun build-keymap-shell:set-binding #[(spec event command) "8y *D:F2T98TX3<8H<8I
E 1:	H:9
H	:	v" [:cmd-clist :commands commands c-row gtk-clist-select-row gtk-clist-moveto gtk-clist-unselect-all gtk-entry-set-text :entry build-keymap-shell:update-doc] 7])
(defun build-keymap-shell:set-event #[(spec) "D8	299S58SF69SMPF6	 88L;K
:S98v" [gtk-entry-get-text :entry text :maps :active-map map :selection binding :value value ui-bind-key] 5])
(defun build-keymap-shell:set-command #[(spec) "D8 88P299S58SF69SMPF6	 ?; ?;8MKFH
:S98H<	v" [:active-cmd :commands command :maps :active-map map :selection binding :value value ui-bind-key build-keymap-shell:update-doc] 5])
(defun build-keymap-shell:update-doc #[(spec) "D8496:	LF6n 8LFH8 B8y B	8	D6
;9	
H:8 @
	
v:
H9
v" [gtk-frame-set-label gtk-label-set "" :doc-frame frame :doc-label label build-keymap-shell:current-binding command documentation doc beautify-symbol-name _ "Undocumented"] 5])
(defun build-keymap-shell:grab #[(spec) "J
D298
H9	v" [sawmill-eval (event-name (read-event)) event gtk-entry-set-text :entry build-keymap-shell:set-event] 3])
(defun build-frame-style #[(spec) "	I

I
8	
	8IFFD666666666669
H9
H8
H8
H=<
H9:
H9;
H8=
H89
H;
H<
H:	I
H=FH= H>] >>LH :>
H!:	>	
H\":	#$CH%>&<*
'>	H8v" [gtk-container-add gtk-combo-entry :value gtk-label-new gtk-box-set-spacing gtk-container-border-width gtk-label-set-justify left symbol-name gtk-vbox-new gtk-hbox-new gtk-combo-new :doc "" gtk-scrolled-window-new previous button history i values readme-scroller readme-label doc-label combo hbox vbox gtk-scrolled-window-add-with-viewport gtk-entry-set-editable gtk-scrolled-window-set-policy automatic gtk-widget-set-usize set-key gtk-combo-set-popdown-strings gtk-entry-set-text gtk-signal-connect "changed" #[nil ">:			
v" [build-frame-style:set intern gtk-entry-get-text gtk-combo-entry] 6] nconc :readme build-frame-style:update-readme] 11])
(put (quote frame-style) (quote builder) build-frame-style)
(defun build-frame-style:set #[(spec value) "998H9	v" [ui-set :variable build-frame-style:update-readme] 4])
(defun build-frame-style:update-readme #[(spec) " s  u8	D6	9 FLD398
D6
 2s s -u nFLD6
I89;D3 V| RI gI Lu8	 g8JtEGHEEHM ;EI 8
	8	 8
D66 9	H Ρ u98
H8	8
 8FH=8
EI E ;
HJtEEHM 9
EEv" [out gtk-label-set :readme dir expand-file-name "" symbol-name :value theme :theme-path full ("%s" "%s.tar#tar/%s" "%s.tar.gz#tar/%s" "%s.tar.Z#tar/%s" "%s.tar.bz2#tar/%s") suf format error file-directory-p i18n-filename "README" file-exists-p make-string-output-stream open-file read file text close-file copy-stream get-output-stream-string string-match "\\s+$" substring match-start] 7])
(defun match-window:edit #[(spec cell &optional callback) "D!:6\"#;6$I6%&'	6(I
6)I
6*+6,	-		6.	/		601		623		64I65I66
I67I68I69:C6;<C6=>] >K)IKFH?C>@C>
>T~hI
>TIA>	
HB>	
HC>DEH>
H>
H>

H>

H>
H>
H>
H=
H=
H=
H<
H<
H<
HF>G
HD6
	H		D6I668J>K
H>8;FhH>9;FhH>:;FhH89K>K:KCH;hFEH8f8<>LFLD6L9=PL	8L>M8L	
H9=PM8M
H9hFEHME>>
H>
>
H>
>
HM>
>
H>>
H>>
H>=
H><
H>>

H>>	
HD6
>tFLDF6L>MMN8L		9~9D6O6P6QF6UR9J
H>9;Fh:FhH=h<L9K>KFEEHM(ED6
>FLDF6L>MMD69SaD6:L		6:9I:
9
H=>
8<FhH>
9<FhH;L9K>KFE9Ta=9L		D66=>
9<FhH>
8<FhH8;K
H8	:,:	-
H;L8K>KFE9Ua9L		VJ
D6W66X6Y 8
H 9
H;8JFH;9JFH<8I<L
H9I<M
H>>:>FhH>;>FhH=L89KK>	KF	EH:hFEEHME:>
ZCH>	[CH\\>	H]>	H>v" [_ gtk-table-attach-defaults gtk-entry-set-text symbol-name gtk-container-add "" gtk-container-border-width gtk-box-pack-start gtk-entry-new gtk-button-new-with-label gtk-table-new gtk-table-set-col-spacings gtk-table-set-row-spacings i gtk-signal-connect "clicked" gtk-label-new label format "%d" gtk-vbox-new gtk-frame-new ui-match-window-max-matchers "Match window properties" gtk-box-set-spacing gtk-combo-new entry combo gtk-combo-set-popdown-strings gtk-combo-entry prop current gtk-widget-set-usize :x-properties x-properties :properties properties bool-props gtk-window-new dialog window vbox vbox-2 gtk-hbutton-box-new hbox-2 "OK" ok "Cancel" cancel "Actions" frame "Matchers" frame-1 table table-2 table-1 match-widget-alist prop-widget-alist #[nil " s	 uCIFFD666	6
= VFLD38L		8M	D6F6` ;9`] R8>L J8	F9K<KFEEHM 9] aItH< FLD3
8M	 8M	 8LJK;KF 8M	 98M		F 8L<K;KF 8M	 8M		F`] 8L<	K;KF 8Mn IFD66;:		;:		8 9 :L89KK=KFE 	EHM f9:EEKv" [gtk-entry-get-text "" out cell gtk-combo-entry intern #[(string) "8
 
8	v" [string-match "^[+-]?\\d+$" read-from-string] 3] tem actions matchers read-num re atom gtk-check-button-p gtk-toggle-button-active gtk-entry-p gtk-combo-p y x error "Unknown widget type"] 5] make-cell #[(table label &rest args) "I
D18:
H;89v" [gtk-hbox-new box gtk-box-pack-end apply gtk-table-attach-defaults] 5] attach-label WM_NAME #[(p) "8av" [boolean] 2] #[(p) "8a]v" [boolean] 2] gtk-window-set-title gtk-widget-set-name gtk-window-set-wmclass "sawmill-ui" "match-window-properties" gtk-button-box-set-layout end "Grab..." button cdr #[nil "D8		2I39 $9*J
Fq] FH;8
v" [gtk-entry-get-text gtk-combo-entry string prop sawmill-eval match-window-grab-x-property "" gtk-entry-set-text] 4] matcher gtk-box-pack-end gtk-check-button-new-with-label col row widget gtk-toggle-button-set-state number symbol pair gtk-hbox-new hbox entry-2 entry-1 #[nil "9D0> 8 >8	EH>	v" [item gtk-widget-destroy] 2] #[nil ">	v" [gtk-widget-destroy] 2] gtk-widget-show-all gtk-grab-add] 9])
(defun build-match-window #[(spec) "DI
6	
I
66
		
	6		6		6		6>6>6I6C6 C6!\"C6#$C6%&C6'>
H>
H>

H>

H>JH>JH(>)
H*>+FH,> H->>JFH.>>
H>
>

H>
>
H>
>	
H>>
H/>FLD601><8	
H>]FEHM =2>=H>
:H>	9H>8H>3<H>45CH>v" [_ gtk-signal-connect gtk-container-add gtk-button-new-with-label "clicked" gtk-box-set-spacing gtk-container-border-width gtk-clist-set-column-auto-resize gtk-vbox-new vbox gtk-hbox-new hbox gtk-scrolled-window-new scroller gtk-clist-new-with-titles vector "Matchers" "Actions" clist "Add..." add-b "Delete" delete-b "Edit..." edit-b :x-properties x-properties :properties properties selection #[(w row col) "9Fv" [] 2] select-row-callback #[(cell) "IFD66:L 7FLD69 9KFHI8L>M )8L8MDF3:KFEEHM :M uFLD6	: M:KFHI8L8MD3
8
 k8
FH8;KFEEHM ?8
9

v" [", " format "%s=%s" string apply concat actions matchers match action string-match "=t$" substring match-start vector] 7] format-cell #[nil ">ICv" [match-window:edit #[(cell) ">
D189)
>
:9	
H>>8v" [:value value append gtk-clist-append ui-set :variable] 4]] 4] add-callback #[nil "; :D>
1<8PF29>=
H=9Te .9TiFf .IFH>>9Ev" [:value value item gtk-clist-remove ui-set :variable] 5] delete-callback #[nil "< <>PD1>8CEv" [:value old-item match-window:edit #[(new-item) "D>F23>:	4 9M9 !9L<a] H9;NH>>:H>>	8SH>>	8Sv" [gtk-clist-set-text :value value ptr vec ui-set :variable] 7]] 4] edit-callback gtk-clist-set-selection-mode browse gtk-scrolled-window-set-policy automatic gtk-widget-set-usize gtk-box-pack-start gtk-box-pack-end :value item gtk-clist-append gtk-clist-select-row "select_row" "button_press_event" #[(w ev) "8	a 
:v" [gdk-event-type 2button-press] 2]] 5])
(put (quote match-window) (quote builder) build-match-window)
(defun show-ui #[(spec) "IFFF 	 	8	I
IFFFFD66	66IJIH] ]Ja ] XH] !		&	\"		&#		&
 $		%		&	
H'	
H()*H+,H8
H
8
H8
H
9
H9
H-9.
H]5/89
H	0H1H;2H3CH
:4H9
H9
H9	
H9;
H
59:
H8
H5H6	HP7
HX8HTv" [ui-window _ gtk-container-add gtk-signal-connect ui-socket-id gtk-button-new-with-label "clicked" ui-revert-widget ui-apply-widget ui-ok-widget ui-enable-refresh ui-root "Sawfish configurator" gtk-box-set-spacing gtk-container-border-width ui-hack-activate-tree gtk-plug-new gtk-window-new toplevel build-ui gtk-vbox-new gtk-hbutton-box-new cancel refresh hbox vbox ui-changed-variables ui-original-values ui-values-to-apply ui-apply-changed-hook gtk-window-set-policy ui-group gtk-widget-set-usize "OK" "Try" "Revert" "Refresh" "Cancel" gtk-window-set-title gtk-widget-set-name gtk-window-set-wmclass "sawmill-ui" "main" "delete_event" ui-quit gtk-button-box-set-layout end gtk-box-pack-end ui-ok ui-apply ui-cancel #[nil "v" [ui-revert] 1] ui-refresh ui-set-button-states gtk-widget-show-all gtk-tree-select-item gtk-main] 13])
(defun ui-set-button-states #[nil "] .  
H 
H . - -
v" [gtk-widget-set-sensitive ui-apply-widget ui-values-to-apply ui-apply-changed-hook ui-revert-widget ui-changed-variables ui-ok-widget ui-socket-id] 3])
(defun ui-set-button-label #[(button text) "9	 FLD18	 89
EHM Iv" [gtk-container-children w gtk-label-p gtk-label-set] 4])
(defun ui-add-apply-hook #[(fun) " ] ] H8
v" [ui-apply-changed-hook ui-socket-id ui-values-to-apply ui-capplet-state-changed add-hook] 3])
(defun ui-set #[(spec symbol value) " ] ] H:9
HC :8KK :8Hv" [ui-values-to-apply ui-socket-id ui-apply-changed-hook ui-capplet-state-changed ui-set-original #[(x) "8L;av" [] 2] set-key :value ui-set-button-states] 4])
(defun ui-set-original #[(spec symbol) "8] 89KKF v" [ui-original-values :value] 3])
(defun ui-quit #[nil "	H	Htv" [sawmill-eval-async (customize-write-user-file) gtk-widget-destroy ui-window quit] 2])
(defun ui-set-variables #[nil "CD28K	HI I%v" [ui-values-to-apply #[(cell) "D8L39M49F6] 8KF H: ':IH8*9*+v" [ui-changed-variables :in-apply-hook quote spec new-value :variable symbol set-key customize-set] 5] commands ui-command progn ui-apply-changed-hook ui-set-button-states] 3])
(defun ui-apply #[nil "	HHIF v" [ui-apply-changed-hook call-hook ui-set-variables] 2])
(defun ui-ok #[nil "Hv" [ui-apply ui-quit] 1])
(defun ui-revert #[(&optional dont-refresh) "CD28K	HI%I 9] v" [ui-changed-variables #[(symbol) "8*8M*+v" [quote customize-set ui-original-values] 5] commands ui-command progn ui-values-to-apply ui-refresh] 3])
(defun ui-cancel #[nil "J	Hv" [ui-revert ui-quit] 2])
(defun ui-command #[(form) " 8	v8v" [ui-debug sawmill-eval-async format standard-error "ui-command: %S
"] 4])
(defun ui-get-spec #[nil "**+	D68
 /	 !
 )
Htv8	v" [ui-group sawmill-eval progn (require (quote customize)) customize-ui-spec quote response string-match "^error-->" ui-socket-id ui-capplet-no-group format standard-error "No such group: %s
" quit read-from-string] 6])
(defun ui-refresh #[nil "	ID238
H	HI&I&I&	
9	 8
H
	Hv" [ui-root gtk-widget-parent spec vbox gtk-container-remove gtk-widget-destroy ui-get-spec ui-changed-variables ui-values-to-apply ui-original-values build-ui gtk-box-pack-start gtk-widget-show-all ui-window ui-set-button-states] 3])
(defun ui-capplet-input #[nil "	D6 | I iI 	u8
 &	 U
8
 3 U8
 A U
8
 UJ	H	HIF!H
H	H] iEGHv" [string-match ui-window ui-revert standard-output read-line standard-input tem end-of-stream "apply" ui-apply "revert" "ok" ui-ok "cancel" gtk-widget-destroy write flush-file gtk-main-quit] 4])
(defun ui-capplet-state-changed #[nil "c
H	v" [standard-output write flush-file] 3])
(defun ui-capplet-no-group #[nil "g
H	v" [standard-output write flush-file] 3])
(defun flatten-doc-string #[(string) "D0 9h RH98 9v" [point match-start match-end string-match "[^
]
[^
]"] 4])
(defun documentation #[(symbol &optional is-var) "9*8*+*)J
v" [quote sawmill-eval list* let doc documentation ((and doc (_ doc)))] 8])
(defun i18n-filename #[(file) " 8.	 8.v ,8.	 ,8.v8v" [concat ui-lang ui-lang-base file-exists-p] 5])
(defun beautify-symbol-name #[(symbol) "8q 8v8y 8
v 8	v8	D5 58 8
	
8
 \"88S	RH8v" [symbol-name substring format "%s" ui-beautify-keymaps name concat match-start match-end string-match "[-:]" char-upcase] 6])
(defun ui-set-preview-color #[(preview color) "Y	ID23 @89Y:	 ~RH89Yh:	 ~RH89YV:	 ~RH9h9f  W;89
H9h9f Kv" [ui-color-preview-width make-string i buf gdk-color-red gdk-color-green gdk-color-blue gtk-preview-draw-row ui-color-preview-height] 6])
(defun ui-button-new-with-color #[(color-name) "	8 8	ID40569	H: %
9:
H8
H89
H8v" [color gtk-button-new gtk-preview-new gdk-color-parse-interp i preview button gtk-preview-size ui-color-preview-width ui-color-preview-height ui-set-preview-color gtk-container-border-width gtk-container-add] 4])
(defun ui-set-button-color #[(button color-name) "8 8	DF1 -:	 )FLD38	 &89
H8	EHM Iv" [gdk-color-parse-interp color gtk-container-children w gtk-preview-p ui-set-preview-color gtk-widget-draw-interp] 5])
(jade-byte-code "x v" [gtk-set-locale] 1)
(jade-byte-code "ID2J
F 8	F$H	 F&H	 ,	
{HJ
F =8	F&
v" [get-command-line-option read-from-string tem "--group" ui-group "--notebook" notebook ui-pages-style "--flatten" tree builder build-tree-as-list "--socket-id" ui-socket-id] 3)
(jade-byte-code " 
v" [ui-socket-id set-input-handler standard-input ui-capplet-input] 3)
(jade-byte-code "J
D3	] !8 !	H8
H		v" ["sawfish" sawmill-eval (and (featurep (quote gettext)) (bindtextdomain "sawfish")) locale-dir get-command-line-option "--disable-nls" require gettext bindtextdomain textdomain] 3)
(show-ui (ui-get-spec))
