XUL Explorer 0.3

After getting sidetracked for a while, I have finally made some progress on XUL Explorer. I have been tinkering around with the editor and integrating the XUL validator. I also reorganized the code a little so I could support sidebars in the future.

xulexplorer.png

I have been trying to stick with the XUL <editor> as much as possible. Anyone who has worked with the editor would probably tell me it’s a lost cause, but it’s also been quite a learning experience. I have added tabbed editing by dynamically creating elements inside a <tabbox>. It seems to work well. I make use of the tab-close-button and even change tab image if the editor is modified.

editor-tabs.png

You are prompted to save a modified editor when closing the editor or the application. One thing I have not been able to add was a way to display the current cursor position (row, column). I am still looking into it.

I rearranged the UI a little because of the tabbed editors. The preview pane is no longer below the editor. It was taking room away from the editor, so I added a code/preview toggle. I removed the “Insert Snippet” button from the Snippet Sidebar, but added drag-and-drop as a method of inserting snippets. Double-clicking a snippet also inserts it.

I added a Messages pane at the bottom of the workspace to display output from the, incrementally improved, XUL validator. I’ll probably make more use of the Messages pane in the future.

messages-pane.png

Next up for XUL Explorer:

  • Property Sidebar – Will display the structure of the XUL as a tree and properties of the selected element in a grid. Most likely, it will also allow users to insert/delete XUL elements.
  • Wizards/Generators – Will walk the user through creating XUL files, JavaScript XPCOM, extensions and XULRunner applications. For extensions and application wizards, I really need to add a Project Sidebar.
  • Project Sidebar – Will show the bundle of files needed to support extensions and wizards.

Overall, this project is still giving me lots of Mozilla stuff to play with and learn. And it’s fun.

Keep the feedback coming!

The install is still Windows only. I failed to get a Mac DMG file assembled yet, but I just got some tips on IRC. I am hoping to get Mac and Linux installs someday.

Install: xulexplorer-setup-0.3.exe 4.9MB
Source: xulexplorer-src-0.3.zip

5 Comments

  1. pd said,

    February 27, 2007 @ 12:17 am

    Congrats on the progress Mark, it’s great to see. As usual it seems this sort of ultra useful tool will come from the initiative of one person rather than the big project it should be. That’s great but also much pressure on you. Have you considered inviting contributions and building the editor into a larger project?

    One thing I can really see on the horizon would be a ‘behaviours’ (excuse the Dreamweaver term) picker to the property editor or somewhere else. This would allow XUL Explorer to really create programs rather than just interfaces which is seems limited to atm.

    I hope that yourself and Jon Resig have this in the back of your minds but just don’t want to tell anyone yet :) XUL Explorer + Fuel + Firebug + packaging (extension or XULRunner app) … ooh boy what a dream :)

  2. Jonathan said,

    February 27, 2007 @ 4:36 am

    Found this before, doesn’t work on any Firefox version I have though. (1.04 -> 3.0a3pre)

    http://xulmaker.mozdev.org/

  3. Kevin Whitefoot said,

    March 19, 2007 @ 3:18 pm

    Firstly, thanks for making such a useful tool as XUL Explorer.

    Of course after the praise comes the problem :-)

    I’m very new to XUL development so I am just trying out little snippets of code. I thought it would be a useful exercise to read and write a registry key, and I was right as it turned out to be quite complicated.

    With the help of various web sites and search engines I found that I had to obtain elevated privileges so I added this:

    netscape.security.PrivilegeManager.enablePrivilege(“UniversalXPConnect”);

    before calling the registry interface. If I open the xul file in Firefox it causes a dialog box to pop up asking if I want to allow this. I answer yes and it works perfectly. In XUL Explorer no such question is asked, instead I get the following exception:

    A script from “about:blank” was denied UniversalXPConnect privileges.

    So is there anything I can do to modify the settings in XUL Explorer to allow this to run?

    Kevin Whitefoot.

    Here is my code:

  4. Steven Bengtson said,

    April 10, 2007 @ 10:56 pm

    Hey, can you make a linux build (deb?) for this? Or if I could get the source to build it that would be great!

  5. Kevin Whitefoot said,

    April 11, 2007 @ 12:32 pm

    Source is included. And there is a link to a source only archive at the top of this page.

RSS feed for comments on this post