⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 一个3D桌面的实现源码
💻
字号:
3d-Desktop----------3d Desktop is an OpenGL program for switching virtual desktops ina seamless 3-dimensional manner.  The default "visualization" mapsyour screen onto an N-sided "carousel" which is rotated to select thenext screen.  When activated the current desktop appears to zoom outso as to make your desktop appear to be actually in a 3d environmentwith your other desktops.The latest version of 3d-Desktop can be found at:   http://desk3d.sourceforge.net/Requirements------------  OpenGL/Mesa (Hardware acceleration is required)  GLX  XF86VidMode extensions  Imlib2  (The -devel components are necessary for compilation)Installation------------    tar zxvf 3ddesktop-x.y.z.tar.gz    ./configure    make    make installSetup-----    3ddesk --acquire=700This starts the 3ddeskd server and acquires an image of each of yourvirtual desktops.  It will cycle through each desktop and return toyour current.Running-------    bind a key combination to "/usr/bin/3ddesk"    press the keys and BINGO!  3D sweetness :)This will bring you into a 3d environment where you choose your nextdesktop.  If the server hasn't been started it will try to start it.Also see "Starting the server manually" below.Add a global keybinding ("shortcut") via the window manager to run/usr/bin/3ddesk.  Something like C-M-s (Control-Meta/Alt-s) orwhatever won't conflict with anything else.  When you press this keycombination 3ddesk signals 3ddeskd to start up and it zooms out toshow you the "3d visualization" of your desktops.  Then you select thescreen you want to switch to by pressing ENTER.For some quick descriptions of how to add keybindings/shortcuts in various window managers see "Keybindings" below.** If you aren't using GNOME or all your virtual desktops aren't found   see README.windowmanagers for more info.Starting the server manually----------------------------The server needs to be running in the background before you can go 3D.Just run "3ddeskd" to start it.  Give the --acquire option to acquirecached versions of all your desktops.  It will cycle thru all yourdesktops/workspaces.  3ddeskd runs at all times to reduce load timeand maintain a persistent state.  3ddesk activates the server andgives you a fullscreen.  You only need to start 3ddeskd once!  If you run 3ddesk and it seesthe server isn't started it will attempt to start it for you.**NOTE** When you start 3ddesktop without --acquire you will not seethe images of your other desktops.  It can only take a snapshot ofyour current desktop -- so either it must acquire them initially bycycling through all of them or they will not show up until you movefrom them using 3ddesktop.  Your other virtual desktops *will* show upbut only *after* you've been to them.The texture for the current desktop is acquired when you start 3ddeskso once you start 3ddesk from each virtual desktop your screens willall show up.  They will only stay consistent if you only use 3ddesk toswitch desktops (if you don't use deskguide).  Mess around with ityou'll see how it works.Control-------KEYS:Left .................... left desktopRight ................... right desktopDown .................... desktop belowUp ...................... desktop above1-9,0 ................... go to desktops 1 thru 10Enter,Space,Escape ...... choose current desktop     MOUSE:Left button ............. left desktopRight button ............ right desktopMiddle button ........... choose current desktop (column)Wheel down .............. left desktopWheel up ................ right desktopConfiguration File------------------The configuration file is an optional file in ~/.3ddesktop/ called3ddesktop.conf.  The example one provided is mostly self documenting.It can be found in the tarfile or is installed into /etc.  If you wantto edit your own then copy from /etc to ~/.3ddesktop/.It's divided into sections called "views" which you specify on the3ddesk command line with the --view option.  They are for tailoringthe look mostly.  The options for the default view can be specifiedwith a view of name "default".If you edit stuff in 3ddesktop.conf you should not need to restart theserver.  If you don't see your change check your spelling or try3ddesk --reload.Keybindings Howto-----------------In Gnome 1.4 with Sawfish you can add keybindings by going to theGnome Control Center (gnomecc) --> Sawfish --> Shortcuts --> Add -->"Run Shell Command"The default window manager in Redhat 8.0 is Metacity and will allowyou to bind a key combo to an arbitrary command but its a littletricky.Run "gconf-editor". Drill down to apps --> metacity -->global_keybindings. Find "run_command_1" and change it to your keysuch as "F12" or "<Control><Alt>S".  Then in apps --> metacity -->keybinding_commands find "command_1" and set it to "/usr/bin/3ddesk".In WindowMaker, open WPrefs, go to application editing menu, drag asubmenu to applications menu, select sample commands, drag one of themto submenu, edit the command to the appropriate 3ddesk command and setthe shortcut.Other random comments---------------------This is my first OpenGL program so I'm sure there are lots of thingsthat aren't perfect or need work.  I'm open to any kind of feedbackpositive or otherwise.  Please let me know your thoughts by emailing bard at systemtoolbox.comThe desktop switching is done with code originally based off of STPHby Rob Hodges.  See http://stph.sourceforge.net/ for more info.Thanks Rob!  Support for all the differents methods of desktopswitching has been hacked in.  By default it will try EWMH then GNOME1.x viewports/areas then workspaces.For some fun try a command line option like:    3ddesk --mode=linear --nozoomOr the example views like:   3ddesk --view=slide   3ddesk --view=linearzip   etc.Do 3ddesk --help for more command line options.There are several things that I know need work.  (See the TODO file)I believe I've solved the load time by using Imlib2.  The biggestbottleneck to starting was not the actual capture of the screenshotbut rather the scaling of the image to a size that is a power of two(required for textures).Anyway Imlib2 has wicked fast scaling so things are much faster now.I've also switched to a daemon architecture which won't requirereloading of every texture every time (the opengl context staysactive).  *Please* let me know if this is not working because I dosome funny things with X and glX to make this work.I switched from using GLUT to using GLX and XF86VidMode extensions tofix some fullscreen problems.  The problem was that withglutFullScreen (and game mode) any gnome panels that were "autohide"would show up on top of 3ddesktop.  Additionally the windowdecorations in enlightenment were staying visible.  So by using GLXand XF86VidMode both these problems were solved.  In addition I wasable to hide the mouse pointer.  If somebody can show me how to dothis in GLUT I'd use glut.Aug 2002: I rewrote and rearranged a lot of stuff to fix some major roadblocksto progress.  There is a nifty conf file now.  I'm still havingtrouble getting the background image capture to work well enough.Also having trouble changing the transparancy of the faces.  I canmake them transparent but can't adjust the level of transparency.  Isthis because the textures are RGB instead of RGBA?  (Hit 'b' to seetransparency)*Please* let me know if anything isn't working otherwise I won't knowto fix it :)Brad Wassonbard at systemtoolbox.comContributors------------Thomas ClausenNathan GrennanBryan SmithAndy BakunPedro CariaArtur FrysiakAntonio LarrosaPawel Golaszewski Olivier SamynMarcelo MagallonTilmann BitterbergMuch thanks! (and let me know if I missed ya!)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -