moving panels (between screens)

Asked by mael on 2007-06-13

hi, i just solved my own question and want to provide the solution to others ;)
i've got this setup:
dual monitors, set up with nVidia TwinView in a way that the gnome-panel does not stretch across the whole desktop but is only on one monitor. now i want to add another panel on the second monitor but if i create a new one, i can only add it to the primary display.

solution: add a new panel as usual
run gconf-editor nad go to apps/panel/toplevels/panel_<no>
set the variable "monitor" from 0 to 1


if a developer reads this: it would be nice if this would be integrated in the properties dialog

Question information

English Edit question
Ubuntu gnome-panel Edit question
No assignee Edit question
Solved by:
Last query:
Last reply:

An alternative is to create the panel, then left click and drag it across to the other screen. Though an option in the dialog could be a good idea since it is not so obvious that you can just drag panels around.

Best mael (fsc-aycan) said : #2

uhh, you're right. i tried to move the panel but for some reason it didn't work across monitors. now i tried it again and it worked :)

John Arthur Fensome (fensj) said : #3

Nvidia Dual Head / Dual monitor Fix


Dual-Head monitor problems:- seen in versions 7.04 (& beta) / 7.10

To fix this is much easier than it at first appears, first a warning!

Do not try to use the tool under "System | Administration | Screens & Graphics"

When I tried this the system lost the previous {working} settings and althought it attempted to boot nothing appeared on the screen, trying CTRL+ALT+F2 did not bring up even a text mode login (i.e. no login) and NO display(s) showing at all!

Instead use the following method which works perfectly...

 Once you have installed and downloaded ALL the latest updates for version 7.10, and you have activated / installed the "Restricted mode Driver" for "Nvidia", let the OS and computer finish fully updating. Once the drive stops running and or the processes have finished. You must install the 'restricted' mode driver or this will not work.

Remember to wait until this has all happened, (use the System | Administration | System monitor, will help, when your CPU[s] have finished major work) then reboot when prompted.

 Now after the reboot and the clean Login, wait three minutes (use screensaver to time this) and then use the following (I will try to replicate the prompts etc. that you will/may receive.

 Go to "Applications | Accessories | Terminal"

 You'll get a prompt like the following:

response User@SomeSystem:~$ Now type after the prompt

  User@SomeSystem:~$ sudo su [Enter] {Forces user into super-user mode}
response [sudo] password for User: Enter your password
response root@SomeSystem:/home/User Now type the following command

  root@SomeSystem:/home/User# nvidia-settings [Enter]

--------> A new window will appear with the Nvidia Corporation Logo in it.

  The nvidia 'control panel' will now appear and here you can set your various settings for dual head support.

  Here you can set things up, using the {I recommend using Dual-Monitor support, which allows different stuff on each monitor.}

  Select the tag - "X Server Display Configuration"

  If one of the settings you need to adjust is not listed try switching into 'Advanced... ', if you don't understand this, stay in 'Normal... '
  If you want to play with the fun compiz fusion display tool (makes Vista display stuff look like a school-kid <g>, see below) then remember to also turn on the "Enable Xinerama" tick box.

  When you've fully finished remember to click "Save to X Configuration File" and "OK".

If you don't do this your new settings will NOT be written to the "xconf.cfg" file. I advise you, unless you have many years experience with Linux and UNIX, just don't try to directly edit this file as most new users don't understand how much detail 'X' requires, stay with using the Nvidia tool above.

 "exit" {at the prompt - leaves sudo su mode} and "exit" the terminal... ( - which clears and closes the terminal.) if things don't clean up properly (happened to me once) then from the X desktop if you can't "exit" kill {click [X]} the terminal window (which will close both nvidia settings window and terminal.)

 or when instructed by the Nvidia control panel, go to ---> Reboot.

 Thats it now all you have to do is ---> and reload your OS, and login... Now just for fun a tip...

 Go to "System | Administration | Synaptic Package Manager", after logging back in, and once it finishes downloading the new application lists, "Search" for 'compiz' and download the "Advanced Desktop Effects Settings" tool, let it install {it should now be installed near the top of your "System | Preferences " list,} have fun playing with this.

 You may have to re-adjust the frequency for some monitors to get the best settings, after rebooting.

You shouldn't need another reboot, remember that the WRONG FREQUENCY COULD DAMAGE YOUR HARDWARE! so be careful to have the manufacturers full specifications for the monitor[s] you are using. Most monitors have the manufacturers information about model number etc. On the rear on some kind of label, if it is not stamped into the plastic moulding.

Whalla... All should now be O.K. Enjoy

John Fensome

<email address hidden>


Many thanks go to...

  'Kevin Gabbert' and his answer[s] to BUG report # [???? unknown ????] which he replied to a report by 'Sitsofe Wheeler' - written on 2007-05-14: (Ubuntu permalink)


N.B. A note to ATI users, you should most likely need to find out the name of the programme that runs the settings for your setup. (Instead of 'nvidia-settings'.)

        You may have to go to the ATI web site to find this information, but it's probably something very similar.


serge k (serge-kobsa) said : #4

When an external monitor is connected, it becomes monitor "0"; the laptop display is monitor "1".

Then, to get the top panel to the external monitor execute:

gconftool-2 --set "/apps/panel/toplevels/top_panel_screen0/monitor" --type integer "0"

accordingly, to set it to the laptop display, execute:

gconftool-2 --set "/apps/panel/toplevels/top_panel_screen0/monitor" --type integer "1"

(same applies to any other panel(s))

Thanks for this hint. I made a small script that does all this automatically. This could be mapped to a couple of keybord shortcuts which toggle the dual screen and gnome panel movement to the second screen at the same time.


if [[ "x$1" == "xon" ]]
 echo "Turning on VGA"
 xrandr --output VGA --left-of LVDS --auto
 echo "Moving panel to second display"
 gconftool-2 --set "/apps/panel/toplevels/top_panel_screen0/monitor" --type integer "1"
 gconftool-2 --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" --type integer "1"
elif [[ "x$1" == "xoff" ]]
 echo "Turning off VGA"
 xrandr --output VGA --left-of LVDS --off

Juri Leino (juri-line-o) said : #6

NOTE: You can drag panels only, if they do not have the "expand" property set.
Right Click on the panel -> properties -> Uncheck "Expand" checkbox

sorry, i edited the question by mistake *g*

In recent versions of Gnome moving panels follows the same convention as moving windows.
You now need to press <alt> before left clicking and dragging to move panels around.
For this to work there must be an empty space on the panel for you to click. Hence the non-expanded panels provide handles to drag them around with.

Flávio Etrusco (etrusco) said : #8

This tip is fantastic. However, I later discovered that what prevents the panel from being dragged is the default "expand" option. If you uncheck that option (in the panel properties) you can merrily drag the panel - to the other monitor too.

Thanks for this Guys, lots of useful information! :)

Pierre Lepropre (geddons) said : #10

Hey guys,

Thank you all so much for this information ! Damn' I was getting crazy with that stuff... so simple !

I really think it should be more obvious to the end-users...