I've modified Eric Shulman's excellent ToggleFullScreen plugin for
mGSD. This may be specific to the MonkeyGTDTheme, which I've
customized so much that I don't bother with anything else (so please
feel free to test it and post it somewhere else!).

The plugin puts alternating "+/O" buttons where the >> sidebar toggle
used to be -- I've also removed the sidebar toggle in the
MonkeyGTDTheme (see below).
Clicking it hides/shows the top header and the sidebar simultaneously.

The css is a little buggy... would love help with it!

P.S. Would love to see this and my sidebar tab arrangements (previous
post) in the next beta! ;->

----
Name: TogglemGSDFullScreen
Tags: transclusion
Optional tags: plugin, excludeTimeline, excludeSearch
----

/%
!info
|Name|TogglemGSDFullScreen|
|Source|http://www.TiddlyTools.com/#ToggleFullScreen|
|Version|2.1.1ds|
|Author|Original - Eric Shulman, Modified by David Szego for mGSD|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|Create a link that shows/hides sidebars and page headers|
Usage
<<<
{{{
<<tiddler ToggleFullScreen>>
<<tiddler ToggleFullScreen with: label altlabel>>
}}}
embeds a command link into content, where:
*''label'' (optional, default={{{fullscreen}}})<br>command text
*''altlabel'' (optional, default={{{restore}}})<br>alternative command
text shown when full screen is enabled
You can also enable/disable full screen immediately (without clicking
a command link) by embedding the one of the following directly in your
content:
{{{
<<tiddler ToggleFullScreen##ON>>
<<tiddler ToggleFullScreen##OFF>>
}}}
<<<
Example
<<<
{{{<<tiddler ToggleFullScreen with: fullscreen restore>>}}}
<<tiddler ToggleFullScreen##show with: fullscreen restore>>
<<<
Revisions
<<<
2011.10.19 2.1.1 Added ToggleSidebarMacro for mGSD themes (DSzego)
2011.05.13 2.1.0 refactored code and restored "##ON" and "#OFF" usage
2010.xx.xx 2.0.1 converted to transclusion
2008.10.13 1.1.3 re-written to support bookmarklet usage
2008.01.20 1.0.0 created (inline script)
<<<
!end

!code
<<tiddler {{
window.setFullScreen = function(fs) {
        var co=config.options; var cm=config.macros;
        cm.option.propagateOption('chkFullScreen','checked',fs,'input');

        var showmm=!fs && co.chkShowLeftSidebar!==false;
        var showsb=!fs && co.chkShowRightSidebar!==false;
        var showcrumbs=!fs && co.chkShowBreadcrumbs!==false
                && cm.breadcrumbs && cm.breadcrumbs.crumbs.length;
        var showstorymenu=!fs;

        var da=document.getElementById('displayArea');
        var cw=document.getElementById('contentWrapper');
        var mm=document.getElementById('mainMenu');
        var sb=document.getElementById('sidebar');
        var sm=document.getElementById('storyMenu');
        var bc=document.getElementById('breadCrumbs');

        if (cw){ // toggle page header
                var elems=cw.getElementsByTagName('*');
                for (var i=0; i<elems.length; i++) if 
(hasClass(elems[i],'header'))
                        { elems[i].style.display=fs?'none':'block'; break; }
        }
        if (mm) { // toggle MainMenu
                mm.style.display=showmm?'block':'none';
                
da.style.marginLeft=showmm?(co.txtDisplayAreaLeftMargin||''):'1em';
        }
        if (sb) { // toggle sidebar
                sb.style.display=showsb?'block':'none';
                da.style.marginRight=showsb?
(co.txtDisplayAreaRightMargin||''):'1em';

        //See if adding code from ToggleSideBarMacro helps...
         if (sb.style.display=showsb == 'none')
             {
 
(document.getElementById("sidebar")).setAttribute("toggle","hide");
 
setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
             }

         var sidebar = document.getElementById("sidebar");
         var settings = config.macros.toggleSideBar.settings;
         if (sidebar.getAttribute("toggle")=='hide')
             {
              setStylesheet(settings.styleShow,"ToggleSideBarStyles");
              sidebar.setAttribute("toggle","show");
              }
         else
              {
 
setStylesheet(settings.styleHide,"ToggleSideBarStyles");
               sidebar.setAttribute("toggle","hide");
              }
        //end ToggleSideBarMacro code

        } //end toggle sidebar

        if (sm) sm.style.display=showstorymenu?'block':'none';  // toggle
StoryMenu
        if (bc) bc.style.display=showcrumbs?'block':'none';     // toggle
BreadCrumbsPlugin

        var b=document.getElementById('restoreFromFullscreenButton'); if (b)
removeNode(b);
        if (fs) {
        
setStylesheet(store.getTiddlerText('ToggleFullScreen##styles'),'fullScreenStyles');
        }
        return false;
};
'';}}>>
!end

!styles
#restoreFromFullscreenButton {
        position:fixed; top:.3em; right:.3em; z-index:10001;
        cursor:pointer; font-size:8pt; color:ButtonText !important;
        border:2px outset ButtonFace; padding:0px 3px;
        background-color:ButtonFace; -moz-appearance:button;
}
!end

!ON
<<tiddler ToggleFullScreen##code>><<tiddler
{{window.setFullScreen(true);'';}}>>
!end

!OFF
<<tiddler ToggleFullScreen##code>><<tiddler
{{window.setFullScreen(false);'';}}>>
!end

!show
<<tiddler ToggleFullScreen##code>><html><nowiki>
<a href='javascript:;' title="Fullscreen: Toggle sidebars and page
header"
onmouseover="
        this.href='javascript:void(eval(decodeURIComponent(%22(function()
{try{('
        +encodeURIComponent(encodeURIComponent(this.onclick))
        +')()}catch(e){alert(e.description?e.description:e.toString())}})()
%22)))';"
onclick="
        window.setFullScreen(!config.options.chkFullScreen); // toggle
setting
        this.innerHTML=!config.options.chkFullScreen?'$1':'$2'; // set
command text
        return false;
">$1</a></html>
!end

%/<<tiddler {{var src='ToggleFullScreen'; src+
(tiddler&&tiddler.title==src?'##info':'##show');}}
with:   {{'$'+'1'!='$1'?'$1':'fullscreen'}}
        {{'$'+'2'!='$2'?'$2':'restore'}}>>

----
END TIDDLER
----

Also modified is the >> sidebar toggler, found in tiddler
MonkeyGTDTheme.
Edit the !PageTemplate section, and add the tiddler such as below:

----
MonkeyGTDTheme !PageTemplate section:
----
<div macro='gradient vert [[ColorPalette::PrimaryMid]]
[[ColorPalette::PrimaryDark]]'>
        <div style="float:right;color:[[ColorPalette::PrimaryMid]];"
id="toggleSideBar"><span class="button" id="toggleFullScreen"
macro="tiddler ToggleFullScreen with: ⊞ ⧉"></span><!-- span
macro="toggleSideBar"></span --></div>
        <div class='mtoolbar'>
        <div>
        <span class="label">REALM</span><span id='arealmSelector'
macro="groupOfSingleToggleTags tag:Realm title:MgtdSettings
refresh:page"></span>
        <span id='ticklerAlert' refresh='content' tiddler='TicklerAlert'
force="true"></span>
        <span id='newButtons' refresh='content' tiddler='NewButtons'></span>
        <div style="float:right" id="saveCloseDecrypt">
                <span id="headerClose" macro="closeAll"></span>
                <!-- Uncomment next line if you use the EncryptTiddlerPlugin -->
                <!-- span id="headerDecryptAll"
macro="EncryptionDecryptAll"></span -->
                <span id="headerSave" macro="saveChanges"></span>
        </div>
        </div>
        </div>
</div>

----

You may also need to add the following styles to the MonkeyGTDTheme !
StyleSheet section:

#headerSave .button { border:none !important;background:black !
important;color:white !important; }
#headerClose .button { border:none !important;background:black !
important;color:white !important; }
// Optional if you added a link to decrypt, above:
#headerDecryptAll .button { border:none !important;background:black !
important;color:white !important; }
#toggleFullScreen .button { border:none !important;background:black !
important;color:white !important; }

-- 
You received this message because you are subscribed to the Google Groups "GTD 
TiddlyWiki" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/gtd-tiddlywiki?hl=en.

Reply via email to