Tuesday, September 13, 2011

3D - Linux Desktop


3D-Desktop is pager (desktop switcher) that gives you a very impressive 3D overview of all your desktops and also allows you to switch between your desktops in a very fancy 3D box type way.





1. Installing 3D-Desktop

Binary Packages for 3D-Desktop are not available for all distributions, but the source is. May the source be with you.
Verify that your X server is accelrated (with the command glxinfo) using proper 3D video drivers for your card. Nvidia owners can obtain drivers from nvidia.com.

2. How 3D-Desktop allows you to impress people

3D-Desktop allows you to get an overview of all your desktops displayed in 3D.
(3ddesk --view=carousel)
It also has a feature that allows you to go from one desktop to another and view the desktops move like the side of a cube.


(3ddesk --gotoleft --nozoom)

3. Assign some keyboard shortcuts that make make 3D-Desktop switch from one desktop to another.

The standard keyboard shortcuts for this purpose today are:
  • Tux/Windows-key + Left Arrow and Arrow Right
  • Ctrl+AltLeft Arrow and Arrow Right
(Defaults in KDE 3.1 and Gnome).

3.1. How to use 3D-Desktop with your window manager

   usage: 3ddesk [ OPTIONS ]
  
  Activates the 3d Desktop.  3ddeskd daemon must be running.
  Where OPTIONS are:
       --view=xxx        Uses the options from the view in 3ddesktop.conf
       --mode=xxx        Sets the arrangement mode 
                          (one of carousel, cylinder, linear, viewmaster,
                           priceisright, flip, or random)
       --acquire[=#]     Grab images for all the desktops by cycling thru
                          (sleep for x millisecs at each screen for refresh)
       --acquirecurrent  Grab image for current desktop
       --nozoom          Disable the zoom out
       --gotoright       Goto the desktop to the right
       --gotoleft        Goto the desktop to the left
       --gotoup          Goto the desktop to the up
       --gotodown        Goto the desktop to the down
       --goto=#          Goto specified column (deprecated)
       --gotocolumn=#    Goto specified column
       --gotorow=#       Goto specified row
       --dontexit        Don't exit after a goto
       --stop            Stop 3ddesktop (kill 3ddeskd daemon)
       --reload          Force a reload of 3ddesktop.conf
       --noautofun       Don't Automatically turn on Fun Mode
       --revmousewheel   Reverse the mousewheel
       --swapmousebuttons Swap the mousebuttons
       --altmousebuttons Use alternate mousebuttons scheme
You will want to assign the arrow keys to run 3ddesk --view=goright and 3ddesk --view=goleft. It may be preferable to use --nozoom because the zooming part simply takes to long. Using the window managers own method of switching between desktops will always be much more efficient. 3ddesk will make you less productive, but it will, as said, allow you to impress heavily.
The --mode= option allows you to impress in different ways: carouselcylinderlinearviewmasterpriceisrightflip, or random.
3ddesk --mode=viewmaster

3.2. Using 3D-Desktop with Fluxbox

Fluxbox users can add this to ~.fluxbox/keys and get the really cool go-<direction> desktop switching using 3D-Desktop. This just scrolls like you are viewing a cube from one desktop to another.
  # Use 3ddesk to change desktop
  Mod4 KP_6 :ExecCommand 3ddesk  --gotoright --nozoom
  Mod4 Right :ExecCommand 3ddesk  --gotoright --nozoom
  Mod4 KP_4 :ExecCommand 3ddesk  --gotoleft --nozoom
  Mod4 Left :ExecCommand 3ddesk  --gotoleft --nozoom
  Mod4 Down :ExecCommand 3ddesk --view=carousel
  • Mod4 is the Tux/Windows key on the left side of modern keyboards.
    • Mod4 Left :ExecCommand...
  • You can use Mod1+Ctrl (Mod1 is Alt, so Alt+Ctrl) instead of Mod4 if you are using a very old keyboard:
    • Mod1 Ctrl Left :ExecCommand...
This also allows you to get an overview of your desktops with Alt + Arrow Down:
3ddesk --mode=carousel

4. Configuration

You can configure the default behavior for 3D-Desktop system-wide in the file /etc/3ddesktop.conf.
  view         default    ## this is the default if no --view specified
  zoom         on
  show_digit   on
  digit_size   100
  digit_color  green
  use_breathing false
You can configure how big the numbers showing the desktop should be, and other eye-candy related things.
The most interesting use for this file is to create custom views:
  view         goright
  zoom         off
  mode         cylinder
  gotoright    on
  
  view         goleft
  zoom         off
  mode         cylinder
  gotoleft     on
This will enable you to start 3D-Desktop with --view=goleft and --view=goright using those preferences.
3ddesk --mode=linear