Working with JScrollPane

I'm facing a serious issue , i want to use a scroll bars(vertical and horozontal ) but i'm not able to do ,
The peice of code that i'm having is
import java.awt.Adjustable;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class XmlComparision {
     * @param args
     public static void main(String[] args) {
          // TODO Auto-generated method stub
          JButton b1 = new JButton("XML 1");
          JButton b2 = new JButton("XML 2");
          JButton b3 = new JButton(" Compare ");
          JTextArea t1 = new JTextArea(10,10);
          JTextArea t2 = new JTextArea(10,10);
          JFrame myFrame = new JFrame("XML diff");
          JScrollPane scrollingArea = new JScrollPane(t1);
scrollingArea.setBorder(BorderFactory.createEmptyBorder(10,5,10,5));
          myFrame.setSize(1200, 900);
myFrame.setLocation (50,50);
Container content = myFrame.getContentPane();
content.setBackground(Color.GRAY);
//content.setLayout(new FlowLayout());
content.setLayout(null);
t1.setBounds(10,10,430,850);
t2.setBounds(620,10,470,850);
b1.setBounds(450,10,90,30);
b2.setBounds(1100,10,90,30);
b3.setBounds(400,1100,30,30);
content.add(t1);
content.add(b1);
content.add(t2);
content.add(b2);
content.add(b3);
content.add(scrollingArea, BorderLayout.CENTER);
          myFrame.setVisible(true);
     class MyAdjustmentListener implements AdjustmentListener {
// This method is called whenever the value of a scrollbar is changed,
// either by the user or programmatically.
public void adjustmentValueChanged(AdjustmentEvent evt) {
Adjustable source = evt.getAdjustable();
// getValueIsAdjusting() returns true if the user is currently
// dragging the scrollbar's knob and has not picked a final value
if (evt.getValueIsAdjusting()) {
// The user is dragging the knob
return;
// Determine which scrollbar fired the event
int orient = source.getOrientation();
if (orient == Adjustable.HORIZONTAL) {
// Event from horizontal scrollbar
} else {
// Event from vertical scrollbar
// Determine the type of event
int type = evt.getAdjustmentType();
switch (type) {
case AdjustmentEvent.UNIT_INCREMENT:
// Scrollbar was increased by one unit
break;
case AdjustmentEvent.UNIT_DECREMENT:
// Scrollbar was decreased by one unit
break;
case AdjustmentEvent.BLOCK_INCREMENT:
// Scrollbar was increased by one block
break;
case AdjustmentEvent.BLOCK_DECREMENT:
// Scrollbar was decreased by one block
break;
case AdjustmentEvent.TRACK:
// The knob on the scrollbar was dragged
break;
// Get current value
int value = evt.getValue();
and also i worked with
import java.awt.Adjustable;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
* @author a385078
public class XmlComparison {
/** Creates a new instance of Main */
public XmlComparison() {
System.out.println("Inside the Constructor");
* @param args the command line arguments
public static void main(String[] args) {
// TODO code application logic here
JButton b1 = new JButton("XML 1");
     JButton b2 = new JButton("XML 2");
     JButton b3 = new JButton(" Compare ");
     JTextArea t1 = new JTextArea(10,10);
     JTextArea t2 = new JTextArea(10,10);
     JFrame myFrame = new JFrame("XML diff");
     JScrollPane scrollingArea1 = new JScrollPane(t1);
JScrollPane scrollingArea2 = new JScrollPane(t2);
scrollingArea1.setBorder(BorderFactory.createEmptyBorder(10,5,10,5));
scrollingArea2.setBorder(BorderFactory.createEmptyBorder(10,5,10,5));
     myFrame.setSize(1200, 900);
myFrame.setLocation (50,50);
Container content = myFrame.getContentPane();
content.setBackground(Color.GRAY);
//content.setLayout(new FlowLayout());
content.setLayout(null);
t1.setBounds(10,10,430,850);
t2.setBounds(620,10,470,850);
b1.setBounds(450,10,90,30);
b2.setBounds(1100,10,90,30);
b3.setBounds(400,1100,30,30);
content.add(t1);
content.add(b1);
content.add(t2);
content.add(b2);
content.add(b3);
content.add(scrollingArea1);
content.add(scrollingArea2);
     myFrame.setVisible(true);
but its not working , can any one help me with it .

Hello, as far as I can see you have declared and created your JScrollPane while passing in your first JTextArea in this line here...
JScrollPane scrollingArea = new JScrollPane(t1);...but then you set the bounds of the t1 textarea and add it, but you should set the bounds of scrollingArea and add it.
so...
t1.setBounds(10,10,430,850);
content.add(t1);should be....
scrollingArea.setBounds(10,10,430,850);
content.add(scrollingArea);Appologies if this isn't your problem, but its the interpretation I got

Similar Messages

  • Getting Autoscroll Interface to work with JScrollPane/JPanel

    I got drag and drop working with a JPanel extended class.
    JScrollPane -> JPanel
    My JPanel is a DropTarget. I want the viewable portion on that JPanel to have an Insets object associated with it. How would I do that?
    I originally associated the Insets object with the JPanel. Problem was that a lot of the JPanel can be obscured. So if the top is hidden it doesn't realize it is at the edge. I tried associating an Insets object with the JScrollPane and with the JScrollPane's JViewport with limited success. But I ran into similar errors. I may be on the right track with some of this. Not sure.
    I would appreciate any help if anyone has done this before.
    Regardless of the ways I am attempting, if you had a JScrollPane with a JPanel (and the JPanel was your DropTarget), how would you implement the autoscrolling? Esp. in regards to the Insets object?
    regards,
    Geoff Robinson

    The following code will autoscroll almost any drop target, not sure what insets you are talking about though.
        static int autoscrollMargin = 20;
        Insets autoscrollInsets = new Insets(0, 0, 0, 0);
        // AutoScroll methods.
        public void autoscroll(Point location)
            //System.out.println("mouse at " + location);
            int top = 0, left = 0, bottom = 0, right = 0;
            Dimension size = getSize();
            Rectangle rect = getVisibleRect();
            int bottomEdge = rect.y + rect.height;
            int rightEdge = rect.x + rect.width;
            if (location.y - rect.y <= autoscrollMargin && rect.y > 0) top = autoscrollMargin;
            if (location.x - rect.x <= autoscrollMargin && rect.x > 0) left = autoscrollMargin;
            if (bottomEdge - location.y <= autoscrollMargin && bottomEdge < size.height) bottom = autoscrollMargin;
            if (rightEdge - location.x <= autoscrollMargin && rightEdge < size.width) right = autoscrollMargin;
            rect.x += right - left;
            rect.y += bottom - top;
            scrollRectToVisible(rect);
        public Insets getAutoscrollInsets()
            Dimension size = getSize();
            Rectangle rect = getVisibleRect();
            autoscrollInsets.top = rect.y + autoscrollMargin;
            autoscrollInsets.left = rect.x + autoscrollMargin;
            autoscrollInsets.bottom = size.height - (rect.y + rect.height) + autoscrollMargin;
            autoscrollInsets.right = size.width - (rect.x + rect.width) + autoscrollMargin;
            return autoscrollInsets;
        }

  • JButtons in JToolbar don't work with JApplet- why?

    I made a JApplet which has a toolbar, populated with burrons that manipulate data from text files. The programs works perfectly when it is not a JApplet. However, once I converted it to a JApplet it does nothing. The code was exactly the same, but, pressing buttons does nothing when it is an applet. here is the complete code;
    import java.io.*;
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;
    public class CSE extends JApplet implements ActionListener, ItemListener
    //GUI COMPONENTS
    //ToolBar components
    JToolBar mainSelect = new JToolBar("Materials");
    JButton materials;
    String materialNames[] = {"Fur Square", "Bolt of Linen", "Bolt of Damask", "Bolt of Silk", "Glob of Ectoplasm", "Steel Ingot", "Deldrimor Steel Ingot", "Monstrous Claw", "Monstrous Eye", "Monstrous Fang", "Ruby", "Lump of Charcoal", "Obsidian Shard", "Tempered Glass Vial", "Leather Square", "Elonian Leather Square", "Vial of Ink", "Roll of Parchment", "Roll of Vellum", "Spiritwood Plank", "Amber Chunk", "Jadeite Shard"};
    ImageIcon materialIcons;
    //Graphic components
    JDesktopPane mainGraph = new JDesktopPane();
    JPanel dailyGraph = new JPanel();
    JPanel weeklyGraph = new JPanel();
    JPanel finalPrices = new JPanel();
    Box graphs = Box.createHorizontalBox();
    //The Console
    JFrame CSEFrame = new JFrame();
    JSplitPane mainConsoleBackdrop = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    JSplitPane dataOut = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    JTextArea prediction = new JTextArea(10,10);
    JScrollPane predictionScroll;
    Box finalPricesLabels = Box.createVerticalBox();
    Box finalPricesLay = Box.createVerticalBox();
    JLabel finalBuy = new JLabel("Net Buy Price Change: 0.00");
    JLabel finalSell = new JLabel("Net Sell Price Change: 0.00");
    JLabel buySell = new JLabel("We recommend you: N/A");
    JTextArea priceUpdate = new JTextArea(10, 10);
    JTextArea priceUpdateWeekly = new JTextArea(10, 10);
    JScrollPane priceUScrollW;
    JScrollPane priceUScroll;
    JCheckBox weeklySelect = new JCheckBox("To show weekly price changes.", false);
    JCheckBox dailySelect = new JCheckBox("To show daily price changes.", true);
    ButtonGroup dataToShow = new ButtonGroup();
    //COMPONENTS FOR DATE; OBTAINING CORRECT FOLDER
    String days[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
    Calendar calSource = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
    int day = calSource.get(Calendar.DAY_OF_MONTH);
    int month = calSource.get(Calendar.MONTH);
    int year = calSource.get(Calendar.YEAR);
    int monthCheck [] = {Calendar.JANUARY, Calendar.FEBRUARY, Calendar.MARCH, Calendar.APRIL, Calendar.MAY, Calendar.JUNE, Calendar.JULY, Calendar.AUGUST, Calendar.SEPTEMBER, Calendar.OCTOBER, Calendar.NOVEMBER, Calendar.DECEMBER};
    int dayS = day;
    int monthS = month;
    int yearS = year;
    //if there is file found
    boolean proceed = false;
    //int data for analysis
    int buyPrice;
    int currentBuyPrice;
    int sellPrice;
    int currentSellPrice;
    boolean weekly = false;
    //tools for parsing and decoding input
    String inputS = null;
    String s = null;
    Scanner [] week = new Scanner[7];
    Scanner scanner;
    int position = 0;
    //weekly tools
    String weekPos[] = {"Seventh", "Sixth", "Fifth", "Fourth", "Third", "Second", "First"};
    int dayOfWeek = 0; //0 = 7    1 = 6...
                    public JButton getToolBarButton(String s)
                        String imgLoc = "TBar Icons/" +s +".gif";
                        java.net.URL imgURL = CSE.class.getResource(imgLoc);
                        JButton button = new JButton();
                        button.setActionCommand(s);
                        button.setToolTipText(s);
                        button.addActionListener(this);
                        if(imgURL != null)
                            button.setIcon(new ImageIcon(imgURL, s));
                        else
                            button.setText(s);
                            System.err.println("Couldn't find; " +imgLoc);
                        return button;
                        public CSE()
                                   // super("Test CSE");
                                    //CSEFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                    for(int x=0; x<materialNames.length; x++)
                                        materials = getToolBarButton(materialNames[x]);
                                        mainSelect.add(materials);
                                    //checkBoxes
                                    dataToShow.add(weeklySelect);
                                    dataToShow.add(dailySelect);
                                    weeklySelect.addItemListener(this);
                                    dailySelect.addItemListener(this);
                                    // sizes
                                    setSize(850, 850);
                                    //colors and fonts
                                    weeklyGraph.setBackground(new Color(250, 30, 40));
                                    dailyGraph.setBackground(new Color(100, 40, 200));
                                    //text Manip.
                                    prediction.setLineWrap(true);
                                    priceUpdate.setLineWrap(true);
                                    //scrolling
                                    predictionScroll = new JScrollPane(prediction, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                                    priceUScroll = new JScrollPane(priceUpdate, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                                    priceUScrollW = new JScrollPane(priceUpdateWeekly, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                                    //main splitpane config.
                                    mainConsoleBackdrop.setOneTouchExpandable(true);
                                    mainConsoleBackdrop.setResizeWeight(.85);
                                    //placement and Layout
                                    //GraphLayout
                                    graphs.add(Box.createHorizontalStrut(10));
                                    graphs.add(dailyGraph);
                                    graphs.add(Box.createHorizontalStrut(10));
                                    graphs.add(weeklyGraph);
                                    graphs.add(Box.createHorizontalStrut(10));
                                    dataOut.setRightComponent(predictionScroll);
                                    //consoleData layout
                                    finalPricesLabels.add(Box.createVerticalStrut(10));
                                    finalPricesLabels.add(finalBuy);
                                    finalPricesLabels.add(Box.createVerticalStrut(10));
                                    finalPricesLabels.add(finalSell);
                                    finalPricesLabels.add(Box.createVerticalStrut(10));
                                    finalPricesLabels.add(buySell);
                                    finalPricesLay.add(finalPricesLabels);
                                    finalPricesLay.add(Box.createVerticalStrut(10));
                                    finalPricesLay.add(weeklySelect);
                                    finalPricesLay.add(dailySelect);
                                    finalPricesLay.add(priceUScroll);
                                    dataOut.setLeftComponent(finalPricesLay);
                                    mainConsoleBackdrop.setTopComponent(graphs);
                                    mainConsoleBackdrop.setBottomComponent(dataOut);
                                    getContentPane().add(mainConsoleBackdrop);
                                    getContentPane().add(mainSelect, BorderLayout.NORTH);
                                    //visibility
                                   // CSEFrame.setVisible(true);
                                    //return(CSEFrame);
                                        public void actionPerformed(ActionEvent e)
                                            getMonth();
                                            inputS = e.getActionCommand();
                                            FileReader newRead = null;
                                                    try {
                                                           newRead = new FileReader(monthS +"-" +dayS +"-" +yearS +"/" +inputS +".dat");
                                                           proceed = true;
                                                        catch(FileNotFoundException f)
                                                           System.out.println("File not found");
                                                           proceed = false;
                                          if(proceed)
                                          BufferedReader bufferedReader = new BufferedReader(newRead);
                                          scanner  = new Scanner(bufferedReader);
                                          scanner.useDelimiter("\n");
                                         //starts daily analysis
                                          getPrice(scanner);
                                        //starts weekly analysis
                                          weekly(inputS);
                                    public void itemStateChanged(ItemEvent e)
                                        if(weeklySelect.isSelected())
                                        priceUpdateWeekly.setText("");
                                        finalPricesLay.remove(priceUScroll);
                                        finalPricesLay.add(priceUScrollW);
                                        finalPrices.updateUI();
                                        else
                                            priceUpdate.setText("");
                                            finalPricesLay.remove(priceUScrollW);
                                            finalPricesLay.add(priceUScroll);
                                            finalPrices.updateUI();
                                    public void weekly(String inputS)
                                        weekly = true;
                                        for(int x = 0; x < 7; x++)
                                           dateToUse(month, day, year, (x+1));
                                            try
                                                    FileReader weeklySource = new FileReader(monthS +"-" +dayS +"-" +year +"/" +inputS +".dat");
                                                    BufferedReader weeklyBuffer = new BufferedReader(weeklySource);
                                                    week[x] = new Scanner(weeklyBuffer);
                                                    week[x].useDelimiter("\n");
                                                    getPrice(week[x]);
                                             catch(FileNotFoundException f)
                                                JOptionPane.showMessageDialog(this, "No such weekly files- going back;" +(x+1) +"days");
                                        weekly = false;
                                        dateReset();
                                    public void getPrice(Scanner scanner)
                                        while(scanner.hasNextLine())
                                            //puts into string the next scan token
                                            String s = scanner.next();
                                            //takes the scan toke above and puts it into an editable enviroment
                                            String [] data = s.split("\\s");
                                            for(position = 0; position < data.length; position++)
                                                        //Scanner test to make sure loop can finish, otherwise "no such line" error
                                                        if(scanner.hasNextLine()==false)
                                                        scanner.close();
                                                        break;
                                                           /*Starts data orignazation by reading from each perspective field
                                                            * 1 = day
                                                            * 2 = day of month
                                                            * 3 = month
                                                            * 4 = year
                                                           if(position == 0 && weekly == false)
                                                               String dayFromFile = data[position];
                                                                int dayNum = Integer.parseInt(dayFromFile);
                                                              priceUpdate.append(days[dayNum-1] +" ");
                                                           else if(position == 1  && weekly == false )
                                                              priceUpdate.append(data[position] + "/");
                                                           else if(position == 2 && weekly == false)
                                                              priceUpdate.append(data[position] + "/");
                                                            else if(position == 3 && weekly == false)
                                                                priceUpdate.append(data[position] +"\n");
                                                           //if it is in [buy] area, it prints and computes
                                                            else if(position == 7)
                                                                //obtains string for buy price and stores it, then prints it
                                                                String buy = data[position];
                                                            if(weekly == false)
                                                            priceUpdate.append("Buy: " +buy +"\n" );
                                                             //converts buy to string
                                                            currentBuyPrice = Integer.parseInt(buy);
                                                            //eliminates problems caused by no data from server- makes the price 0
                                                            if(currentBuyPrice < 0)
                                                                currentBuyPrice = 0;
                                                            //if it is greater it adds
                                                            if(currentBuyPrice > buyPrice)
                                                                     buyPrice += currentBuyPrice;
                                                            //if it is equal [there is no change] then it does nothing    
                                                            if(currentBuyPrice == buyPrice)
                                                                buyPrice +=0;
                                                            //if there is a drop, it subtracts
                                                               else
                                                                   buyPrice -= currentBuyPrice;
                                                            //if it is in [sell] area, it prints, and resets the position to zero because line is over
                                                            else if(position == 8)
                                                                //puts sell data into string and prints it
                                                                String sell = data[position];
                                                                if(weekly == false)
                                                                priceUpdate.append("Sell: " + sell +"\n");
                                                                //turns sell data into int.
                                                              currentSellPrice = Integer.valueOf(sell).intValue();;
                                                            //gets rid of problems caused by no data on server side- makes it 0 
                                                            if(currentSellPrice < 0)
                                                                currentSellPrice = 0;
                                                            //adds if there is an increase
                                                            if(currentSellPrice > sellPrice)
                                                                     sellPrice += currentSellPrice;
                                                            //does nothing if it is the same    
                                                            if(currentSellPrice == sellPrice)
                                                                sellPrice +=0;
                                                            //subtracts if there is drop
                                                               else
                                                                   sellPrice -= currentSellPrice;
                                                                //further protection against "No such line" and moves it down
                                                               if(scanner.hasNextLine() == true)
                                                                scanner.nextLine();
                                                                //if scanner is finished, prints out all lines
                                                               if(scanner.hasNextLine() == false && weekly == false)
                                                                finalBuy.setText("Net Buy Price Change: "+buyPrice);
                                                                finalSell.setText("Net Sell Price Change: " +sellPrice);
                                                                buyPrice = 0;
                                                                sellPrice = 0;
                                                                position = data.length;
                                                               else if(scanner.hasNextLine() == false && weekly == true)
                                                                   priceUpdateWeekly.append("\n" +weekPos[dayOfWeek] +" day of the week ended with; \nBuy Price;" +buyPrice +"\nSell Price;" +sellPrice);
                                                                   buyPrice = 0;
                                                                   sellPrice = 0;
                                                                   position = data.length;
                                                                   dayOfWeek++;
                                                                   if(dayOfWeek > 6)
                                                                   dayOfWeek = 0;
                                public void getMonth()
                                    for(int x=0; x < monthCheck.length; x++)
                                        if(month == monthCheck[x])
                                              monthS = (x+1);
                                              x = monthCheck.length;
                                 public void dateToUse(int month, int day, int year, int increment)
                                 //set day of source
                                  dayS = (day - increment);
                                //if day of source is less then O then we have moved to another month 
                                if(dayS <= 0)
                                        //checks the difference between how much we have incremented and the day we have started; this tells us how far into the new month we are
                                        int incrementDay = increment - day;
                                        //decrements month
                                        monthS--;
                                        //if month is less then zero, then we have moved into another year and month has become 12
                                        if(monthS <= 0)
                                            yearS--;
                                            monthS = 12;
                                        //the following looks at the current month and if it goes below it assigns the day to the proper ammount of days of the month before minus the days into the month
                                           if(month == 3)
                                               dayS = 28 - incrementDay;
                                           else if(month == 5 || month == 7)
                                               dayS = 29 - incrementDay;
                                           else if(month == 2 || month == 4 || month == 6 || month == 9 || month == 11)
                                               dayS = 31 - incrementDay;
                                            else
                                                dayS = 30 - incrementDay;
                               //resets the source date to the current date once data from the week has been reached
                                public void dateReset()
                                    dayS = day;
                                    monthS = month;
                                    yearS = year;
                     public void init()
                         //JFrame frame = new CSEFrameSet();
                        // this.setContentPane(CSEFrameSet());
                        CSE aCSE = new CSE();
    public static void main(String [] args)
    CSE cs = new CSE();
    }I have tried uploading it to a server, running it from appletviewer, and locally using the .HTML file. The GUI works fine, everything is there, however, pressing the buttons does nothing.
    Can you not use the Scanners and such with JApplets?
    Yes, the directories are good.
    EDIT EDIT EDIT; OK, it works with appletviewer, but still doesn't work when it is published.
    Message wa

    I can't seem to edit the post anymore, here it is again;
    import java.io.*;
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;
    public class CSE extends JApplet implements ActionListener, ItemListener
    //GUI COMPONENTS
    //ToolBar components
    JToolBar mainSelect = new JToolBar("Materials");
    JButton materials;
    String materialNames[] = {"Fur Square", "Bolt of Linen", "Bolt of Damask", "Bolt of Silk", "Glob of Ectoplasm", "Steel Ingot", "Deldrimor Steel Ingot", "Monstrous Claw", "Monstrous Eye", "Monstrous Fang", "Ruby", "Lump of Charcoal", "Obsidian Shard", "Tempered Glass Vial", "Leather Square", "Elonian Leather Square", "Vial of Ink", "Roll of Parchment", "Roll of Vellum", "Spiritwood Plank", "Amber Chunk", "Jadeite Shard"};
    ImageIcon materialIcons;
    //Graphic components
    JDesktopPane mainGraph = new JDesktopPane();
    JPanel dailyGraph = new JPanel();
    JPanel weeklyGraph = new JPanel();
    JPanel finalPrices = new JPanel();
    Box graphs = Box.createHorizontalBox();
    //The Console
    JFrame CSEFrame = new JFrame();
    JSplitPane mainConsoleBackdrop = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    JSplitPane dataOut = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    JTextArea prediction = new JTextArea(10,10);
    JScrollPane predictionScroll;
    Box finalPricesLabels = Box.createVerticalBox();
    Box finalPricesLay = Box.createVerticalBox();
    JLabel finalBuy = new JLabel("Net Buy Price Change: 0.00");
    JLabel finalSell = new JLabel("Net Sell Price Change: 0.00");
    JLabel buySell = new JLabel("We recommend you: N/A");
    JTextArea priceUpdate = new JTextArea(10, 10);
    JTextArea priceUpdateWeekly = new JTextArea(10, 10);
    JScrollPane priceUScrollW;
    JScrollPane priceUScroll;
    JCheckBox weeklySelect = new JCheckBox("To show weekly price changes.", false);
    JCheckBox dailySelect = new JCheckBox("To show daily price changes.", true);
    ButtonGroup dataToShow = new ButtonGroup();
    //COMPONENTS FOR DATE; OBTAINING CORRECT FOLDER
    String days[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
    Calendar calSource = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
    int day = calSource.get(Calendar.DAY_OF_MONTH);
    int month = calSource.get(Calendar.MONTH);
    int year = calSource.get(Calendar.YEAR);
    int monthCheck [] = {Calendar.JANUARY, Calendar.FEBRUARY, Calendar.MARCH, Calendar.APRIL, Calendar.MAY, Calendar.JUNE, Calendar.JULY, Calendar.AUGUST, Calendar.SEPTEMBER, Calendar.OCTOBER, Calendar.NOVEMBER, Calendar.DECEMBER};
    int dayS = day;
    int monthS = month;
    int yearS = year;
    //if there is file found
    boolean proceed = false;
    //int data for analysis
    int buyPrice;
    int currentBuyPrice;
    int sellPrice;
    int currentSellPrice;
    boolean weekly = false;
    //tools for parsing and decoding input
    String inputS = null;
    String s = null;
    Scanner [] week = new Scanner[7];
    Scanner scanner;
    int position = 0;
    //weekly tools
    String weekPos[] = {"Seventh", "Sixth", "Fifth", "Fourth", "Third", "Second", "First"};
    int dayOfWeek = 0; //0 = 7 1 = 6...
    public JButton getToolBarButton(String s)
    String imgLoc = "TBar Icons/" +s +".gif";
    java.net.URL imgURL = CSE.class.getResource(imgLoc);
    JButton button = new JButton();
    button.setActionCommand(s);
    button.setToolTipText(s);
    button.addActionListener(this);
    if(imgURL != null)
    button.setIcon(new ImageIcon(imgURL, s));
    else
    button.setText(s);
    System.err.println("Couldn't find; " +imgLoc);
    return button;
    public CSE()
    // super("Test CSE");
    //CSEFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    for(int x=0; x<materialNames.length; x++)
    materials = getToolBarButton(materialNames[x]);
    mainSelect.add(materials);
    //checkBoxes
    dataToShow.add(weeklySelect);
    dataToShow.add(dailySelect);
    weeklySelect.addItemListener(this);
    dailySelect.addItemListener(this);
    // sizes
    setSize(850, 850);
    //colors and fonts
    weeklyGraph.setBackground(new Color(250, 30, 40));
    dailyGraph.setBackground(new Color(100, 40, 200));
    //text Manip.
    prediction.setLineWrap(true);
    priceUpdate.setLineWrap(true);
    //scrolling
    predictionScroll = new JScrollPane(prediction, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    priceUScroll = new JScrollPane(priceUpdate, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    priceUScrollW = new JScrollPane(priceUpdateWeekly, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    //main splitpane config.
    mainConsoleBackdrop.setOneTouchExpandable(true);
    mainConsoleBackdrop.setResizeWeight(.85);
    //placement and Layout
    //GraphLayout
    graphs.add(Box.createHorizontalStrut(10));
    graphs.add(dailyGraph);
    graphs.add(Box.createHorizontalStrut(10));
    graphs.add(weeklyGraph);
    graphs.add(Box.createHorizontalStrut(10));
    dataOut.setRightComponent(predictionScroll);
    //consoleData layout
    finalPricesLabels.add(Box.createVerticalStrut(10));
    finalPricesLabels.add(finalBuy);
    finalPricesLabels.add(Box.createVerticalStrut(10));
    finalPricesLabels.add(finalSell);
    finalPricesLabels.add(Box.createVerticalStrut(10));
    finalPricesLabels.add(buySell);
    finalPricesLay.add(finalPricesLabels);
    finalPricesLay.add(Box.createVerticalStrut(10));
    finalPricesLay.add(weeklySelect);
    finalPricesLay.add(dailySelect);
    finalPricesLay.add(priceUScroll);
    dataOut.setLeftComponent(finalPricesLay);
    mainConsoleBackdrop.setTopComponent(graphs);
    mainConsoleBackdrop.setBottomComponent(dataOut);
    getContentPane().add(mainConsoleBackdrop);
    getContentPane().add(mainSelect, BorderLayout.NORTH);
    //visibility
    // CSEFrame.setVisible(true);
    //return(CSEFrame);
    public void actionPerformed(ActionEvent e)
    getMonth();
    inputS = e.getActionCommand();
    FileReader newRead = null;
    try {
    newRead = new FileReader(monthS +"-" +dayS +"-" +yearS +"/" +inputS +".dat");
    proceed = true;
    catch(FileNotFoundException f)
    System.out.println("File not found");
    proceed = false;
    if(proceed)
    BufferedReader bufferedReader = new BufferedReader(newRead);
    scanner = new Scanner(bufferedReader);
    scanner.useDelimiter("\n");
    //starts daily analysis
    getPrice(scanner);
    //starts weekly analysis
    weekly(inputS);
    public void itemStateChanged(ItemEvent e)
    if(weeklySelect.isSelected())
    priceUpdateWeekly.setText("");
    finalPricesLay.remove(priceUScroll);
    finalPricesLay.add(priceUScrollW);
    finalPrices.updateUI();
    else
    priceUpdate.setText("");
    finalPricesLay.remove(priceUScrollW);
    finalPricesLay.add(priceUScroll);
    finalPrices.updateUI();
    public void weekly(String inputS)
    weekly = true;
    for(int x = 0; x >< 7; x++)
    dateToUse(month, day, year, (x+1));
    try
    FileReader weeklySource = new FileReader(monthS +"-" +dayS +"-" +year +"/" +inputS +".dat");
    BufferedReader weeklyBuffer = new BufferedReader(weeklySource);
    week[x] = new Scanner(weeklyBuffer);
    week[x].useDelimiter("\n");
    getPrice(week[x]);
    catch(FileNotFoundException f)
    JOptionPane.showMessageDialog(this, "No such weekly files- going back;" +(x+1) +"days");
    weekly = false;
    dateReset();
    public void getPrice(Scanner scanner)
    while(scanner.hasNextLine())
    //puts into string the next scan token
    String s = scanner.next();
    //takes the scan toke above and puts it into an editable enviroment
    String [] data = s.split("\\s");
    for(position = 0; position < data.length; position++)
    //Scanner test to make sure loop can finish, otherwise "no such line" error
    if(scanner.hasNextLine()==false)
    scanner.close();
    break;
    /*Starts data orignazation by reading from each perspective field
    * 1 = day
    * 2 = day of month
    * 3 = month
    * 4 = year
    if(position == 0 && weekly == false)
    String dayFromFile = data[position];
    int dayNum = Integer.parseInt(dayFromFile);
    priceUpdate.append(days[dayNum-1] +" ");
    else if(position == 1 && weekly == false )
    priceUpdate.append(data[position] + "/");
    else if(position == 2 && weekly == false)
    priceUpdate.append(data[position] + "/");
    else if(position == 3 && weekly == false)
    priceUpdate.append(data[position] +"\n");
    //if it is in [buy] area, it prints and computes
    else if(position == 7)
    //obtains string for buy price and stores it, then prints it
    String buy = data[position];
    if(weekly == false)
    priceUpdate.append("Buy: " +buy +"\n" );
    //converts buy to string
    currentBuyPrice = Integer.parseInt(buy);
    //eliminates problems caused by no data from server- makes the price 0
    if(currentBuyPrice < 0)
    currentBuyPrice = 0;
    //if it is greater it adds
    if(currentBuyPrice > buyPrice)
    buyPrice += currentBuyPrice;
    //if it is equal [there is no change] then it does nothing
    if(currentBuyPrice == buyPrice)
    buyPrice +=0;
    //if there is a drop, it subtracts
    else
    buyPrice -= currentBuyPrice;
    //if it is in [sell] area, it prints, and resets the position to zero because line is over
    else if(position == 8)
    //puts sell data into string and prints it
    String sell = data[position];
    if(weekly == false)
    priceUpdate.append("Sell: " + sell +"\n");
    //turns sell data into int.
    currentSellPrice = Integer.valueOf(sell).intValue();;
    //gets rid of problems caused by no data on server side- makes it 0
    if(currentSellPrice < 0)
    currentSellPrice = 0;
    //adds if there is an increase
    if(currentSellPrice > sellPrice)
    sellPrice += currentSellPrice;
    //does nothing if it is the same
    if(currentSellPrice == sellPrice)
    sellPrice +=0;
    //subtracts if there is drop
    else
    sellPrice -= currentSellPrice;
    //further protection against "No such line" and moves it down
    if(scanner.hasNextLine() == true)
    scanner.nextLine();
    //if scanner is finished, prints out all lines
    if(scanner.hasNextLine() == false && weekly == false)
    finalBuy.setText("Net Buy Price Change: "+buyPrice);
    finalSell.setText("Net Sell Price Change: " +sellPrice);
    buyPrice = 0;
    sellPrice = 0;
    position = data.length;
    else if(scanner.hasNextLine() == false && weekly == true)
    priceUpdateWeekly.append("\n" +weekPos[dayOfWeek] +" day of the week ended with; \nBuy Price;" +buyPrice +"\nSell Price;" +sellPrice);
    buyPrice = 0;
    sellPrice = 0;
    position = data.length;
    dayOfWeek++;
    if(dayOfWeek > 6)
    dayOfWeek = 0;
    public void getMonth()
    for(int x=0; x < monthCheck.length; x++)
    if(month == monthCheck[x])
    monthS = (x+1);
    x = monthCheck.length;
    public void dateToUse(int month, int day, int year, int increment)
    //set day of source
    dayS = (day - increment);
    //if day of source is less then O then we have moved to another month
    if(dayS <= 0)
    //checks the difference between how much we have incremented and the day we have started; this tells us how far into the new month we are
    int incrementDay = increment - day;
    //decrements month
    monthS--;
    //if month is less then zero, then we have moved into another year and month has become 12
    if(monthS <= 0)
    yearS--;
    monthS = 12;
    //the following looks at the current month and if it goes below it assigns the day to the proper ammount of days of the month before minus the days into the month
    if(month == 3)
    dayS = 28 - incrementDay;
    else if(month == 5 || month == 7)
    dayS = 29 - incrementDay;
    else if(month == 2 || month == 4 || month == 6 || month == 9 || month == 11)
    dayS = 31 - incrementDay;
    else
    dayS = 30 - incrementDay;
    //resets the source date to the current date once data from the week has been reached
    public void dateReset()
    dayS = day;
    monthS = month;
    yearS = year;
    public void init()
    //JFrame frame = new CSEFrameSet();
    // this.setContentPane(CSEFrameSet());
    CSE aCSE = new CSE();
    public static void main(String [] args)
    CSE cs = new CSE();
    }Message was edited by:
    Cybergasm

  • Works with normal = declaration but not with .add() function call? Why?

    I still have some problems in relation to my earlier post:
    http://forum.java.sun.com/thread.jspa?threadID=5164571&tstart=0
    Help is still warmely appreciated! Thanks already to you Franzis.
    So I try to add several JScrollPanes into on Container variable allComponents.
    I don't understand why in my program
    allComponents = jspane;works but
    allComponents.add(jspane);does not.
    Same is true for Jpanel objects. In my program
    allComponents = panel;works but
    allComponents.add(panel);does not. Why is this?
    Still I necessarily need to work with a add() function.
    So where is the problem?
    The whole source code is at:
    http://forum.java.sun.com/thread.jspa?threadID=5164571&tstart=0
    Message was edited by:
    wonderful123
    null

    I added a response in your original message:
    http://forum.java.sun.com/thread.jspa?messageID=9629812
    Let's keep to it since splitting things across two posts might be confusing.

  • JButtons in JApplet Don't Work (Worked with JFrame)

    This is my first time working with applets. I got basic 'HelloWorld' applets to work and now I am trying to convert a basic Pig Latin translator from a JFrame to a JApplet. The translator works perfectly as a JFrame. I followed this site to change the JFrame to a JAppet:
    JFrameToJApplet
    I just finally got the applet to successfully load on the browser, but the buttons seem to have no actions associated with them. I'm sure it's something stupid and it''s probably because I don't understand the underlying principles of applets. Understanding applets is on my list of things to do though, but for now, I would just like it to work so that I can teach my students the very basics of applets (I am an AP CS teacher).
    Here's the code (most was generated by NetBeans):
    public class PigLatinGUI extends javax.swing.JApplet {
        /** Creates new form PigLatinGUI */
        public PigLatinGUI() {
            init();
            jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
            jTextArea1.setLineWrap(true);
            jTextArea1.setWrapStyleWord(true);
            jTextArea2.setLineWrap(true);
            jTextArea2.setWrapStyleWord(true);
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        //@SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
        public void init() {
            jButton1 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTextArea1 = new javax.swing.JTextArea();
            jScrollPane2 = new javax.swing.JScrollPane();
            jTextArea2 = new javax.swing.JTextArea();
            jButton2 = new javax.swing.JButton();
            //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            //setTitle("English to PigLatin Translator");
            //setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
            //setResizable(false);
            jButton1.setText("translate to Pig Latin");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
            jLabel1.setText("In English:");
            jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
            jLabel2.setText("In Pig Latin:");
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jScrollPane1.setViewportView(jTextArea1);
            jTextArea2.setColumns(20);
            jTextArea2.setEditable(false);
            jTextArea2.setRows(5);
            jScrollPane2.setViewportView(jTextArea2);
            jButton2.setText("clear");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jLabel1)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButton1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton2))
                        .addComponent(jLabel2)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
                        .addComponent(jScrollPane2))
                    .addContainerGap(18, Short.MAX_VALUE))
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addGap(15, 15, 15)
                    .addComponent(jLabel1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton1)
                        .addComponent(jButton2))
                    .addGap(18, 18, 18)
                    .addComponent(jLabel2)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(63, 63, 63))
           // pack();
        }// </editor-fold>                       
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            PigLatin p = new PigLatin();
            jTextArea2.setText(p.translate(jTextArea1.getText()));
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            jTextArea1.setText("");
            jTextArea2.setText("");
        * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new PigLatinGUI().setVisible(true);
        // Variables declaration - do not modify                    
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextArea jTextArea2;
        // End of variables declaration                  
    }

    bigbamboo wrote:
    ..In any event, I am not using init() twice as PigLatin.java is just the model and contains nothing related to the view.You were saying?
    andrew@pc1:/media$ javac PigLatinGUI.java
    andrew@pc1:/media$ appletviewer PigLatinGUI.java
    init() method count is 1
    init() method count is 2
    andrew@pc1:/media$
    Code
    // <applet code='PigLatinGUI' width=200 height='200'></applet>
    import javax.swing.ScrollPaneConstants;
    public class PigLatinGUI extends javax.swing.JApplet {
         public int initCount = 0;
        /** Creates new form PigLatinGUI */
        public PigLatinGUI() {
            init();
            jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
            jTextArea1.setLineWrap(true);
            jTextArea1.setWrapStyleWord(true);
            jTextArea2.setLineWrap(true);
            jTextArea2.setWrapStyleWord(true);
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        //@SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
        public void init() {
    System.out.println("init() method count is " + ++initCount);
            jButton1 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTextArea1 = new javax.swing.JTextArea();
            jScrollPane2 = new javax.swing.JScrollPane();
            jTextArea2 = new javax.swing.JTextArea();
            jButton2 = new javax.swing.JButton();
            //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            //setTitle("English to PigLatin Translator");
            //setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
            //setResizable(false);
            jButton1.setText("translate to Pig Latin");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
            jLabel1.setText("In English:");
            jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
            jLabel2.setText("In Pig Latin:");
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jScrollPane1.setViewportView(jTextArea1);
            jTextArea2.setColumns(20);
            jTextArea2.setEditable(false);
            jTextArea2.setRows(5);
            jScrollPane2.setViewportView(jTextArea2);
            jButton2.setText("clear");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jLabel1)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButton1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton2))
                        .addComponent(jLabel2)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
                        .addComponent(jScrollPane2))
                    .addContainerGap(18, Short.MAX_VALUE))
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addGap(15, 15, 15)
                    .addComponent(jLabel1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton1)
                        .addComponent(jButton2))
                    .addGap(18, 18, 18)
                    .addComponent(jLabel2)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(63, 63, 63))
           // pack();
        }// </editor-fold>                       
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            PigLatin p = new PigLatin();
            jTextArea2.setText(p.translate(jTextArea1.getText()));
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            jTextArea1.setText("");
            jTextArea2.setText("");
        * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new PigLatinGUI().setVisible(true);
        // Variables declaration - do not modify                    
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextArea jTextArea2;
        // End of variables declaration                  
    }I only had to add two lines to the code to confirm my original statement. This involves such basic debugging skills that I warrant you should not be coding GUIs in Java yet, let alone applets!

  • Controlling amount of rows in a jtextfield with jscrollpane

    As part of a school assignment, I we have output going to a textfield that is scrolled with JScrollPane. Part of it is for when it comes to 400 lines, and another line is added, that the first line of the output is erased, and the new one is added. Are there simple methods of the API to do this, or should I perhaps store all the output in a string, use an int to count, and then substring it to the first \n ?
    Thanks for the replies. Please dont give me direct answers, but help to find the answer, as I do not want to cheat.

    While I did not do a SSCCE, mine is not overly complicated on output. The first part of this was building a console client to connect to a server. This part is adding a GUI to it, with a bit of extra functionality. My writeMessage method of the console did a System.out.println. It now does a output.setText(output.getText() + "\n"+ date + msg); msg being the String parameter in the method. output is the JTextArea I have, and is passed to my Client object.
    The output works fine, its just trying to cut the first line out when max is reached. Just doing 20 lines for now. I tried adding this, but it started cutting more and more off the start of the text.
    if(output.getLineCount() > 20) {
         try {
              int firstRow = output.getLineEndOffset(0);
              output.setText(output.getText().substring(0, firstRow));
         catch(BadLocationException e) {
              e.printStackTrace();
    }Edited by: agm_ultimatex on Jun 29, 2009 12:35 PM

  • Mouse motion listener for JTable with JScrollpane

    Hi All,
    I have added mouse motion listener for JTable which is added in JScrollPane. But if i move the mouse, over the vertical/horizontal scroll bars, mouse motion listener doesn't works.
    So it it required to add mousemotionlistener for JTable, JScrollPane, JScrollBar and etc.
    Thanks in advance.
    Regards,
    Tamizhan

    I am having one popup window which shows address information. This window contains JTable with JScrollPane and JButton components to show the details. While showing this information window, if the mouse cursor is over popupwindow, it should show the window otherwise it should hide the window after 30 seconds.
    To achieve this, i have added mouse listener to JPanel, JTable, JButton and JScrollPane. so if the cursor is in any one of the component, it will not hide the window.
    but for this i need to add listener to all the components in the JPanel. For JScrollPane i have to add horizontal, vertical and all the top corner buttons of Scroll bar.
    Is this the only way to do this?

  • Error using JTextArea with JScrollPane

    hi,
    I am using JTextArea with JScrollpane. I am getting a problem in selecting the text in text area. I am searching for some text in the text area and selecting it if search successful. The problem is that the the scrollbar position didnt set to the correct location. So sometime the text selected is not visible in the scrolpane. Any help regarding this will be highly appreciated.
    Regards
    Danish

    What about sth like this:Rectangle r = textarea.modelToView(textarea.getSelectionStart());
    scrollpane.scrollRectToVisible(r);Just a guess, no idea whether it works.

  • PCS no longer working with contacts and 6086

    I have applied the latest release of PC Suite 6.84.10.3.
    Previously the installed level was 6.83.14.1
    The send/read/write message still doesn't work but hangs the Windows Explorer for a while (this hang didn't occur previously)
    But now, the contact facility no longer works. It is no longer possible to edit a contact, to store it locally or to send it to the phone even a message says everything is OK
    (translate it from french: The contact has been well recorded into the phone)
    Folder browsing still works correctly, either the phone folder or the memory card folder
    Need a fix or a way to install the previous version, at least for the contacts...
    This is a really negative feedback!
    Phil

    I guess what I learned is that sometimes the best solution is to do nothing and wait for the problem to solve itself! Funny, this has never worked for me before.
    WOT is now working for me but often for only the first few rows of images. That's cool that it is also working with bing images.
    Boudica, thanks for understanding. I am new contributor/ question-asker here on mozilla and may not understand how things are done. I was just frustrated, getting an email saying that my question was answered, logging in to find that it wasn't.
    Now we have the functionality that we wanted, right?

  • Gnome3 not work with ATI HD6950 Card?

    Hey all..
    I'm just installed the ALL drivers from the testing, and its the versions:
    xf86-video-ati-6.14.2-1
    mesa-7.10.99.git20110612-1
    libdrm-2.4.25-1
    And ofc, i'm using with last kernel 2.26.39.
    So what's the problem with that? Why i can't running this Gnome3?
    This is the my logs:
    .xsession-errors:
    /etc/gdm/Xsession: Beginning session setup...
    /etc/gdm/Xsession: Setup done, will execute: gnome-session
    Unknown chipset 0x6719
    gnome-session-is-accelerated: No hardware 3D support.
    gnome-session-check-accelerated: Helper exited with code 256
    gnome-session[1181]: WARNING: Session 'gnome' runnable check failed: Exited with code 1
    gnome-session[1181]: WARNING: Unable to find default provider 'notification-daemon' of required provider 'notifications'
    Xorg.0.log:
    [ 151.157]
    X.Org X Server 1.10.2
    Release Date: 2011-05-28
    [ 151.157] X Protocol Version 11, Revision 0
    [ 151.157] Build Operating System: Linux 2.6.38-ARCH x86_64
    [ 151.157] Current Operating System: Linux yakir-arch 2.6.39-ARCH #1 SMP PREEMPT Mon Jun 6 22:37:55 CEST 2011 x86_64
    [ 151.157] Kernel command line: BOOT_IMAGE=/vmlinuz26 root=/dev/sdb5 ro
    [ 151.157] Build Date: 30 May 2011 08:18:15AM
    [ 151.157]
    [ 151.157] Current version of pixman: 0.22.0
    [ 151.157] Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    [ 151.157] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 151.157] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jun 16 11:52:13 2011
    [ 151.157] (==) Using config directory: "/etc/X11/xorg.conf.d"
    [ 151.157] (==) No Layout section. Using the first Screen section.
    [ 151.157] (==) No screen section available. Using defaults.
    [ 151.157] (**) |-->Screen "Default Screen Section" (0)
    [ 151.157] (**) | |-->Monitor "<default monitor>"
    [ 151.157] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
    [ 151.157] (**) | |-->Device "r"
    [ 151.157] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
    [ 151.157] (==) Automatically adding devices
    [ 151.157] (==) Automatically enabling devices
    [ 151.157] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
    [ 151.157] Entry deleted from font path.
    [ 151.157] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
    [ 151.157] Entry deleted from font path.
    [ 151.157] (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
    [ 151.157] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
    [ 151.157] Entry deleted from font path.
    [ 151.157] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
    [ 151.157] (==) FontPath set to:
    /usr/share/fonts/misc/,
    /usr/share/fonts/TTF/,
    /usr/share/fonts/Type1/
    [ 151.157] (==) ModulePath set to "/usr/lib/xorg/modules"
    [ 151.157] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
    [ 151.157] (II) Loader magic: 0x7d3440
    [ 151.157] (II) Module ABI versions:
    [ 151.157] X.Org ANSI C Emulation: 0.4
    [ 151.157] X.Org Video Driver: 10.0
    [ 151.157] X.Org XInput driver : 12.2
    [ 151.157] X.Org Server Extension : 5.0
    [ 151.158] (--) PCI:*(0:1:0:0) 1002:6719:1002:0b00 rev 0, Mem @ 0xc0000000/268435456, 0xfe620000/131072, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
    [ 151.158] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
    [ 151.158] (II) "extmod" will be loaded by default.
    [ 151.158] (II) "dbe" will be loaded by default.
    [ 151.158] (II) "glx" will be loaded by default.
    [ 151.158] (II) "record" will be loaded by default.
    [ 151.158] (II) "dri" will be loaded by default.
    [ 151.158] (II) "dri2" will be loaded by default.
    [ 151.158] (II) LoadModule: "extmod"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
    [ 151.158] (II) Module extmod: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.0.0
    [ 151.158] Module class: X.Org Server Extension
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (II) Loading extension MIT-SCREEN-SAVER
    [ 151.158] (II) Loading extension XFree86-VidModeExtension
    [ 151.158] (II) Loading extension XFree86-DGA
    [ 151.158] (II) Loading extension DPMS
    [ 151.158] (II) Loading extension XVideo
    [ 151.158] (II) Loading extension XVideo-MotionCompensation
    [ 151.158] (II) Loading extension X-Resource
    [ 151.158] (II) LoadModule: "dbe"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
    [ 151.158] (II) Module dbe: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.0.0
    [ 151.158] Module class: X.Org Server Extension
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (II) Loading extension DOUBLE-BUFFER
    [ 151.158] (II) LoadModule: "glx"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
    [ 151.158] (II) Module glx: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.0.0
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (==) AIGLX enabled
    [ 151.158] (II) Loading extension GLX
    [ 151.158] (II) LoadModule: "record"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
    [ 151.158] (II) Module record: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.13.0
    [ 151.158] Module class: X.Org Server Extension
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (II) Loading extension RECORD
    [ 151.158] (II) LoadModule: "dri"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
    [ 151.158] (II) Module dri: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.0.0
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (II) Loading extension XFree86-DRI
    [ 151.158] (II) LoadModule: "dri2"
    [ 151.158] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
    [ 151.158] (II) Module dri2: vendor="X.Org Foundation"
    [ 151.158] compiled for 1.10.2, module version = 1.2.0
    [ 151.158] ABI class: X.Org Server Extension, version 5.0
    [ 151.158] (II) Loading extension DRI2
    [ 151.158] (II) LoadModule: "radeon"
    [ 151.159] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
    [ 151.159] (II) Module radeon: vendor="X.Org Foundation"
    [ 151.159] compiled for 1.10.1, module version = 6.14.2
    [ 151.159] Module class: X.Org Video Driver
    [ 151.159] ABI class: X.Org Video Driver, version 10.0
    [ 151.159] (II) RADEON: Driver for ATI Radeon chipsets:
    ATI Radeon Mobility X600 (M24) 3150 (PCIE), ATI FireMV 2400 (PCI),
    ATI Radeon Mobility X300 (M24) 3152 (PCIE),
    ATI FireGL M24 GL 3154 (PCIE), ATI FireMV 2400 3155 (PCI),
    ATI Radeon X600 (RV380) 3E50 (PCIE),
    ATI FireGL V3200 (RV380) 3E54 (PCIE), ATI Radeon IGP320 (A3) 4136,
    ATI Radeon IGP330/340/350 (A4) 4137, ATI Radeon 9500 AD (AGP),
    ATI Radeon 9500 AE (AGP), ATI Radeon 9600TX AF (AGP),
    ATI FireGL Z1 AG (AGP), ATI Radeon 9800SE AH (AGP),
    ATI Radeon 9800 AI (AGP), ATI Radeon 9800 AJ (AGP),
    ATI FireGL X2 AK (AGP), ATI Radeon 9600 AP (AGP),
    ATI Radeon 9600SE AQ (AGP), ATI Radeon 9600XT AR (AGP),
    ATI Radeon 9600 AS (AGP), ATI FireGL T2 AT (AGP), ATI Radeon 9650,
    ATI FireGL RV360 AV (AGP), ATI Radeon 7000 IGP (A4+) 4237,
    ATI Radeon 8500 AIW BB (AGP), ATI Radeon IGP320M (U1) 4336,
    ATI Radeon IGP330M/340M/350M (U2) 4337,
    ATI Radeon Mobility 7000 IGP 4437, ATI Radeon 9000/PRO If (AGP/PCI),
    ATI Radeon 9000 Ig (AGP/PCI), ATI Radeon X800 (R420) JH (AGP),
    ATI Radeon X800PRO (R420) JI (AGP),
    ATI Radeon X800SE (R420) JJ (AGP), ATI Radeon X800 (R420) JK (AGP),
    ATI Radeon X800 (R420) JL (AGP), ATI FireGL X3 (R420) JM (AGP),
    ATI Radeon Mobility 9800 (M18) JN (AGP),
    ATI Radeon X800 SE (R420) (AGP), ATI Radeon X800XT (R420) JP (AGP),
    ATI Radeon X800 VE (R420) JT (AGP), ATI Radeon X850 (R480) (AGP),
    ATI Radeon X850 XT (R480) (AGP), ATI Radeon X850 SE (R480) (AGP),
    ATI Radeon X850 PRO (R480) (AGP), ATI Radeon X850 XT PE (R480) (AGP),
    ATI Radeon Mobility M7 LW (AGP),
    ATI Mobility FireGL 7800 M7 LX (AGP),
    ATI Radeon Mobility M6 LY (AGP), ATI Radeon Mobility M6 LZ (AGP),
    ATI FireGL Mobility 9000 (M9) Ld (AGP),
    ATI Radeon Mobility 9000 (M9) Lf (AGP),
    ATI Radeon Mobility 9000 (M9) Lg (AGP), ATI Radeon 9700 Pro ND (AGP),
    ATI Radeon 9700/9500Pro NE (AGP), ATI Radeon 9600TX NF (AGP),
    ATI FireGL X1 NG (AGP), ATI Radeon 9800PRO NH (AGP),
    ATI Radeon 9800 NI (AGP), ATI FireGL X2 NK (AGP),
    ATI Radeon 9800XT NJ (AGP),
    ATI Radeon Mobility 9600/9700 (M10/M11) NP (AGP),
    ATI Radeon Mobility 9600 (M10) NQ (AGP),
    ATI Radeon Mobility 9600 (M11) NR (AGP),
    ATI Radeon Mobility 9600 (M10) NS (AGP),
    ATI FireGL Mobility T2 (M10) NT (AGP),
    ATI FireGL Mobility T2e (M11) NV (AGP), ATI Radeon QD (AGP),
    ATI Radeon QE (AGP), ATI Radeon QF (AGP), ATI Radeon QG (AGP),
    ATI FireGL 8700/8800 QH (AGP), ATI Radeon 8500 QL (AGP),
    ATI Radeon 9100 QM (AGP), ATI Radeon 7500 QW (AGP/PCI),
    ATI Radeon 7500 QX (AGP/PCI), ATI Radeon VE/7000 QY (AGP/PCI),
    ATI Radeon VE/7000 QZ (AGP/PCI), ATI ES1000 515E (PCI),
    ATI Radeon Mobility X300 (M22) 5460 (PCIE),
    ATI Radeon Mobility X600 SE (M24C) 5462 (PCIE),
    ATI FireGL M22 GL 5464 (PCIE), ATI Radeon X800 (R423) UH (PCIE),
    ATI Radeon X800PRO (R423) UI (PCIE),
    ATI Radeon X800LE (R423) UJ (PCIE),
    ATI Radeon X800SE (R423) UK (PCIE),
    ATI Radeon X800 XTP (R430) (PCIE), ATI Radeon X800 XL (R430) (PCIE),
    ATI Radeon X800 SE (R430) (PCIE), ATI Radeon X800 (R430) (PCIE),
    ATI FireGL V7100 (R423) (PCIE), ATI FireGL V5100 (R423) UQ (PCIE),
    ATI FireGL unknown (R423) UR (PCIE),
    ATI FireGL unknown (R423) UT (PCIE),
    ATI Mobility FireGL V5000 (M26) (PCIE),
    ATI Mobility FireGL V5000 (M26) (PCIE),
    ATI Mobility Radeon X700 XL (M26) (PCIE),
    ATI Mobility Radeon X700 (M26) (PCIE),
    ATI Mobility Radeon X700 (M26) (PCIE),
    ATI Radeon X550XTX 5657 (PCIE), ATI Radeon 9100 IGP (A5) 5834,
    ATI Radeon Mobility 9100 IGP (U3) 5835,
    ATI Radeon XPRESS 200 5954 (PCIE),
    ATI Radeon XPRESS 200M 5955 (PCIE), ATI Radeon 9250 5960 (AGP),
    ATI Radeon 9200 5961 (AGP), ATI Radeon 9200 5962 (AGP),
    ATI Radeon 9200SE 5964 (AGP), ATI FireMV 2200 (PCI),
    ATI ES1000 5969 (PCI), ATI Radeon XPRESS 200 5974 (PCIE),
    ATI Radeon XPRESS 200M 5975 (PCIE),
    ATI Radeon XPRESS 200 5A41 (PCIE),
    ATI Radeon XPRESS 200M 5A42 (PCIE),
    ATI Radeon XPRESS 200 5A61 (PCIE),
    ATI Radeon XPRESS 200M 5A62 (PCIE),
    ATI Radeon X300 (RV370) 5B60 (PCIE),
    ATI Radeon X600 (RV370) 5B62 (PCIE),
    ATI Radeon X550 (RV370) 5B63 (PCIE),
    ATI FireGL V3100 (RV370) 5B64 (PCIE),
    ATI FireMV 2200 PCIE (RV370) 5B65 (PCIE),
    ATI Radeon Mobility 9200 (M9+) 5C61 (AGP),
    ATI Radeon Mobility 9200 (M9+) 5C63 (AGP),
    ATI Mobility Radeon X800 XT (M28) (PCIE),
    ATI Mobility FireGL V5100 (M28) (PCIE),
    ATI Mobility Radeon X800 (M28) (PCIE), ATI Radeon X850 5D4C (PCIE),
    ATI Radeon X850 XT PE (R480) (PCIE),
    ATI Radeon X850 SE (R480) (PCIE), ATI Radeon X850 PRO (R480) (PCIE),
    ATI unknown Radeon / FireGL (R480) 5D50 (PCIE),
    ATI Radeon X850 XT (R480) (PCIE),
    ATI Radeon X800XT (R423) 5D57 (PCIE),
    ATI FireGL V5000 (RV410) (PCIE), ATI Radeon X700 XT (RV410) (PCIE),
    ATI Radeon X700 PRO (RV410) (PCIE),
    ATI Radeon X700 SE (RV410) (PCIE), ATI Radeon X700 (RV410) (PCIE),
    ATI Radeon X700 SE (RV410) (PCIE), ATI Radeon X1800,
    ATI Mobility Radeon X1800 XT, ATI Mobility Radeon X1800,
    ATI Mobility FireGL V7200, ATI FireGL V7200, ATI FireGL V5300,
    ATI Mobility FireGL V7100, ATI Radeon X1800, ATI Radeon X1800,
    ATI Radeon X1800, ATI Radeon X1800, ATI Radeon X1800,
    ATI FireGL V7300, ATI FireGL V7350, ATI Radeon X1600, ATI RV505,
    ATI Radeon X1300/X1550, ATI Radeon X1550, ATI M54-GL,
    ATI Mobility Radeon X1400, ATI Radeon X1300/X1550,
    ATI Radeon X1550 64-bit, ATI Mobility Radeon X1300,
    ATI Mobility Radeon X1300, ATI Mobility Radeon X1300,
    ATI Mobility Radeon X1300, ATI Radeon X1300, ATI Radeon X1300,
    ATI RV505, ATI RV505, ATI FireGL V3300, ATI FireGL V3350,
    ATI Radeon X1300, ATI Radeon X1550 64-bit, ATI Radeon X1300/X1550,
    ATI Radeon X1600, ATI Radeon X1300/X1550, ATI Mobility Radeon X1450,
    ATI Radeon X1300/X1550, ATI Mobility Radeon X2300,
    ATI Mobility Radeon X2300, ATI Mobility Radeon X1350,
    ATI Mobility Radeon X1350, ATI Mobility Radeon X1450,
    ATI Radeon X1300, ATI Radeon X1550, ATI Mobility Radeon X1350,
    ATI FireMV 2250, ATI Radeon X1550 64-bit, ATI Radeon X1600,
    ATI Radeon X1650, ATI Radeon X1600, ATI Radeon X1600,
    ATI Mobility FireGL V5200, ATI Mobility Radeon X1600,
    ATI Radeon X1650, ATI Radeon X1650, ATI Radeon X1600,
    ATI Radeon X1300 XT/X1600 Pro, ATI FireGL V3400,
    ATI Mobility FireGL V5250, ATI Mobility Radeon X1700,
    ATI Mobility Radeon X1700 XT, ATI FireGL V5200,
    ATI Mobility Radeon X1700, ATI Radeon X2300HD,
    ATI Mobility Radeon HD 2300, ATI Mobility Radeon HD 2300,
    ATI Radeon X1950, ATI Radeon X1900, ATI Radeon X1950,
    ATI Radeon X1900, ATI Radeon X1900, ATI Radeon X1900,
    ATI Radeon X1900, ATI Radeon X1900, ATI Radeon X1900,
    ATI Radeon X1900, ATI Radeon X1900, ATI Radeon X1900,
    ATI AMD Stream Processor, ATI Radeon X1900, ATI Radeon X1950,
    ATI RV560, ATI RV560, ATI Mobility Radeon X1900, ATI RV560,
    ATI Radeon X1950 GT, ATI RV570, ATI RV570, ATI FireGL V7400,
    ATI RV560, ATI Radeon X1650, ATI Radeon X1650, ATI RV560,
    ATI Radeon 9100 PRO IGP 7834, ATI Radeon Mobility 9200 IGP 7835,
    ATI Radeon X1200, ATI Radeon X1200, ATI Radeon X1200,
    ATI Radeon X1200, ATI Radeon X1200, ATI RS740, ATI RS740M, ATI RS740,
    ATI RS740M, ATI Radeon HD 2900 XT, ATI Radeon HD 2900 XT,
    ATI Radeon HD 2900 XT, ATI Radeon HD 2900 Pro, ATI Radeon HD 2900 GT,
    ATI FireGL V8650, ATI FireGL V8600, ATI FireGL V7600,
    ATI Radeon 4800 Series, ATI Radeon HD 4870 x2,
    ATI Radeon 4800 Series, ATI Radeon HD 4850 x2,
    ATI FirePro V8750 (FireGL), ATI FirePro V7760 (FireGL),
    ATI Mobility RADEON HD 4850, ATI Mobility RADEON HD 4850 X2,
    ATI Radeon 4800 Series, ATI FirePro RV770, AMD FireStream 9270,
    AMD FireStream 9250, ATI FirePro V8700 (FireGL),
    ATI Mobility RADEON HD 4870, ATI Mobility RADEON M98,
    ATI Mobility RADEON HD 4870, ATI Radeon 4800 Series,
    ATI Radeon 4800 Series, ATI FirePro M7750, ATI M98, ATI M98, ATI M98,
    ATI Mobility Radeon HD 4650, ATI Radeon RV730 (AGP),
    ATI Mobility Radeon HD 4670, ATI FirePro M5750,
    ATI Mobility Radeon HD 4670, ATI Radeon RV730 (AGP),
    ATI RV730XT [Radeon HD 4670], ATI RADEON E4600,
    ATI Radeon HD 4600 Series, ATI RV730 PRO [Radeon HD 4650],
    ATI FirePro V7750 (FireGL), ATI FirePro V5700 (FireGL),
    ATI FirePro V3750 (FireGL), ATI Mobility Radeon HD 4830,
    ATI Mobility Radeon HD 4850, ATI FirePro M7740, ATI RV740,
    ATI Radeon HD 4770, ATI Radeon HD 4700 Series, ATI Radeon HD 4770,
    ATI FirePro M5750, ATI RV610, ATI Radeon HD 2400 XT,
    ATI Radeon HD 2400 Pro, ATI Radeon HD 2400 PRO AGP, ATI FireGL V4000,
    ATI RV610, ATI Radeon HD 2350, ATI Mobility Radeon HD 2400 XT,
    ATI Mobility Radeon HD 2400, ATI RADEON E2400, ATI RV610,
    ATI FireMV 2260, ATI RV670, ATI Radeon HD3870,
    ATI Mobility Radeon HD 3850, ATI Radeon HD3850,
    ATI Mobility Radeon HD 3850 X2, ATI RV670,
    ATI Mobility Radeon HD 3870, ATI Mobility Radeon HD 3870 X2,
    ATI Radeon HD3870 X2, ATI FireGL V7700, ATI Radeon HD3850,
    ATI Radeon HD3690, AMD Firestream 9170, ATI Radeon HD 4550,
    ATI Radeon RV710, ATI Radeon RV710, ATI Radeon RV710,
    ATI Radeon HD 4350, ATI Mobility Radeon 4300 Series,
    ATI Mobility Radeon 4500 Series, ATI Mobility Radeon 4500 Series,
    ATI FirePro RG220, ATI Mobility Radeon 4330, ATI RV630,
    ATI Mobility Radeon HD 2600, ATI Mobility Radeon HD 2600 XT,
    ATI Radeon HD 2600 XT AGP, ATI Radeon HD 2600 Pro AGP,
    ATI Radeon HD 2600 XT, ATI Radeon HD 2600 Pro, ATI Gemini RV630,
    ATI Gemini Mobility Radeon HD 2600 XT, ATI FireGL V5600,
    ATI FireGL V3600, ATI Radeon HD 2600 LE,
    ATI Mobility FireGL Graphics Processor, ATI Radeon HD 3470,
    ATI Mobility Radeon HD 3430, ATI Mobility Radeon HD 3400 Series,
    ATI Radeon HD 3450, ATI Radeon HD 3450, ATI Radeon HD 3430,
    ATI Radeon HD 3450, ATI FirePro V3700, ATI FireMV 2450,
    ATI FireMV 2260, ATI FireMV 2260, ATI Radeon HD 3600 Series,
    ATI Radeon HD 3650 AGP, ATI Radeon HD 3600 PRO,
    ATI Radeon HD 3600 XT, ATI Radeon HD 3600 PRO,
    ATI Mobility Radeon HD 3650, ATI Mobility Radeon HD 3670,
    ATI Mobility FireGL V5700, ATI Mobility FireGL V5725,
    ATI Radeon HD 3200 Graphics, ATI Radeon 3100 Graphics,
    ATI Radeon HD 3200 Graphics, ATI Radeon 3100 Graphics,
    ATI Radeon HD 3300 Graphics, ATI Radeon HD 3200 Graphics,
    ATI Radeon 3000 Graphics, ATI Radeon HD 4200, ATI Radeon 4100,
    ATI Mobility Radeon HD 4200, ATI Mobility Radeon 4100,
    ATI Radeon HD 4290, ATI Radeon HD 4250, AMD Radeon HD 6310 Graphics,
    AMD Radeon HD 6310 Graphics, AMD Radeon HD 6250 Graphics,
    AMD Radeon HD 6250 Graphics, AMD Radeon HD 6300 Series Graphics,
    AMD Radeon HD 6200 Series Graphics, CYPRESS,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI FirePro (FireGL) Graphics Adapter, AMD Firestream 9370,
    AMD Firestream 9350, ATI Radeon HD 5800 Series,
    ATI Radeon HD 5800 Series, ATI Radeon HD 5800 Series,
    ATI Radeon HD 5800 Series, ATI Radeon HD 5900 Series,
    ATI Radeon HD 5900 Series, ATI Mobility Radeon HD 5800 Series,
    ATI Mobility Radeon HD 5800 Series,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI Mobility Radeon HD 5800 Series, ATI Radeon HD 5700 Series,
    ATI Radeon HD 5700 Series, ATI Radeon HD 6700 Series,
    ATI Radeon HD 5700 Series, ATI Radeon HD 6700 Series,
    ATI Mobility Radeon HD 5000 Series,
    ATI Mobility Radeon HD 5000 Series, ATI Mobility Radeon HD 5570,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI FirePro (FireGL) Graphics Adapter, ATI Radeon HD 5670,
    ATI Radeon HD 5570, ATI Radeon HD 5500 Series, REDWOOD,
    ATI Mobility Radeon HD 5000 Series,
    ATI Mobility Radeon HD 5000 Series, ATI Mobility Radeon Graphics,
    ATI Mobility Radeon Graphics, CEDAR,
    ATI FirePro (FireGL) Graphics Adapter,
    ATI FirePro (FireGL) Graphics Adapter, ATI FirePro 2270, CEDAR,
    ATI Radeon HD 5450, CEDAR, CAYMAN, CAYMAN, CAYMAN, CAYMAN, CAYMAN,
    CAYMAN, CAYMAN, CAYMAN, CAYMAN, CAYMAN, AMD Radeon HD 6900 Series,
    AMD Radeon HD 6900 Series, CAYMAN, CAYMAN, CAYMAN,
    AMD Radeon HD 6900M Series, Mobility Radeon HD 6000 Series, BARTS,
    BARTS, Mobility Radeon HD 6000 Series,
    Mobility Radeon HD 6000 Series, BARTS, BARTS, BARTS, BARTS,
    AMD Radeon HD 6800 Series, AMD Radeon HD 6800 Series,
    AMD Radeon HD 6700 Series, TURKS, TURKS, TURKS, TURKS, TURKS, TURKS,
    TURKS, TURKS, TURKS, TURKS, TURKS, TURKS, TURKS, CAICOS, CAICOS,
    CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, CAICOS,
    CAICOS
    [ 151.162] (++) using VT number 8
    [ 151.165] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
    [ 151.165] (II) [KMS] Kernel modesetting enabled.
    [ 151.165] (II) RADEON(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
    [ 151.165] (==) RADEON(0): Depth 24, (--) framebuffer bpp 32
    [ 151.165] (II) RADEON(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
    [ 151.165] (==) RADEON(0): Default visual is TrueColor
    [ 151.165] (==) RADEON(0): RGB weight 888
    [ 151.165] (II) RADEON(0): Using 8 bits per RGB (8 bit DAC)
    [ 151.165] (--) RADEON(0): Chipset: "AMD Radeon HD 6900 Series" (ChipID = 0x6719)
    [ 151.165] (II) RADEON(0): PCIE card detected
    [ 151.165] drmOpenDevice: node name is /dev/dri/card0
    [ 151.165] drmOpenDevice: open result is 8, (OK)
    [ 151.165] drmOpenByBusid: Searching for BusID pci:0000:01:00.0
    [ 151.165] drmOpenDevice: node name is /dev/dri/card0
    [ 151.165] drmOpenDevice: open result is 8, (OK)
    [ 151.165] drmOpenByBusid: drmOpenMinor returns 8
    [ 151.165] drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
    [ 151.165] (II) Loading sub module "exa"
    [ 151.165] (II) LoadModule: "exa"
    [ 151.165] (II) Loading /usr/lib/xorg/modules/libexa.so
    [ 151.165] (II) Module exa: vendor="X.Org Foundation"
    [ 151.165] compiled for 1.10.2, module version = 2.5.0
    [ 151.165] ABI class: X.Org Video Driver, version 10.0
    [ 151.165] (II) RADEON(0): KMS Color Tiling: disabled
    [ 151.165] (II) RADEON(0): KMS Pageflipping: enabled
    [ 151.165] (II) RADEON(0): SwapBuffers wait for vsync: enabled
    [ 151.170] (II) RADEON(0): Output DisplayPort-0 has no monitor section
    [ 151.176] (II) RADEON(0): Output DisplayPort-1 has no monitor section
    [ 151.180] (II) RADEON(0): Output HDMI-0 has no monitor section
    [ 151.184] (II) RADEON(0): Output DVI-0 has no monitor section
    [ 151.238] (II) RADEON(0): Output DVI-1 has no monitor section
    [ 151.243] (II) RADEON(0): EDID for output DisplayPort-0
    [ 151.250] (II) RADEON(0): EDID for output DisplayPort-1
    [ 151.254] (II) RADEON(0): EDID for output HDMI-0
    [ 151.257] (II) RADEON(0): EDID for output DVI-0
    [ 151.312] (II) RADEON(0): EDID for output DVI-1
    [ 151.312] (II) RADEON(0): Manufacturer: SAM Model: 736 Serial#: 1129132595
    [ 151.312] (II) RADEON(0): Year: 2010 Week: 51
    [ 151.312] (II) RADEON(0): EDID Version: 1.3
    [ 151.312] (II) RADEON(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
    [ 151.312] (II) RADEON(0): Sync: Separate Composite SyncOnGreen
    [ 151.312] (II) RADEON(0): Max Image Size [cm]: horiz.: 51 vert.: 29
    [ 151.312] (II) RADEON(0): Gamma: 2.20
    [ 151.312] (II) RADEON(0): DPMS capabilities: Off; RGB/Color Display
    [ 151.312] (II) RADEON(0): First detailed timing is preferred mode
    [ 151.312] (II) RADEON(0): redX: 0.640 redY: 0.330 greenX: 0.300 greenY: 0.600
    [ 151.312] (II) RADEON(0): blueX: 0.150 blueY: 0.060 whiteX: 0.312 whiteY: 0.329
    [ 151.312] (II) RADEON(0): Supported established timings:
    [ 151.312] (II) RADEON(0): 640x480@60Hz
    [ 151.312] (II) RADEON(0): 800x600@56Hz
    [ 151.312] (II) RADEON(0): 800x600@60Hz
    [ 151.312] (II) RADEON(0): 1024x768@60Hz
    [ 151.312] (II) RADEON(0): Manufacturer's mask: 0
    [ 151.312] (II) RADEON(0): Supported standard timings:
    [ 151.312] (II) RADEON(0): #0: hsize: 1280 vsize 800 refresh: 60 vid: 129
    [ 151.312] (II) RADEON(0): #1: hsize: 1280 vsize 960 refresh: 60 vid: 16513
    [ 151.312] (II) RADEON(0): #2: hsize: 1280 vsize 1024 refresh: 60 vid: 32897
    [ 151.312] (II) RADEON(0): #3: hsize: 1440 vsize 900 refresh: 60 vid: 149
    [ 151.312] (II) RADEON(0): #4: hsize: 1680 vsize 1050 refresh: 60 vid: 179
    [ 151.312] (II) RADEON(0): #5: hsize: 1600 vsize 1200 refresh: 60 vid: 16553
    [ 151.312] (II) RADEON(0): Supported detailed timing:
    [ 151.312] (II) RADEON(0): clock: 148.5 MHz Image Size: 477 x 268 mm
    [ 151.312] (II) RADEON(0): h_active: 1920 h_sync: 2008 h_sync_end 2052 h_blank_end 2200 h_border: 0
    [ 151.312] (II) RADEON(0): v_active: 1080 v_sync: 1084 v_sync_end 1089 v_blanking: 1125 v_border: 0
    [ 151.312] (II) RADEON(0): Ranges: V min: 56 V max: 61 Hz, H min: 30 H max: 75 kHz, PixClock max 175 MHz
    [ 151.312] (II) RADEON(0): Monitor name: SM2333T
    [ 151.312] (II) RADEON(0): Serial No: HVRZC00505
    [ 151.312] (II) RADEON(0): EDID (in hex):
    [ 151.312] (II) RADEON(0): 00ffffffffffff004c2d360733324d43
    [ 151.312] (II) RADEON(0): 331401030e331d782aee91a3544c9926
    [ 151.312] (II) RADEON(0): 0f50542308008100814081809500b300
    [ 151.312] (II) RADEON(0): a94001010101023a801871382d40582c
    [ 151.312] (II) RADEON(0): 4500dd0c1100001e000000fd00383d1e
    [ 151.312] (II) RADEON(0): 4b11000a202020202020000000fc0053
    [ 151.312] (II) RADEON(0): 4d32333333540a2020202020000000ff
    [ 151.312] (II) RADEON(0): 004856525a4330303530350a20200083
    [ 151.312] (II) RADEON(0): Printing probed modes for output DVI-1
    [ 151.312] (II) RADEON(0): Modeline "1920x1080"x60.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1600x1200"x60.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1280x800"x59.8 83.50 1280 1352 1480 1680 800 803 809 831 +hsync -vsync (49.7 kHz)
    [ 151.312] (II) RADEON(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.312] (II) RADEON(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.312] (II) RADEON(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.312] (II) RADEON(0): Modeline "640x480"x60.0 25.20 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.312] (II) RADEON(0): Output DisplayPort-0 disconnected
    [ 151.312] (II) RADEON(0): Output DisplayPort-1 disconnected
    [ 151.312] (II) RADEON(0): Output HDMI-0 disconnected
    [ 151.312] (II) RADEON(0): Output DVI-0 disconnected
    [ 151.312] (II) RADEON(0): Output DVI-1 connected
    [ 151.312] (II) RADEON(0): Using exact sizes for initial modes
    [ 151.312] (II) RADEON(0): Output DVI-1 using initial mode 1920x1080
    [ 151.312] (II) RADEON(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
    [ 151.312] (II) RADEON(0): mem size init: gart size :1fdff000 vram size: s:80000000 visible:f7d7000
    [ 151.312] (II) RADEON(0): EXA: Driver will allow EXA pixmaps in VRAM
    [ 151.312] (==) RADEON(0): DPI set to (96, 96)
    [ 151.312] (II) Loading sub module "fb"
    [ 151.312] (II) LoadModule: "fb"
    [ 151.312] (II) Loading /usr/lib/xorg/modules/libfb.so
    [ 151.312] (II) Module fb: vendor="X.Org Foundation"
    [ 151.312] compiled for 1.10.2, module version = 1.0.0
    [ 151.312] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 151.312] (II) Loading sub module "ramdac"
    [ 151.312] (II) LoadModule: "ramdac"
    [ 151.312] (II) Module "ramdac" already built-in
    [ 151.312] (--) Depth 24 pixmap format is 32 bpp
    [ 151.312] (II) RADEON(0): [DRI2] Setup complete
    [ 151.312] (II) RADEON(0): [DRI2] DRI driver: r600
    [ 151.312] (II) RADEON(0): Front buffer size: 8100K
    [ 151.312] (II) RADEON(0): VRAM usage limit set to 221119K
    [ 151.312] (==) RADEON(0): Backing store disabled
    [ 151.312] (II) RADEON(0): Direct rendering enabled
    [ 151.312] (II) RADEON(0): Setting EXA maxPitchBytes
    [ 151.313] (II) EXA(0): Driver allocated offscreen pixmaps
    [ 151.313] (II) EXA(0): Driver registered support for the following operations:
    [ 151.313] (II) Solid
    [ 151.313] (II) Copy
    [ 151.313] (II) Composite (RENDER acceleration)
    [ 151.313] (II) UploadToScreen
    [ 151.313] (II) DownloadFromScreen
    [ 151.313] (II) RADEON(0): Acceleration enabled
    [ 151.313] (==) RADEON(0): DPMS enabled
    [ 151.313] (==) RADEON(0): Silken mouse enabled
    [ 151.313] (II) RADEON(0): Set up textured video
    [ 151.313] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
    [ 151.313] (--) RandR disabled
    [ 151.313] (II) Initializing built-in extension Generic Event Extension
    [ 151.313] (II) Initializing built-in extension SHAPE
    [ 151.313] (II) Initializing built-in extension MIT-SHM
    [ 151.313] (II) Initializing built-in extension XInputExtension
    [ 151.313] (II) Initializing built-in extension XTEST
    [ 151.313] (II) Initializing built-in extension BIG-REQUESTS
    [ 151.313] (II) Initializing built-in extension SYNC
    [ 151.313] (II) Initializing built-in extension XKEYBOARD
    [ 151.313] (II) Initializing built-in extension XC-MISC
    [ 151.313] (II) Initializing built-in extension SECURITY
    [ 151.313] (II) Initializing built-in extension XINERAMA
    [ 151.313] (II) Initializing built-in extension XFIXES
    [ 151.313] (II) Initializing built-in extension RENDER
    [ 151.313] (II) Initializing built-in extension RANDR
    [ 151.313] (II) Initializing built-in extension COMPOSITE
    [ 151.313] (II) Initializing built-in extension DAMAGE
    [ 151.317] (EE) AIGLX error: Calling driver entry point failed
    [ 151.317] (EE) AIGLX: reverting to software rendering
    [ 151.317] (II) AIGLX: Screen 0 is not DRI capable
    [ 151.318] (II) AIGLX: Loaded and initialized /usr/lib/xorg/modules/dri/swrast_dri.so
    [ 151.318] (II) GLX: Initialized DRISWRAST GL provider for screen 0
    [ 151.318] (II) RADEON(0): Setting screen physical size to 508 x 285
    [ 151.343] (II) config/udev: Adding input device Power Button (/dev/input/event1)
    [ 151.343] (**) Power Button: Applying InputClass "evdev keyboard catchall"
    [ 151.343] (II) LoadModule: "evdev"
    [ 151.343] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.343] (II) Module evdev: vendor="X.Org Foundation"
    [ 151.343] compiled for 1.10.0, module version = 2.6.0
    [ 151.344] Module class: X.Org XInput Driver
    [ 151.344] ABI class: X.Org XInput driver, version 12.2
    [ 151.344] (II) Using input driver 'evdev' for 'Power Button'
    [ 151.344] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.344] (**) Power Button: always reports core events
    [ 151.344] (**) Power Button: Device: "/dev/input/event1"
    [ 151.363] (--) Power Button: Found keys
    [ 151.363] (II) Power Button: Configuring as keyboard
    [ 151.363] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1/event1"
    [ 151.363] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
    [ 151.363] (**) Option "xkb_rules" "evdev"
    [ 151.363] (**) Option "xkb_model" "evdev"
    [ 151.363] (**) Option "xkb_layout" "us"
    [ 151.378] (II) config/udev: Adding input device Power Button (/dev/input/event0)
    [ 151.378] (**) Power Button: Applying InputClass "evdev keyboard catchall"
    [ 151.378] (II) Using input driver 'evdev' for 'Power Button'
    [ 151.378] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.378] (**) Power Button: always reports core events
    [ 151.378] (**) Power Button: Device: "/dev/input/event0"
    [ 151.403] (--) Power Button: Found keys
    [ 151.403] (II) Power Button: Configuring as keyboard
    [ 151.403] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0/event0"
    [ 151.403] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
    [ 151.403] (**) Option "xkb_rules" "evdev"
    [ 151.403] (**) Option "xkb_model" "evdev"
    [ 151.403] (**) Option "xkb_layout" "us"
    [ 151.404] (II) config/udev: Adding input device HDA Intel PCH Headphone (/dev/input/event4)
    [ 151.404] (II) No input driver/identifier specified (ignoring)
    [ 151.406] (II) config/udev: Adding input device Microsoft Comfort Curve Keyboard 2000 (/dev/input/event5)
    [ 151.406] (**) Microsoft Comfort Curve Keyboard 2000: Applying InputClass "evdev keyboard catchall"
    [ 151.406] (II) Using input driver 'evdev' for 'Microsoft Comfort Curve Keyboard 2000'
    [ 151.406] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.406] (**) Microsoft Comfort Curve Keyboard 2000: always reports core events
    [ 151.406] (**) Microsoft Comfort Curve Keyboard 2000: Device: "/dev/input/event5"
    [ 151.433] (--) Microsoft Comfort Curve Keyboard 2000: Found keys
    [ 151.433] (II) Microsoft Comfort Curve Keyboard 2000: Configuring as keyboard
    [ 151.433] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input5/event5"
    [ 151.433] (II) XINPUT: Adding extended input device "Microsoft Comfort Curve Keyboard 2000" (type: KEYBOARD)
    [ 151.433] (**) Option "xkb_rules" "evdev"
    [ 151.433] (**) Option "xkb_model" "evdev"
    [ 151.433] (**) Option "xkb_layout" "us"
    [ 151.433] (II) config/udev: Adding input device Microsoft Comfort Curve Keyboard 2000 (/dev/input/event6)
    [ 151.433] (**) Microsoft Comfort Curve Keyboard 2000: Applying InputClass "evdev keyboard catchall"
    [ 151.433] (II) Using input driver 'evdev' for 'Microsoft Comfort Curve Keyboard 2000'
    [ 151.433] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.433] (**) Microsoft Comfort Curve Keyboard 2000: always reports core events
    [ 151.433] (**) Microsoft Comfort Curve Keyboard 2000: Device: "/dev/input/event6"
    [ 151.456] (--) Microsoft Comfort Curve Keyboard 2000: Found 1 mouse buttons
    [ 151.456] (--) Microsoft Comfort Curve Keyboard 2000: Found scroll wheel(s)
    [ 151.456] (--) Microsoft Comfort Curve Keyboard 2000: Found relative axes
    [ 151.456] (--) Microsoft Comfort Curve Keyboard 2000: Found absolute axes
    [ 151.456] (--) Microsoft Comfort Curve Keyboard 2000: Found keys
    [ 151.456] (II) Microsoft Comfort Curve Keyboard 2000: Configuring as mouse
    [ 151.456] (II) Microsoft Comfort Curve Keyboard 2000: Configuring as keyboard
    [ 151.456] (II) Microsoft Comfort Curve Keyboard 2000: Adding scrollwheel support
    [ 151.456] (**) Microsoft Comfort Curve Keyboard 2000: YAxisMapping: buttons 4 and 5
    [ 151.456] (**) Microsoft Comfort Curve Keyboard 2000: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 151.456] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1/input/input6/event6"
    [ 151.456] (II) XINPUT: Adding extended input device "Microsoft Comfort Curve Keyboard 2000" (type: KEYBOARD)
    [ 151.456] (**) Option "xkb_rules" "evdev"
    [ 151.456] (**) Option "xkb_model" "evdev"
    [ 151.456] (**) Option "xkb_layout" "us"
    [ 151.457] (EE) Microsoft Comfort Curve Keyboard 2000: failed to initialize for relative axes.
    [ 151.457] (II) Microsoft Comfort Curve Keyboard 2000: initialized for absolute axes.
    [ 151.457] (**) Microsoft Comfort Curve Keyboard 2000: (accel) keeping acceleration scheme 1
    [ 151.457] (**) Microsoft Comfort Curve Keyboard 2000: (accel) acceleration profile 0
    [ 151.457] (**) Microsoft Comfort Curve Keyboard 2000: (accel) acceleration factor: 2.000
    [ 151.457] (**) Microsoft Comfort Curve Keyboard 2000: (accel) acceleration threshold: 4
    [ 151.458] (II) config/udev: Adding input device Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel (/dev/input/event7)
    [ 151.458] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Applying InputClass "evdev pointer catchall"
    [ 151.458] (II) Using input driver 'evdev' for 'Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel'
    [ 151.458] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.458] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: always reports core events
    [ 151.458] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Device: "/dev/input/event7"
    [ 151.483] (--) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Found 9 mouse buttons
    [ 151.483] (--) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Found scroll wheel(s)
    [ 151.483] (--) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Found relative axes
    [ 151.483] (--) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Found x and y relative axes
    [ 151.483] (II) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Configuring as mouse
    [ 151.483] (II) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: Adding scrollwheel support
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: YAxisMapping: buttons 4 and 5
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 151.483] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input7/event7"
    [ 151.483] (II) XINPUT: Adding extended input device "Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel" (type: MOUSE)
    [ 151.483] (II) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: initialized for relative axes.
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: (accel) keeping acceleration scheme 1
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: (accel) acceleration profile 0
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: (accel) acceleration factor: 2.000
    [ 151.483] (**) Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel: (accel) acceleration threshold: 4
    [ 151.483] (II) config/udev: Adding input device Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel (/dev/input/mouse0)
    [ 151.483] (II) No input driver/identifier specified (ignoring)
    [ 151.485] (II) config/udev: Adding input device Eee PC WMI hotkeys (/dev/input/event3)
    [ 151.485] (**) Eee PC WMI hotkeys: Applying InputClass "evdev keyboard catchall"
    [ 151.485] (II) Using input driver 'evdev' for 'Eee PC WMI hotkeys'
    [ 151.485] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 151.485] (**) Eee PC WMI hotkeys: always reports core events
    [ 151.485] (**) Eee PC WMI hotkeys: Device: "/dev/input/event3"
    [ 151.510] (--) Eee PC WMI hotkeys: Found keys
    [ 151.510] (II) Eee PC WMI hotkeys: Configuring as keyboard
    [ 151.510] (**) Option "config_info" "udev:/sys/devices/platform/eeepc-wmi/input/input3/event3"
    [ 151.510] (II) XINPUT: Adding extended input device "Eee PC WMI hotkeys" (type: KEYBOARD)
    [ 151.510] (**) Option "xkb_rules" "evdev"
    [ 151.510] (**) Option "xkb_model" "evdev"
    [ 151.510] (**) Option "xkb_layout" "us"
    [ 151.510] (II) config/udev: Adding input device PC Speaker (/dev/input/event2)
    [ 151.510] (II) No input driver/identifier specified (ignoring)
    [ 151.592] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 151.592] (II) RADEON(0): Using EDID range info for horizontal sync
    [ 151.592] (II) RADEON(0): Using EDID range info for vertical refresh
    [ 151.592] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 151.592] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.592] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.592] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.592] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.592] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 151.732] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 151.732] (II) RADEON(0): Using hsync ranges from config file
    [ 151.732] (II) RADEON(0): Using vrefresh ranges from config file
    [ 151.732] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 151.732] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.732] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.732] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.732] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.732] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 151.805] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 151.805] (II) RADEON(0): Using hsync ranges from config file
    [ 151.805] (II) RADEON(0): Using vrefresh ranges from config file
    [ 151.805] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 151.805] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.805] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.805] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.805] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.805] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 151.885] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 151.885] (II) RADEON(0): Using hsync ranges from config file
    [ 151.885] (II) RADEON(0): Using vrefresh ranges from config file
    [ 151.885] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 151.885] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.885] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.885] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.885] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.885] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 151.958] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 151.958] (II) RADEON(0): Using hsync ranges from config file
    [ 151.958] (II) RADEON(0): Using vrefresh ranges from config file
    [ 151.958] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 151.958] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 151.958] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 151.958] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 151.958] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 151.958] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 156.162] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 156.162] (II) RADEON(0): Using hsync ranges from config file
    [ 156.162] (II) RADEON(0): Using vrefresh ranges from config file
    [ 156.162] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 156.162] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 156.162] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 156.162] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 156.162] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 156.162] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 157.229] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 157.229] (II) RADEON(0): Using hsync ranges from config file
    [ 157.229] (II) RADEON(0): Using vrefresh ranges from config file
    [ 157.229] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 157.229] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 157.229] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 157.229] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 157.229] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 157.229] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 157.308] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 157.308] (II) RADEON(0): Using hsync ranges from config file
    [ 157.308] (II) RADEON(0): Using vrefresh ranges from config file
    [ 157.308] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 157.308] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 157.308] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 157.308] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 157.308] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 157.308] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 157.902] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 157.902] (II) RADEON(0): Using hsync ranges from config file
    [ 157.902] (II) RADEON(0): Using vrefresh ranges from config file
    [ 157.902] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 157.902] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 157.902] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 157.902] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 157.902] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 157.902] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 157.978] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 157.978] (II) RADEON(0): Using hsync ranges from config file
    [ 157.978] (II) RADEON(0): Using vrefresh ranges from config file
    [ 157.978] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 157.978] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 157.978] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 157.978] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 157.978] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 157.978] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 158.056] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 158.056] (II) RADEON(0): Using hsync ranges from config file
    [ 158.056] (II) RADEON(0): Using vrefresh ranges from config file
    [ 158.056] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 158.056] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 158.056] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 158.056] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 158.056] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 158.056] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 158.915] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 158.915] (II) RADEON(0): Using hsync ranges from config file
    [ 158.915] (II) RADEON(0): Using vrefresh ranges from config file
    [ 158.915] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 158.915] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 158.915] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 158.915] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 158.915] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 158.915] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 162.988] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 162.988] (II) RADEON(0): Using hsync ranges from config file
    [ 162.988] (II) RADEON(0): Using vrefresh ranges from config file
    [ 162.988] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 162.988] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 162.988] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 162.988] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 162.988] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 162.988] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    [ 166.595] (II) RADEON(0): EDID vendor "SAM", prod id 1846
    [ 166.595] (II) RADEON(0): Using hsync ranges from config file
    [ 166.595] (II) RADEON(0): Using vrefresh ranges from config file
    [ 166.595] (II) RADEON(0): Printing DDC gathered Modelines:
    [ 166.595] (II) RADEON(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz)
    [ 166.595] (II) RADEON(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
    [ 166.595] (II) RADEON(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
    [ 166.595] (II) RADEON(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1680x1050"x0.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    [ 166.595] (II) RADEON(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
    And more commands:
    [root@yakir-arch ~]# glxinfo | grep -i opengl
    Unknown chipset 0x6719
    OpenGL vendor string: VMware, Inc.
    OpenGL renderer string: Gallium 0.4 on softpipe
    OpenGL version string: 2.1 Mesa 7.10.2
    OpenGL shading language version string: 1.20
    OpenGL extensions:
    [root@yakir-arch ~]# glxinfo | grep dire
    Unknown chipset 0x6719
    direct rendering: Yes
    [root@yakir-arch ~]# dmesg | grep drm
    [ 1.336436] [drm] Initialized drm 1.1.0 20060810
    [ 1.358306] [drm] radeon defaulting to kernel modesetting.
    [ 1.358371] [drm] radeon kernel modesetting enabled.
    [ 1.359832] [drm] initializing kernel modesetting (CAYMAN 0x1002:0x6719).
    [ 1.359961] [drm] register mmio base: 0xFE620000
    [ 1.360031] [drm] register mmio size: 131072
    [ 1.360464] [drm] Detected VRAM RAM=2048M, BAR=256M
    [ 1.360526] [drm] RAM width 256bits DDR
    [ 1.360894] [drm] radeon: 2048M of VRAM memory ready
    [ 1.360957] [drm] radeon: 512M of GTT memory ready.
    [ 1.361025] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
    [ 1.361088] [drm] Driver supports precise vblank timestamp query.
    [ 1.361268] [drm] radeon: irq initialized.
    [ 1.361331] [drm] GART: num cpu pages 131072, num gpu pages 131072
    [ 1.361684] [drm] Loading CAYMAN Microcode
    [ 1.385086] [drm] ring test succeeded in 1 usecs
    [ 1.385214] [drm] radeon: ib pool ready.
    [ 1.385372] [drm] ib test succeeded in 0 usecs
    [ 1.385938] [drm] Radeon Display Connectors
    [ 1.386008] [drm] Connector 0:
    [ 1.386076] [drm] DisplayPort
    [ 1.386146] [drm] HPD5
    [ 1.386209] [drm] DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
    [ 1.386280] [drm] Encoders:
    [ 1.386345] [drm] DFP1: INTERNAL_UNIPHY2
    [ 1.386426] [drm] Connector 1:
    [ 1.386489] [drm] DisplayPort
    [ 1.386551] [drm] HPD4
    [ 1.386616] [drm] DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
    [ 1.386685] [drm] Encoders:
    [ 1.386748] [drm] DFP2: INTERNAL_UNIPHY2
    [ 1.386812] [drm] Connector 2:
    [ 1.386874] [drm] HDMI-A
    [ 1.386936] [drm] HPD6
    [ 1.386999] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
    [ 1.387068] [drm] Encoders:
    [ 1.387131] [drm] DFP3: INTERNAL_UNIPHY1
    [ 1.387194] [drm] Connector 3:
    [ 1.387257] [drm] DVI-D
    [ 1.387319] [drm] HPD1
    [ 1.387382] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
    [ 1.387454] [drm] Encoders:
    [ 1.387518] [drm] DFP4: INTERNAL_UNIPHY1
    [ 1.387580] [drm] Connector 4:
    [ 1.387641] [drm] DVI-I
    [ 1.387702] [drm] HPD3
    [ 1.387763] [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
    [ 1.387831] [drm] Encoders:
    [ 1.387893] [drm] DFP5: INTERNAL_UNIPHY
    [ 1.387955] [drm] CRT1: INTERNAL_KLDSCP_DAC1
    [ 2.259873] [drm] Internal thermal controller with fan control
    [ 2.260918] [drm] radeon: power management initialized
    [ 2.331033] [drm] fb mappable at 0xC0140000
    [ 2.331093] [drm] vram apper at 0xC0000000
    [ 2.331152] [drm] size 8294400
    [ 2.331210] [drm] fb depth is 24
    [ 2.331268] [drm] pitch is 7680
    [ 2.331359] fbcon: radeondrmfb (fb0) is primary device
    [ 2.542497] fb0: radeondrmfb frame buffer device
    [ 2.542497] drm: registered panic notifier
    [ 2.542500] [drm] Initialized radeon 2.9.0 20080528 for 0000:01:00.0 on minor 0
    [ 29.818060] Modules linked in: eeepc_wmi(+) asus_wmi snd sparse_keymap rfkill pci_hotplug ehci_hcd soundcore wmi ppdev snd_page_alloc parport_pc r8169 usbcore i2c_i801 evdev parport intel_agp sg intel_gtt pcspkr processor button video iTCO_wdt iTCO_vendor_support serio_raw mii fuse ext4 mbcache jbd2 crc16 sd_mod at

    KingYes wrote:
    [root@yakir-arch ~]# glxinfo | grep -i opengl
    Unknown chipset 0x6719
    OpenGL vendor string: VMware, Inc.
    OpenGL renderer string: Gallium 0.4 on softpipe
    EDIT:In the glxinfo command its say 'OpenGL vendor string: VMware, Inc'. Why?
    I don't really know it but "Unknown chipset" sounds like the card may be so new that it is not yet supported, even in testing. "softpipe" means that it is using software rendering instead of the actual 3d hardware.
    It probably will work with newer git versions from mesa and xf86-video-ati and maybe the radeon branch of the kernel. All is found in the inofficial [radeon] repository:
    https://bbs.archlinux.org/viewtopic.php?id=79509

  • 20" iMac and external Dell 24" : doesn't work with Mini DVI to DV adapter!

    Help! My lovely Dell HP LP2475w 24" Monitor can't be used as an external monitor. The native screen resolution is 1900x1200 60Hz. The Apple site claims the iMac is capable of being able to output this resolution.
    When the HP is plugged in via the apple mini to dvi adapter a (tested) DVI lead, it recognises the monitor, but can't bring it to life. Just an occasional flash. In the resolution listing for the HP, the native resolution 1900x1200 isn't listed.
    Plugging a cruddy old 20" Samsung with the same DVI leads works with no problems.
    I NEED to use the HP for my Photo editing, and phone calls to Apples support have proved fruitless.
    Does anyone have a 20" Intel iMac and an HP LP2475w set up that works?
    Many thanks for any help.

    I'm glad you got it working!
    So do you have it working at full 1900x1200? I've noticed a few more oddities about my iMac on this monitor. First off is that initially I could only go as high as 1680x1050, which I think is the native resolution of the iMac. Now I actually see two more options, one of which being 1920x1200. This surprises me since you couldn't get it to a full 1920. Both resolutions produce the same size image on the HP, but the 1680x1050 is fuzzier. It's odd to me, same dimensions just a little less clear. I can stretch that using the HP's settings to full screen, but I cannot adjust the 1920/1200 image even though there is a black border around it.
    Can you tell me what color settings you have on the HP? I have really struggled to find something I like. I actually like how things look in my iMac, and my MBP. I can't get things to look the same on the HP. I also feel like text is just a hair fuzzier on the HP than on either the iMac or MBP. I'm tempted to try a used 23" Apple Cinema Display, but I'm not sure I'll have any better luck with that. I mostly concerned about the image quality when I use my laptop, and for some reason I'm not getting great results with the HP or Dell externals that I've tried.

  • Will the Apple mini DVI to video adapter work with a macbook? What to Buy?

    I went to my local Apple Reseller and asked for a mini dvi to video adapter to use to connect my macbook to a tv using either s-video or the yellow RCA cable. I was told that they only had the one that was for an ibook and Power book and that this would not work with a Macbook. I would need a different one. Is this correct. If so, what do I need? I have looked on the online Apple Store and cannot find anything that fits this description. They only list one type of Mini DVI to tv adapter? I just want to be able to connect my Macbook to a TV.

    As it happens, I just bought the mini-DVI to video connector for my wife's Macbook (C2D) yesterday. I am in Australia (which is a PAL country), but I didn't see anything on the device or the packaging which indicated it as being PAL-specific. In fact, in Display Preferences when it is connected to the Mac and TV and in use, the panel relating to the TV output (which is shown by the Mac on the TV screen) is where you select between PAL-50Hz and NTSC-60Hz, so I'd guess it is a single worldwide device, rather than their being separately-manufactured PAL and NTSC variants of the connector.
    Anyway, on the back of the top cardboard part of the packaging is a picture of the connectors (because you cannot really see the pins in the Mini-DVI connector itself when packaged, due to an opaque plastic "keeper" over the end of the plug).
    To reconfirm what is said above, the pin configuration on the mini-DVI port on the MacBook and what you need on the Mini-DVI connector is a horseshoe or "U" shape. I don't remember if any specific model of Mac is listed, but I believe as long as it is that U-shaped connector you'll be fine with the same connector kit.
    The "mini-VGA to video" connector is not what you want for a MacBook; mini-VGA is not "U"-shaped inside, but rather two rows of pins in "II" configuration (even though the outside dimensions of mini-VGA and mini-DVI look very similar).
    ted.h.
    Mac Mini (Pro Duo) and MacBook (C2D)   Mac OS X (10.4.8)  

  • Is there a way to predict which video projectors will not work with the 2012 MacBook Air using the Mini-display to VGA adapter?

    I recently upgraded from a 2011 MBA to a 2012 MBA due to the larger capacity SSD.  The 2011 MBA running Lion and Mountain Lion worked with every video projector for lectures.  The new 2012 MBA is hit or miss with video projectors.  It is not an adapter problem.  I have multiple Apple mini-display to VGA adapters with the latest firmware.  They all work just fine with the 2011 MBA. Re-starting the 2012 MBA with the adapter and projector connected has not helped.   
    It it not acceptable to have a laptop that works with projectors some of the time.  Apple is aware of the problem.  Is the only choice to go back to the 2011 MBA? 
    RC 

    I installed 10.8.2 update today with my 2012 MBA.  The details of the update include:  Resolves a video issue with some VGA projectors when connected to certain Mac notebooks.
    I tried using the MBA with a video projector and it found the correct resolution and connected with the projector automatically.  Using detect displays in the disoplay preference pane wasn't even necessary. 
    I hope this is the fix I have been waiting for with the 2012 MBA.
    Thank you Apple.
    RC
              (http://support.apple.com/kb/HT5460)

  • HT1151 i have a new apple external dvd drive, and i can't get it to work with my iMac?

    I have a new apple dvd drive, I was told it will work with my imac,  but when i plug it in ...nothing... iv been for update... still nothing. How can i get it to work???

    If it is this drive, note that it is for MBA's and Mini's only:
    http://store.apple.com/us/product/MC684ZM/A
    Ciao.

  • In the previous version i was able to close my mozilla and to open it again, the web pages which i was working with remained however i've tried many ways to have this advantage again but it is not working what can i do ???

    in the previous Mozilla version i used to leave some web sites opened and when i start working again my Mozilla showed the web pages i was working with in that occasion, i have looked in the options menu but there is no way, perhaps it was an add-on and now it is removed??? i would like to have this advantage again in my Mozilla could it be possible?? thx!

    Your webpages/tabs are still there. When you start firefox again, there is a "Restore Previous Session" icon below. If you click that, it will open up all your tabs again.
    Or you could see this article for better understanding-
    http://support.mozilla.com/en-US/kb/Firefox%20does%20not%20ask%20to%20save%20tabs%20and%20windows%20on%20exit?s=how+to+save+tabs&as=s#os=win&browser=fx4

Maybe you are looking for