2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Worked with Tom and Bryce to remove views from p57707 Wrote a document describing how to customize your Unix CDE environment...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>Removed views/documented customizing Unix environments - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2007/07/removed-viewsdo.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2007/07/fun-with-it-in.html" title="Fun with IT in GD">
20 <link rel="next" href="http://defaria.com/blogs/Status/2007/07/view-spacelocke.html" title="View space/Locked stream">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="Removed views/documented customizing Unix environments">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2007/07/removed-viewsdo.html">
26 <meta property="og:description" content=" Worked with Tom and Bryce to remove views from p57707 Wrote a document describing how to customize your Unix CDE environment...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Worked with Tom and Bryce to remove views from p57707 Wrote a document describing how to customize your Unix CDE environment...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2007/07/removed-viewsdo.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">Removed views/documented customizing Unix environments</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1897" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">Removed views/documented customizing Unix environments</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2007-07-10T16:17:52-08:00" itemprop="datePublished">July 10, 2007</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Worked with Tom and Bryce to remove views from p57707</li>
87 <li>Wrote a document describing how to customize your Unix CDE environment</li>
89 <h3>Removing views with pending deliveries</h3>
91 <p>Had an issue where a user (p57707) had left the company but still had UCM related views. In attempting to remove those views to free up space I was told that there was a delivery in progress. Yet if I set to that view and did ct deliver -cancel it would say that there was no delivery in progress. The best thing to do here is to do a ct lsact -cact which should be the deliver activity. Then find which view these was delivered from. IOW this view was the destination view for the delivery and we needed to find where the delivery was initiated from. Then ct deliver -cancel|-resume from that stream/view.</p>
93 <h3>Tips on Personalizing your Unix/CDE environment</h3>
95 <p>Way back in the day I used to alpha test HP's VUE which latter became the basis for CDE. Oh yes it's brought back memories for sure, and a couple of head scratches as I strive to remember how to configure, customize and personalize things. Perhaps you too have wished to make the environment a little better. Well here's some tips...</p>
97 <h3>Get control of your X Resources</h3>
99 <p>A lot of CDE and X can be controlled via X Resources. But how do you manage your X resources in a CDE environment? In general, xrdb(1) is your friend. CDE saves your "session" using X resource files that are loaded via xrdb(1) at session start up. Additionally (I believe) that X loads any and all resources in ~/.Xresources at start. So the trick is to get all your X resources into ~/.Xresources and to start actively managing them. You can do this as follows:</p>
101 <div class=code><pre>
102 $ xrdb -q > ~/.Xresources
105 <p>Now you can add and/or adjust resources in to your liking then do xrdb -l ~/.Xresources. Remember, xrdb -l ~/.Xresources will always get you back to your <i>known set</i> of X Resources.</p>
107 <h3>To find if a resource is set</h3>
109 <p>You can see if a resource is set by using the following:</p>
111 <div class=code><pre>
112 $ xrdb -q | grep -i <<i>resource string</i>>
115 <p>I've attached my ~/.Xresources. Let me bring a few to your attention. Note that resources that start with "*" are global in nature. Thus "*background: <<i>color</i>>" will serve as the background for any X application that doesn't explicitly set a background color. "*"'s between resource names are more general than "."'s. Just think "*" expands to anything where "." expands to one character.</p>
117 <p>The "Dtwm*0*backdrop*image: NoBackdrop" says not to set a CDE "Backdrop" on any of the workspaces. Instead I use xv to randomly change my backdrops from jpg images. More on that later...</p>
119 <h3>Using Xresource Classes</h3>
121 <p>Rather than start Xterms (or dtterms) with:</p>
123 <div class=code><pre>
124 $ xterm -fg white -bg black -sl 5000 -cr green \
125 > -sb -e rsh <other machine>
126 $ xterm -fg yellow -bg blue -sl 5000 -sb -e rsh <other machine>
129 <p>thus having long lists of options, classify your resources such as:</p>
131 <div class=code><pre>
132 XServer*background: Black
133 XServer*foreground: Green
134 XServer*colorBD: Yellow
136 XServer*cursorColor: Yellow
139 <p>Then use xterm -name XServer and all of those X Resources that start with, in this case, XServer will be used. You can set generic or global resources such as;</p>
141 <div class=code><pre>
142 XTerm*saveLines: 5000
143 XTerm*scrollbar: True
146 <h3>Setting Meta (or the Diamond key) to be Emacs mode Meta key</h3>
148 <p>Did you know that (even in tcsh) generally Emacs key bindings are in effect at the command line. This while arrow up gets you the previous command in the command history stack so does Cntl-P also go to the previous command. Other Emacs bindings that work:</p>
151 <li>C-p: Previous command in history stack</li>
152 <li>C-n: Next command in history stack</li>
153 <li>C-a: Go to beginning of line</li>
154 <li>C-e: Go to end of line</li>
155 <li>C-f: Go forward one character</li>
156 <li>M-f: Go forward one word</li>
157 <li>C-b: Go backward one character</li>
158 <li>M-b: Go backward one word</li>
159 <li>C-d: Delete one character</li>
160 <li>M-d: Delete one word</li>
161 <li>C-t: Transpose two characters</li>
164 <p>Additionally, in bash, C-r stands for search backward in the history stack. tcsh does not support this. Using such keybindings keeps your hands on the keyboard and improves your productivity.</p>
166 <p>M-f listed above means "hold the meta key down and type f". The meta key is defined as Escape, which, unfortunately will repeat if held down. Most people map this to the "Alt" key. The Sun keyboard has both an Alt key and two "Diamond" keys that are normally labeled Alt on PC keyboards. Therefore it's good to configure your terminal emulator to
167 use this Diamond/Alt key as Emacs' Meta key. To do this for Xterm use the following X resource (best put into your ~/.Xresouces):</p>
169 <div class=code><pre>
170 Xterm*eightBitInput: True
175 <div class=code><pre>
179 <p>Side note about "kshMode". This is a misnomer really. True, ksh does support Emacs style keybindings (set -o emacs or set -o vi for you vi guys) and it is useful to have Alt => Meta. However ksh is not the only shell that this is useful for. It is also useful for tcsh and bash, for example.</p>
181 <h3>Taking Control of your Buttons and Keybindings</h3>
183 <p>The following:</p>
185 <div class=code><pre>
186 Dtwm*keyBindings: MyKeys
187 Dtwm*buttonBindings: MyButtons
190 <p>Tell the window manager (Dtwm) not to use the default keyBindings and buttonBindings but instead to use MyKeys and MyButtons instead. These are defined in your dtwmrc, which is under ~/.dt/en_US.ISO8859-1/dtwmrc (which I've also attached). I started by copying the system dtwmrc (cp /usr/dt/config/C/sys.dtwmrc ~/.dt/en_US.ISO8859-1) and then modified it.</p>
192 <p>You're dtwmrc can be very complicated. See dtwmrc(1) for more info. Here are MyButtons:</p>
194 <div class=code><pre>
197 <Btn1Down> root f.menu Terminals
198 <Btn1Down> window|frame|icon f.raise
199 <Btn2Click> root f.toggle_frontpanel
200 <Btn3Down> root f.menu DtRootMenu
201 <Btn3Down> icon f.post_wmenu
202 Shift<Btn1Click> frame|icon f.lower
203 <Btn1Click> frame|icon|window f.raise
204 <Btn1Click2> frame f.maximize
205 <Btn1Click2> icon f.restore
206 <Btn2Click> frame|icon f.raise_lower
207 <Btn3Down> frame|icon f.post_wmenu
208 Alt<Btn1Click> frame|icon|window f.raise
209 Alt<Btn1Click2> frame|window f.minimize
210 Alt<Btn1Click2> icon f.restore
211 Alt<Btn2Click> frame|icon f.raise_lower
212 Alt<Btn1Down> frame|icon|window f.move
213 Alt<Btn3Down> window f.minimize
217 <p>Many of these are taking from the defaults. Here are some of the changes I made:</p>
220 <li>Changed Btn1Down to bring up the "Terminals" menu</li>
221 <li>Added "window" to the places where a Btn1Down would do a raise. This allows me to click on the window itself to raise it instead of having to find the window border.</li>
224 <h3>Changing your desktop background</h3>
226 <p>I have a series of images that I like to constantly refresh on my background. I put them in ~/Images. CDE has terrible desktop background support (like circa 1990) and only supports xpm (which is a horrible image file format!). xv is an image viewer than handles more modern image file formats such as .gif, .jpg, and .png. It also has options
227 for setting the backdrop (provided CDE is not putting up a .xpm backdrop image, hence the "Dtwm*0*backdrop*image: NoBackdrop" setting). Now how do we get this to do this periodically?</p>
229 <p>The answer? Perl. I've attached a Perl script that sets your backdrop by choosing a random image from all of those under ~/Images every hour or whenever it receives a SIGUSR2.</p>
231 <p>Oh and if you wish feel free to:</p>
233 <div class=code><pre>
235 $ cp ~p6238c/Images ~/Images
240 <div class=code><pre>
241 $ ln -s ~p6258c/Images ~/Images
244 <div class=code><pre>
245 *0*ColorPalette: SoftBlue.dp
246 *0*ColorUse: HIGH_COLOR
247 *DtEditor*textFontList: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
248 *DtTerm*shadowThickness: 1
249 *Font: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*
250 *FontList: -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
251 *FontSet: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*
253 *XmText*FontList: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
254 *XmText*Translations: #override\n\
255 Ctrl<Key>u:delete-to-start-of-line()\n\
256 Ctrl<Key>k:delete-to-end-of-line()\n\
257 Ctrl<Key>a:beginning-of-line()\n\
258 Ctrl<Key>e:end-of-line()\n\
259 Ctrl<Key>p:process-up()\n\
260 Ctrl<Key>b:backward-character()\n\
261 Ctrl<Key>n:process-down()\n\
262 Ctrl<Key>f:forward-character()
263 *XmTextField*FontList: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
264 *XmTextField*Translations: #override\n\
265 Ctrl<Key>u:delete-to-start-of-line()\n\
266 Ctrl<Key>k:delete-to-end-of-line()\n\
267 Ctrl<Key>a:beginning-of-line()\n\
268 Ctrl<Key>e:end-of-line()\n\
269 Ctrl<Key>b:backward-character()\n\
270 Ctrl<Key>f:forward-character()
271 *background: #9494D5D5DFDF
272 *buttonFontList: -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
273 *dtEnvMapForRemote: DTAPPSEARCHPATH:DTHELPSEARCHPATH:DTDATABASESEARCHPATH:XMICONSEARCHPATH:XMICONBMSEARCHPATH
274 *enableBtn1Transfer: button2_transfer
275 *enableButtonTab: True
276 *enableCDEColorFactors: True
277 *enableDefaultButton: True
278 *enableDragIcon: True
279 *enableEtchedInMenu: True
280 *enableMenuInCascade: True
281 *enableMultiKeyBindings: True
282 *enableThinThickness: True
283 *enableToggleColor: True
284 *enableToggleVisual: True
285 *enableUrlAwareness: True
287 *foreground: #000000000000
288 *labelFontList: -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
291 *promptDialog.bboard.frame.form.text.columns: 45
293 *scrollBar_right: True
295 *systemFont: -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
296 *textFontList: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
297 *ttyModes: intr ^c quit ^\\ erase ^h kill ^u eof ^d start ^q stop ^s susp ^z dsusp ^y rprnt ^r flush ^o weras ^w lnext ^v
298 *userFont: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
299 *xineramaDefaultFramebuffer: 0
300 Dtstyle*timeoutScale: 5
301 Dtwm*0*FrontPanel*geometry: +67-4
302 Dtwm*0*helpResources: \n
303 Dtwm*0*initialWorkspace: ws0
304 Dtwm*0*workspaceCount: 4
305 Dtwm*0*workspaceList: "ws0" "ws1" "ws2" "ws3"
306 Dtwm*0*backdrop*image: NoBackdrop
307 Dtwm*0*ws3*title: Four
308 Dtwm*0*ws4*title: New
309 Dtwm*0*ws5*title: New_1
310 Dtwm*0*ws6*title: New_2
311 Dtwm*focusAutoRaise: False
312 Dtwm*gwmOnFrontPanel: False
314 Dtwm*showSwitchArea: True
315 Dtwm*syncDesktopSwitch: False
316 Dtwm*useSameBackdrop: True
317 Dtwm.keyboardFocusPolicy: pointer
320 Dtwm*keyBindings: MyKeys
321 Dtwm*buttonBindings: MyButtons
324 Rxvt*font: "Lucida Console-*-16"
325 Rxvt*font1: "Lucida Console-*-18"
326 Rxvt*font2: "Lucida Console-*-20"
328 Rxvt*scrollBar_right: True
330 Rxvt*loginShell: True
331 Rxvt*background: SteelBlue
332 Rxvt*foreground: White
335 Rxvt*cursorColor: Red
338 Jupiter*background: MidNightBlue
339 Jupiter*foreground: White
342 Jupiter*cursorColor: Yellow
345 Starbase*background: MediumVioletRed
346 Starbase*foreground: White
347 Starbase*colorBD: Yellow
348 Starbase*colorUL: Red
349 Starbase*cursorColor: Yellow
352 Tiburon*background: Black
353 Tiburon*foreground: Magenta
354 Tiburon*colorBD: Yellow
356 Tiburon*cursorColor: Green
358 Pacifica*background: ForestGreen
359 Pacifica*foreground: White
360 Pacifica*colorBD: Red
361 Pacifica*colorUL: Red
362 Pacifica*cursorColor: Red
364 plebld01*background: Black
365 plebld01*foreground: Yellow
366 plebld01*colorBD: Yellow
367 plebld01*colorUL: Red
368 plebld01*cursorColor: Yellow
370 ccase-sj1-4*background: Black
371 ccase-sj1-4*foreground: Green
372 ccase-sj1-4*colorBD: Green
373 ccase-sj1-4*colorUL: Red
374 ccase-sj1-4*cursorColor:Yellow
376 XServer*background: Black
377 XServer*foreground: Green
378 XServer*colorBD: Yellow
380 XServer*cursorColor: Yellow
383 XTerm*Font: -*-Lucida Sans Typewriter-medium-r-*-*-*-*-*-*-*-*-*
384 XTerm*saveLines: 5000
385 XTerm*scrollBar_right: True
386 XTerm*scrollBar: True
387 XTerm*geometry: 80x24
388 XTerm*loginShell: True
389 XTerm*background: SteelBlue
390 XTerm*foreground: White
393 XTerm*cursorColor: Yellow
394 XTerm*eightBitInput: False
397 Emacs*Background: Gray
398 Emacs*Font: -*-Lucida Sans Typewriter-medium-r-*-*-*-*-*-*-*-*-*
404 <div class=code><pre>
408 "Applications" f.menu ApplicationsMenu
409 "Terminals" f.menu Terminals
410 "Files" f.menu FilesMenu
411 "Folders" f.menu FoldersMenu
412 "Hosts" f.menu HostsMenu
413 "Tools" f.menu ToolsMenu
414 "Windows" f.menu WindowsMenu
415 "Lock" f.action LockDisplay
416 "Suspend" f.action SDTsuspend
423 "Local X Term" f.action Xterm
424 "Remote X Term" f.action XtermRlogin
426 "Local DT Term" f.action Dtterm
427 "Remote DT Term" f.action DttermRlogin
434 "Arrange Icons" f.pack_icons
436 "Update" f.action UpdateWorkspaceMenu
437 "Kill" f.exec /usr/openwin/bin/xkill
440 Menu ApplicationsMenu
442 "Applications" f.title
443 "Application Manager" f.action Dtappmgr
444 "Audio Control" f.action SDtAudioControl
445 "Audio and Video" f.action SDTjmplay
446 "Calculator" f.action Dtcalc
447 "Calendar" f.action Dtcm
448 "Icon Editor" f.action Dticon
449 "Image Viewer" f.action SDTimage
450 "Snapshot" f.action SDTsnapshot
451 "Text Editor" f.action TextEditor
452 "Text Note" f.action Note
453 "Voice Note" f.action Record
459 "File Manager" f.action Dtfile
460 "Find File" f.action SDtFind
461 "Properties..." f.action FileProperties
467 "Empty Trash Can" f.action DtEmptyTrash
468 "File Manager - Home" f.action DtfileHome
469 "Open Floppy" f.action OpenFloppy
470 "Removable Media" f.action Dtmediamgr
471 "Trash Can" f.action Dttrash
477 "Find Host..." f.action HOST_Find
478 "Performance Meter" f.action SDtPerfmeter
479 "Terminal Console" f.action DttermConsole
480 "This Host" f.action Terminal "/usr/dt/config/C/wsmenu/Hosts/This_Host"
481 "Workstation Info" f.action SDtWsinfo
487 "Create Action" f.action Dtcreate
488 "Desktop Controls" f.action DtControls
489 "Hotkey Editor" f.action SDtHotkey
490 "Power Manager" f.action SDTpowermgr
491 "Print Manager" f.action DtPrintManager
492 "Printer Administrator" f.action PrinterAdministratorDtspcd
493 "Process Manager" f.action SDtProcess
494 "Solaris Management Console" f.action smc
495 "Terminal" f.action Terminal
496 "Watch Errors" f.action DttermErrorlog
502 "Shuffle Up" f.circle_up
503 "Shuffle Down" f.circle_down
505 "Clean Up Icons" f.pack_icons
506 "Minimize/Restore Front Panel" f.toggle_frontpanel
507 "Restart Workspace Manager..." f.restart
508 "Update Workspace Menu" f.action UpdateWorkspaceMenu
509 "Disable Access Control" f.action Xhost+
510 "Enable Access Control" f.action Xhost-
511 "Kill Window..." f.exec /usr/openwin/bin/xkill
516 "Restore" _R f.normalize
519 "Minimize" _n f.minimize
520 "Maximize" _x f.maximize
522 "Workspace..." _W f.workspace_presence
523 "All Workspaces" _A f.occupy_all
524 "Remove Workspace" _e f.remove
525 "Close" _C Alt<Key>F4 f.kill
531 #Alt<Key>Menu root|icon|window f.toggle_frontpanel
532 Alt<Key>Tab root|icon|window f.next_key
533 Alt Shift<Key>Tab root|icon|window f.prev_key
534 Alt<Key>Escape root|icon|window f.next_key
535 Alt Shift<Key>Escape root|icon|window f.prev_key
536 Alt<Key>Down root|icon|window f.circle_down
537 Alt<Key>Up root|icon|window f.circle_up
538 Alt<Key>Left root|icon|window f.prev_workspace
539 Alt<Key>Right root|icon|window f.next_workspace
540 Alt Ctrl Shift<Key>exclam root|icon|window f.set_behavior
543 <Key>SunAgain root|ifkey f.pack_icons
544 <Key>SunProps root|ifkey f.version
545 <Key>SunUndo root|ifkey f.refresh
546 <Key>SunFront root|ifkey f.circle_up
547 Shift<Key>SunFront root|ifkey f.circle_down
548 <Key>Down root f.circle_down
549 <Key>Up root f.circle_up
550 <Key>Right root f.next_workspace
551 <Key>Left root f.prev_workspace
553 <Key>SunAudioMute root|icon|window|ifkey f.exec /usr/dt/appconfig/sdtvolctl/muteVolume
554 <Key>SunAudioRaiseVolume root|icon|window|ifkey f.exec /usr/dt/appconfig/sdtvolctl/volumeUp
555 <Key>SunAudioLowerVolume root|icon|window|ifkey f.exec /usr/dt/appconfig/sdtvolctl/volumeDown
557 <Key>SunFront window|icon|ifkey f.raise_lower
558 <Key>SunOpen window|ifkey f.minimize
559 Shift<Key>Escape window|icon f.post_wmenu
560 Alt<Key>space window|icon f.post_wmenu
561 Alt<Key>F6 window f.next_key transient
562 Alt Shift<Key>F6 window f.prev_key transient
563 Alt<Key>F4 window|icon|ifkey f.kill
564 Alt<Key>SunProps window|icon|ifkey f.workspace_presence
565 Alt<Key>SunPaste window|icon|ifkey f.occupy_all
566 Alt<Key>SunCut window|icon|ifkey f.remove
567 Alt<Key>KP_Insert window|icon f.occupy_all
568 Alt<Key>Delete window|icon f.remove
569 Ctrl<Key>L2 window|ifkey f.next_cmap
570 Ctrl<Key>L4 window|ifkey f.prev_cmap
572 <Key>SunOpen icon|ifkey f.restore
573 Alt<Key>F4 icon|ifkey f.kill
574 <Key>SunProps icon|ifkey f.workspace_presence
575 <Key>SunPaste icon|ifkey f.occupy_all
576 <Key>SunCut icon|ifkey f.remove
577 <Key>KP_Insert icon|ifkey f.occupy_all
578 <Key>Delete icon|ifkey f.remove
583 <Btn1Down> root f.menu Terminals
584 <Btn1Down> window|frame|icon f.raise
585 <Btn2Click> root f.toggle_frontpanel
586 <Btn3Down> root f.menu DtRootMenu
587 <Btn3Down> icon f.post_wmenu
588 Shift<Btn1Click> frame|icon f.lower
589 <Btn1Click> frame|icon|window f.raise
590 <Btn1Click2> frame f.maximize
591 <Btn1Click2> icon f.restore
592 <Btn2Click> frame|icon f.raise_lower
593 <Btn3Down> frame|icon f.post_wmenu
594 Alt<Btn1Click> frame|icon|window f.raise
595 Alt<Btn1Click2> frame|window f.minimize
596 Alt<Btn1Click2> icon f.restore
597 Alt<Btn2Click> frame|icon f.raise_lower
598 Alt<Btn1Down> frame|icon|window f.move
599 Alt<Btn3Down> window f.minimize
602 Menu DefaultWindowMenu
604 "Restore" _R Alt<Key>F5 f.normalize
605 "Move" _M Alt<Key>F7 f.move
606 "Size" _S Alt<Key>F8 f.resize
607 "Minimize" _n Alt<Key>F9 f.minimize
608 "Maximize" _x Alt<Key>F10 f.maximize
609 "Lower" _L Alt<Key>F3 f.lower
610 "Close" _C Alt<Key>F4 f.kill
614 <div class=code><pre>
618 use POSIX qw (setsid);
623 my $home = $ENV{HOME};
624 my $xv = "/prj/Synopsis/gccsparcOS5/ccss/utils/xv/xv";
626 my @images = `ls $home/Images`;
629 my $arch = $^O =~ /MSWin/ ? "windows" :
630 $^O =~ /cygwin/ ? "cygwin" : $^O;
631 my $null = $^O =~ /MSWin/ ? "NUL" : "/dev/null";
633 sub display_err ($;$$) {
634 my ($msg, $handle, $nolinefeed) = @_;
636 $handle = *STDERR if !defined $handle;
639 print $handle "\n" if !defined $nolinefeed;
643 my ($msg, $errno, $handle, $nolinefeed) = @_;
646 $msg = "$FindBin::Script ERROR: $msg";
648 $msg = "$FindBin::Script ERROR #$errno: $msg";
651 display_err $msg, $handle, $nolinefeed;
653 exit $errno if $errno;
656 sub EnterDaemonMode (;$$) {
657 my ($logfile, $errorlog) = @_;
659 if (!defined $logfile or $logfile eq '') {
663 if (!defined $errorlog or $errorlog eq '') {
667 # Change the current directory to /
668 my $root = $arch eq "windows" ? "C:\\" : "/";
670 or error "Can't chdir to $root ($!), 1";
675 # Redirect STDIN to $null
677 or error "Can't read $null ($!)", 1;
679 # Redirect STDOUT to logfile
680 open STDOUT, ">>$logfile"
681 or error "Can't write to $logfile ($!), 1";
683 # Redirect STDERR to errorlog
684 open STDERR, ">>$errorlog"
685 or error "Can't write to $errorlog ($!)", 1;
687 # Now fork the daemon
688 defined (my $pid = fork)
689 or error "Can't create daemon ($!)", 1;
691 # Now the parent exits
694 # Set process to be session leader
696 or error "Can't start a new session ($!)", 1;
699 sub SwitchWallPaper {
700 # We don't need to do anything here, just handle the interrupt and
701 # let the while loop continue.
704 $SIG{USR2} = \&SwitchWallPaper;
709 my $cmd = "$xv -root -maxpect -quit $home/Images/" . $images [int (rand $#images)];
717 <nav class="page-navigation entry-navigation pagination content-nav">
718 <ul class="page-navigation-list">
720 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2007/07/fun-with-it-in.html" title="Fun with IT in GD">Previous entry</a></li>
723 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2007/07/view-spacelocke.html" title="View space/Locked stream">Next entry</a></li>
728 <aside id="zenback" class="zenback feedback">
729 Please paste Zenback script code here.
736 <aside class="widgets related" role="complementary">
737 <nav class="widget-search widget">
738 <div class="widget-content">
739 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
741 <input type="text" name="search" value="" placeholder="Search...">
743 <input type="hidden" name="IncludeBlogs" value="8">
745 <input type="hidden" name="limit" value="20">
746 <button type="submit" name="button">
747 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
753 <nav class="widget-archive-category widget">
754 <h3 class="widget-header">Categories</h3>
755 <div class="widget-content">
758 <ul class="widget-list">
761 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
769 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
777 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
785 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
793 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
801 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
809 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
817 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
825 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
833 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
841 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
849 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
861 <nav class="widget-archive-dropdown widget">
862 <h3 class="widget-header">Archives</h3>
863 <div class="widget-content">
865 <option>Select a Month...</option>
867 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
871 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
875 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
879 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
883 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
887 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
891 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
895 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
899 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
903 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
907 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
911 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
915 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
919 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
923 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
927 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
931 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
935 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
939 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
943 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
947 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
951 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
955 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
959 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
963 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
967 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
971 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
975 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
979 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
983 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
987 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
991 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
995 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
999 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
1003 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
1007 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
1011 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
1015 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
1019 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
1023 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
1027 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
1031 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
1035 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
1039 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
1043 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
1047 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
1051 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
1055 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
1059 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
1063 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
1067 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
1071 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
1075 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
1079 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
1083 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
1087 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
1091 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
1095 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
1099 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
1103 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
1107 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
1111 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
1115 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
1119 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
1123 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
1127 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
1131 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
1135 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
1139 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
1143 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
1147 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
1151 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
1159 <div class="widget-syndication widget section">
1160 <div class="widget-content">
1161 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
1169 <footer id="footer" role="contentinfo">
1170 <div id="footer-inner">
1171 <div id="footer-content">
1172 <nav role="navigation">
1174 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
1180 <p class="license">© Copyright 2016.</p>
1181 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
1187 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
1188 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>