summaryrefslogtreecommitdiff
path: root/common/content/liberator.xul
blob: 92800ccea2ac83bd97e126d575f10976da2f9db1 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0" encoding="UTF-8"?>

<!-- ***** BEGIN LICENSE BLOCK ***** {{{
 Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>

 This work is licensed for reuse under an MIT license. Details are
 given in the LICENSE.txt file included with this file.
}}} ***** END LICENSE BLOCK ***** -->

<?xml-stylesheet href="chrome://liberator/skin/liberator.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "liberator.dtd" [
    <!ENTITY liberator.content "chrome://liberator/content/">
]>

<overlay id="liberator"
    xmlns:liberator="http://vimperator.org/namespaces/liberator"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:nc="http://home.netscape.com/NC-rdf#"
    xmlns:html="http://www.w3.org/1999/xhtml"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <script type="application/x-javascript;version=1.8" src="&liberator.content;liberator-overlay.js"/>

    <window id="&liberator.mainWindow;">
        <stringbundleset id="liberator-stringbundles">
            <stringbundle id="liberator-charset-bundle"
                src="chrome://global/locale/charsetTitles.properties"/>
        </stringbundleset>

        <keyset id="mainKeyset">
            <key id="key_open_vimbar" key=":" oncommand="liberator.modules.commandline.open(':', '', liberator.modules.modes.EX);" modifiers=""/>
            <key id="key_stop" keycode="VK_ESCAPE" oncommand="liberator.modules.events.onEscape();"/>
            <!-- other keys are handled inside the event loop in events.js -->
        </keyset>

        <popupset>
            <panel id="liberator-visualbell" liberator:highlight="Bell"/>
        </popupset>

        <!--this notifies us also of focus events in the XUL
            from: http://developer.mozilla.org/en/docs/XUL_Tutorial:Updating_Commands !-->
        <commandset id="onVimperatorFocus"
            commandupdater="true"
            events="focus"
            oncommandupdate="if (liberator.modules.events != undefined) liberator.modules.events.onFocusChange(event);"/>
        <commandset id="onVimperatorSelect"
            commandupdater="true"
            events="select"
            oncommandupdate="if (liberator.modules.events != undefined) liberator.modules.events.onSelectionChange(event);"/>

        <!-- As of Firefox 3.1pre, <iframe>.height changes do not seem to have immediate effect,
             therefore we need to put them into a <vbox> for which that works just fine -->
        <vbox class="liberator-container" hidden="false" collapsed="true">
            <iframe id="liberator-multiline-output" src="chrome://liberator/content/buffer.xhtml"
                flex="1" hidden="false" collapsed="false"
                onclick="liberator.modules.commandline.onMultilineOutputEvent(event)"/>
        </vbox>

        <vbox class="liberator-container" hidden="false" collapsed="true">
            <iframe id="liberator-completions" src="chrome://liberator/content/buffer.xhtml"
                flex="1" hidden="false" collapsed="false"
                onclick="liberator.modules.commandline.onMultilineOutputEvent(event)"/>
        </vbox>

        <stack orient="horizontal" align="stretch" class="liberator-container" liberator:highlight="CmdLine">
            <textbox class="plain" id="liberator-message" flex="1" readonly="true" liberator:highlight="Normal"/>
            <hbox id="liberator-commandline" hidden="false" collapsed="true" class="liberator-container" liberator:highlight="Normal">
                <label class="plain" id="liberator-commandline-prompt"  flex="0" crop="end" value="" collapsed="true"/>
                <textbox class="plain" id="liberator-commandline-command" flex="1" type="timed" timeout="100"
                    oninput="liberator.modules.commandline.onEvent(event);"
                    onkeyup="liberator.modules.commandline.onEvent(event);"
                    onfocus="liberator.modules.commandline.onEvent(event);"
                    onblur="liberator.modules.commandline.onEvent(event);"/>
            </hbox>
        </stack>

        <vbox class="liberator-container" hidden="false" collapsed="false" liberator:highlight="CmdLine">
            <textbox id="liberator-multiline-input" class="plain" flex="1" rows="1" hidden="false" collapsed="true" multiline="true" liberator:highlight="Normal"
                onkeypress="liberator.modules.commandline.onMultilineInputEvent(event);"
                oninput="liberator.modules.commandline.onMultilineInputEvent(event);"
                onblur="liberator.modules.commandline.onMultilineInputEvent(event);"/>
        </vbox>

    </window>

    <statusbar id="status-bar" liberator:highlight="StatusLine">
        <hbox insertbefore="&liberator.statusBefore;" insertafter="&liberator.statusAfter;"
              id="liberator-statusline" flex="1" hidden="false" align="center">
            <textbox class="plain" id="liberator-statusline-field-url" readonly="false" flex="1" crop="end"/>
            <label class="plain" id="liberator-statusline-field-inputbuffer"    flex="0"/>
            <label class="plain" id="liberator-statusline-field-progress"       flex="0"/>
            <label class="plain" id="liberator-statusline-field-tabcount"       flex="0"/>
            <label class="plain" id="liberator-statusline-field-bufferposition" flex="0"/>
        </hbox>
        <!-- just hide them since other elements expect them -->
        <statusbarpanel id="statusbar-display" hidden="true"/>
        <statusbarpanel id="statusbar-progresspanel" hidden="true"/>
    </statusbar>

</overlay>

<!-- vim: set fdm=marker sw=4 ts=4 et: -->