From apache@latife.doruk.net.tr Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13437 invoked from network); 5 Sep 2002 10:52:02 -0000 Received: from unknown (HELO latife.doruk.net.tr) (212.58.5.250) by 192.168.38.195 with SMTP; 5 Sep 2002 10:52:02 -0000 Received: (from apache@localhost) by latife.doruk.net.tr (8.11.6/8.11.6) id g85AfS314255; Thu, 5 Sep 2002 13:41:28 +0300 Date: Thu, 5 Sep 2002 13:41:28 +0300 Message-Id: <200209051041.g85AfS314255@latife.doruk.net.tr> To: gdm@sunsite.dk Subject: Shipping Sector meet at Free Website /// Company & Cargo & Ship ENTRY/SEARCH++ Many Shipping Tools From: info@steminorder.com Content-type: text/html; charset=iso-8859-9 New Page 1

www.steminorder.com
 
This website is for FREE , pay only for advertisement "if you wish".
 
EVERYONE -Charterers, Agents, Brokers, Shipping Lines, Maritime Lawyers, Forwarders...Enter your company
details ONCE! and take place at Shipping Sector Index FOREVER! on "24 hours working Free Website"!

Then you will have below service for FREE:-
 
upto 200.000 Companies' full style
upto 60.000 Vessel Details
- HOT Cargo and Ship Positions
- Ships for Sale & Purchase
- Time Charter offer/requirement
- Regular Shipping Lines
- Laytime, Demurrage & Despatch Calculators
- Distance Table between 2910 Ports
- Voyage Estimation (Enter your vessels' details once only)
- Ports Information
- World Holiday Calendar
- Worldwide shipping activities
- Standard Forms and Templates
- Worldwide Weather Forecast
- Conversion Table
- World Times
- Abbreviations
- Dictionaries
- Ship Types, Informations & Pictures
- Walrus Symbols & Phonetics
- Currency Converter (At any date & any currency)
- Regions
- Live Trading Floor (Sell/Buy without paying commission, meet here!)
- Human Resources (Need staff or crew?, need occupation?enter details)
- Discussion Room (Lets chat and discuss on line)
- Many other useful links(On many major subjects related shipping)
- Your private notebook on this site will remind your dates & activities by e-mail and soon by SMS
- Soon WAP service will inform your cellular phone when cargo & vessel matches
 
>>>No commission from fixtures, search/find/contact members confidential<<<
 
Ask yourself :
Why should I use this website? IT IS VERY USEFUL AND FOR FREE!
Why should I suggest membership to EVERYONE? THEN WE ALL WILL MINIMIZE COSTS, PHONE CALLS, MANY MESSAGES AND TIME LOSS!!
 
PLEASE FORWARD "www.steminorder.com" TO INCREASE MUTUAL BENEFIT FOR FREE 
 
- stem in order, thanks for the fixture!

From gnomelists@xyrodian.net Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13568 invoked from network); 12 Sep 2002 01:22:48 -0000 Received: from h24-79-193-41.ed.shawcable.net (HELO mail.xyrodian.net) (24.79.193.41) by 192.168.38.195 with SMTP; 12 Sep 2002 01:22:48 -0000 Received: from localhost.localdomain (ncc-1701-e.starfleet.org [192.168.3.3]) by mail.xyrodian.net (Postfix) with ESMTP id 1CF6FD93B for ; Wed, 11 Sep 2002 19:22:18 -0600 (MDT) Subject: No echo password entry patch From: Gnome Lists To: GDM Mailing List Content-Type: multipart/mixed; boundary="=-CKpUrTxN4dxZWYnq7viw" X-Mailer: Ximian Evolution 1.0.8 Date: 11 Sep 2002 19:22:40 -0600 Message-Id: <1031793760.23773.5.camel@ncc-1701-e> Mime-Version: 1.0 --=-CKpUrTxN4dxZWYnq7viw Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello everyone, I could not find anything on no echo password entries in the gdm-help archives, so I assume that this has not been tried or discussed recently. Being paranoid, I patched the latest cvs to support this. I am unsure of how to do the translations for gdmsetup correctly, but everything else should work. I am also unfamiliar with procedure for posting patches, so if I have done anything wrong, please tell me. The patch adds a UseSecureEntry option to gdm.conf.in and a corresponding checkbox in gdmsetup. If set to true, all password entry fields should have no echo. This was patched and tested against cvs gdm2 @ Thu Sep 12 01:21:06 UTC 2002. It also works against gdm-2.4.0.11. Use the standard 'cat gdm-cvs-1031793673+noecho.diff | patch -p0'. - Nathanael Law --=-CKpUrTxN4dxZWYnq7viw Content-Description: Content-Disposition: attachment; filename=gdm-cvs-1031793673+noecho.diff Content-Transfer-Encoding: quoted-printable Content-Type: text/x-patch; charset=UTF-8 diff -r -C 3 ./config/gdm.conf.in ../gdm2.patched/config/gdm.conf.in *** ./config/gdm.conf.in Fri Aug 23 11:59:57 2002 --- ../gdm2.patched/config/gdm.conf.in Wed Sep 11 18:54:17 2002 *************** *** 230,235 **** --- 230,237 ---- Use24Clock=3Dfalse # Use circles in the password field. Looks kind of cool actually UseCirclesInEntry=3Dfalse + # Set no echo for password fields. If true, it takes precedence over cir= cles + UseSecureEntry=3Dfalse # These two keys are for the new greeter. Circles is the standard # shipped theme GraphicalTheme=3Dcircles diff -r -C 3 ./daemon/gdm.h ../gdm2.patched/daemon/gdm.h *** ./daemon/gdm.h Fri Aug 23 11:59:58 2002 --- ../gdm2.patched/daemon/gdm.h Wed Sep 11 18:54:17 2002 *************** *** 228,233 **** --- 228,234 ---- #define GDM_KEY_POSITIONY "greeter/PositionY=3D0" #define GDM_KEY_USE_24_CLOCK "greeter/Use24Clock=3Dfalse" #define GDM_KEY_ENTRY_CIRCLES "greeter/UseCirclesInEntry=3Dfalse" + #define GDM_KEY_ENTRY_SECURE "greeter/UseSecureEntry=3Dfalse" #define GDM_KEY_GRAPHICAL_THEME "greeter/GraphicalTheme=3Dcircles" #define GDM_KEY_GRAPHICAL_THEME_DIR "greeter/GraphicalThemeDir=3D" EXPAND= ED_DATADIR "/gdm/themes/" =20 diff -r -C 3 ./gui/gdmlogin.c ../gdm2.patched/gui/gdmlogin.c *** ./gui/gdmlogin.c Fri Aug 23 11:59:59 2002 --- ../gdm2.patched/gui/gdmlogin.c Wed Sep 11 18:54:17 2002 *************** *** 135,140 **** --- 135,141 ---- static gboolean GdmShowLastSession; =20 static gboolean GdmUseCirclesInEntry; + static gboolean GdmSecureEntry; =20 static GtkWidget *login; static GtkWidget *logo_frame =3D NULL; *************** *** 889,894 **** --- 890,896 ---- GdmIconMaxHeight =3D ve_config_get_int (config, GDM_KEY_ICONHEIGHT); GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); GdmLockPosition =3D ve_config_get_bool (config, GDM_KEY_LOCK_POSITION= ); GdmSetPosition =3D ve_config_get_bool (config, GDM_KEY_SET_POSITION); GdmPositionX =3D ve_config_get_int (config, GDM_KEY_POSITIONX); *************** *** 3289,3294 **** --- 3291,3298 ---- entry =3D gtk_entry_new (); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); gtk_entry_set_max_length (GTK_ENTRY (entry), 32); gtk_widget_set_size_request (entry, 250, -1); gtk_widget_ref (entry); diff -r -C 3 ./gui/gdmsetup-strings.c ../gdm2.patched/gui/gdmsetup-strings.= c *** ./gui/gdmsetup-strings.c Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup-strings.c Wed Sep 11 18:54:17 2002 *************** *** 51,56 **** --- 51,57 ---- gchar *s =3D N_("copyright"); gchar *s =3D N_("_Install new theme"); gchar *s =3D N_("Graphical greeter"); + gchar *s =3D N_("Enable no echo for _password entry"); gchar *s =3D N_("Allow _root to login with GDM"); gchar *s =3D N_("Allow root to login r_emotely with GDM"); gchar *s =3D N_("Allow remote _timed logins"); diff -r -C 3 ./gui/gdmsetup.c ../gdm2.patched/gui/gdmsetup.c *** ./gui/gdmsetup.c Mon Aug 19 17:41:34 2002 --- ../gdm2.patched/gui/gdmsetup.c Wed Sep 11 18:54:17 2002 *************** *** 1813,1818 **** --- 1813,1821 ---- GDM_KEY_TIMED_LOGIN_ENABLE, NULL /* notify_key */); =20 + setup_notify_toggle ("secureentry", + GDM_KEY_ENTRY_SECURE, + GDM_KEY_ENTRY_SECURE /* notify_key */); setup_notify_toggle ("allowroot", GDM_KEY_ALLOWROOT, GDM_KEY_ALLOWROOT /* notify_key */); diff -r -C 3 ./gui/gdmsetup.glade ../gdm2.patched/gui/gdmsetup.glade *** ./gui/gdmsetup.glade Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup.glade Wed Sep 11 18:54:17 2002 *************** *** 1460,1465 **** --- 1460,1483 ---- False 4 =20 + + + True + True + Enable no echo for = _password entry + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + +=20 True diff -r -C 3 ./gui/greeter/greeter.c ../gdm2.patched/gui/greeter/greeter.c *** ./gui/greeter/greeter.c Fri Aug 23 12:00:00 2002 --- ../gdm2.patched/gui/greeter/greeter.c Wed Sep 11 18:54:17 2002 *************** *** 55,60 **** --- 55,61 ---- gint GdmTimedLoginDelay; =20 gboolean GdmUseCirclesInEntry =3D FALSE; + gboolean GdmSecureEntry =3D FALSE; =20 static gboolean used_defaults =3D FALSE; gint greeter_current_delay =3D 0; *************** *** 92,97 **** --- 93,99 ---- } GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); =20 GdmShowXtermFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_XTERM_FAILSAFE); GdmShowGnomeFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_GNOME_FAILSAFE); *************** *** 827,832 **** --- 829,837 ---- GdmUseCirclesInEntry, GDM_KEY_ENTRY_CIRCLES) || ! bool_same (config, + GdmSecureEntry, + GDM_KEY_ENTRY_SECURE) || + ! bool_same (config, GdmShowXtermFailsafeSession, GDM_KEY_SHOW_XTERM_FAILSAFE) || ! bool_same (config, diff -r -C 3 ./gui/greeter/greeter_canvas_item.c ../gdm2.patched/gui/greete= r/greeter_canvas_item.c *** ./gui/greeter/greeter_canvas_item.c Wed Aug 14 13:10:50 2002 --- ../gdm2.patched/gui/greeter/greeter_canvas_item.c Wed Sep 11 18:54:17 2= 002 *************** *** 294,299 **** --- 294,301 ---- gtk_entry_set_has_frame (GTK_ENTRY (entry), FALSE); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); =20 if (item->id !=3D NULL && strcmp (item->id, "user-pw-entry") =3D=3D 0= ) { /* HACK! Add a menubar, this is kind of evil isn't it */ diff -r -C 3 ./gui/greeter/greeter_configuration.h ../gdm2.patched/gui/gree= ter/greeter_configuration.h *** ./gui/greeter/greeter_configuration.h Thu Jul 11 11:42:26 2002 --- ../gdm2.patched/gui/greeter/greeter_configuration.h Wed Sep 11 18:54:17= 2002 *************** *** 1,5 **** --- 1,6 ---- =20 extern gboolean GdmUseCirclesInEntry; + extern gboolean GdmSecureEntry; extern gboolean GdmShowGnomeChooserSession; extern gboolean GdmShowGnomeFailsafeSession; extern gboolean GdmShowXtermFailsafeSession; --=-CKpUrTxN4dxZWYnq7viw-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 25774 invoked from network); 13 Sep 2002 20:20:56 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:20:56 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKKZM29704 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:20:35 GMT Date: Fri, 13 Sep 2002 20:20:35 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Fast User Switching gdm patch Message-ID: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline User-Agent: Mutt/1.4i --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This patch to gdm emulates Windows XP's "Fast User Switching", which i call "Multiple Desktops". Here's an example case: user 1 logs in-> assigned to vt 7 user 1 runs "gdmflexiserver", starts new xnest on vt 8 user 2 logs in on vt 8 user 2 runs "gdmflexiserver", starts new xnest on vt 9 user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login screen I'd appreciate any feedback. The patch is against -11 from aug 30 don't know about cvs. cat FastUserSwitching.diff | patch -p0 from the gdm-...-11 directory you want to patch... -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="FastUserSwitching.diff" diff -C 3 -r daemon/gdm.c ../gdm-2.4.0.11NEWEST/daemon/gdm.c *** daemon/gdm.c Tue Aug 27 21:03:35 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.c Fri Sep 13 15:49:56 2002 *************** *** 64,69 **** --- 64,74 ---- static void gdm_safe_restart (void); static void gdm_restart_now (void); + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + #endif + + /* Global vars */ GSList *displays = NULL; /* List of displays managed */ GSList *xservers = NULL; /* List of x server definitions */ *************** *** 161,167 **** gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! /* set in the main function */ char **stored_argv = NULL; --- 166,172 ---- gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! gboolean GdmMultipleDesktops = TRUE; /* set in the main function */ char **stored_argv = NULL; *************** *** 315,320 **** --- 320,328 ---- GdmVTAllocation = gnome_config_get_bool (GDM_KEY_VTALLOCATION); GdmDebug = gnome_config_get_bool (GDM_KEY_DEBUG); + + GdmMultipleDesktops = gnome_config_get_bool (GDM_KEY_MULTIPLE_DESKTOPS); + gnome_config_pop_prefix(); *************** *** 2765,2768 **** --- 2773,2830 ---- } } + + + #ifdef __linux__ + /* returns + GdmDisplay * pointing to a display with a currently running greeter + or NULL + */ + GdmDisplay * + find_available_greeter () + { + GSList *li; + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp == NULL) + gdm_error("find_avialable_greeter: null display in displays list"); + if ( ( disp->login == NULL || !strlen(disp->login) ) + && disp->vt > 0 ) + return disp; + } + + return NULL; + } + + /* what display is this login logged in on (if any) else NULL */ + GdmDisplay * + login_what_display (char *login) + { + GSList *li; + + if (login==NULL) { + gdm_error("login_what_display: attempted to pass null login"); + return NULL; + } + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp==NULL) { + gdm_debug("login_what_display: disp is NULL"); + } else if (disp->login==NULL) { + /* do nothing */ + + } else if (strcmp(login, disp->login) == 0) { + gdm_debug("login_what_display: (%s) is on vt %d", login, disp->vt); + return disp; + } + } + return NULL; + } + + #endif + + + /* EOF */ diff -C 3 -r daemon/gdm.h ../gdm-2.4.0.11NEWEST/daemon/gdm.h *** daemon/gdm.h Fri Aug 23 13:02:11 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.h Fri Sep 13 14:32:43 2002 *************** *** 151,156 **** --- 151,158 ---- #define GDM_KEY_UAUTHFILE "daemon/UserAuthFile=.Xauthority" #define GDM_KEY_USER "daemon/User=gdm" + #define GDM_KEY_MULTIPLE_DESKTOPS "daemon/MultipleDesktops=true" + /* This defaults to true for backward compatibility, * it will not actually do timed login since the TimedLogin defaults * to nothing */ *************** *** 623,628 **** --- 625,635 ---- * from a local display we started */ }; + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + GdmDisplay * find_available_greeter (void); + #endif + #endif /* GDM_H */ /* EOF */ diff -C 3 -r daemon/misc.c ../gdm-2.4.0.11NEWEST/daemon/misc.c *** daemon/misc.c Fri Aug 30 14:51:06 2002 --- ../gdm-2.4.0.11NEWEST/daemon/misc.c Fri Sep 13 14:16:09 2002 *************** *** 143,149 **** va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); --- 143,149 ---- va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); *************** *** 187,202 **** { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! * you wouldn't get it in the log. ??? */ g_free (s); } --- 187,202 ---- { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! /* you wouldn't get it in the log. ??? */ g_free (s); } diff -C 3 -r daemon/server.c ../gdm-2.4.0.11NEWEST/daemon/server.c *** daemon/server.c Fri Aug 30 15:18:51 2002 --- ../gdm-2.4.0.11NEWEST/daemon/server.c Fri Sep 13 14:16:09 2002 *************** *** 340,372 **** return FALSE; } static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; fp = fopen (logname, "r"); g_free (logname); ! ! if (fp == NULL) ! return FALSE; ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt; ! /* Note: this is probably XFree86 specific, and perhaps even ! * version 3 specific (I don't have xfree v4 to test this), ! * of course additions are welcome to make this more robust */ ! if (sscanf (buf, "(using VT number %d)", &vt) == 1) { fclose (fp); return vt; } } fclose (fp); return -1; } static void check_child_status (void) { --- 340,421 ---- return FALSE; } + /* Read a fp looking for vt info, returning it if necessary + * Add additional */ + static int + parse_vt (char *buf) { + + int vt; + + if ( (sscanf (buf, "(using VT number %d)", &vt) == 1) || + /* Note: this is probably XFree86 specific, and perhaps even + * version 3 specific (I don't have xfree v4 to test this), + * of course additions are welcome to make this more robust */ + /* I noticed it in 4.0 as well */ + (sscanf (buf, "Using vt %d", &vt) == 1) || + /* this is what works for some 4.2's... namely Mandrake 9.0 Beta 4 + * however, Redhat 7.2's 4.2 server doesn't put this info in the gdm info file */ + (sscanf (buf, "(--) using VT number %d", &vt) == 1) /* from 4.2 Xserver log */ + ) + return vt; + + else return -1; + + } + + /* Read the gdm log file looking for the vt, continuing to the XServer log if necessary + * Returns vt, or -1 on failure */ static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; + + char xserver_logfile[256]; + xserver_logfile[0]=0; fp = fopen (logname, "r"); g_free (logname); ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt=-1; ! ! sscanf (buf, "(==) Log file: \"%[^\"]\"", xserver_logfile); ! ! if ( (vt=parse_vt(buf))!=-1 ){ fclose (fp); + gdm_debug("display_vt: found vt=%d in gdm log", vt); return vt; } } fclose (fp); + + if (strlen (xserver_logfile)) { + /* we didn't find a vt listed in the gdm log, lets try the XServer log itself */ + gdm_debug("display_vt: continuing on to XServer log [%s]", xserver_logfile); + fp = fopen (xserver_logfile, "r"); + + if (fp == NULL) + return -1; + + while (fgets (buf, sizeof (buf), fp) != NULL) { + int vt=-1; + if ( (vt=parse_vt(buf))!=-1 ){ + fclose (fp); + gdm_debug("display_vt: found vt=%d in XServer log", vt); + return vt; + } + } + fclose (fp); + } + + gdm_debug("display_vt: unable to set the vt"); return -1; } + + static void check_child_status (void) { diff -C 3 -r daemon/slave.c ../gdm-2.4.0.11NEWEST/daemon/slave.c *** daemon/slave.c Fri Aug 30 14:53:43 2002 --- ../gdm-2.4.0.11NEWEST/daemon/slave.c Fri Sep 13 15:52:07 2002 *************** *** 63,68 **** --- 63,73 ---- #include "choose.h" #include "errorgui.h" + #ifdef __linux__ + #include + #include + #endif + /* Some per slave globals */ static GdmDisplay *d; static gchar *login = NULL; *************** *** 135,141 **** extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); --- 140,146 ---- extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! extern gboolean GdmMultipleDesktops; /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); *************** *** 162,167 **** --- 167,176 ---- static void create_temp_auth_file (void); static void set_xnest_parent_stuff (void); + #ifdef __linux__ + static int vt_switch (int switchto); + #endif + /* Yay thread unsafety */ static gboolean x_error_occured = FALSE; static gboolean gdm_got_ack = FALSE; *************** *** 249,258 **** --- 258,283 ---- time_t first_time; int death_count; struct sigaction alrm, term, child, usr2; + #ifdef __linux__ + GdmDisplay *tmp_disp = find_available_greeter (); + #endif if (!display) return; + #ifdef __linux__ + /* if display is xnest, and we have an available greeter just go there and kill this slave */ + if (GdmMultipleDesktops && + display->type == TYPE_FLEXI && tmp_disp != NULL) { + gdm_debug("gdm_slave_start: will not start new greeter. switching to %d.", tmp_disp->vt); + + if (vt_switch (tmp_disp->vt)) { + display->login=NULL; + return; + } + } else { gdm_debug("gdm_slave_start: no available greeter. starting new one of type [%d]", display->type ); } + #endif + gdm_debug ("gdm_slave_start: Starting slave process for %s", display->name); if (display->type == TYPE_XDMCP && GdmPingInterval > 0) { *************** *** 324,332 **** gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! /* remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; the_time = time (NULL); --- 349,376 ---- gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! ! #ifdef __linux__ ! if (display->type != TYPE_LOCAL && ! display->type != TYPE_FLEXI ) ! break; ! /* remote display always exits here */ ! ! /* we will continue if there are no other available greeters on other displays */ ! d=find_available_greeter(); ! if (GdmMultipleDesktops && display->type != TYPE_LOCAL && d != NULL && d->vt > 0 && d->vt != display->vt) { ! /* switch to that display then break out of here */ ! if ( vt_switch(d->vt) ) { ! gdm_debug("gdm_slave_start: another suitable greeter was found. exiting"); ! break; ! } ! } ! #else ! /* otherwise remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; + #endif + the_time = time (NULL); *************** *** 676,681 **** --- 720,728 ---- gdm_first_login = FALSE; do { + #ifdef __linux__ + GdmDisplay *disp; + #endif check_notifies_now (); if ( ! greet) { *************** *** 685,690 **** --- 732,742 ---- } gdm_slave_wait_for_login (); /* wait for a password */ + #ifdef __linux__ + disp=login_what_display(login); + if (disp==NULL) gdm_debug("disp is NULL"); + else gdm_debug("disp on %d", disp->vt); + #endif d->logged_in = TRUE; gdm_slave_send_num (GDM_SOP_LOGGED_IN, TRUE); *************** *** 697,703 **** ParsedTimedLogin); gdm_slave_session_start (); } ! } else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } --- 749,768 ---- ParsedTimedLogin); gdm_slave_session_start (); } ! } ! ! #ifdef __linux__ ! else if ( GdmMultipleDesktops && disp!=NULL && disp->vt>=0 && ! vt_switch(disp->vt) ){ ! /* this user is already logged in! (and has a valid vt we switched to) */ ! gdm_debug("found login for '%s' on vt=%d", ! login, disp->vt); ! gdm_slave_greeter_ctl_no_ret (GDM_ENABLE, ""); ! gdm_slave_greeter_ctl_no_ret (GDM_RESETOK, ""); ! } ! #endif ! /* fall through to normal login */ ! else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } *************** *** 3809,3812 **** --- 3874,3896 ---- return TRUE; } + + #ifdef __linux__ + /* switch to vt "switchto" + there is a linux utility "chvt", should that be used instead? */ + static int + vt_switch (int switchto) + { + int fd; + + fd = open("/dev/console", O_RDWR); + + if (ioctl(fd, VT_ACTIVATE, switchto)) { + gdm_error("vt_switch: unable to switch to vt %d", switchto); + return (0); + } + return 1; + } + #endif + /* EOF */ --uAKRQypu60I7Lcqm-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 26947 invoked from network); 13 Sep 2002 20:28:35 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:28:35 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKSDL07536 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:28:13 GMT Date: Fri, 13 Sep 2002 20:28:13 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Two more things Message-ID: <20020913202813.GB10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i you need to set the MultipleDesktops=true in the [daemon] section of gdm.conf and... this only works under linux as far as i know. -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org From newsletter@marinedigital.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 6073 invoked from network); 15 Sep 2002 15:51:23 -0000 Received: from unknown (HELO localhost) (61.32.165.61) by 192.168.38.195 with SMTP; 15 Sep 2002 15:51:23 -0000 Reply-To: newsletter@marinedigital.com From: Marine Digital Inc. To: gdm@sunsite.dk Subject: Maritime Newsletter (Week 37) Mime-Version: 1.0 Content-Type: text/html; charset="iso-8859-1" Date: Mon, 16 Sep 2002 00:49:56 +0900 MarineDigital Newsletter
SHIP S&P  l  NEW PRODUCT S&P  l  USED PRODUCT S&P  l  SPARE PART S&P  l  PARTNER ALLIANCE
WEEK 37
ISSUE 65, 12th  Sept. 2002
www.marinedigital.com

Subscribe the newsletter

Unsubscribe

     RELATED NEWSLETTERS

Ship S&P Newsletter
Used Products Newsletter
YOUR FREE POSTING
Sell Ship
Purchase Ship
  Post Newbuilding Inquiry
  Post Your Shipbuilder
Sell New Product
Purchase New Product
Sell Used Product
Purchase Used Product
Sell Inventories
Purchase Inventories
Sell Spare Part
Purchase Spare Part
Looking for Partner
Wanting your Partner
Ship Repair Inquiry
Join Repair Network
PANAMA Flag Registration
Ship Tracking System
:: YOUR BANNER ADVERTISEMENT(US$180) ::
                 
Send your Ads

        ::: Contact Point :::
Business Team,
Steve Kim
Tel : 82-2-966-6701
Fax : 82-2-966-6703

:: MARITIME NEWS ::
 1. Peter Dohle (Germany) re-ordered eleven Container carriers from Stocznia Szczecinska Nowa Shipyard (Poland), at worth of US$ 110 mill.
 2. Samsung Heavy Industries contracted six 4,100 TEU Container carriers with Hamburg Sud (Germany), at worth of US$ 45mill/ship.
 3. Hitachi Zosen (Japan) contracted a 200,000 DWT Ore carrier with Samos Steamship (Greece).
 4. MOL (Japan) ordered two 12,000 DWT Multi-purpose carriers from Shin Kurushima Dockyard.
 5. Formasa Plastics (Taiwan) ordered two VLCCs and two Cape Size Bulk carriers from Ishikawajima-Harima Heavy Industries(Japan).
 6. Teekay Shipping ordered six Aframax Tankers from Daewoo Shipbuilding and Marine Engineering (2) and Samsung Heavy Industries(2+2).
 7. Shanghai Waigaoqiao Shipbuilding is informally arranged to contract three 175,000 DWT Bulk carriers with American Ship-owner & Hong Kong Ship-owner.
 8. Kouan Shipyard contracted a 25,000 DWT Multi-purpose carrier with Pacific Carriers (Singapore), at worth of approx. US$ 14.5 mill.
 9. Leif Hoegh & Co and Mitsui OSK Lines(MOL) ordered a 145,000 CBM LNG carrier from Mitsubishi Haevy Industries, at worth of USD 190mill.
10. Shin Kurushima Dockyard contracted a 8,650 DWT Chemical Tanker with Xing Long Maritime.
11. Dalian Shipyard contracted two 45,000 DWT Product Oil carriers(IMO Type-II) with IMC (Singapore).
12. KMTC Line (Korea) ordered two 1,800 TEU Container carriers from Hanjin Heavy Industries (Korea).
13. Sido Shipping (Japan) ordered two 6,400 CARs Pure Car/Truck Carriers(PCTC) from Shin Kurushima Dockyard (Japan).
14. Sanoyas Shipbuilding (Japan) contracted two 75,000 DWT Bulk carriers with Orix Maritime(Japan).
15. CSG Group (China) ordered additionally a 110,000 DWT Aframax Tanker from Dalian New Shipbuilding and Heavy Industry (DNS, China).
16. Xiamen Shipbuilding contracted two 52,000 DWT Bulk carriers with Lemitec (Norway), at worth of US$18.5mill/ship.
17. Transpetro (Brazil) ordered two Panamax Tankers from Estaleiro Ilha (Eisa, Brazil).
18. Foremost Maritime ordered two(1+1) 175,000 DWT Cape Size Bulk carriers from Shanghai Waigaoqiao(SWS, China).
19. Chuneishi Shipyard (Japan) contracted two 52,000 DWT Bulk carriers with Portline (Portugal).
20. Austal Limited subsidiary, Austal Ships contracted a 86m Catamaran with Canadian Transportation Systems.
21. Nantong Cosco KHI Ship Engineering contracted a 55,000 DWT Bulk carrier with Setaf (France).
22 Keppel Corporation Limited has successfully penetrated the Middle East offshore market as a result of the integration of its offshore and marine businesses under its wholly owned subsidiary Keppel Offshore & Marine.
23. The 30million dwt class VLCC that was built in China for the first time and equipped with, the Korean Major Diesel Engine builder HSD¡¯s Engine, was delivered to NITC (Ship-owner) in Iran on 26th August.
24. The Export-Import Bank of China (Eximbank) is to extend buyers credit to foreign ship-owners in an effort to encourage them to opt to build at Chinese shipyards.

::: HOT SALE - Used Products for Shipyard ::: 

Crawler Crane (2000)
DEMAG / CC2800
Capacity : 600 Tons

Gantry Crane ('95)
HANSHIN / Dual
US$ 52,000 FOB Korea

TRANSPORTERS ('88)
SCHEUERLE / MPKIU110
US$104,900 FOB Korea)

BENDING PRESS ('98)
DONGJIN / DHP-600
US$ 59,800 FOB Korea

::: Company and Product Advertisement :::              Send your Ads

  << Surplus(Inventories) from Shipyard  >>
We, Marine Digital Co. Ltd (Korea) have following SURPLUS for SALE which are unused and Brand New . If you are interested in these products, please contact us. 
Contact Point : Steve Kim (Senior Manager of Business Team)
                         Tel : +82-2-966-6701     Fax : +82-2-966-6703
1. AL-Plates ('99)
   
-. 2000(W) x 8000(L) x 3t   --- 38 plates
-. 2000(W) x 8000(L) x 6t   --- 30 plates
-. 2000(W) x 6000(L) x 16t ---   1 plates
-. Profile :
AA5083-H321
2. AL-Angles ('99) -. 66 x 40 x 4t x 8m --- 55 angles
-. 80 x 50 x 5t x 8m --- 55 angles
-. Profile :
AA6082-T6
3. Elec. Cables ('99) -. IEC 60332-3A & IEC 60331 + HALOGEN FREE TYPE
-. SMOKE EMISSION : IEC 61034-2
-. Certificate : ABS

::: SERIOUS PURCHASE (Secondhand) :::

1. Rail Mounted Jib Crane
    -. Lifting Capacity : 20 ~ 40 Ton
    -. Electric or Diesel Powered
    -. For Shipyard            -. Q'ty : 2
2. Transporter
    -. Maker : KAMAG or SCHEUERLE
    -. Capacity : 150 and 500 ~ 700 Ton
    -. Q'ty : 5
3. Crawler Crane
    -. Maker : Kobelco
    -. Lifting Capacity : 300 ~ 350 Ton
    -. Boom : Over 60m    -. Q'ty : 1
4. Floating Crane
    -. Lifting Capacity : 3,000 ~ 5,000 Ton
    -. Boom Reach Height : Longer than 90M
    -. Auxiliary Crane to be fitted

Send News release to us   |

130-120, 7309 in KAIST 207-43, Cheongryangri-dong, Dondaemoon-gu, Seoul, Korea
webmaster@marinedigital.com           CEO, Terry Kim (terry@marinedigital.com)
Copyright (c) 2000 Marine Digital Inc. All rights reserved.
From jirka@zinc.5z.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 5458 invoked from network); 18 Sep 2002 17:31:11 -0000 Received: from zinc.5z.com (root@64.23.60.156) by 192.168.38.195 with SMTP; 18 Sep 2002 17:31:11 -0000 Received: (from jirka@localhost) by zinc.5z.com (8.11.6/8.11.6) id g8IHV8d30092; Wed, 18 Sep 2002 13:31:08 -0400 Date: Wed, 18 Sep 2002 13:31:08 -0400 From: George To: Ed Palmer Cc: gdm@sunsite.dk Subject: Re: Fast User Switching gdm patch Message-ID: <20020918133108.A30064@zinc.5z.com> References: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020913202034.GA10338@SDF.LONESTAR.ORG>; from ed@LONESTAR.ORG on Fri, Sep 13, 2002 at 08:20:35PM +0000 On Fri, Sep 13, 2002 at 08:20:35PM +0000, Ed Palmer wrote: > This patch to gdm emulates Windows XP's "Fast User Switching", which i > call "Multiple Desktops". Here's an example case: > user 1 logs in-> assigned to vt 7 > user 1 runs "gdmflexiserver", starts new xnest on vt 8 > user 2 logs in on vt 8 > user 2 runs "gdmflexiserver", starts new xnest on vt 9 > user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running > user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login > screen > > > I'd appreciate any feedback. The patch is against -11 from aug 30 > don't know about cvs. I really like this patch. I will take a longer look at it when I have more time for gdm hacking (busy with school currently). I think perhaps it should be done slightly differently though. I think the server on vt9 should be killed at the point when the user is switched. An X server takes up a lot of memory and all that. That will however require some fun race avoidance stuff with switching of the consoles, and there may be some flicker. Further we may want to build a switcher app which lists current logins and would allow to switch to one or run flexiserver. My current thought is that this app could replace flexiserver in the menu so that we only take up one entry in the menus but have more flexibility. George From apache@latife.doruk.net.tr Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13437 invoked from network); 5 Sep 2002 10:52:02 -0000 Received: from unknown (HELO latife.doruk.net.tr) (212.58.5.250) by 192.168.38.195 with SMTP; 5 Sep 2002 10:52:02 -0000 Received: (from apache@localhost) by latife.doruk.net.tr (8.11.6/8.11.6) id g85AfS314255; Thu, 5 Sep 2002 13:41:28 +0300 Date: Thu, 5 Sep 2002 13:41:28 +0300 Message-Id: <200209051041.g85AfS314255@latife.doruk.net.tr> To: gdm@sunsite.dk Subject: Shipping Sector meet at Free Website /// Company & Cargo & Ship ENTRY/SEARCH++ Many Shipping Tools From: info@steminorder.com Content-type: text/html; charset=iso-8859-9 New Page 1

 
This website is for FREE , pay only for advertisement "if you wish".
 
EVERYONE -Charterers, Agents, Brokers, Shipping Lines, Maritime Lawyers, Forwarders...Enter your company
details ONCE! and take place at Shipping Sector Index FOREVER! on "24 hours working Free Website"!

Then you will have below service for FREE:-
 
upto 200.000 Companies' full style
upto 60.000 Vessel Details
- HOT Cargo and Ship Positions
- Ships for Sale & Purchase
- Time Charter offer/requirement
- Regular Shipping Lines
- Laytime, Demurrage & Despatch Calculators
- Distance Table between 2910 Ports
- Voyage Estimation (Enter your vessels' details once only)
- Ports Information
- World Holiday Calendar
- Worldwide shipping activities
- Standard Forms and Templates
- Worldwide Weather Forecast
- Conversion Table
- World Times
- Abbreviations
- Dictionaries
- Ship Types, Informations & Pictures
- Walrus Symbols & Phonetics
- Currency Converter (At any date & any currency)
- Regions
- Live Trading Floor (Sell/Buy without paying commission, meet here!)
- Human Resources (Need staff or crew?, need occupation?enter details)
- Discussion Room (Lets chat and discuss on line)
- Many other useful links(On many major subjects related shipping)
- Your private notebook on this site will remind your dates & activities by e-mail and soon by SMS
- Soon WAP service will inform your cellular phone when cargo & vessel matches
 
>>>No commission from fixtures, search/find/contact members confidential<<<
 
Ask yourself :
Why should I use this website? IT IS VERY USEFUL AND FOR FREE!
Why should I suggest membership to EVERYONE? THEN WE ALL WILL MINIMIZE COSTS, PHONE CALLS, MANY MESSAGES AND TIME LOSS!!
 
PLEASE FORWARD "www.steminorder.com" TO INCREASE MUTUAL BENEFIT FOR FREE 
 
- stem in order, thanks for the fixture!

From gnomelists@xyrodian.net Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13568 invoked from network); 12 Sep 2002 01:22:48 -0000 Received: from h24-79-193-41.ed.shawcable.net (HELO mail.xyrodian.net) (24.79.193.41) by 192.168.38.195 with SMTP; 12 Sep 2002 01:22:48 -0000 Received: from localhost.localdomain (ncc-1701-e.starfleet.org [192.168.3.3]) by mail.xyrodian.net (Postfix) with ESMTP id 1CF6FD93B for ; Wed, 11 Sep 2002 19:22:18 -0600 (MDT) Subject: No echo password entry patch From: Gnome Lists To: GDM Mailing List Content-Type: multipart/mixed; boundary="=-CKpUrTxN4dxZWYnq7viw" X-Mailer: Ximian Evolution 1.0.8 Date: 11 Sep 2002 19:22:40 -0600 Message-Id: <1031793760.23773.5.camel@ncc-1701-e> Mime-Version: 1.0 --=-CKpUrTxN4dxZWYnq7viw Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello everyone, I could not find anything on no echo password entries in the gdm-help archives, so I assume that this has not been tried or discussed recently. Being paranoid, I patched the latest cvs to support this. I am unsure of how to do the translations for gdmsetup correctly, but everything else should work. I am also unfamiliar with procedure for posting patches, so if I have done anything wrong, please tell me. The patch adds a UseSecureEntry option to gdm.conf.in and a corresponding checkbox in gdmsetup. If set to true, all password entry fields should have no echo. This was patched and tested against cvs gdm2 @ Thu Sep 12 01:21:06 UTC 2002. It also works against gdm-2.4.0.11. Use the standard 'cat gdm-cvs-1031793673+noecho.diff | patch -p0'. - Nathanael Law --=-CKpUrTxN4dxZWYnq7viw Content-Description: Content-Disposition: attachment; filename=gdm-cvs-1031793673+noecho.diff Content-Transfer-Encoding: quoted-printable Content-Type: text/x-patch; charset=UTF-8 diff -r -C 3 ./config/gdm.conf.in ../gdm2.patched/config/gdm.conf.in *** ./config/gdm.conf.in Fri Aug 23 11:59:57 2002 --- ../gdm2.patched/config/gdm.conf.in Wed Sep 11 18:54:17 2002 *************** *** 230,235 **** --- 230,237 ---- Use24Clock=3Dfalse # Use circles in the password field. Looks kind of cool actually UseCirclesInEntry=3Dfalse + # Set no echo for password fields. If true, it takes precedence over cir= cles + UseSecureEntry=3Dfalse # These two keys are for the new greeter. Circles is the standard # shipped theme GraphicalTheme=3Dcircles diff -r -C 3 ./daemon/gdm.h ../gdm2.patched/daemon/gdm.h *** ./daemon/gdm.h Fri Aug 23 11:59:58 2002 --- ../gdm2.patched/daemon/gdm.h Wed Sep 11 18:54:17 2002 *************** *** 228,233 **** --- 228,234 ---- #define GDM_KEY_POSITIONY "greeter/PositionY=3D0" #define GDM_KEY_USE_24_CLOCK "greeter/Use24Clock=3Dfalse" #define GDM_KEY_ENTRY_CIRCLES "greeter/UseCirclesInEntry=3Dfalse" + #define GDM_KEY_ENTRY_SECURE "greeter/UseSecureEntry=3Dfalse" #define GDM_KEY_GRAPHICAL_THEME "greeter/GraphicalTheme=3Dcircles" #define GDM_KEY_GRAPHICAL_THEME_DIR "greeter/GraphicalThemeDir=3D" EXPAND= ED_DATADIR "/gdm/themes/" =20 diff -r -C 3 ./gui/gdmlogin.c ../gdm2.patched/gui/gdmlogin.c *** ./gui/gdmlogin.c Fri Aug 23 11:59:59 2002 --- ../gdm2.patched/gui/gdmlogin.c Wed Sep 11 18:54:17 2002 *************** *** 135,140 **** --- 135,141 ---- static gboolean GdmShowLastSession; =20 static gboolean GdmUseCirclesInEntry; + static gboolean GdmSecureEntry; =20 static GtkWidget *login; static GtkWidget *logo_frame =3D NULL; *************** *** 889,894 **** --- 890,896 ---- GdmIconMaxHeight =3D ve_config_get_int (config, GDM_KEY_ICONHEIGHT); GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); GdmLockPosition =3D ve_config_get_bool (config, GDM_KEY_LOCK_POSITION= ); GdmSetPosition =3D ve_config_get_bool (config, GDM_KEY_SET_POSITION); GdmPositionX =3D ve_config_get_int (config, GDM_KEY_POSITIONX); *************** *** 3289,3294 **** --- 3291,3298 ---- entry =3D gtk_entry_new (); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); gtk_entry_set_max_length (GTK_ENTRY (entry), 32); gtk_widget_set_size_request (entry, 250, -1); gtk_widget_ref (entry); diff -r -C 3 ./gui/gdmsetup-strings.c ../gdm2.patched/gui/gdmsetup-strings.= c *** ./gui/gdmsetup-strings.c Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup-strings.c Wed Sep 11 18:54:17 2002 *************** *** 51,56 **** --- 51,57 ---- gchar *s =3D N_("copyright"); gchar *s =3D N_("_Install new theme"); gchar *s =3D N_("Graphical greeter"); + gchar *s =3D N_("Enable no echo for _password entry"); gchar *s =3D N_("Allow _root to login with GDM"); gchar *s =3D N_("Allow root to login r_emotely with GDM"); gchar *s =3D N_("Allow remote _timed logins"); diff -r -C 3 ./gui/gdmsetup.c ../gdm2.patched/gui/gdmsetup.c *** ./gui/gdmsetup.c Mon Aug 19 17:41:34 2002 --- ../gdm2.patched/gui/gdmsetup.c Wed Sep 11 18:54:17 2002 *************** *** 1813,1818 **** --- 1813,1821 ---- GDM_KEY_TIMED_LOGIN_ENABLE, NULL /* notify_key */); =20 + setup_notify_toggle ("secureentry", + GDM_KEY_ENTRY_SECURE, + GDM_KEY_ENTRY_SECURE /* notify_key */); setup_notify_toggle ("allowroot", GDM_KEY_ALLOWROOT, GDM_KEY_ALLOWROOT /* notify_key */); diff -r -C 3 ./gui/gdmsetup.glade ../gdm2.patched/gui/gdmsetup.glade *** ./gui/gdmsetup.glade Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup.glade Wed Sep 11 18:54:17 2002 *************** *** 1460,1465 **** --- 1460,1483 ---- False 4 =20 + + + True + True + Enable no echo for = _password entry + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + +=20 True diff -r -C 3 ./gui/greeter/greeter.c ../gdm2.patched/gui/greeter/greeter.c *** ./gui/greeter/greeter.c Fri Aug 23 12:00:00 2002 --- ../gdm2.patched/gui/greeter/greeter.c Wed Sep 11 18:54:17 2002 *************** *** 55,60 **** --- 55,61 ---- gint GdmTimedLoginDelay; =20 gboolean GdmUseCirclesInEntry =3D FALSE; + gboolean GdmSecureEntry =3D FALSE; =20 static gboolean used_defaults =3D FALSE; gint greeter_current_delay =3D 0; *************** *** 92,97 **** --- 93,99 ---- } GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); =20 GdmShowXtermFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_XTERM_FAILSAFE); GdmShowGnomeFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_GNOME_FAILSAFE); *************** *** 827,832 **** --- 829,837 ---- GdmUseCirclesInEntry, GDM_KEY_ENTRY_CIRCLES) || ! bool_same (config, + GdmSecureEntry, + GDM_KEY_ENTRY_SECURE) || + ! bool_same (config, GdmShowXtermFailsafeSession, GDM_KEY_SHOW_XTERM_FAILSAFE) || ! bool_same (config, diff -r -C 3 ./gui/greeter/greeter_canvas_item.c ../gdm2.patched/gui/greete= r/greeter_canvas_item.c *** ./gui/greeter/greeter_canvas_item.c Wed Aug 14 13:10:50 2002 --- ../gdm2.patched/gui/greeter/greeter_canvas_item.c Wed Sep 11 18:54:17 2= 002 *************** *** 294,299 **** --- 294,301 ---- gtk_entry_set_has_frame (GTK_ENTRY (entry), FALSE); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); =20 if (item->id !=3D NULL && strcmp (item->id, "user-pw-entry") =3D=3D 0= ) { /* HACK! Add a menubar, this is kind of evil isn't it */ diff -r -C 3 ./gui/greeter/greeter_configuration.h ../gdm2.patched/gui/gree= ter/greeter_configuration.h *** ./gui/greeter/greeter_configuration.h Thu Jul 11 11:42:26 2002 --- ../gdm2.patched/gui/greeter/greeter_configuration.h Wed Sep 11 18:54:17= 2002 *************** *** 1,5 **** --- 1,6 ---- =20 extern gboolean GdmUseCirclesInEntry; + extern gboolean GdmSecureEntry; extern gboolean GdmShowGnomeChooserSession; extern gboolean GdmShowGnomeFailsafeSession; extern gboolean GdmShowXtermFailsafeSession; --=-CKpUrTxN4dxZWYnq7viw-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 25774 invoked from network); 13 Sep 2002 20:20:56 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:20:56 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKKZM29704 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:20:35 GMT Date: Fri, 13 Sep 2002 20:20:35 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Fast User Switching gdm patch Message-ID: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline User-Agent: Mutt/1.4i --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This patch to gdm emulates Windows XP's "Fast User Switching", which i call "Multiple Desktops". Here's an example case: user 1 logs in-> assigned to vt 7 user 1 runs "gdmflexiserver", starts new xnest on vt 8 user 2 logs in on vt 8 user 2 runs "gdmflexiserver", starts new xnest on vt 9 user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login screen I'd appreciate any feedback. The patch is against -11 from aug 30 don't know about cvs. cat FastUserSwitching.diff | patch -p0 from the gdm-...-11 directory you want to patch... -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="FastUserSwitching.diff" diff -C 3 -r daemon/gdm.c ../gdm-2.4.0.11NEWEST/daemon/gdm.c *** daemon/gdm.c Tue Aug 27 21:03:35 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.c Fri Sep 13 15:49:56 2002 *************** *** 64,69 **** --- 64,74 ---- static void gdm_safe_restart (void); static void gdm_restart_now (void); + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + #endif + + /* Global vars */ GSList *displays = NULL; /* List of displays managed */ GSList *xservers = NULL; /* List of x server definitions */ *************** *** 161,167 **** gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! /* set in the main function */ char **stored_argv = NULL; --- 166,172 ---- gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! gboolean GdmMultipleDesktops = TRUE; /* set in the main function */ char **stored_argv = NULL; *************** *** 315,320 **** --- 320,328 ---- GdmVTAllocation = gnome_config_get_bool (GDM_KEY_VTALLOCATION); GdmDebug = gnome_config_get_bool (GDM_KEY_DEBUG); + + GdmMultipleDesktops = gnome_config_get_bool (GDM_KEY_MULTIPLE_DESKTOPS); + gnome_config_pop_prefix(); *************** *** 2765,2768 **** --- 2773,2830 ---- } } + + + #ifdef __linux__ + /* returns + GdmDisplay * pointing to a display with a currently running greeter + or NULL + */ + GdmDisplay * + find_available_greeter () + { + GSList *li; + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp == NULL) + gdm_error("find_avialable_greeter: null display in displays list"); + if ( ( disp->login == NULL || !strlen(disp->login) ) + && disp->vt > 0 ) + return disp; + } + + return NULL; + } + + /* what display is this login logged in on (if any) else NULL */ + GdmDisplay * + login_what_display (char *login) + { + GSList *li; + + if (login==NULL) { + gdm_error("login_what_display: attempted to pass null login"); + return NULL; + } + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp==NULL) { + gdm_debug("login_what_display: disp is NULL"); + } else if (disp->login==NULL) { + /* do nothing */ + + } else if (strcmp(login, disp->login) == 0) { + gdm_debug("login_what_display: (%s) is on vt %d", login, disp->vt); + return disp; + } + } + return NULL; + } + + #endif + + + /* EOF */ diff -C 3 -r daemon/gdm.h ../gdm-2.4.0.11NEWEST/daemon/gdm.h *** daemon/gdm.h Fri Aug 23 13:02:11 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.h Fri Sep 13 14:32:43 2002 *************** *** 151,156 **** --- 151,158 ---- #define GDM_KEY_UAUTHFILE "daemon/UserAuthFile=.Xauthority" #define GDM_KEY_USER "daemon/User=gdm" + #define GDM_KEY_MULTIPLE_DESKTOPS "daemon/MultipleDesktops=true" + /* This defaults to true for backward compatibility, * it will not actually do timed login since the TimedLogin defaults * to nothing */ *************** *** 623,628 **** --- 625,635 ---- * from a local display we started */ }; + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + GdmDisplay * find_available_greeter (void); + #endif + #endif /* GDM_H */ /* EOF */ diff -C 3 -r daemon/misc.c ../gdm-2.4.0.11NEWEST/daemon/misc.c *** daemon/misc.c Fri Aug 30 14:51:06 2002 --- ../gdm-2.4.0.11NEWEST/daemon/misc.c Fri Sep 13 14:16:09 2002 *************** *** 143,149 **** va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); --- 143,149 ---- va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); *************** *** 187,202 **** { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! * you wouldn't get it in the log. ??? */ g_free (s); } --- 187,202 ---- { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! /* you wouldn't get it in the log. ??? */ g_free (s); } diff -C 3 -r daemon/server.c ../gdm-2.4.0.11NEWEST/daemon/server.c *** daemon/server.c Fri Aug 30 15:18:51 2002 --- ../gdm-2.4.0.11NEWEST/daemon/server.c Fri Sep 13 14:16:09 2002 *************** *** 340,372 **** return FALSE; } static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; fp = fopen (logname, "r"); g_free (logname); ! ! if (fp == NULL) ! return FALSE; ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt; ! /* Note: this is probably XFree86 specific, and perhaps even ! * version 3 specific (I don't have xfree v4 to test this), ! * of course additions are welcome to make this more robust */ ! if (sscanf (buf, "(using VT number %d)", &vt) == 1) { fclose (fp); return vt; } } fclose (fp); return -1; } static void check_child_status (void) { --- 340,421 ---- return FALSE; } + /* Read a fp looking for vt info, returning it if necessary + * Add additional */ + static int + parse_vt (char *buf) { + + int vt; + + if ( (sscanf (buf, "(using VT number %d)", &vt) == 1) || + /* Note: this is probably XFree86 specific, and perhaps even + * version 3 specific (I don't have xfree v4 to test this), + * of course additions are welcome to make this more robust */ + /* I noticed it in 4.0 as well */ + (sscanf (buf, "Using vt %d", &vt) == 1) || + /* this is what works for some 4.2's... namely Mandrake 9.0 Beta 4 + * however, Redhat 7.2's 4.2 server doesn't put this info in the gdm info file */ + (sscanf (buf, "(--) using VT number %d", &vt) == 1) /* from 4.2 Xserver log */ + ) + return vt; + + else return -1; + + } + + /* Read the gdm log file looking for the vt, continuing to the XServer log if necessary + * Returns vt, or -1 on failure */ static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; + + char xserver_logfile[256]; + xserver_logfile[0]=0; fp = fopen (logname, "r"); g_free (logname); ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt=-1; ! ! sscanf (buf, "(==) Log file: \"%[^\"]\"", xserver_logfile); ! ! if ( (vt=parse_vt(buf))!=-1 ){ fclose (fp); + gdm_debug("display_vt: found vt=%d in gdm log", vt); return vt; } } fclose (fp); + + if (strlen (xserver_logfile)) { + /* we didn't find a vt listed in the gdm log, lets try the XServer log itself */ + gdm_debug("display_vt: continuing on to XServer log [%s]", xserver_logfile); + fp = fopen (xserver_logfile, "r"); + + if (fp == NULL) + return -1; + + while (fgets (buf, sizeof (buf), fp) != NULL) { + int vt=-1; + if ( (vt=parse_vt(buf))!=-1 ){ + fclose (fp); + gdm_debug("display_vt: found vt=%d in XServer log", vt); + return vt; + } + } + fclose (fp); + } + + gdm_debug("display_vt: unable to set the vt"); return -1; } + + static void check_child_status (void) { diff -C 3 -r daemon/slave.c ../gdm-2.4.0.11NEWEST/daemon/slave.c *** daemon/slave.c Fri Aug 30 14:53:43 2002 --- ../gdm-2.4.0.11NEWEST/daemon/slave.c Fri Sep 13 15:52:07 2002 *************** *** 63,68 **** --- 63,73 ---- #include "choose.h" #include "errorgui.h" + #ifdef __linux__ + #include + #include + #endif + /* Some per slave globals */ static GdmDisplay *d; static gchar *login = NULL; *************** *** 135,141 **** extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); --- 140,146 ---- extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! extern gboolean GdmMultipleDesktops; /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); *************** *** 162,167 **** --- 167,176 ---- static void create_temp_auth_file (void); static void set_xnest_parent_stuff (void); + #ifdef __linux__ + static int vt_switch (int switchto); + #endif + /* Yay thread unsafety */ static gboolean x_error_occured = FALSE; static gboolean gdm_got_ack = FALSE; *************** *** 249,258 **** --- 258,283 ---- time_t first_time; int death_count; struct sigaction alrm, term, child, usr2; + #ifdef __linux__ + GdmDisplay *tmp_disp = find_available_greeter (); + #endif if (!display) return; + #ifdef __linux__ + /* if display is xnest, and we have an available greeter just go there and kill this slave */ + if (GdmMultipleDesktops && + display->type == TYPE_FLEXI && tmp_disp != NULL) { + gdm_debug("gdm_slave_start: will not start new greeter. switching to %d.", tmp_disp->vt); + + if (vt_switch (tmp_disp->vt)) { + display->login=NULL; + return; + } + } else { gdm_debug("gdm_slave_start: no available greeter. starting new one of type [%d]", display->type ); } + #endif + gdm_debug ("gdm_slave_start: Starting slave process for %s", display->name); if (display->type == TYPE_XDMCP && GdmPingInterval > 0) { *************** *** 324,332 **** gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! /* remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; the_time = time (NULL); --- 349,376 ---- gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! ! #ifdef __linux__ ! if (display->type != TYPE_LOCAL && ! display->type != TYPE_FLEXI ) ! break; ! /* remote display always exits here */ ! ! /* we will continue if there are no other available greeters on other displays */ ! d=find_available_greeter(); ! if (GdmMultipleDesktops && display->type != TYPE_LOCAL && d != NULL && d->vt > 0 && d->vt != display->vt) { ! /* switch to that display then break out of here */ ! if ( vt_switch(d->vt) ) { ! gdm_debug("gdm_slave_start: another suitable greeter was found. exiting"); ! break; ! } ! } ! #else ! /* otherwise remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; + #endif + the_time = time (NULL); *************** *** 676,681 **** --- 720,728 ---- gdm_first_login = FALSE; do { + #ifdef __linux__ + GdmDisplay *disp; + #endif check_notifies_now (); if ( ! greet) { *************** *** 685,690 **** --- 732,742 ---- } gdm_slave_wait_for_login (); /* wait for a password */ + #ifdef __linux__ + disp=login_what_display(login); + if (disp==NULL) gdm_debug("disp is NULL"); + else gdm_debug("disp on %d", disp->vt); + #endif d->logged_in = TRUE; gdm_slave_send_num (GDM_SOP_LOGGED_IN, TRUE); *************** *** 697,703 **** ParsedTimedLogin); gdm_slave_session_start (); } ! } else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } --- 749,768 ---- ParsedTimedLogin); gdm_slave_session_start (); } ! } ! ! #ifdef __linux__ ! else if ( GdmMultipleDesktops && disp!=NULL && disp->vt>=0 && ! vt_switch(disp->vt) ){ ! /* this user is already logged in! (and has a valid vt we switched to) */ ! gdm_debug("found login for '%s' on vt=%d", ! login, disp->vt); ! gdm_slave_greeter_ctl_no_ret (GDM_ENABLE, ""); ! gdm_slave_greeter_ctl_no_ret (GDM_RESETOK, ""); ! } ! #endif ! /* fall through to normal login */ ! else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } *************** *** 3809,3812 **** --- 3874,3896 ---- return TRUE; } + + #ifdef __linux__ + /* switch to vt "switchto" + there is a linux utility "chvt", should that be used instead? */ + static int + vt_switch (int switchto) + { + int fd; + + fd = open("/dev/console", O_RDWR); + + if (ioctl(fd, VT_ACTIVATE, switchto)) { + gdm_error("vt_switch: unable to switch to vt %d", switchto); + return (0); + } + return 1; + } + #endif + /* EOF */ --uAKRQypu60I7Lcqm-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 26947 invoked from network); 13 Sep 2002 20:28:35 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:28:35 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKSDL07536 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:28:13 GMT Date: Fri, 13 Sep 2002 20:28:13 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Two more things Message-ID: <20020913202813.GB10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i you need to set the MultipleDesktops=true in the [daemon] section of gdm.conf and... this only works under linux as far as i know. -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org From newsletter@marinedigital.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 6073 invoked from network); 15 Sep 2002 15:51:23 -0000 Received: from unknown (HELO localhost) (61.32.165.61) by 192.168.38.195 with SMTP; 15 Sep 2002 15:51:23 -0000 Reply-To: newsletter@marinedigital.com From: Marine Digital Inc. To: gdm@sunsite.dk Subject: Maritime Newsletter (Week 37) Mime-Version: 1.0 Content-Type: text/html; charset="iso-8859-1" Date: Mon, 16 Sep 2002 00:49:56 +0900 MarineDigital Newsletter
SHIP S&P  l  NEW PRODUCT S&P  l  USED PRODUCT S&P  l  SPARE PART S&P  l  PARTNER ALLIANCE
WEEK 37
ISSUE 65, 12th  Sept. 2002
www.marinedigital.com

Subscribe the newsletter

Unsubscribe

     RELATED NEWSLETTERS

Ship S&P Newsletter
Used Products Newsletter
YOUR FREE POSTING
Sell Ship
Purchase Ship
  Post Newbuilding Inquiry
  Post Your Shipbuilder
Sell New Product
Purchase New Product
Sell Used Product
Purchase Used Product
Sell Inventories
Purchase Inventories
Sell Spare Part
Purchase Spare Part
Looking for Partner
Wanting your Partner
Ship Repair Inquiry
Join Repair Network
PANAMA Flag Registration
Ship Tracking System
:: YOUR BANNER ADVERTISEMENT(US$180) ::
                 
Send your Ads

        ::: Contact Point :::
Business Team,
Steve Kim
Tel : 82-2-966-6701
Fax : 82-2-966-6703

:: MARITIME NEWS ::
 1. Peter Dohle (Germany) re-ordered eleven Container carriers from Stocznia Szczecinska Nowa Shipyard (Poland), at worth of US$ 110 mill.
 2. Samsung Heavy Industries contracted six 4,100 TEU Container carriers with Hamburg Sud (Germany), at worth of US$ 45mill/ship.
 3. Hitachi Zosen (Japan) contracted a 200,000 DWT Ore carrier with Samos Steamship (Greece).
 4. MOL (Japan) ordered two 12,000 DWT Multi-purpose carriers from Shin Kurushima Dockyard.
 5. Formasa Plastics (Taiwan) ordered two VLCCs and two Cape Size Bulk carriers from Ishikawajima-Harima Heavy Industries(Japan).
 6. Teekay Shipping ordered six Aframax Tankers from Daewoo Shipbuilding and Marine Engineering (2) and Samsung Heavy Industries(2+2).
 7. Shanghai Waigaoqiao Shipbuilding is informally arranged to contract three 175,000 DWT Bulk carriers with American Ship-owner & Hong Kong Ship-owner.
 8. Kouan Shipyard contracted a 25,000 DWT Multi-purpose carrier with Pacific Carriers (Singapore), at worth of approx. US$ 14.5 mill.
 9. Leif Hoegh & Co and Mitsui OSK Lines(MOL) ordered a 145,000 CBM LNG carrier from Mitsubishi Haevy Industries, at worth of USD 190mill.
10. Shin Kurushima Dockyard contracted a 8,650 DWT Chemical Tanker with Xing Long Maritime.
11. Dalian Shipyard contracted two 45,000 DWT Product Oil carriers(IMO Type-II) with IMC (Singapore).
12. KMTC Line (Korea) ordered two 1,800 TEU Container carriers from Hanjin Heavy Industries (Korea).
13. Sido Shipping (Japan) ordered two 6,400 CARs Pure Car/Truck Carriers(PCTC) from Shin Kurushima Dockyard (Japan).
14. Sanoyas Shipbuilding (Japan) contracted two 75,000 DWT Bulk carriers with Orix Maritime(Japan).
15. CSG Group (China) ordered additionally a 110,000 DWT Aframax Tanker from Dalian New Shipbuilding and Heavy Industry (DNS, China).
16. Xiamen Shipbuilding contracted two 52,000 DWT Bulk carriers with Lemitec (Norway), at worth of US$18.5mill/ship.
17. Transpetro (Brazil) ordered two Panamax Tankers from Estaleiro Ilha (Eisa, Brazil).
18. Foremost Maritime ordered two(1+1) 175,000 DWT Cape Size Bulk carriers from Shanghai Waigaoqiao(SWS, China).
19. Chuneishi Shipyard (Japan) contracted two 52,000 DWT Bulk carriers with Portline (Portugal).
20. Austal Limited subsidiary, Austal Ships contracted a 86m Catamaran with Canadian Transportation Systems.
21. Nantong Cosco KHI Ship Engineering contracted a 55,000 DWT Bulk carrier with Setaf (France).
22 Keppel Corporation Limited has successfully penetrated the Middle East offshore market as a result of the integration of its offshore and marine businesses under its wholly owned subsidiary Keppel Offshore & Marine.
23. The 30million dwt class VLCC that was built in China for the first time and equipped with, the Korean Major Diesel Engine builder HSD¡¯s Engine, was delivered to NITC (Ship-owner) in Iran on 26th August.
24. The Export-Import Bank of China (Eximbank) is to extend buyers credit to foreign ship-owners in an effort to encourage them to opt to build at Chinese shipyards.

::: HOT SALE - Used Products for Shipyard ::: 

Crawler Crane (2000)
DEMAG / CC2800
Capacity : 600 Tons

Gantry Crane ('95)
HANSHIN / Dual
US$ 52,000 FOB Korea

TRANSPORTERS ('88)
SCHEUERLE / MPKIU110
US$104,900 FOB Korea)

BENDING PRESS ('98)
DONGJIN / DHP-600
US$ 59,800 FOB Korea

::: Company and Product Advertisement :::              Send your Ads

  << Surplus(Inventories) from Shipyard  >>
We, Marine Digital Co. Ltd (Korea) have following SURPLUS for SALE which are unused and Brand New . If you are interested in these products, please contact us. 
Contact Point : Steve Kim (Senior Manager of Business Team)
                         Tel : +82-2-966-6701     Fax : +82-2-966-6703
1. AL-Plates ('99)
   
-. 2000(W) x 8000(L) x 3t   --- 38 plates
-. 2000(W) x 8000(L) x 6t   --- 30 plates
-. 2000(W) x 6000(L) x 16t ---   1 plates
-. Profile :
AA5083-H321
2. AL-Angles ('99) -. 66 x 40 x 4t x 8m --- 55 angles
-. 80 x 50 x 5t x 8m --- 55 angles
-. Profile :
AA6082-T6
3. Elec. Cables ('99) -. IEC 60332-3A & IEC 60331 + HALOGEN FREE TYPE
-. SMOKE EMISSION : IEC 61034-2
-. Certificate : ABS

::: SERIOUS PURCHASE (Secondhand) :::

1. Rail Mounted Jib Crane
    -. Lifting Capacity : 20 ~ 40 Ton
    -. Electric or Diesel Powered
    -. For Shipyard            -. Q'ty : 2
2. Transporter
    -. Maker : KAMAG or SCHEUERLE
    -. Capacity : 150 and 500 ~ 700 Ton
    -. Q'ty : 5
3. Crawler Crane
    -. Maker : Kobelco
    -. Lifting Capacity : 300 ~ 350 Ton
    -. Boom : Over 60m    -. Q'ty : 1
4. Floating Crane
    -. Lifting Capacity : 3,000 ~ 5,000 Ton
    -. Boom Reach Height : Longer than 90M
    -. Auxiliary Crane to be fitted

Send News release to us   |

130-120, 7309 in KAIST 207-43, Cheongryangri-dong, Dondaemoon-gu, Seoul, Korea
webmaster@marinedigital.com           CEO, Terry Kim (terry@marinedigital.com)
Copyright (c) 2000 Marine Digital Inc. All rights reserved.
From jirka@zinc.5z.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 5458 invoked from network); 18 Sep 2002 17:31:11 -0000 Received: from zinc.5z.com (root@64.23.60.156) by 192.168.38.195 with SMTP; 18 Sep 2002 17:31:11 -0000 Received: (from jirka@localhost) by zinc.5z.com (8.11.6/8.11.6) id g8IHV8d30092; Wed, 18 Sep 2002 13:31:08 -0400 Date: Wed, 18 Sep 2002 13:31:08 -0400 From: George To: Ed Palmer Cc: gdm@sunsite.dk Subject: Re: Fast User Switching gdm patch Message-ID: <20020918133108.A30064@zinc.5z.com> References: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020913202034.GA10338@SDF.LONESTAR.ORG>; from ed@LONESTAR.ORG on Fri, Sep 13, 2002 at 08:20:35PM +0000 On Fri, Sep 13, 2002 at 08:20:35PM +0000, Ed Palmer wrote: > This patch to gdm emulates Windows XP's "Fast User Switching", which i > call "Multiple Desktops". Here's an example case: > user 1 logs in-> assigned to vt 7 > user 1 runs "gdmflexiserver", starts new xnest on vt 8 > user 2 logs in on vt 8 > user 2 runs "gdmflexiserver", starts new xnest on vt 9 > user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running > user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login > screen > > > I'd appreciate any feedback. The patch is against -11 from aug 30 > don't know about cvs. I really like this patch. I will take a longer look at it when I have more time for gdm hacking (busy with school currently). I think perhaps it should be done slightly differently though. I think the server on vt9 should be killed at the point when the user is switched. An X server takes up a lot of memory and all that. That will however require some fun race avoidance stuff with switching of the consoles, and there may be some flicker. Further we may want to build a switcher app which lists current logins and would allow to switch to one or run flexiserver. My current thought is that this app could replace flexiserver in the menu so that we only take up one entry in the menus but have more flexibility. George From apache@latife.doruk.net.tr Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13437 invoked from network); 5 Sep 2002 10:52:02 -0000 Received: from unknown (HELO latife.doruk.net.tr) (212.58.5.250) by 192.168.38.195 with SMTP; 5 Sep 2002 10:52:02 -0000 Received: (from apache@localhost) by latife.doruk.net.tr (8.11.6/8.11.6) id g85AfS314255; Thu, 5 Sep 2002 13:41:28 +0300 Date: Thu, 5 Sep 2002 13:41:28 +0300 Message-Id: <200209051041.g85AfS314255@latife.doruk.net.tr> To: gdm@sunsite.dk Subject: Shipping Sector meet at Free Website /// Company & Cargo & Ship ENTRY/SEARCH++ Many Shipping Tools From: info@steminorder.com Content-type: text/html; charset=iso-8859-9 New Page 1

 
This website is for FREE , pay only for advertisement "if you wish".
 
EVERYONE -Charterers, Agents, Brokers, Shipping Lines, Maritime Lawyers, Forwarders...Enter your company
details ONCE! and take place at Shipping Sector Index FOREVER! on "24 hours working Free Website"!

Then you will have below service for FREE:-
 
upto 200.000 Companies' full style
upto 60.000 Vessel Details
- HOT Cargo and Ship Positions
- Ships for Sale & Purchase
- Time Charter offer/requirement
- Regular Shipping Lines
- Laytime, Demurrage & Despatch Calculators
- Distance Table between 2910 Ports
- Voyage Estimation (Enter your vessels' details once only)
- Ports Information
- World Holiday Calendar
- Worldwide shipping activities
- Standard Forms and Templates
- Worldwide Weather Forecast
- Conversion Table
- World Times
- Abbreviations
- Dictionaries
- Ship Types, Informations & Pictures
- Walrus Symbols & Phonetics
- Currency Converter (At any date & any currency)
- Regions
- Live Trading Floor (Sell/Buy without paying commission, meet here!)
- Human Resources (Need staff or crew?, need occupation?enter details)
- Discussion Room (Lets chat and discuss on line)
- Many other useful links(On many major subjects related shipping)
- Your private notebook on this site will remind your dates & activities by e-mail and soon by SMS
- Soon WAP service will inform your cellular phone when cargo & vessel matches
 
>>>No commission from fixtures, search/find/contact members confidential<<<
 
Ask yourself :
Why should I use this website? IT IS VERY USEFUL AND FOR FREE!
Why should I suggest membership to EVERYONE? THEN WE ALL WILL MINIMIZE COSTS, PHONE CALLS, MANY MESSAGES AND TIME LOSS!!
 
PLEASE FORWARD "www.steminorder.com" TO INCREASE MUTUAL BENEFIT FOR FREE 
 
- stem in order, thanks for the fixture!

From gnomelists@xyrodian.net Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 13568 invoked from network); 12 Sep 2002 01:22:48 -0000 Received: from h24-79-193-41.ed.shawcable.net (HELO mail.xyrodian.net) (24.79.193.41) by 192.168.38.195 with SMTP; 12 Sep 2002 01:22:48 -0000 Received: from localhost.localdomain (ncc-1701-e.starfleet.org [192.168.3.3]) by mail.xyrodian.net (Postfix) with ESMTP id 1CF6FD93B for ; Wed, 11 Sep 2002 19:22:18 -0600 (MDT) Subject: No echo password entry patch From: Gnome Lists To: GDM Mailing List Content-Type: multipart/mixed; boundary="=-CKpUrTxN4dxZWYnq7viw" X-Mailer: Ximian Evolution 1.0.8 Date: 11 Sep 2002 19:22:40 -0600 Message-Id: <1031793760.23773.5.camel@ncc-1701-e> Mime-Version: 1.0 --=-CKpUrTxN4dxZWYnq7viw Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello everyone, I could not find anything on no echo password entries in the gdm-help archives, so I assume that this has not been tried or discussed recently. Being paranoid, I patched the latest cvs to support this. I am unsure of how to do the translations for gdmsetup correctly, but everything else should work. I am also unfamiliar with procedure for posting patches, so if I have done anything wrong, please tell me. The patch adds a UseSecureEntry option to gdm.conf.in and a corresponding checkbox in gdmsetup. If set to true, all password entry fields should have no echo. This was patched and tested against cvs gdm2 @ Thu Sep 12 01:21:06 UTC 2002. It also works against gdm-2.4.0.11. Use the standard 'cat gdm-cvs-1031793673+noecho.diff | patch -p0'. - Nathanael Law --=-CKpUrTxN4dxZWYnq7viw Content-Description: Content-Disposition: attachment; filename=gdm-cvs-1031793673+noecho.diff Content-Transfer-Encoding: quoted-printable Content-Type: text/x-patch; charset=UTF-8 diff -r -C 3 ./config/gdm.conf.in ../gdm2.patched/config/gdm.conf.in *** ./config/gdm.conf.in Fri Aug 23 11:59:57 2002 --- ../gdm2.patched/config/gdm.conf.in Wed Sep 11 18:54:17 2002 *************** *** 230,235 **** --- 230,237 ---- Use24Clock=3Dfalse # Use circles in the password field. Looks kind of cool actually UseCirclesInEntry=3Dfalse + # Set no echo for password fields. If true, it takes precedence over cir= cles + UseSecureEntry=3Dfalse # These two keys are for the new greeter. Circles is the standard # shipped theme GraphicalTheme=3Dcircles diff -r -C 3 ./daemon/gdm.h ../gdm2.patched/daemon/gdm.h *** ./daemon/gdm.h Fri Aug 23 11:59:58 2002 --- ../gdm2.patched/daemon/gdm.h Wed Sep 11 18:54:17 2002 *************** *** 228,233 **** --- 228,234 ---- #define GDM_KEY_POSITIONY "greeter/PositionY=3D0" #define GDM_KEY_USE_24_CLOCK "greeter/Use24Clock=3Dfalse" #define GDM_KEY_ENTRY_CIRCLES "greeter/UseCirclesInEntry=3Dfalse" + #define GDM_KEY_ENTRY_SECURE "greeter/UseSecureEntry=3Dfalse" #define GDM_KEY_GRAPHICAL_THEME "greeter/GraphicalTheme=3Dcircles" #define GDM_KEY_GRAPHICAL_THEME_DIR "greeter/GraphicalThemeDir=3D" EXPAND= ED_DATADIR "/gdm/themes/" =20 diff -r -C 3 ./gui/gdmlogin.c ../gdm2.patched/gui/gdmlogin.c *** ./gui/gdmlogin.c Fri Aug 23 11:59:59 2002 --- ../gdm2.patched/gui/gdmlogin.c Wed Sep 11 18:54:17 2002 *************** *** 135,140 **** --- 135,141 ---- static gboolean GdmShowLastSession; =20 static gboolean GdmUseCirclesInEntry; + static gboolean GdmSecureEntry; =20 static GtkWidget *login; static GtkWidget *logo_frame =3D NULL; *************** *** 889,894 **** --- 890,896 ---- GdmIconMaxHeight =3D ve_config_get_int (config, GDM_KEY_ICONHEIGHT); GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); GdmLockPosition =3D ve_config_get_bool (config, GDM_KEY_LOCK_POSITION= ); GdmSetPosition =3D ve_config_get_bool (config, GDM_KEY_SET_POSITION); GdmPositionX =3D ve_config_get_int (config, GDM_KEY_POSITIONX); *************** *** 3289,3294 **** --- 3291,3298 ---- entry =3D gtk_entry_new (); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); gtk_entry_set_max_length (GTK_ENTRY (entry), 32); gtk_widget_set_size_request (entry, 250, -1); gtk_widget_ref (entry); diff -r -C 3 ./gui/gdmsetup-strings.c ../gdm2.patched/gui/gdmsetup-strings.= c *** ./gui/gdmsetup-strings.c Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup-strings.c Wed Sep 11 18:54:17 2002 *************** *** 51,56 **** --- 51,57 ---- gchar *s =3D N_("copyright"); gchar *s =3D N_("_Install new theme"); gchar *s =3D N_("Graphical greeter"); + gchar *s =3D N_("Enable no echo for _password entry"); gchar *s =3D N_("Allow _root to login with GDM"); gchar *s =3D N_("Allow root to login r_emotely with GDM"); gchar *s =3D N_("Allow remote _timed logins"); diff -r -C 3 ./gui/gdmsetup.c ../gdm2.patched/gui/gdmsetup.c *** ./gui/gdmsetup.c Mon Aug 19 17:41:34 2002 --- ../gdm2.patched/gui/gdmsetup.c Wed Sep 11 18:54:17 2002 *************** *** 1813,1818 **** --- 1813,1821 ---- GDM_KEY_TIMED_LOGIN_ENABLE, NULL /* notify_key */); =20 + setup_notify_toggle ("secureentry", + GDM_KEY_ENTRY_SECURE, + GDM_KEY_ENTRY_SECURE /* notify_key */); setup_notify_toggle ("allowroot", GDM_KEY_ALLOWROOT, GDM_KEY_ALLOWROOT /* notify_key */); diff -r -C 3 ./gui/gdmsetup.glade ../gdm2.patched/gui/gdmsetup.glade *** ./gui/gdmsetup.glade Tue Jul 16 16:26:37 2002 --- ../gdm2.patched/gui/gdmsetup.glade Wed Sep 11 18:54:17 2002 *************** *** 1460,1465 **** --- 1460,1483 ---- False 4 =20 + + + True + True + Enable no echo for = _password entry + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + +=20 True diff -r -C 3 ./gui/greeter/greeter.c ../gdm2.patched/gui/greeter/greeter.c *** ./gui/greeter/greeter.c Fri Aug 23 12:00:00 2002 --- ../gdm2.patched/gui/greeter/greeter.c Wed Sep 11 18:54:17 2002 *************** *** 55,60 **** --- 55,61 ---- gint GdmTimedLoginDelay; =20 gboolean GdmUseCirclesInEntry =3D FALSE; + gboolean GdmSecureEntry =3D FALSE; =20 static gboolean used_defaults =3D FALSE; gint greeter_current_delay =3D 0; *************** *** 92,97 **** --- 93,99 ---- } GdmXineramaScreen =3D ve_config_get_int (config, GDM_KEY_XINERAMASCRE= EN); GdmUseCirclesInEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_CI= RCLES); + GdmSecureEntry =3D ve_config_get_bool (config, GDM_KEY_ENTRY_SECURE); =20 GdmShowXtermFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_XTERM_FAILSAFE); GdmShowGnomeFailsafeSession =3D ve_config_get_bool (config, GDM_KEY_S= HOW_GNOME_FAILSAFE); *************** *** 827,832 **** --- 829,837 ---- GdmUseCirclesInEntry, GDM_KEY_ENTRY_CIRCLES) || ! bool_same (config, + GdmSecureEntry, + GDM_KEY_ENTRY_SECURE) || + ! bool_same (config, GdmShowXtermFailsafeSession, GDM_KEY_SHOW_XTERM_FAILSAFE) || ! bool_same (config, diff -r -C 3 ./gui/greeter/greeter_canvas_item.c ../gdm2.patched/gui/greete= r/greeter_canvas_item.c *** ./gui/greeter/greeter_canvas_item.c Wed Aug 14 13:10:50 2002 --- ../gdm2.patched/gui/greeter/greeter_canvas_item.c Wed Sep 11 18:54:17 2= 002 *************** *** 294,299 **** --- 294,301 ---- gtk_entry_set_has_frame (GTK_ENTRY (entry), FALSE); if (GdmUseCirclesInEntry) gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf); + if (GdmSecureEntry) + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x0000); =20 if (item->id !=3D NULL && strcmp (item->id, "user-pw-entry") =3D=3D 0= ) { /* HACK! Add a menubar, this is kind of evil isn't it */ diff -r -C 3 ./gui/greeter/greeter_configuration.h ../gdm2.patched/gui/gree= ter/greeter_configuration.h *** ./gui/greeter/greeter_configuration.h Thu Jul 11 11:42:26 2002 --- ../gdm2.patched/gui/greeter/greeter_configuration.h Wed Sep 11 18:54:17= 2002 *************** *** 1,5 **** --- 1,6 ---- =20 extern gboolean GdmUseCirclesInEntry; + extern gboolean GdmSecureEntry; extern gboolean GdmShowGnomeChooserSession; extern gboolean GdmShowGnomeFailsafeSession; extern gboolean GdmShowXtermFailsafeSession; --=-CKpUrTxN4dxZWYnq7viw-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 25774 invoked from network); 13 Sep 2002 20:20:56 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:20:56 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKKZM29704 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:20:35 GMT Date: Fri, 13 Sep 2002 20:20:35 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Fast User Switching gdm patch Message-ID: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline User-Agent: Mutt/1.4i --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This patch to gdm emulates Windows XP's "Fast User Switching", which i call "Multiple Desktops". Here's an example case: user 1 logs in-> assigned to vt 7 user 1 runs "gdmflexiserver", starts new xnest on vt 8 user 2 logs in on vt 8 user 2 runs "gdmflexiserver", starts new xnest on vt 9 user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login screen I'd appreciate any feedback. The patch is against -11 from aug 30 don't know about cvs. cat FastUserSwitching.diff | patch -p0 from the gdm-...-11 directory you want to patch... -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="FastUserSwitching.diff" diff -C 3 -r daemon/gdm.c ../gdm-2.4.0.11NEWEST/daemon/gdm.c *** daemon/gdm.c Tue Aug 27 21:03:35 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.c Fri Sep 13 15:49:56 2002 *************** *** 64,69 **** --- 64,74 ---- static void gdm_safe_restart (void); static void gdm_restart_now (void); + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + #endif + + /* Global vars */ GSList *displays = NULL; /* List of displays managed */ GSList *xservers = NULL; /* List of x server definitions */ *************** *** 161,167 **** gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! /* set in the main function */ char **stored_argv = NULL; --- 166,172 ---- gchar *GdmXnest = NULL; int GdmFirstVT = 7; gboolean GdmVTAllocation = TRUE; ! gboolean GdmMultipleDesktops = TRUE; /* set in the main function */ char **stored_argv = NULL; *************** *** 315,320 **** --- 320,328 ---- GdmVTAllocation = gnome_config_get_bool (GDM_KEY_VTALLOCATION); GdmDebug = gnome_config_get_bool (GDM_KEY_DEBUG); + + GdmMultipleDesktops = gnome_config_get_bool (GDM_KEY_MULTIPLE_DESKTOPS); + gnome_config_pop_prefix(); *************** *** 2765,2768 **** --- 2773,2830 ---- } } + + + #ifdef __linux__ + /* returns + GdmDisplay * pointing to a display with a currently running greeter + or NULL + */ + GdmDisplay * + find_available_greeter () + { + GSList *li; + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp == NULL) + gdm_error("find_avialable_greeter: null display in displays list"); + if ( ( disp->login == NULL || !strlen(disp->login) ) + && disp->vt > 0 ) + return disp; + } + + return NULL; + } + + /* what display is this login logged in on (if any) else NULL */ + GdmDisplay * + login_what_display (char *login) + { + GSList *li; + + if (login==NULL) { + gdm_error("login_what_display: attempted to pass null login"); + return NULL; + } + + for (li = displays; li !=NULL; li=li->next) { + GdmDisplay *disp = li->data; + if (disp==NULL) { + gdm_debug("login_what_display: disp is NULL"); + } else if (disp->login==NULL) { + /* do nothing */ + + } else if (strcmp(login, disp->login) == 0) { + gdm_debug("login_what_display: (%s) is on vt %d", login, disp->vt); + return disp; + } + } + return NULL; + } + + #endif + + + /* EOF */ diff -C 3 -r daemon/gdm.h ../gdm-2.4.0.11NEWEST/daemon/gdm.h *** daemon/gdm.h Fri Aug 23 13:02:11 2002 --- ../gdm-2.4.0.11NEWEST/daemon/gdm.h Fri Sep 13 14:32:43 2002 *************** *** 151,156 **** --- 151,158 ---- #define GDM_KEY_UAUTHFILE "daemon/UserAuthFile=.Xauthority" #define GDM_KEY_USER "daemon/User=gdm" + #define GDM_KEY_MULTIPLE_DESKTOPS "daemon/MultipleDesktops=true" + /* This defaults to true for backward compatibility, * it will not actually do timed login since the TimedLogin defaults * to nothing */ *************** *** 623,628 **** --- 625,635 ---- * from a local display we started */ }; + #ifdef __linux__ + GdmDisplay * login_what_display (char *login); + GdmDisplay * find_available_greeter (void); + #endif + #endif /* GDM_H */ /* EOF */ diff -C 3 -r daemon/misc.c ../gdm-2.4.0.11NEWEST/daemon/misc.c *** daemon/misc.c Fri Aug 30 14:51:06 2002 --- ../gdm-2.4.0.11NEWEST/daemon/misc.c Fri Sep 13 14:16:09 2002 *************** *** 143,149 **** va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); --- 143,149 ---- va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); ! do_syslog (LOG_INFO, s); g_free (s); *************** *** 187,202 **** { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! * you wouldn't get it in the log. ??? */ g_free (s); } --- 187,202 ---- { va_list args; char *s; ! if ( ! GdmDebug) ! return; va_start (args, format); s = g_strdup_vprintf (format, args); va_end (args); do_syslog (LOG_ERR, s); /* Maybe should be LOG_DEBUG, but then normally ! /* you wouldn't get it in the log. ??? */ g_free (s); } diff -C 3 -r daemon/server.c ../gdm-2.4.0.11NEWEST/daemon/server.c *** daemon/server.c Fri Aug 30 15:18:51 2002 --- ../gdm-2.4.0.11NEWEST/daemon/server.c Fri Sep 13 14:16:09 2002 *************** *** 340,372 **** return FALSE; } static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; fp = fopen (logname, "r"); g_free (logname); ! ! if (fp == NULL) ! return FALSE; ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt; ! /* Note: this is probably XFree86 specific, and perhaps even ! * version 3 specific (I don't have xfree v4 to test this), ! * of course additions are welcome to make this more robust */ ! if (sscanf (buf, "(using VT number %d)", &vt) == 1) { fclose (fp); return vt; } } fclose (fp); return -1; } static void check_child_status (void) { --- 340,421 ---- return FALSE; } + /* Read a fp looking for vt info, returning it if necessary + * Add additional */ + static int + parse_vt (char *buf) { + + int vt; + + if ( (sscanf (buf, "(using VT number %d)", &vt) == 1) || + /* Note: this is probably XFree86 specific, and perhaps even + * version 3 specific (I don't have xfree v4 to test this), + * of course additions are welcome to make this more robust */ + /* I noticed it in 4.0 as well */ + (sscanf (buf, "Using vt %d", &vt) == 1) || + /* this is what works for some 4.2's... namely Mandrake 9.0 Beta 4 + * however, Redhat 7.2's 4.2 server doesn't put this info in the gdm info file */ + (sscanf (buf, "(--) using VT number %d", &vt) == 1) /* from 4.2 Xserver log */ + ) + return vt; + + else return -1; + + } + + /* Read the gdm log file looking for the vt, continuing to the XServer log if necessary + * Returns vt, or -1 on failure */ static int display_vt (GdmDisplay *disp) { char *logname = g_strconcat (GdmLogDir, "/", d->name, ".log", NULL); FILE *fp; char buf[256]; + + char xserver_logfile[256]; + xserver_logfile[0]=0; fp = fopen (logname, "r"); g_free (logname); ! while (fgets (buf, sizeof (buf), fp) != NULL) { ! int vt=-1; ! ! sscanf (buf, "(==) Log file: \"%[^\"]\"", xserver_logfile); ! ! if ( (vt=parse_vt(buf))!=-1 ){ fclose (fp); + gdm_debug("display_vt: found vt=%d in gdm log", vt); return vt; } } fclose (fp); + + if (strlen (xserver_logfile)) { + /* we didn't find a vt listed in the gdm log, lets try the XServer log itself */ + gdm_debug("display_vt: continuing on to XServer log [%s]", xserver_logfile); + fp = fopen (xserver_logfile, "r"); + + if (fp == NULL) + return -1; + + while (fgets (buf, sizeof (buf), fp) != NULL) { + int vt=-1; + if ( (vt=parse_vt(buf))!=-1 ){ + fclose (fp); + gdm_debug("display_vt: found vt=%d in XServer log", vt); + return vt; + } + } + fclose (fp); + } + + gdm_debug("display_vt: unable to set the vt"); return -1; } + + static void check_child_status (void) { diff -C 3 -r daemon/slave.c ../gdm-2.4.0.11NEWEST/daemon/slave.c *** daemon/slave.c Fri Aug 30 14:53:43 2002 --- ../gdm-2.4.0.11NEWEST/daemon/slave.c Fri Sep 13 15:52:07 2002 *************** *** 63,68 **** --- 63,73 ---- #include "choose.h" #include "errorgui.h" + #ifdef __linux__ + #include + #include + #endif + /* Some per slave globals */ static GdmDisplay *d; static gchar *login = NULL; *************** *** 135,141 **** extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); --- 140,146 ---- extern gboolean GdmAllowRemoteRoot; extern gchar *GdmGlobalFaceDir; extern gboolean GdmDebug; ! extern gboolean GdmMultipleDesktops; /* Local prototypes */ static gint gdm_slave_xerror_handler (Display *disp, XErrorEvent *evt); *************** *** 162,167 **** --- 167,176 ---- static void create_temp_auth_file (void); static void set_xnest_parent_stuff (void); + #ifdef __linux__ + static int vt_switch (int switchto); + #endif + /* Yay thread unsafety */ static gboolean x_error_occured = FALSE; static gboolean gdm_got_ack = FALSE; *************** *** 249,258 **** --- 258,283 ---- time_t first_time; int death_count; struct sigaction alrm, term, child, usr2; + #ifdef __linux__ + GdmDisplay *tmp_disp = find_available_greeter (); + #endif if (!display) return; + #ifdef __linux__ + /* if display is xnest, and we have an available greeter just go there and kill this slave */ + if (GdmMultipleDesktops && + display->type == TYPE_FLEXI && tmp_disp != NULL) { + gdm_debug("gdm_slave_start: will not start new greeter. switching to %d.", tmp_disp->vt); + + if (vt_switch (tmp_disp->vt)) { + display->login=NULL; + return; + } + } else { gdm_debug("gdm_slave_start: no available greeter. starting new one of type [%d]", display->type ); } + #endif + gdm_debug ("gdm_slave_start: Starting slave process for %s", display->name); if (display->type == TYPE_XDMCP && GdmPingInterval > 0) { *************** *** 324,332 **** gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! /* remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; the_time = time (NULL); --- 349,376 ---- gdm_debug ("gdm_slave_start: Loop Thingie"); gdm_slave_run (display); ! ! #ifdef __linux__ ! if (display->type != TYPE_LOCAL && ! display->type != TYPE_FLEXI ) ! break; ! /* remote display always exits here */ ! ! /* we will continue if there are no other available greeters on other displays */ ! d=find_available_greeter(); ! if (GdmMultipleDesktops && display->type != TYPE_LOCAL && d != NULL && d->vt > 0 && d->vt != display->vt) { ! /* switch to that display then break out of here */ ! if ( vt_switch(d->vt) ) { ! gdm_debug("gdm_slave_start: another suitable greeter was found. exiting"); ! break; ! } ! } ! #else ! /* otherwise remote and flexi only run once */ if (display->type != TYPE_LOCAL) break; + #endif + the_time = time (NULL); *************** *** 676,681 **** --- 720,728 ---- gdm_first_login = FALSE; do { + #ifdef __linux__ + GdmDisplay *disp; + #endif check_notifies_now (); if ( ! greet) { *************** *** 685,690 **** --- 732,742 ---- } gdm_slave_wait_for_login (); /* wait for a password */ + #ifdef __linux__ + disp=login_what_display(login); + if (disp==NULL) gdm_debug("disp is NULL"); + else gdm_debug("disp on %d", disp->vt); + #endif d->logged_in = TRUE; gdm_slave_send_num (GDM_SOP_LOGGED_IN, TRUE); *************** *** 697,703 **** ParsedTimedLogin); gdm_slave_session_start (); } ! } else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } --- 749,768 ---- ParsedTimedLogin); gdm_slave_session_start (); } ! } ! ! #ifdef __linux__ ! else if ( GdmMultipleDesktops && disp!=NULL && disp->vt>=0 && ! vt_switch(disp->vt) ){ ! /* this user is already logged in! (and has a valid vt we switched to) */ ! gdm_debug("found login for '%s' on vt=%d", ! login, disp->vt); ! gdm_slave_greeter_ctl_no_ret (GDM_ENABLE, ""); ! gdm_slave_greeter_ctl_no_ret (GDM_RESETOK, ""); ! } ! #endif ! /* fall through to normal login */ ! else { gdm_slave_send_string (GDM_SOP_LOGIN, login); gdm_slave_session_start (); } *************** *** 3809,3812 **** --- 3874,3896 ---- return TRUE; } + + #ifdef __linux__ + /* switch to vt "switchto" + there is a linux utility "chvt", should that be used instead? */ + static int + vt_switch (int switchto) + { + int fd; + + fd = open("/dev/console", O_RDWR); + + if (ioctl(fd, VT_ACTIVATE, switchto)) { + gdm_error("vt_switch: unable to switch to vt %d", switchto); + return (0); + } + return 1; + } + #endif + /* EOF */ --uAKRQypu60I7Lcqm-- From ed@otaku.freeshell.org Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 26947 invoked from network); 13 Sep 2002 20:28:35 -0000 Received: from otaku.freeshell.org (root@207.202.214.131) by 192.168.38.195 with SMTP; 13 Sep 2002 20:28:35 -0000 Received: (from ed@localhost) by otaku.freeshell.org (8.11.6+3.4W/8.11.6) id g8DKSDL07536 for gdm@sunsite.dk; Fri, 13 Sep 2002 20:28:13 GMT Date: Fri, 13 Sep 2002 20:28:13 +0000 From: Ed Palmer To: gdm@sunsite.dk Subject: Two more things Message-ID: <20020913202813.GB10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i you need to set the MultipleDesktops=true in the [daemon] section of gdm.conf and... this only works under linux as far as i know. -- \--- === E D P A L M E R \ | |_| /--- | http://ed.freeshell.org From newsletter@marinedigital.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 6073 invoked from network); 15 Sep 2002 15:51:23 -0000 Received: from unknown (HELO localhost) (61.32.165.61) by 192.168.38.195 with SMTP; 15 Sep 2002 15:51:23 -0000 Reply-To: newsletter@marinedigital.com From: Marine Digital Inc. To: gdm@sunsite.dk Subject: Maritime Newsletter (Week 37) Mime-Version: 1.0 Content-Type: text/html; charset="iso-8859-1" Date: Mon, 16 Sep 2002 00:49:56 +0900 MarineDigital Newsletter
SHIP S&P  l  NEW PRODUCT S&P  l  USED PRODUCT S&P  l  SPARE PART S&P  l  PARTNER ALLIANCE
WEEK 37
ISSUE 65, 12th  Sept. 2002
www.marinedigital.com

Subscribe the newsletter

Unsubscribe

     RELATED NEWSLETTERS

Ship S&P Newsletter
Used Products Newsletter
YOUR FREE POSTING
Sell Ship
Purchase Ship
  Post Newbuilding Inquiry
  Post Your Shipbuilder
Sell New Product
Purchase New Product
Sell Used Product
Purchase Used Product
Sell Inventories
Purchase Inventories
Sell Spare Part
Purchase Spare Part
Looking for Partner
Wanting your Partner
Ship Repair Inquiry
Join Repair Network
PANAMA Flag Registration
Ship Tracking System
:: YOUR BANNER ADVERTISEMENT(US$180) ::
                 
Send your Ads

        ::: Contact Point :::
Business Team,
Steve Kim
Tel : 82-2-966-6701
Fax : 82-2-966-6703

:: MARITIME NEWS ::
 1. Peter Dohle (Germany) re-ordered eleven Container carriers from Stocznia Szczecinska Nowa Shipyard (Poland), at worth of US$ 110 mill.
 2. Samsung Heavy Industries contracted six 4,100 TEU Container carriers with Hamburg Sud (Germany), at worth of US$ 45mill/ship.
 3. Hitachi Zosen (Japan) contracted a 200,000 DWT Ore carrier with Samos Steamship (Greece).
 4. MOL (Japan) ordered two 12,000 DWT Multi-purpose carriers from Shin Kurushima Dockyard.
 5. Formasa Plastics (Taiwan) ordered two VLCCs and two Cape Size Bulk carriers from Ishikawajima-Harima Heavy Industries(Japan).
 6. Teekay Shipping ordered six Aframax Tankers from Daewoo Shipbuilding and Marine Engineering (2) and Samsung Heavy Industries(2+2).
 7. Shanghai Waigaoqiao Shipbuilding is informally arranged to contract three 175,000 DWT Bulk carriers with American Ship-owner & Hong Kong Ship-owner.
 8. Kouan Shipyard contracted a 25,000 DWT Multi-purpose carrier with Pacific Carriers (Singapore), at worth of approx. US$ 14.5 mill.
 9. Leif Hoegh & Co and Mitsui OSK Lines(MOL) ordered a 145,000 CBM LNG carrier from Mitsubishi Haevy Industries, at worth of USD 190mill.
10. Shin Kurushima Dockyard contracted a 8,650 DWT Chemical Tanker with Xing Long Maritime.
11. Dalian Shipyard contracted two 45,000 DWT Product Oil carriers(IMO Type-II) with IMC (Singapore).
12. KMTC Line (Korea) ordered two 1,800 TEU Container carriers from Hanjin Heavy Industries (Korea).
13. Sido Shipping (Japan) ordered two 6,400 CARs Pure Car/Truck Carriers(PCTC) from Shin Kurushima Dockyard (Japan).
14. Sanoyas Shipbuilding (Japan) contracted two 75,000 DWT Bulk carriers with Orix Maritime(Japan).
15. CSG Group (China) ordered additionally a 110,000 DWT Aframax Tanker from Dalian New Shipbuilding and Heavy Industry (DNS, China).
16. Xiamen Shipbuilding contracted two 52,000 DWT Bulk carriers with Lemitec (Norway), at worth of US$18.5mill/ship.
17. Transpetro (Brazil) ordered two Panamax Tankers from Estaleiro Ilha (Eisa, Brazil).
18. Foremost Maritime ordered two(1+1) 175,000 DWT Cape Size Bulk carriers from Shanghai Waigaoqiao(SWS, China).
19. Chuneishi Shipyard (Japan) contracted two 52,000 DWT Bulk carriers with Portline (Portugal).
20. Austal Limited subsidiary, Austal Ships contracted a 86m Catamaran with Canadian Transportation Systems.
21. Nantong Cosco KHI Ship Engineering contracted a 55,000 DWT Bulk carrier with Setaf (France).
22 Keppel Corporation Limited has successfully penetrated the Middle East offshore market as a result of the integration of its offshore and marine businesses under its wholly owned subsidiary Keppel Offshore & Marine.
23. The 30million dwt class VLCC that was built in China for the first time and equipped with, the Korean Major Diesel Engine builder HSD¡¯s Engine, was delivered to NITC (Ship-owner) in Iran on 26th August.
24. The Export-Import Bank of China (Eximbank) is to extend buyers credit to foreign ship-owners in an effort to encourage them to opt to build at Chinese shipyards.

::: HOT SALE - Used Products for Shipyard ::: 

Crawler Crane (2000)
DEMAG / CC2800
Capacity : 600 Tons

Gantry Crane ('95)
HANSHIN / Dual
US$ 52,000 FOB Korea

TRANSPORTERS ('88)
SCHEUERLE / MPKIU110
US$104,900 FOB Korea)

BENDING PRESS ('98)
DONGJIN / DHP-600
US$ 59,800 FOB Korea

::: Company and Product Advertisement :::              Send your Ads

  << Surplus(Inventories) from Shipyard  >>
We, Marine Digital Co. Ltd (Korea) have following SURPLUS for SALE which are unused and Brand New . If you are interested in these products, please contact us. 
Contact Point : Steve Kim (Senior Manager of Business Team)
                         Tel : +82-2-966-6701     Fax : +82-2-966-6703
1. AL-Plates ('99)
   
-. 2000(W) x 8000(L) x 3t   --- 38 plates
-. 2000(W) x 8000(L) x 6t   --- 30 plates
-. 2000(W) x 6000(L) x 16t ---   1 plates
-. Profile :
AA5083-H321
2. AL-Angles ('99) -. 66 x 40 x 4t x 8m --- 55 angles
-. 80 x 50 x 5t x 8m --- 55 angles
-. Profile :
AA6082-T6
3. Elec. Cables ('99) -. IEC 60332-3A & IEC 60331 + HALOGEN FREE TYPE
-. SMOKE EMISSION : IEC 61034-2
-. Certificate : ABS

::: SERIOUS PURCHASE (Secondhand) :::

1. Rail Mounted Jib Crane
    -. Lifting Capacity : 20 ~ 40 Ton
    -. Electric or Diesel Powered
    -. For Shipyard            -. Q'ty : 2
2. Transporter
    -. Maker : KAMAG or SCHEUERLE
    -. Capacity : 150 and 500 ~ 700 Ton
    -. Q'ty : 5
3. Crawler Crane
    -. Maker : Kobelco
    -. Lifting Capacity : 300 ~ 350 Ton
    -. Boom : Over 60m    -. Q'ty : 1
4. Floating Crane
    -. Lifting Capacity : 3,000 ~ 5,000 Ton
    -. Boom Reach Height : Longer than 90M
    -. Auxiliary Crane to be fitted

Send News release to us   |

130-120, 7309 in KAIST 207-43, Cheongryangri-dong, Dondaemoon-gu, Seoul, Korea
webmaster@marinedigital.com           CEO, Terry Kim (terry@marinedigital.com)
Copyright (c) 2000 Marine Digital Inc. All rights reserved.
From jirka@zinc.5z.com Tue Aug 16 13:27:38 2005 Return-Path: Mailing-List: contact gdm-help@sunsite.dk; run by ezmlm Delivered-To: mailing list gdm@sunsite.dk Received: (qmail 5458 invoked from network); 18 Sep 2002 17:31:11 -0000 Received: from zinc.5z.com (root@64.23.60.156) by 192.168.38.195 with SMTP; 18 Sep 2002 17:31:11 -0000 Received: (from jirka@localhost) by zinc.5z.com (8.11.6/8.11.6) id g8IHV8d30092; Wed, 18 Sep 2002 13:31:08 -0400 Date: Wed, 18 Sep 2002 13:31:08 -0400 From: George To: Ed Palmer Cc: gdm@sunsite.dk Subject: Re: Fast User Switching gdm patch Message-ID: <20020918133108.A30064@zinc.5z.com> References: <20020913202034.GA10338@SDF.LONESTAR.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020913202034.GA10338@SDF.LONESTAR.ORG>; from ed@LONESTAR.ORG on Fri, Sep 13, 2002 at 08:20:35PM +0000 On Fri, Sep 13, 2002 at 08:20:35PM +0000, Ed Palmer wrote: > This patch to gdm emulates Windows XP's "Fast User Switching", which i > call "Multiple Desktops". Here's an example case: > user 1 logs in-> assigned to vt 7 > user 1 runs "gdmflexiserver", starts new xnest on vt 8 > user 2 logs in on vt 8 > user 2 runs "gdmflexiserver", starts new xnest on vt 9 > user 1 logs in-> screen switches to vt 7 , gdmlogin keeps running > user 1 runs "gdmflexiserver", vt switches to vt 9 revealing gdm login > screen > > > I'd appreciate any feedback. The patch is against -11 from aug 30 > don't know about cvs. I really like this patch. I will take a longer look at it when I have more time for gdm hacking (busy with school currently). I think perhaps it should be done slightly differently though. I think the server on vt9 should be killed at the point when the user is switched. An X server takes up a lot of memory and all that. That will however require some fun race avoidance stuff with switching of the consoles, and there may be some flicker. Further we may want to build a switcher app which lists current logins and would allow to switch to one or run flexiserver. My current thought is that this app could replace flexiserver in the menu so that we only take up one entry in the menus but have more flexibility. George