Minor UI fixes
Using platform-specific default look and feel on mac & linux instead of metal
Defaulting Chainsaw screen size to maximized by default

git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@1034942 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index ce6154a..6785335 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -290,6 +290,19 @@
         public void run()
         {
           String lookAndFeelClassName = model.getLookAndFeelClassName();
+          if (lookAndFeelClassName == null || lookAndFeelClassName.trim().equals("")) {
+              String osName = System.getProperty("os.name");
+              if (osName.toLowerCase().startsWith("mac")) {
+                  //no need to assign look and feel
+              } else if (osName.toLowerCase().startsWith("windows")) {
+                  lookAndFeelClassName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
+                  model.setLookAndFeelClassName(lookAndFeelClassName);
+              } else if (osName.toLowerCase().startsWith("linux")) {
+                  lookAndFeelClassName = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
+                  model.setLookAndFeelClassName(lookAndFeelClassName);
+              }
+          }
+
           if (lookAndFeelClassName != null && !(lookAndFeelClassName.trim().equals(""))) {
             loadLookAndFeelUsingPluginClassLoader(lookAndFeelClassName);
           }
@@ -709,9 +722,16 @@
   public void loadSettings(LoadSettingsEvent event) {
     setLocation(
       event.asInt(LogUI.MAIN_WINDOW_X), event.asInt(LogUI.MAIN_WINDOW_Y));
-    setSize(
-      event.asInt(LogUI.MAIN_WINDOW_WIDTH),
-      event.asInt(LogUI.MAIN_WINDOW_HEIGHT));
+      int width = event.asInt(LogUI.MAIN_WINDOW_WIDTH);
+      int height = event.asInt(LogUI.MAIN_WINDOW_HEIGHT);
+      if (width == -1 && height == -1) {
+          width = Toolkit.getDefaultToolkit().getScreenSize().width;
+          height = Toolkit.getDefaultToolkit().getScreenSize().height;
+          setSize(width, height);
+          setExtendedState(getExtendedState() | MAXIMIZED_BOTH);
+      } else {
+          setSize(width, height);
+      }
 
     getToolBarAndMenus().stateChange();
     RuleColorizer colorizer = new RuleColorizer();
diff --git a/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties b/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties
index 291d78e..8035e50 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties
+++ b/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties
@@ -21,8 +21,9 @@
 # window when it is first realized on startup
 main.window.x=0
 main.window.y=0
-main.window.width=1024
-main.window.height=768
+# default width and height to -1 will display the app at full screen resolution
+main.window.width=-1
+main.window.height=-1
 
 table.columns.order=ID,TIMESTAMP,MARKER,LEVEL,LOGGER,MESSAGE,THROWABLE,THREAD,NDC,CLASS,METHOD,FILE,LINE,MILLISDELTA
 table.columns.widths=50,80,95,50,100,500,100,100,100,100,100,100,100,100