Esempio n. 1
0
void send_reload_signal()
{
#ifdef USE_DBUS
    DBusMessage *message;
    message = dbus_message_new_signal("/","org.metascape.emerald.dbus.Signal","Reload");
    dbus_connection_send(dbcon,message,NULL);
    dbus_message_unref(message);
#else
    Atom wmAtom = 0;
    Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());

    char buffer[128];
    char *part = display_part(getenv("DISPLAY"));

    sprintf(buffer, "_COMPIZ_DM_S%s", part);
    free(part);

    if (dpy)
        wmAtom = XInternAtom(dpy,buffer,0);

    if (wmAtom) {
        XEvent clientEvent;
	Status missed;
        Window w = XGetSelectionOwner(dpy,wmAtom);
	Atom ReloadIt = XInternAtom(dpy, "emerald-sigusr1", 0);
	clientEvent.xclient.type = ClientMessage;
	clientEvent.xclient.window = w;
	clientEvent.xclient.message_type = ReloadIt;
	clientEvent.xclient.format = 32;
	clientEvent.xclient.display = dpy;
	clientEvent.xclient.data.l[0]    = 0;
	clientEvent.xclient.data.l[1]    = 0;
	clientEvent.xclient.data.l[2]    = 0;
	clientEvent.xclient.data.l[3]    = 0;
	clientEvent.xclient.data.l[4]    = 0;
	missed = XSendEvent(dpy,w, 
			    False,
			    NoEventMask, 
			    &clientEvent);
	XSync (dpy, False);
    } else {
        /* The old way */
        gchar * args[]=
	    {"killall","-u",(gchar *)g_get_user_name(),"-SIGUSR1","emerald",NULL};
	gchar * ret=NULL;
	if (!g_spawn_sync(NULL,args,NULL,G_SPAWN_STDERR_TO_DEV_NULL | G_SPAWN_SEARCH_PATH,
			  NULL,NULL,&ret,NULL,NULL,NULL) || !ret)
	    g_warning("Couldn't find running emerald, no reload signal sent.");
    }
#endif
}
Esempio n. 2
0
static void
write_part(GMimeObject *part)
{
	GList *l;
	const GMimeContentType *ct;
	ct = g_mime_object_get_content_type(GMIME_OBJECT(part));
	
	if (GMIME_IS_MULTIPART(part)) {
		if (g_mime_content_type_is_type(ct, "multipart", "alternative")) {
			choose_alternative(part);
			level += g_list_length(GMIME_MULTIPART(part)->subparts);
		} else {
			l = GMIME_MULTIPART(part)->subparts;
			while (l != NULL) {
				write_part(l->data);
				l = l->next;
				level++;
			}
		}
	} else if (GMIME_IS_MESSAGE_PART(part)) {
	} else if (GMIME_IS_PART(part)) {
		display_part(part, ct);
	}
}
Esempio n. 3
0
int main()
{
	struct student s;
	struct student s1[10];
	int n,d,ch2,ch1;
	printf("enter the number of records  to be entered");
	scanf("%d",&n);
	printf("choose the way to operate:\n 1.with pointer\n 2. without pointer");
	scanf("%d",&ch1);
	switch(ch1)
	{
	case 1:
		{
			input_p(&s,n);

			do
				{
				printf("choose the operation to perform:\n 1.display all\n 2.display particular\n 3.delete\n 4.insert\n 5.bubble sort\n 6.selection sort\n 7.binary seach");
				scanf("%d",&ch2);
				switch(ch2)
				{
					case 1:
						display_all_p(&s,n);
					break;
					case 2:
						printf("enter the record to be displayed");
						scanf("%d",&d);
						display_part_p(&s,d);
					break;
					case 3:
						printf("\n enter the record to be deleted");
						scanf("%d",&d);
						del_p(&s,d,n);
					break;
					case 4:
						printf("\n enter the position at which record is to be inserted");
						scanf("%d",&d);
						ins_p(&s,d,n);
					break;
					case 5:
						printf("you chose to sort the records by their roll no using bubble sort");
						bubblesort(&s,n);

						break;
					case 6:
						printf("you chose to sort the records by their roll no using selection sort");
						selection_sort(&s,n);

						break;
					case 7:
						printf("you chose to search a record using binary search by their roll no");

						bin_search(&s,n);
						break;
					default:
						break;
				}
			}while(ch2!=8);

		}
		break;
	case 2:
		{
			input(s1,n);
			do
			{
				printf("choose the operation to perform:\n 1.display all\n 2.display particular\n 3.delete\n 4.insert\n 5. exit");
				scanf("%d",&ch2);
				switch(ch2)
				{
					case 1:
						display_all(s1,n);
					break;
					case 2:
						printf("enter the record to be displayed");
						scanf("%d",&d);
						display_part(s1,d);

					break;
					case 3:
						printf("\n enter the record to be deleted");
						scanf("%d",&d);
						del(s1,d,n);
					break;
					case 4:
						printf("\n enter the position at which record is to be inserted");
						scanf("%d",&d);
						ins(s1,d,n);
					break;
					default:
						printf("please enter a valid input");
						break;
				}
			}while(ch2!=5);
		}
		break;
	default:
		break;

	}
	getchar();
	return 0;
}