| English |


スキンの切替ボタンを作ってみよう!
(Sidebar切替ボタンのおまけ付き ^^)




超簡単にやるためにいじるファイルは1つだけ。

chrome/packages/core/navigator/content/navigator.xul
だけでやってみます。

 
 
まず、
250行目付近の 


        <box class="box-toolbar-group" flex="1">
        
    の前に 
        
        <button class="button-toolbar-1 top" id="sidebar-button" 
                crop="right" observes="canSidebar" 
                onclick="SidebarShowHide()" value="sidebar" 
                tooltiptext="sidebar"/>
 
        <button class="button-toolbar-1 top" id="sidebar-button" 
                crop="right" observes="canSkin" 
                onclick="swtSkin()" value="skin" 
                tooltiptext="skin"/>
                
    をはり込みます。
    
                   
次に、
69行目付近の

     
    
         <!-- UI services -->
         
     の前あたりに
    
         <script language="javascript">

         /*
          * swtSkin testing 
          */

         try {
           var chromeRegistry = Components.classes["component://netscape/chrome/chrome-registry"].getService();
           if ( chromeRegistry )
             chromeRegistry = chromeRegistry.QueryInterface( Components.interfaces.nsIChromeRegistry );
         } catch(e) {
         }
         function changeSkin(skinName){

           chromeRegistry.selectSkin( skinName, true ); 
           chromeRegistry.refreshSkins();

         }  
         function swtSkin(){
  
           if(window.skin_flg)changeSkin('modern/1.0')
           else               changeSkin('classic/1.0')

           window.skin_flg = !window.skin_flg;
         }

         </script>
         

    これをはります。


     これだけ(^^)/。
     ワンクリックでスキンが切り替わります。
     ( ボタン画像は自分で作ってね。)


        for download (navigator.xul)/M17 2000062210
         (ダウンロード用/navigator.xulという名前に変更して
         chrome/packages/core/navigator/content/navigator.xulと置き換えてください。
         古いnavigator.xulはnavigatorold.xulとかに名前を変えておくと良いかも)
         

                   
ちなみに

        もし、サイドバーボタンをショートカットキーでスイッチしたければ、
        
        <!-- keys are appended from the overlay -->
        
        の前に
        
        <keyset id="myKey1">
          <key id="sidebar" key="b" control="true"
               onkeypress="SidebarShowHide()" />
        </keyset>

        を書いてください。[ Ctrl + b ] で切り替えられます。
        ちなみにたとえば key="s" にすれば
        [ Ctrl + s ] になります。
        
        
                
Thanx for chrome/packages/core/communicator/pref/pref-themes.js
Toshirou Takahashi tato@fureai.or.jp
MDSProject(Mozilla's DOM Sample Project)
NewGameWeb