第å åMozillaæ¡å¼µæ©è½åå¼·ä¼ã¾ã¨ã
ã¨è¨ã訳ã§
æ¬æ¥ã第å
åMozillaæ¡å¼µæ©è½åå¼·ä¼ãè¡ãããã®ã§ãæè§ã¡ã¢ãåã£ãã®ã§æ¸ãã¦ã¿ãã§ãã
ã¡ãªã¿ã«å¯åãã¾ããã®ã§ãã¡ã¤ã³ã®è©±ã¯ååãããããèãã¦ãªãã§ãï½
ãã¨ãå²ã¨é£²ãã§ãã®ã§ãã®è¾ºããåæ¡ãã¦å·§ã¿ã«ã¹ã«ã¼åãçºæ®ãã¦èªãã§ããã ããã¨å¹¸ãã§ãã
Webç³»ã®äººã¯ã¿ããªé å»ããã§ãã
é å»è ä¸è¦§
ç¹ã«ãªããã¾ãã®é å»ã¯æ¬å½ã«é ·ãã£ãã
Firemacs (山本さん)
grep, find, Google
åºæ¬ã¯Mozillaã®ã½ã¼ã¹ãgrep, findãã¾ãã£ã¦ãå¾ã¯ã°ã°ã£ã¦ä½ã£ãã
ãããç´ æ´ãããã
C-sã®æ¤ç´¢
Firefoxã®å·¦ä¸ã«æ¤ç´¢ã®ã¨ãªã¢ãåºããã©ããã®æ¤ç´¢ãC-sã§ããããã
ãã®æ¤ç´¢ã«å
¥ãéã«statusã«æè¨ãåºãããã(I-searchã¿ãããªã®)
æ®éãªãã
window.status = "I-search";
ã¿ããã«åºæ¥ããã©æ¡å¼µã®ä¸çããåºæ¥ãªãã®ã§ã代æ¿æ段ã¨ãã¦ã
document.getElementById("statusbar-display").label = "I-search";
ãããªæãã§ããã
ã¨ãããããããã©ã®Firefoxã§idå±æ§ãã¤ãã¦ã主è¦ãªè¦ç´ ã®ã¾ã¨ãã¨ãå¤åã©ããã«ããã¨æããã©ãã©ãèãã¦ãBK以å¤ã®ä½è
ã§ããªãã
commandã«å¯¾ããå¼æ°ã®è©±
commandã£ã¦ã®ããããã ãã©ãããã£ã¦å¼æ°ã渡ããªãã
ããã§ãnsICommandController, nsICommandParamsã使ãã
isCommandEnable()ã§æå®ããã³ãã³ããå®è¡å¯è½ãã©ãããåããã
æ¤ç´¢ã®é¨å
gFindBarã§åãããã£ã¦ãgãªãã¡ããã£ã¦å¤§æç¡ããï¼ï½
repl> repl.search(/^g[A-Z]/, window); gNavigatorBundle gCZPanMouseY gCZPanMouseX gCZStatusBarFormat gCZEyedropperLaunchTimerID gCZSavedStatus gShorcutKeyName gCZPrevSelectedY gCZPrevSelectedX gCZSelectedElementBackupStyle gCZSelectedClientY gCZSelectedClientX gCZSelectedElement gCZSelectedY gCZSelectedX gCZLastStatusValue gCZSelectedColor gCZComponent gCZIOUtils gCZCustomPaletteUI gCZClickListener gCZPref gCZPrefService gYBLoginWindow gYBObservService gYB_loadFavIconOld gYB_loadFavIconNew gYB_saveIcon gYB_getMimeType gYB_b64 gYB_rscIcon gYB_rdfs gYB_bms gYBXUL_NS gYBrscBundleRoot gYBrscBundleValue gYBrscBundle gYBrscLastVisitDate gYBrscVisitCount gYBrscTag gYBrscTagValue gYBrscUrl gYBrscGenTitle gYBrscName gYBRdfService gJavaConsole1_6_0_02 gOrigName gCancelLabel gSavedName gHideElmParam gThisWinClosedtabs gThisWinTabs gThisWin gSessionPath gRDFRoot gBackupLabel gTab gFirefox2DefaultTheme gSingleWindowMode gTabbarPosition gObserver gURIFixer gWindowManager gIOService gAutoReloadDialogAccepted gChromeDir gIsPlaces gIsFirefox2 gIsOldBrowser gPref gViewSourceUtils gMissingPluginInstaller gWebPanelURI gHomeButton gXPInstallObserver gPopupBlockerObserver gSessionHistoryObserver gGoButtonPrefListener gAutoHideTabbarPrefListener gURLBarAutoFillPrefListener gSanitizeListener gChromeState gContextMenu gSidebarCommand gBrowser gPrefService gProgressCollapseTimer gProgressMeterPanel gMustLoadSidebar gClickSelectsAll gHaveUpdatedToolbarState gLastValidURL gLastValidURLStr gIsLoadingBlank gProxyDeck gProxyFavIcon gProxyButton gURLBarContainer gURLBar gPrevCharset gLastBrowserCharset gCharsetMenu gPageStyleButton gURIFixup gGlobalHistory gRDF gBrowserGlue gBkmkTxnSvc gBmProperties gNC_NS_CMD gXUL_NS gRDF_NS gWEB_NS gNC_NS gBidiUI gSavePrintSettings gPrintSettingsAreGlobal gFindBar gTraceOnAssert
ã¨ããããåã®å®è¡çµæã
ãã¨æ¤ç´¢ãã£ã¼ã«ãèªä½ã¯ã
document.getElementById("find-field");
ã£ã¦äºã§idå±æ§ã¨ãã¦find-fieldãæå®ããã°åããã
ãã¼ã¤ãã³ãã®å¥ªãæ¹
Firemacsã§ä¸çªé¢ç½ã話ã
eventã®å¥ªãæ¹
captureãã§ã¼ãºã§å¥ªã£ã¦ãstopPropergation(), preventDefatult()ã§OK
accesskeyã§å²ãå½ã¦ããã¦ãå ´å
accesskeyå±æ§ãæã£ã¦ããè¦ç´ ããaccesskeyå±æ§ãæ¶ãã°OKãã¨æãããããã§ã¯é§ç®ã
è¦ç´ ãã¨å·®ãæ¿ããå¿
è¦ãªã®ã§ã
- accesskeyå±æ§ãæã¤è¦ç´ ãæ½åº
- removeAttribute("accessskey")
- cloneNode()ãã¦ã親ããreplaceChild()ããã¨æãæãã
ã¨è¨ãæ段ãã¨ãã
ãã¼å²ãå½ã¦ã¨preference
ãã®è¾ºãã¯Piroããã詳ãã解説ãã¦ãããäºå®ã
nsIPrefBranch辺ããä¸æã使ãã°ã¹ãã¼ãã«æ¸ããã
XULRunner - WidgetRunnerã®ç´¹ä» (id:smellman)
çµé·ã®çºè¡¨ã20after4ã£ã¦äººãWidgetRunnerã£ã¦ã®ãä½ã£ã¦ã件ã
- http://www.developerfriendly.com/projects/WidgetRunner
- http://d.hatena.ne.jp/smellman/20070726/1185463796
å¤åãããã¸ãã
- Extension Managerãåå©ç¨ãã¦ã
- ã¾ã ä¸å®å®
ãªãã ãã©ãã¬ã¸ã§ããã®ã©ã³ã¿ã¤ã ã®ããã«ãã¦ä½¿ããã¨ããã¯åã注ç®ã
XULRunnerç³»ã ã¨SSB(Site Specific Browser)ã¨ãã¦WebRunnerãæã注ç®ããã¦ãã
è¨å®ãã¡ã¤ã«ã¯æ¨æºã§å
¥ã£ã¦ã¦ã.webappã£ã¦æ¡å¼µåã§ããã
大ä½å
容ã¯iniãã¡ã¤ã«ã£ã½ãæãã
Google Calendarã¨ãã®è¨å®ãã¡ã¤ã«ã¨ããããã§ãå
容è¦ã¦ã¨ããããæè¦ã¯æ´ãã¹ãã
ã§ãã¦ã³ãã¼ãåºæ¥ããã
XUL preLoader (by mar's)
overlayããã¨ãã«idå±æ§ãæ¯ããã¦ããªãè¦ç´ ããã£ããã©ãããï¼ã¨è¨ã話ã
æ®éãªãchrome.manifestã§æå®ããxulã§overlayãããè¦ç´ ãã¤ãã¤ãæ¸ããã ãã©ã
ãããããªãå ´åã¯jsã§å¶å¾¡ããã
ã§ãjsã§æ¸ããé端ãã¤ãªã¼ã¬ã«ãªå¦çã«ãªã£ã¦èããã
ããpreLoaderã§åºæ¥ããã
ãã£ããè¨ãã°chrome.manifestã§æå®ãããã¡ã¤ã«ãpreLoader.xulã«ãã¦ã
ãã®ä¸ã§overlayãããè¦ç´ ã¨ãä¸åæ¸ããã«ãjsã ãæ¸ãã
ããã§æ¬æ¥overlayãããè¦ç´ ã«idã¤ãã¦ãããjsã§loadOverlay()ãã¦ãæ¬æ¥chrome.manifestããoverlayãããxulãæå®ãã¦çµäºã
ã£ã¦èª¬æã§å¤§ä½åããï¼ï½
辺ãã®è©±ãèå³æ·±ãã£ãã
å¾ã§èª¿ã¹ãã
ã¾ã¨ã
åãé¢ç½ãã£ããç¹ã«Firemacsã®å
容ã¯ã¨ã¦ãåå¿è
åãã ã£ããã
å±±æ¬ããã®è¦å¿ã®ç¨ã¯ä¼ºãç¥ãã¦è¯ãã£ãã§ãã
ãã¨id:nagayamaãMozillaã®ä½ãã§ååãã¦ããããããã
ãã£ã¨ãã¦ãã¦ã¯å ±æããªããã§ããªã
ãã¨é£²ã¿ä¼ãé¢ç½ãã£ãããä¼ããã人ã«ãä¼ããã
飲ã¿ä¼ã§å¨ãããã³å¼ãããããããPiroããã¨è©±ãããã ãã©ããã®å
容ã¯æ¿ãã£ãã
ææã¯è¿½ã
åºãäºå®ã§ãããã¾ãã
ã¾ã£ããã¾ã¨ã¾ã£ã¦ãªããã©æ°ã«ããªãã