Gary Kline on  wrote...
| > Other details...
| >   * To stop nautilus from creating a desktop window (so CTWM menus still
| >     work) use this, once only...
| >
| >     gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false
| >
| >   * Remove the Gnome 'workspace' applet as it is not usable
| >
| >   * In Ctwmrc file...
| >       NoTitle { "Gnome-panel" "desktop_window" }
| >       NoBorder { "Gnome-panel" "desktop_window" }
| >       IconMenuDontShow { "Gnome-panel" "desktop_window" }
| >     Also set BorderTop/Left/Right/Bottom  as appropriate
| >
| > The only problem I have let is knowing when gnome-session is finished
| > setting up its stuff so I can reset the display background how I want it
| > and not how gnome wants it.
| >
| > I like to thank the hordes of people (NOT) who helped me figure this out.
| >
| > PS: Debugging gnome without being a gnome developer is a Bloody Pain,
| > pardon my Australian!!!
|
| Now this is truly EXCITING news.  Would it be possible for you
| to create a sh script to do what you've described? --Also,
| what/where is the Gnome workspace utility (applet)?  Code? a
| script? how to remove?  Maybe fork your work into a ctwm-gnome2
| port?
|
It is basically how to run Gnome so it iteracts reasonably well with
CTwm.  No CTwm code changes are involved. Though some specific setup
is needed to make it work.

Features/Problems...

  * You can have a desktop background, or CTWM root menus, not both.

    I turn off the desktop using the  gconftool command given.
    As such the root window is used for application icons, and NOT for
    application launchers.   The traditional way, not the microsoft way.

  * You can not use the gnome icon manager, or gnome workspace manager
    Let CTwm do these things.  Just remove those applets from the
    panels.

  * This does NOT stop you using nautilus for file sorting of movies,
    photos, openoffice docs.  I prefer to use command line for just
    about everything else, except basic sorting/moving of these types of
    files.

    It also pops up USB/CD/DVD drive content windows.   If you want to
    see what is available use a nautilus 'Computer' directory.

  * Tell CTwm to add space for any pannels you are using.
    At least CTwm provides BorderLeft  type options for this (see
    below).

  * You can not use gnome exit, unless your login session is hanging on
    the gnome exit.  If you don't use gnome exit, you must kill the
    gconfd-2 process yourself, preferably when logging out. Sooner is
    better.

    I have my own session management script that will let me shutdown,
    reboot, logout, or even just kill all clients and restart session
    without logging out!  It took me years of slowly evolving scripts
    to allow me to do this :-)

  * You must kill  gconfd-2  when finished,  it will not die just
    because you have terminated your X window session, or display. If
    one is still running when you start a new "gnome-session", most
    'applets' will fail to lauch and gnome will be slow to finish its
    startup.   I thought the culprit was gnome-wm, but it wasn't.

Last problem to solve...

  * Determine when gnome has finished starting up, and is finished
    playing with your display settings.  That way you can immediately
    restore the settings (backgrounds, keyboard xmodmaps, volume
    controls, etc, etc) that you want, rather that what it wants.




This is the relevent section of my CTWMrc setup
(with left and bottom gnome-panels)

=======8<--------CUT HERE----------axes/crowbars permitted---------------
#
# Gnome Panel and Application Handling  (Special addition)
#
# Note: if nautilus "desktop-window" is activated, then the root screen, and
# thus CTWM root menus will not be accessable.
#
# Solutions to this problem include, re-locating, and resizing "desktop_window"
# However without a 'NoBorder{}'
#
# To delete a accidentaly activated desktop window, destroy() any
# nautilus window, to completely kiil nautilus (but not the panel).
#
# To prevent a any desktop window from appearing do this command ONCE
#   gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false
#
define([PANELS],[dnl  The Panels only, not all of Gnome-panel applications
  "Top*Panel" "Left*Panel"  "Side*Panel"
  "Right*Panel"  "Bottom*Panel"
])dnl
NoTitle { PANELS "desktop_window" } # Do not add title bars
OccupyAll { # an have then occupy all workspaces
  "Gnome-panel" "Gaim"  # the panel is the gnome controls
}
ifelse( eval( CTWM_VERSION >= 352 ), 1, [dnl Only if CTWM  Version  >= 3.5.2
AutoLower { PANELS "desktop_window" } # Gnome panel and Desktop (under all)
NoBorder { PANELS "desktop_window" }  # and have no borders
#AutoRaise { "Gnome-panel" }          # Popups are above everything
])dnl
ifelse( eval( CTWM_VERSION >= 360 ), 1, [dnl Only if CTWM  Version  >= 3.6
BorderLeft 48     # Don't popup new Windows over gnome panel
BorderBottom 24   # Don't popup new Windows over gnome panel
IconMenuDontShow { "Gnome-panel" "desktop_window" }
WindowGeometries {
  # Attempt to position panels correctly
  # Alturnativally, turn on the gnome 'hide panels' option (if desired)
  "Top*Panel"  "+0+0"   "Left*Panel" "+0+0"    "Side*Panel" "+0+0"
  "Right*Panel" "-0+0"  "Bottom*Panel" "+0-0"

  # Gnome Desktop Window Handling -- If it appears on purpose or by accident
  # Just fill enire display....
  #"desktop_window" "+0+0"
  # Shift right to only cover part of root window...
  # (Gnome does not allow you to resize)
  "desktop_window" "+eval( WIDTH - 260 )+0"
}
])dnl
=======8<--------CUT HERE----------axes/crowbars permitted---------------



For Launching (and reseting background window) I use this...

Note application "xwin_find" is based on xwininfo and waits for
a specific window to appear (or timeout), and posibly return its
window-id. See  http://www.cit.gu.edu.au/~anthony/software/xwin_find.sh

=======8<--------CUT HERE----------axes/crowbars permitted---------------
#!/bin/sh
#
# launch-gnome -- Launch a full Gnome session
#
# Start gnome session
# Note that as my window manager is typically already running
# the gnome-wm will not run, It is however left turned on, just in case.
#
cd # go home

# Save gnome errors separateally -- its too verbose!
[ -f .xerrors-gnome ] && mv .xerrors-gnome .xerrors-gnome-prev
exec > .xerrors-gnome 2>&1

# gnome fails to start properly if gconfd is already running
killall -q -w gconfd-2 && sleep 1

# START GNOME
( gnome-session & ) &

# Wait for gnome panel (this is tricky)
xwin_find -q 120 "gnome-panel" ||
  error_popup "Gnome-Panel not found"
xwin_find -q 120 "(Top|Left|Side).* Panel" ||
  error_popup "Gnome-Side-Panel not found"

sleep 10

# Now fix settings destroyed by the gnome settings daemon
# Adjust this to suit your setup...

# Restore the background pattenr you want
# ... your menthod ...
#
# Restore any personal keyboard mappings.
[ -f .xmodmap.$CLIENTHOST ] && xmodmap .xmodmap.$CLIENTHOST
[ -f .xmodmap ]             && xmodmap .xmodmap

=======8<--------CUT HERE----------axes/crowbars permitted---------------



| I've begun using both Gnome and KDE on my newer PC's, but
| seriously like Ctwm because of its flexibility and simplicity.
| Fr example, I can have 8 or ten workspaces with titles and
| mouseclick to any of them to select out my chores: "System
| Maint", "Mail", "Browsers", "Writing", "Programming", plus a
| couple to monitor my network of five computers.  And each time I
| reboot,  all my xterms (and apps) are in their proper
| workspaces.   Doing this with Gnome is still a mystery... .
|
Yes I know exactly what you mean.  I hate gnome for this reason,
but I like its menu laucher, application launchers, and applets.

I specifically like the weather, power and network applets. That later
has become essential for laptops, especially for roaming wireless
network connections.

Note  xwit  is your friend for starting, positioning, iconizing and
setting a CTwm workspace for Gnome complient applications...

For example her I use "xwin_find" to wait for a firefox window
to appear, then I move and iconize it, and change its workspace
to my "Delta" Workspace

=======8<--------CUT HERE----------axes/crowbars permitted---------------
  firefox &
  if id=`xwin_find 40 ".* Mozilla Firefox"`; then
    # size, position, and iconify
    xprop -id $id -f WM_OCCUPATION 8s -set 'WM_OCCUPATION' Delta
    xwit -resize 820 1000 -move 530 70 -iconify -id $id
  fi
=======8<--------CUT HERE----------axes/crowbars permitted---------------

| One think that I dislike about Gnome/KDE is that they've silenced
| them BEL ('\007') that sounds in vi/nvi/vim...
|
I can't help you there. But if you know how to turn on, you can switch
it back on in the 'post gnome start' section.

Acutally I found it annoying that I could not silent the bell using the
volumn control.  Do you know how control the 'beep' bell?



MAIL ME, if you have anything to add, or further suggestions on the
above.  Not that anyone has helped me in the past.   Suprise me.


  Anthony Thyssen ( System Programmer )    <[EMAIL PROTECTED]>
 -----------------------------------------------------------------------------
  Ralph's Observation:
          It is a mistake to allow any mechanical object to
                   realize that you are in a hurry.
 -----------------------------------------------------------------------------
     Anthony's Home is his Castle     http://www.cit.gu.edu.au/~anthony/

Reply via email to