int main(void) { int l_init = 0; l_init = zlog_init("/etc/zlog.conf"); if (l_init) { printf("logging init failed"); return -1; } c = zlog_get_category("hngui"); if (!c) { printf("Logging init (category) fail\n"); return -1; } zlog_info(c, "Program starting... "); DIR *d; struct dirent *dir; d = opendir("/var/tmp"); if (d) { while ((dir = readdir(d)) != NULL) { zlog_info(c, "%s", dir->d_name); } closedir(d); } zlog_info(c, "Created Tree From Sample Text.."); SetExpansionState(tree, TRUE); LogPrintTree(c, tree, PRINT_ONLY_EXPANDED_NODES); zlog_info(c, "Tree Size: %d\n", TotalSize(tree)); initscr(); mousemask(ALL_MOUSE_EVENTS, NULL); cbreak(); noecho(); nonl(); curs_set(0); keypad(stdscr, TRUE); start_color(); curs_set(0); init_pair(1, COLOR_YELLOW, COLOR_BLACK); init_pair(2, COLOR_RED, COLOR_BLACK); init_pair(3, COLOR_YELLOW, COLOR_BLUE); init_pair(4, COLOR_RED, COLOR_BLUE); int startx, starty, width, height; height = LINES - 2; width = COLS - 2; starty = (LINES - height) / 4; /* Calculating for a center placement */ startx = (COLS - width) / 2; /* of */ refresh(); win = create_newwin(height, width, starty, startx); if (win == NULL) { zlog_info(c, "Window Was null...\n"); endwin(); printf("Window was null??\n"); return -1; } zlog_info(c, "Rendering Tree into window %p \n", win); RenderTreeIntoWindow(tree); refresh(); wrefresh(win); int ch; while ((ch = getch()) != KEY_F(4)) { zlog_info(c, "Trapped Keypress %d", ch ); MEVENT event; switch (ch) { case KEY_RESIZE: zlog_info(c, "Resize()"); RenderTreeIntoWindow(tree); refresh(); wrefresh(win); break; case KEY_F(3): zlog_info(c, "F3=> Refresh"); RefreshData(); break; case KEY_LEFT: zlog_info(c, "Left key"); toggleExpand(win, false); break; case KEY_RIGHT: zlog_info(c, "Right key"); toggleExpand(win, true); break; case KEY_UP: zlog_info(c, "Up Key"); moveUp(win); break; case KEY_DOWN: zlog_info(c, "Down Key"); moveDown(win); break; } if (getmouse(&event) == OK) { zlog_info(c, "Mouse => %d, %d", event.x, event.y); } //LogPrintTree(c, tree, PRINT_ALL_TREE); } endwin(); return 0; }
/* Do the actual applet initialization */ static void init_wtapplet (PanelApplet *applet) { WTApplet *wtapplet = g_new0 (WTApplet, 1); wtapplet->applet = applet; wtapplet->prefs = loadPreferences(wtapplet); wtapplet->activescreen = wnck_screen_get_default(); wnck_screen_force_update(wtapplet->activescreen); wtapplet->activeworkspace = wnck_screen_get_active_workspace(wtapplet->activescreen); wtapplet->activewindow = wnck_screen_get_active_window(wtapplet->activescreen); wtapplet->umaxedwindow = getUpperMaximized(wtapplet); wtapplet->rootwindow = getRootWindow(wtapplet->activescreen); wtapplet->prefbuilder = gtk_builder_new(); wtapplet->box = GTK_BOX(gtk_hbox_new(FALSE, 0)); wtapplet->icon = GTK_IMAGE(gtk_image_new()); wtapplet->title = GTK_LABEL(gtk_label_new(NULL)); wtapplet->eb_icon = GTK_EVENT_BOX(gtk_event_box_new()); wtapplet->eb_title = GTK_EVENT_BOX(gtk_event_box_new()); wtapplet->orient = panel_applet_get_orient(wtapplet->applet); wtapplet->size_hints = g_new(gint,2); // Widgets to eventboxes, eventboxes to box gtk_widget_set_can_focus(GTK_WIDGET(wtapplet->icon), TRUE); gtk_widget_set_can_focus(GTK_WIDGET(wtapplet->title), TRUE); gtk_container_add (GTK_CONTAINER (wtapplet->eb_icon), GTK_WIDGET(wtapplet->icon)); gtk_container_add (GTK_CONTAINER (wtapplet->eb_title), GTK_WIDGET(wtapplet->title)); gtk_event_box_set_visible_window (wtapplet->eb_icon, FALSE); gtk_event_box_set_visible_window (wtapplet->eb_title, FALSE); // Rotate & place elements setAlignment(wtapplet, (gfloat)wtapplet->prefs->alignment); placeWidgets(wtapplet); // Add box to applet gtk_container_add (GTK_CONTAINER(wtapplet->applet), GTK_WIDGET(wtapplet->box)); // Set event handling (icon & title clicks) g_signal_connect(G_OBJECT (wtapplet->eb_icon), "button-press-event", G_CALLBACK (icon_clicked), wtapplet); g_signal_connect(G_OBJECT (wtapplet->eb_title), "button-press-event", G_CALLBACK (title_clicked), wtapplet); // Global window tracking g_signal_connect(wtapplet->activescreen, "active-window-changed", G_CALLBACK (active_window_changed), wtapplet); // <-- this thing is crashing with compiz !!! g_signal_connect(wtapplet->activescreen, "viewports-changed", G_CALLBACK (viewports_changed), wtapplet); g_signal_connect(wtapplet->activescreen, "active-workspace-changed", G_CALLBACK (active_workspace_changed), wtapplet); g_signal_connect(wtapplet->activescreen, "window-closed", G_CALLBACK (window_closed), wtapplet); g_signal_connect(wtapplet->activescreen, "window-opened", G_CALLBACK (window_opened), wtapplet); // g_signal_connect(G_OBJECT (wtapplet->title), "size-request", G_CALLBACK (applet_title_size_request), wtapplet); g_signal_connect(G_OBJECT (wtapplet->applet), "size-allocate", G_CALLBACK (applet_size_allocate), wtapplet); g_signal_connect(G_OBJECT (wtapplet->applet), "change-background", G_CALLBACK (applet_change_background), wtapplet); g_signal_connect(G_OBJECT (wtapplet->applet), "change-orient", G_CALLBACK (applet_change_orient), wtapplet); g_signal_connect(G_OBJECT (wtapplet->applet), "change-size", G_CALLBACK (applet_change_pixel_size), wtapplet); // Track active window changes wtapplet->active_handler_state = g_signal_connect(G_OBJECT (wtapplet->activewindow), "state-changed", G_CALLBACK (active_window_state_changed), wtapplet); wtapplet->active_handler_name = g_signal_connect(G_OBJECT (wtapplet->activewindow), "name-changed", G_CALLBACK (active_window_nameicon_changed), wtapplet); wtapplet->active_handler_icon = g_signal_connect(G_OBJECT (wtapplet->activewindow), "icon-changed", G_CALLBACK (active_window_nameicon_changed), wtapplet); // Setup applet right-click menu GtkActionGroup *action_group = gtk_action_group_new ("WindowButtons Applet Actions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, windowtitle_menu_actions, G_N_ELEMENTS (windowtitle_menu_actions), wtapplet); panel_applet_setup_menu (applet, windowtitle_menu_items, action_group); panel_applet_set_background_widget (wtapplet->applet, GTK_WIDGET (wtapplet->applet)); // Automatic background update toggleExpand (wtapplet); toggleHidden (wtapplet); // Properly hide or show stuff updateTitle (wtapplet); }
void ExpandablePanel::mouseReleased(ofMouseEventArgs & mouse){ if(rectCompressed.inside(ofPoint(mouse.x,mouse.y))){ toggleExpand(); } }