<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="dactyl://content/help.xsl"?>

<!DOCTYPE document SYSTEM "dactyl://content/dtd">

<document
    name="buffer"
    title="&dactyl.appName; Buffer"
    xmlns="&xmlns.dactyl;"
    xmlns:html="&xmlns.html;">

<h1 tag="buffer document">Buffer</h1>
<toc start="2"/>

<p>
    A buffer is a container that holds the given web page, including
    all of its history and frames. Each tab contains exactly one
    buffer, and for most purposes the two terms are interchangeable.
    See <t>tabs</t> for more.
</p>

<h2 tag="buffer-information">Buffer information</h2>

<item>
    <tags><![CDATA[<page-info> <C-g>]]></tags>
    <strut/>
    <spec>&lt;C-g></spec>
    <description>
        <p>
            Print the current file name along with basic page
            information including last modification time, the number
            of feeds present, and the page title.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<more-page-info> g<C-g>]]></tags>
    <spec>g&lt;C-g></spec>
    <description short="true">
        <p>Print file information. Same as <ex>:pa<oa>geinfo</oa></ex>.</p>
    </description>
</item>

<item>
    <tags>:pa :pageinfo</tags>
    <spec>:pa<oa>geinfo</oa> <oa>items</oa></spec>
    <description>
        <p>
            Show various page information. The information provided
            is determined by the value of <o>pageinfo</o>, or
            <oa>items</oa> if present.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<view-source> gf]]></tags>
    <strut/>
    <spec>gf</spec>
    <description>
        <p>
            View source. Toggles between the source and rendered
            content of the page.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<view-source-externally> gF]]></tags>
    <strut/>
    <spec>gF</spec>
    <description>
        <p>
            View source with an external editor. Opens the source
            code of the current web site with the external editor
            specified by the <o>editor</o> option.
        </p>
    </description>
</item>

<item>
    <tags>:vie :viewsource</tags>
    <spec>:vie<oa>wsource</oa><oa>!</oa> <oa>url</oa></spec>
    <description>
        <p>
            View source code of current document. If <oa>url</oa> is
            specified then view the source of that document. When
            <oa>!</oa> is given, it is opened with the external
            editor.
        </p>
    </description>
</item>

<h2 tag="motion scrolling">Motion commands</h2>

<item>
    <tags>&lt;scroll-begin> ^ 0</tags>
    <strut/>
    <spec>0</spec>
    <description>
        <p>
            Scroll to the absolute left of the document. Unlike in
            Vim, <k>0</k> and <k>^</k> work exactly the same way.
        </p>
    </description>
</item>

<item>
    <tags>&lt;scroll-end> $</tags>
    <spec>$</spec>
    <description short="true">
        <p>Scroll to the absolute right of the document</p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-top> <Home> gg]]></tags>
    <strut/>
    <spec><oa>count</oa>gg</spec>
    <description>
        <p>
            Go to the top of the document. With <oa>count</oa>,
            scroll vertically to <oa>count</oa> percent of the
            document.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-bottom> <End> G]]></tags>
    <strut/>
    <spec><oa>count</oa>G</spec>
    <description>
        <p>
            Go to the end of the document. With <oa>count</oa>,
            go to the <oa>count</oa>th line as determined by <o>linenumbers</o>,
            or by the line height of the document body otherwise.
        </p>
    </description>
</item>

<item>
    <tags>&lt;scroll-percent> N% %</tags>
    <spec><a>count</a>%</spec>
    <description short="true">
        <p>Scroll to <a>count</a> percent of the document.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-left-column> <Left> h]]></tags>
    <strut/>
    <spec><oa>count</oa>h</spec>
    <description>
        <p>
            Scroll document to the left. If <oa>count</oa> is specified,
            repeat <oa>count</oa> times.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-down-line> <C-e> <Down> j]]></tags>
    <strut/>
    <spec><oa>count</oa>j</spec>
    <description>
        <p>
            Scroll document to the down. If <oa>count</oa> is specified,
            repeat <oa>count</oa> times.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-up-line> <C-y> <Up> k]]></tags>
    <strut/>
    <spec><oa>count</oa>k</spec>
    <description>
        <p>
            Scroll document to the up. If <oa>count</oa> is specified,
            repeat <oa>count</oa> times.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-right-column> <Right> l]]></tags>
    <strut/>
    <spec><oa>count</oa>l</spec>
    <description>
        <p>
            Scroll document to the right. If <oa>count</oa> is specified,
            repeat <oa>count</oa> times.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-down> <C-d>]]></tags>
    <strut/>
    <spec><oa>count</oa>&lt;C-d></spec>
    <description>
        <p>
            Scroll window downwards by the amount specified in the
            <o>scroll</o> option. With <oa>count</oa>, set the <o>scroll</o>
            option to <oa>count</oa> before executing the command.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-up> <C-u>]]></tags>
    <strut/>
    <spec><oa>count</oa>&lt;C-u></spec>
    <description>
        <p>
            Scroll window upwards by the amount specified in the <o>scroll</o>
            option. With <oa>count</oa>, set the <o>scroll</o> option to
            <oa>count</oa> before executing the command.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-up-page> <S-Space> <PageUp> <C-b>]]></tags>
    <strut/>
    <spec><oa>count</oa>&lt;C-b></spec>
    <description>
        <p>
            Scroll up a full page. With <oa>count</oa>, scroll up
            <oa>count</oa> full pages.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<scroll-down-page> <Space> <PageDown> <C-f>]]></tags>
    <strut/>
    <spec><oa>count</oa>&lt;C-f></spec>
    <description>
        <p>
            Scroll down a full page. With <oa>count</oa>, scroll
            down <oa>count</oa> full pages.
        </p>
    </description>
</item>

<h2 tag="jumping">Jumping to elements</h2>

<item>
    <tags><![CDATA[<Tab>]]></tags>
    <spec>&lt;Tab></spec>
    <description short="true">
        <p>Advance keyboard focus to the next element.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<S-Tab>]]></tags>
    <spec>&lt;S-Tab></spec>
    <description short="true">
        <p>Rewind keyboard focus to the previous element.</p>
    </description>
</item>

<item>
    <tags>&lt;focus-input> gi</tags>
    <strut/>
    <spec><oa>count</oa>gi</spec>
    <description>
        <p>
            Focus last used input field. If there is no last input
            field, focus the first input field. With <oa>count</oa>,
            focus the <oa>count</oa>th input field.
        </p>
    </description>
</item>

<item>
    <tags>&lt;next-frame> ]f</tags>
    <strut/>
    <spec><oa>count</oa>]f</spec>
    <description>
        <p>
            Transfer keyboard focus to the <oa>count</oa>th next
            frame. The newly focused frame is briefly highlighted
            with <h>FrameIndicator</h>.
        </p>
    </description>
</item>

<item>
    <tags>&lt;previous-frame> [f</tags>
    <strut/>
    <spec><oa>count</oa>[f</spec>
    <description>
        <p>
            Transfer keyboard focus to the <oa>count</oa>th next
            previous frame. The newly focused frame is briefly highlighted
            with <h>FrameIndicator</h>.
        </p>
    </description>
</item>

<item>
    <tags>&lt;next-page> ]]</tags>
    <strut/>
    <spec><oa>count</oa>]]</spec>
    <description>
        <p>
            Follow the last link matching <o>nextpattern</o>. Used,
            for instance, to move to the next page of search
            results.
        </p>
    </description>
</item>

<item>
    <tags>&lt;previous-page> [[</tags>
    <strut/>
    <spec><oa>count</oa>[[</spec>
    <description>
        <p>
            Follow the last link matching <o>previouspattern</o>. Used,
            for instance, to move to the previous page of search
            results.
        </p>
    </description>
</item>

<item>
    <tags>[h [p [</tags>
    <spec><oa>count</oa>[<a>arg</a></spec>
    <description short="true">
        <p>Jump to the previous element as defined by <o>jumptags</o>.</p>
    </description>
</item>

<item>
    <tags>]h ]p ]</tags>
    <spec><oa>count</oa>]<a>arg</a></spec>
    <description short="true">
        <p>Jump to the next element as defined by <o>jumptags</o>.</p>
    </description>
</item>

<item>
    <tags>g]</tags>
    <spec><oa>count</oa>g]<a>arg</a></spec>
    <description short="true">
        <p>Jump to the next off-screen element as defined by <o>jumptags</o>.</p>
    </description>
</item>


<item>
    <tags>{</tags>
    <spec><oa>count</oa>{</spec>
    <description short="true">
        <p>Jump to the previous paragraph. Identical to <k>[p</k>.</p>
    </description>
</item>

<item>
    <tags>}</tags>
    <spec><oa>count</oa>}</spec>
    <description short="true">
        <p>Jump to the next paragraph. Identical to <k>]p</k>.</p>
    </description>
</item>


<h2 tag="zooming zoom">Zooming</h2>

<p>
    The zooming commands are dependent on two properties—a zoom
    range and a series of levels within that range.
</p>

<p>
    The absolute value of the page zoom is limited to a value within
    the configured zoom range (default: 30%–300%). By default,
    commands which zoom in or out select between the zoom levels,
    30%, 50%, 67%, 80%, 90%, 100%, 110%, 120%, 133%, 150%, 170%,
    200%, 240%, 300%.
</p>

<p>
    The available zoom range can be changed by setting the
    <pref>zoom.minPercent</pref>
    and
    <pref>zoom.maxPercent</pref>
    &dactyl.host; preferences. The zoom levels can be changed using the
    <pref>toolkit.zoomManager.zoomValues</pref>
    preference.
</p>

<note>
    <pref>toolkit.zoomManager.zoomValues</pref> is specified as a
    list of values between <em>0</em> and <em>1</em> rather than
    percentages. For instance, <em>0.5</em> is equivalent to
    <em>50%</em>.
</note>

<item>
    <tags><![CDATA[<text-zoom-in> + zi]]></tags>
    <spec><oa>count</oa>zi</spec>
    <description short="true">
        <p>Enlarge text zoom of current web page. Mnemonic: zoom in.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<text-zoom-more> zm]]></tags>
    <strut/>
    <spec><oa>count</oa>zm</spec>
    <description>
        <p>Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<text-zoom-out> - zo]]></tags>
    <spec><oa>count</oa>zo</spec>
    <description short="true">
        <p>Reduce text zoom of current web page. Mnemonic: zoom out.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<text-zoom-reduce> zr]]></tags>
    <spec><oa>count</oa>zr</spec>
    <description short="true">
        <p>Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<text-zoom> zz]]></tags>
    <strut/>
    <spec><oa>count</oa>zz</spec>
    <description>
        <p>
            Set text zoom value of current web page. Zoom value can
            be between 30% and 300%.  If it is omitted, text zoom is
            reset to 100%.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<full-zoom-in> ZI zI]]></tags>
    <spec><oa>count</oa>ZI</spec>
    <description short="true">
        <p>Enlarge full zoom of current web page. Mnemonic: zoom in.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<full-zoom-more> ZM zM]]></tags>
    <strut/>
    <spec><oa>count</oa>ZM</spec>
    <description>
        <p>Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<full-zoom-out> ZO zO]]></tags>
    <spec><oa>count</oa>ZO</spec>
    <description short="true">
        <p>Reduce full zoom of current web page. Mnemonic: zoom out.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<full-zoom-reduce> ZR zR]]></tags>
    <spec><oa>count</oa>ZR</spec>
    <description short="true">
        <p>Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<full-zoom> zZ]]></tags>
    <strut/>
    <spec><oa>count</oa>zZ</spec>
    <description>
        <p>
            Set full zoom value of current web page. Zoom value can be between 30 and
            300%. If it is omitted, full zoom is reset to 100%.
        </p>
    </description>
</item>

<item>
    <tags>:zo :zoom</tags>
    <spec>:zo<oa>om</oa><oa>!</oa> <oa>value</oa></spec>
    <spec>:zo<oa>om</oa><oa>!</oa> +<a>value</a></spec>
    <spec>:zo<oa>om</oa><oa>!</oa> -<a>value</a></spec>
    <description>
        <p>
            Set zoom value of current web page. <oa>value</oa> can be an absolute value
            between 30% and 300% or a relative value if prefixed with "-" or "+". If
            <oa>value</oa> is omitted, zoom is reset to 100%.
        </p>

        <p>
            Normally this command operates on the text zoom; if used with <oa>!</oa>, it
            operates on full zoom.
        </p>
    </description>
</item>

<h2 tag="frames">Working with frames</h2>

<item>
    <tags>:frameo :frameonly</tags>
    <spec>:frameo<oa>nly</oa></spec>
    <description short="true">
        <p>Show only the current frame's page.</p>
    </description>
</item>

<h2 tag="copying yanking">Copying text</h2>

<p>
    When running in X11, the text of the following commands is not only
    copied to the clipboard but is also put into the X11 selection, which
    can be pasted with the middle mouse button:
</p>

<item>
    <tags>&lt;yank-location> y</tags>
    <strut/>
    <spec>y</spec>
    <description>
        <p>Yank current location to the clipboard. See also
            <o>yankshort</o>.</p>
    </description>
</item>

<item>
    <tags>&lt;yank-selection> Y</tags>
    <spec>Y</spec>
    <description short="true">
        <p>Copy currently selected text to the system clipboard.</p>
    </description>
</item>

<h2 tag="alternate-stylesheet">Alternate style sheets</h2>

Page authors may specify alternate style sheets for an HTML
document. Users can then switch between these various style sheets,
selecting their favorite.

<item>
    <tags>:pagest :pagestyle</tags>
    <spec>:pagest<oa>yle</oa> <oa>stylesheet</oa></spec>
    <description>
        <p>
            Select the author style sheet to apply. If
            <oa>stylesheet</oa> is not specified the page's default
            style sheet is used.
        </p>

        <p>All author styling can be removed by setting the <o>usermode</o> option.</p>
    </description>
</item>

</document>

<!-- vim:se sts=4 sw=4 et: -->
