亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mwm.c

?? 安裝DDD之前
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* $Id: mwm.c,v 1.1 2004/08/28 19:25:46 dannybackx Exp $ *//*****************************************************************************//**       Copyright 1988 by Evans & Sutherland Computer Corporation,        **//**                          Salt Lake City, Utah                           **//**  Portions Copyright 1989 by the Massachusetts Institute of Technology   **//**                        Cambridge, Massachusetts                         **//**                                                                         **//**                           All Rights Reserved                           **//**                                                                         **//**    Permission to use, copy, modify, and distribute this software and    **//**    its documentation  for  any  purpose  and  without  fee is hereby    **//**    granted, provided that the above copyright notice appear  in  all    **//**    copies and that both  that  copyright  notice  and  this  permis-    **//**    sion  notice appear in supporting  documentation,  and  that  the    **//**    names of Evans & Sutherland and M.I.T. not be used in advertising    **//**    in publicity pertaining to distribution of the  software  without    **//**    specific, written prior permission.                                  **//**                                                                         **//**    EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD    **//**    TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES  OF  MERCHANT-    **//**    ABILITY  AND  FITNESS,  IN  NO  EVENT SHALL EVANS & SUTHERLAND OR    **//**    M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL  DAM-    **//**    AGES OR  ANY DAMAGES WHATSOEVER  RESULTING FROM LOSS OF USE, DATA    **//**    OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER    **//**    TORTIOUS ACTION, ARISING OUT OF OR IN  CONNECTION  WITH  THE  USE    **//**    OR PERFORMANCE OF THIS SOFTWARE.                                     **//*****************************************************************************//**************************************************************************** * This module is based on Twm, but has been siginificantly modified  * by Rob Nation  ****************************************************************************//*********************************************************************** * The rest of it is all my fault -- MLM * * Copyright (C) 1995-2002 LessTif Development Team * mwm - "LessTif Window Manager" ***********************************************************************/#include <LTconfig.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <ctype.h>#include <signal.h>#ifdef HAVE_FCNTL_H#include <fcntl.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_SYS_TYPES_H#include <sys/types.h>#endif#ifdef HAVE_SYS_WAIT_H#include <sys/wait.h>#endif#ifdef HAVE_SYS_STAT_H#include <sys/stat.h>#else#error "you lose (I don't know how to fix this)"#endif#ifdef HAVE_PWD_H#include <pwd.h>#endif#ifdef HAVE_GETRLIMIT#ifdef HAVE_SYS_TIME_H#include <sys/time.h>#endif#include <sys/resource.h>#endif#ifdef __EMX__#include <netdb.h>#include <X11/Xlibint.h>    /* for __XOS2RedirRoot() */#endif#include <X11/Intrinsic.h>#include <X11/Shell.h>#include <X11/Xproto.h>#include <Xm/Xm.h>#include <Xm/MwmUtil.h>#include <Xm/XmosP.h>#include <Xm/DisplayP.h>#include <Xm/ScreenP.h>#if XmVERSION >= 2#include <XmI/XmI.h>#endif#include "mwm.h"#ifndef HAVE_GETHOSTNAME/* our fallback implementation (gethostname.c) */extern int gethostname (char *name, size_t len);#endif/* * application globals */#define MAXHOSTNAME 255MwmInternalInfo Mwm;Display *dpy;			/* which display are we talking to */Widget toplevel;static Widget xmDisplay;static Boolean multiscreen = False;static char *mwm_name = "mwm";XContext MwmContext;		/* context for mwm windows */XContext MenuContext;		/* context for mwm menus */int JunkX = 0, JunkY = 0;Window JunkRoot, JunkChild;	/* junk window */unsigned int JunkWidth, JunkHeight, JunkBW, JunkDepth, JunkMask;char **g_argv;int fd_width, x_fd;static XtAppContext app;volatile int alarmed;Bool debugging = False;static int last_event_type = 0;/****************************************************************************//* * print usage */static voidusage(void){    fprintf(stderr,             "Mwm Ver %s\n\nusage: mwm [-display dpy] [-debug] [-xrm resourcestring] [-multiscreen] [-name name] [-screens name [name [...]]]\n",             VERSION);}/* * restart on a signal */static voidsig_restart(int sig){    MWM_Done(1, *g_argv);}/* * exit on a signal */static voidsig_done(int nonsense){    MWM_Done(0, NULL);}/* * For auto-raising windows, this routine is called */static voidsig_alarm(int nonsense){    alarmed = True;    signal(SIGALRM, sig_alarm);}/* * figures out if there's another WM running */static voidcatch_redirect(Display *dpy, XErrorEvent *event){    fprintf(stderr, "mwm: Error: Another WM is running\n");    exit(1); /* we don't return (this determines function type) */}/* * displays info on internal errors */static XErrorHandlergeneral_error(Display *dpy, XErrorEvent *event){    /* some errors are acceptable, mostly they're caused by      * trying to update a lost  window */    if ((event->error_code == BadWindow) ||	(event->request_code == X_GetGeometry) ||	(event->error_code == BadDrawable) ||	(event->request_code == X_SetInputFocus) ||	(event->request_code == X_GrabButton) ||	(event->request_code == X_ChangeWindowAttributes) ||	(event->request_code == X_InstallColormap))	return 0;    fprintf(stderr, "mwm: internal error");    fprintf(stderr, "      Request %d, Error %d\n", event->request_code,	    event->error_code);    fprintf(stderr, "      EventType: %d", last_event_type);    fprintf(stderr, "\n");    return 0;}/* * do global mwm initialization */static voidinitialize_mwm( void){    int i;    ScreenInfo *scr;    xmDisplay = XmGetXmDisplay(dpy);    RES_Initialize();    if (Mwm.multi_screen)	multiscreen = True;    EVENT_Initialize();    PROP_Initialize();    MwmContext = XUniqueContext();    MenuContext = XUniqueContext();    if (multiscreen)    {	Mwm.number_of_screens = ScreenCount(dpy);	Mwm.screen_info = (ScreenInfo **)XtMalloc(Mwm.number_of_screens *						  sizeof(ScreenInfo *));	for (i = 0; i < Mwm.number_of_screens; i++)	{	    scr = (ScreenInfo *)XtCalloc(1, sizeof(ScreenInfo));	    scr->screen = i;	    scr->root_win = RootWindow(dpy, scr->screen);	    if (scr->root_win == None)	    {		fprintf(stderr, "Screen %ld is not a valid screen", scr->screen);		exit(1);	    }	/*TODO: only default screen names are supported	 *   since '-screens' mwm command line option is not implemented yet	 *		A.R.	 */	    /* By default, the screen number is used for the screen name. */	    scr->screen_name = (String)XtMalloc(12);	    sprintf(scr->screen_name, "%lu", scr->screen);	    SCREEN_Initialize(scr);	    Mwm.screen_info[i] = scr;	}    }    else    {	Mwm.number_of_screens = 1;	Mwm.screen_info = (ScreenInfo **)XtMalloc(Mwm.number_of_screens *						  sizeof(ScreenInfo *));	scr = (ScreenInfo *)XtCalloc(1, sizeof(ScreenInfo));	scr->screen = DefaultScreen(dpy);	scr->root_win = RootWindow(dpy, scr->screen);	if (scr->root_win == None)	{	    fprintf(stderr, "Screen %ld is not a valid screen", scr->screen);	    exit(1);	}	/*TODO: only default screen names are supported	 *   since '-screens' mwm command line option is not implemented yet	 *		A.R.	 */	/* By default, the screen number is used for the screen name. */	scr->screen_name = (String)XtMalloc(12);	sprintf(scr->screen_name, "%lu", scr->screen);	SCREEN_Initialize(scr);	Mwm.screen_info[0] = scr;    }}/* * set the appropriate error handler */voidMWM_SetErrorHandler(int which){    if (which == REDIRECT)	XSetErrorHandler((XErrorHandler)catch_redirect);    else	XSetErrorHandler((XErrorHandler)general_error);}/* * cleanup and exit mwm */voidMWM_Done(int restart, const char *command){    ScreenInfo *scr;    int i, done, j;    for (i = 0; i < Mwm.number_of_screens; i++)    {	PAGER_MoveViewPort(Mwm.screen_info[i], 0, 0, False);	WIN_ReleaseWindows(Mwm.screen_info[i]);    }    /*     * serious cleanup     */    if (restart)    {	for (i = 0; i < Mwm.number_of_screens; i++)	{	    scr = Mwm.screen_info[i];	    DT_SaveState(scr);	    /* Really make sure that the connection is closed and cleared! */	    XSelectInput(dpy, scr->root_win, 0);	}	XSync(dpy, 0);	XCloseDisplay(dpy);	i = 0;	j = 0;	done = 0;	/* really need to destroy all windows, explicitly,	 * not sleep, but this is adequate for now */	_XmSleep(1);	ReapChildren();	execvp(command, g_argv);	fprintf(stderr, "MWM: Call of '%s' failed!!!!\n", command);	execvp(g_argv[0], g_argv);	/* that _should_ work */	fprintf(stderr, "MWM: Call of '%s' failed!!!!\n", g_argv[0]);    }    else    {	for (i = 0; i < Mwm.number_of_screens; i++)	    PROP_ClearBehavior(Mwm.screen_info[i]);	XCloseDisplay(dpy);	exit(0);    }}/* * ReapChildren - wait() for all dead child processes */voidReapChildren(void){#ifdef HAVE_WAITPID    while ((waitpid(-1, NULL, WNOHANG)) > 0);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人一区二区| 国产精品二三区| 日产精品久久久久久久性色| 欧美午夜寂寞影院| 午夜精品123| 欧美变态tickling挠脚心| 蜜桃视频在线观看一区二区| 亚洲精品一区在线观看| 国产999精品久久久久久绿帽| 国产精品久久久久婷婷| 一本色道久久综合亚洲精品按摩| 亚洲午夜电影在线观看| 91精品视频网| 国产福利一区在线观看| 亚洲女爱视频在线| 日韩一二三区视频| 国产91高潮流白浆在线麻豆| 一区二区三区在线观看视频| 欧美成人女星排名| 成人av在线一区二区三区| 亚洲一区在线视频观看| 日韩欧美的一区| 99久久精品国产毛片| 三级久久三级久久久| 久久久噜噜噜久久人人看| 91亚洲国产成人精品一区二区三| 五月天网站亚洲| 欧美激情一区二区三区在线| 欧美在线你懂的| 国产尤物一区二区| 亚洲va韩国va欧美va| 久久久精品国产免费观看同学| 色8久久精品久久久久久蜜| 欧美日韩第一区日日骚| 久久精品国产第一区二区三区| 国产精品久久精品日日| 欧美一卡二卡三卡| 91影视在线播放| 国产iv一区二区三区| 手机精品视频在线观看| 久久久精品国产99久久精品芒果| 欧美视频在线播放| 99久久99久久精品国产片果冻| 七七婷婷婷婷精品国产| 亚洲女同一区二区| 久久综合给合久久狠狠狠97色69| 欧美在线看片a免费观看| 国产久卡久卡久卡久卡视频精品| 亚洲一区二区三区视频在线| 国产午夜精品久久久久久免费视 | 国产一区二区三区四区在线观看| 中文字幕一区三区| 欧美r级在线观看| 欧美日韩国产免费一区二区 | 蜜桃传媒麻豆第一区在线观看| 中文字幕在线一区| 久久久高清一区二区三区| 欧美精品在线一区二区三区| 色一区在线观看| 成人18视频日本| 粉嫩久久99精品久久久久久夜| 久久草av在线| 美国三级日本三级久久99| 日本视频一区二区| 五月激情综合婷婷| 婷婷开心激情综合| 亚洲成人午夜电影| 一区二区三区在线观看网站| 亚洲精品成人天堂一二三| 国产精品电影一区二区三区| 欧美韩国日本不卡| 久久九九全国免费| 国产欧美中文在线| 国产精品乱码久久久久久| 欧美激情一区二区三区四区| 国产精品系列在线| 国产精品美女久久福利网站| 中文字幕在线观看一区| 亚洲欧美日韩国产另类专区 | 国产免费观看久久| 亚洲国产精品ⅴa在线观看| 国产精品每日更新| 亚洲人成网站精品片在线观看| 椎名由奈av一区二区三区| 日韩伦理电影网| 亚洲人123区| 亚洲午夜精品一区二区三区他趣| 亚洲综合激情网| 日韩精品欧美精品| 激情综合网最新| 国产成人av电影在线| 99国产一区二区三精品乱码| 99国产欧美另类久久久精品| 91福利视频网站| 666欧美在线视频| 精品久久免费看| 国产精品久久久久久福利一牛影视| 亚洲欧美色图小说| 五月天精品一区二区三区| 国产在线国偷精品产拍免费yy| 国产成人99久久亚洲综合精品| 91日韩精品一区| 91精品国产一区二区| 久久久蜜臀国产一区二区| 亚洲欧洲精品天堂一级| 亚洲国产综合色| 国产乱人伦精品一区二区在线观看| 成人亚洲一区二区一| 欧美性视频一区二区三区| 欧美本精品男人aⅴ天堂| 亚洲欧美在线另类| 亚洲午夜视频在线观看| 国产精品性做久久久久久| 色88888久久久久久影院野外| 欧美成人video| 亚洲精品视频在线观看网站| 美女在线观看视频一区二区| 风间由美一区二区三区在线观看| 欧洲精品视频在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲伦在线观看| 国内精品伊人久久久久av一坑| 91亚洲精品一区二区乱码| 精品乱码亚洲一区二区不卡| 亚洲三级视频在线观看| 久久国产尿小便嘘嘘| 一本在线高清不卡dvd| 精品国产91洋老外米糕| 亚洲综合清纯丝袜自拍| 国产伦理精品不卡| 欧美喷水一区二区| 亚洲日本中文字幕区| 韩国欧美国产一区| 91精品国产综合久久久久久久久久| 国产精品少妇自拍| 国内精品自线一区二区三区视频| 欧美日韩在线三级| 日韩理论在线观看| 成人av网址在线| 久久精品亚洲精品国产欧美| 视频一区二区国产| 色乱码一区二区三区88| 中文字幕成人在线观看| 国产一区二区三区蝌蚪| 91精品久久久久久蜜臀| 亚洲一区二区三区四区五区中文 | 2023国产精品视频| 亚洲成人资源在线| 欧美午夜视频网站| 一区二区免费在线播放| 不卡电影一区二区三区| 国产日韩av一区二区| 老色鬼精品视频在线观看播放| 欧美老年两性高潮| 亚洲制服丝袜av| 欧美亚洲另类激情小说| 一区二区成人在线观看| 97精品电影院| 日韩美女视频一区二区| av激情亚洲男人天堂| 国产精品大尺度| 波多野结衣中文字幕一区二区三区| 久久久精品影视| 国产成人精品www牛牛影视| 久久综合久久综合久久综合| 久久国产精品无码网站| 精品久久久影院| 国产精品一区免费在线观看| 久久久久久久综合狠狠综合| 国产一区视频在线看| 国产亚洲精品精华液| 丁香五精品蜜臀久久久久99网站 | 欧美喷潮久久久xxxxx| 亚洲成人激情av| 91精品欧美综合在线观看最新| 美女在线视频一区| 久久嫩草精品久久久久| 国产成人免费视频精品含羞草妖精| 亚洲国产成人在线| 91美女在线视频| 性感美女极品91精品| 91精品在线观看入口| 国内久久精品视频| 国产精品久久久久桃色tv| 91色.com| 日韩精品乱码av一区二区| 精品精品国产高清a毛片牛牛| 国产一区二区看久久| 国产精品久久一级| 欧美亚洲动漫制服丝袜| 久久国产欧美日韩精品| 国产精品剧情在线亚洲| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲成人在线网站| 久久男人中文字幕资源站| 99精品欧美一区二区三区综合在线| 亚洲一区二区三区四区中文字幕 | 成人精品视频.| 一区二区三区日韩在线观看| 日韩一区二区在线观看视频播放|