~mrb74/easypeasy-project/window-picker-applet

« back to all changes in this revision

Viewing changes to src/task-list.c

  • Committer: Martin Bammer
  • Date: 2009-07-27 10:43:54 UTC
  • Revision ID: martin_bammer-20090727104354-l0omnk4x7nyhsjji
Bugfix: Load all defaults at startup

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
enum
53
53
{
54
54
  PROP_0,
55
 
  
 
55
 
56
56
  PROP_SHOW_ALL_WINDOWS,
57
57
  PROP_AUTO_PRC_PRIO,
58
58
  PROP_PRC_PRIO,
100
100
      break;
101
101
    }
102
102
  }
103
 
    
 
103
 
104
104
  /* Set the minimize hint for the window */
105
105
  wnck_window_set_icon_geometry (window, x, y,
106
106
                                 button->allocation.width,
111
111
set_minimize_hints (TaskList *list)
112
112
{
113
113
  TaskListPrivate *priv;
114
 
    
 
114
 
115
115
  g_return_if_fail (TASK_IS_LIST (list));
116
116
  priv = list->priv;
117
117
 
141
141
 
142
142
  children = gtk_container_get_children (GTK_CONTAINER (list));
143
143
  for (c = children; c; c = c->next)
144
 
  { 
 
144
  {
145
145
    GtkWidget *widget = c->data;
146
146
    WnckWindow *window = g_object_get_data (G_OBJECT (widget), "WnckWindow");
147
147
 
339
339
      wnck_workspace_activate (space, event->time);
340
340
      wnck_window_activate (window, event->time);
341
341
    }
342
 
    
 
342
 
343
343
    return TRUE;
344
344
  }
345
345
  else if (event->button == 3)
378
378
  active = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "drag-true"));
379
379
 
380
380
  if (active)
381
 
  { 
 
381
  {
382
382
    WnckWindow *window;
383
383
 
384
384
    window = (WnckWindow*)g_object_get_data (G_OBJECT (button), "WnckWindow");
385
385
    if (WNCK_IS_WINDOW (window))
386
386
      wnck_window_activate (window, time (NULL));
387
387
  }
388
 
  
 
388
 
389
389
  g_object_set_data (G_OBJECT (button), "drag-true", GINT_TO_POINTER (0));
390
 
  
 
390
 
391
391
  return FALSE;
392
392
}
393
393
 
409
409
  gint active;
410
410
 
411
411
  active = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "drag-true"));
412
 
  
 
412
 
413
413
  if (!active)
414
414
  {
415
415
    g_object_set_data (G_OBJECT (button), "drag-true", GINT_TO_POINTER (1));
509
509
  else
510
510
  {
511
511
    gtk_widget_show (button);
512
 
    
 
512
 
513
513
    /* If the window needs attention and there is no timer... */
514
514
    if (!priv->timer &&
515
515
        wnck_window_or_transient_needs_attention (window) )
565
565
                         "relief", GTK_RELIEF_NONE,
566
566
                         NULL);
567
567
  /* D&D */
568
 
        gtk_widget_add_events (GTK_WIDGET (button),GDK_ALL_EVENTS_MASK);
569
 
        gtk_drag_dest_set (GTK_WIDGET (button),
570
 
                           GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
571
 
                           drop_types, n_drop_types,
572
 
                           GDK_ACTION_COPY);
573
 
        gtk_drag_dest_add_uri_targets (GTK_WIDGET (button));
574
 
        gtk_drag_dest_add_text_targets (GTK_WIDGET (button));
 
568
  gtk_widget_add_events (GTK_WIDGET (button),GDK_ALL_EVENTS_MASK);
 
569
  gtk_drag_dest_set (GTK_WIDGET (button),
 
570
                     GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
 
571
                     drop_types, n_drop_types,
 
572
                     GDK_ACTION_COPY);
 
573
  gtk_drag_dest_add_uri_targets (GTK_WIDGET (button));
 
574
  gtk_drag_dest_add_text_targets (GTK_WIDGET (button));
575
575
  g_signal_connect (button, "drag-motion", 
576
576
                    G_CALLBACK (on_drag_motion), NULL);
577
577
  g_signal_connect (button, "drag-leave", 
578
578
                    G_CALLBACK (on_drag_leave), NULL);
579
 
 
 
579
 
580
580
  gtk_box_pack_start (GTK_BOX (list), button, FALSE, FALSE, 0);
581
 
  
 
581
 
582
582
  g_signal_connect (button, "button-release-event",
583
583
                    G_CALLBACK (on_button_clicked), window);
584
584
  g_signal_connect (button, "leave-notify-event",
591
591
                    G_CALLBACK (on_state_changed), list);
592
592
  g_signal_connect (window, "workspace-changed",
593
593
                    G_CALLBACK (on_workspace_changed), list);
594
 
  
 
594
 
595
595
  g_hash_table_insert (priv->win_table, window, button);
596
596
  g_object_set_data (G_OBJECT (button), "WnckWindow", window);
597
597
 
829
829
{
830
830
  GtkWidget *list = NULL;
831
831
 
832
 
  list = g_object_new (TASK_TYPE_LIST, 
833
 
                       "homogeneous", FALSE, 
834
 
                       "spacing", 2, 
 
832
  list = g_object_new (TASK_TYPE_LIST,
 
833
                       "homogeneous", FALSE,
 
834
                       "spacing", 1,
835
835
                       NULL);
836
 
  
 
836
 
837
837
  g_idle_add ((GSourceFunc)ensure_list, list);
838
 
  
 
838
 
839
839
  return list;
840
840
}
841
841
 
850
850
  return list;
851
851
}
852
852
 
853
 
gboolean    
 
853
gboolean
854
854
task_list_get_desktop_visible (TaskList *list)
855
855
{
856
856
  GList *children, *c;
862
862
  for (c = children; c; c = c->next)
863
863
  {
864
864
    WnckWindow *window;
865
 
    
 
865
 
866
866
    window = g_object_get_data (G_OBJECT (c->data), "WnckWindow");
867
867
 
868
868
    if (WNCK_IS_WINDOW (window) && !wnck_window_is_minimized (window))