static void take_screenshot () { GdkRectangle *rectangle; GdkPixbuf *screenshot; GtkClipboard *clipboard; rectangle = select_area (); if (rectangle == NULL) return; screenshot = get_screenshot_rectangle (rectangle); clipboard = gtk_clipboard_get (gdk_atom_intern ("CLIPBOARD", FALSE)); gtk_clipboard_set_image (clipboard, screenshot); }
char * message_view(View *v, IxpMsg *m) { Area *a; char *s; int i; s = getword(m); switch(getsym(s)) { case LSEND: return send_client(v, m, 0); case LSWAP: return send_client(v, m, 1); case LSELECT: return select_area(v->sel, m); case LCOLMODE: s = getword(m); if((a = strarea(v, s)) == nil || a->floating) return Ebadvalue; s = getword(m); if((i = str2colmode(s)) == -1) return Ebadvalue; a->mode = i; arrange_column(a, True); restack_view(v); if(v == screen->sel) focus_view(screen, v); draw_frames(); return nil; default: return Ebadcmd; } /* not reached */ }