~ubuntu-branches/debian/sid/openbox/sid

« back to all changes in this revision

Viewing changes to openbox/client_list_combined_menu.c

  • Committer: Bazaar Package Importer
  • Author(s): Nico Golde, Nico Golde, Eugenio Paolantonio
  • Date: 2011-10-03 22:59:30 UTC
  • mfrom: (1.1.11 upstream)
  • Revision ID: james.westby@ubuntu.com-20111003225930-tdvyax5tx63dyoez
Tags: 3.5.0-1
[Nico Golde]
* New upstream release (Closes: #638783).
  - Fix crashes in the menu code (Closes: #563891).
* Add Brazilian translation to openbox.desktop,
  thanks Sérgio Cipolla (Closes: #627912).
* Remove 06_fix_swap_byte_order.patch, applied upstream.
* Bump debhelper dependency to >= 7.0.50~ due to override.
* Remove CHANGELOG from openbox.docs to prevent double installation.
* Add 02_fix_freedesktop_compliance.dpatch desktop file to
  /usr/share/applications.

[Eugenio Paolantonio]
* debian/patches:
  - Disabled 03_place_windows_in_quadrants.patch
  - Updated 01_rc.xml.patch and 06_fix_swap_byte_order.patch
  - Removed 04_fix_ftbfs_no-add-needed.patch and 20_24bits_support.patch
* debian/control:
  - Added myself to the Uploaders.
  - Build-Depends: removed libxau-dev, libxft-dev and python-xdg;
    added libimlib2-dev
  - openbox Suggests: added python-xdg
  - libobrender21 renamed to libobrender27
  - libobparser21 renamed to libobt0
* debian/rules:
  - Rewrote using a simpler debhelper syntax
  - Moved the install pass to openbox.install
* debian/*.{install,links,dirs}:
  - Updated.
* debian/openbox.xsession:
  - Removed. Openbox now ships it by default.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
#define ADD_DESKTOP -2
38
38
#define REMOVE_DESKTOP -3
39
39
 
 
40
static void self_cleanup(ObMenu *menu, gpointer data)
 
41
{
 
42
    menu_clear_entries(menu);
 
43
}
 
44
 
40
45
static gboolean self_update(ObMenuFrame *frame, gpointer data)
41
46
{
42
47
    ObMenu *menu = frame->menu;
53
58
        menu_add_separator(menu, SEPARATOR, screen_desktop_names[desktop]);
54
59
        for (it = focus_order; it; it = g_list_next(it)) {
55
60
            ObClient *c = it->data;
56
 
            if (client_normal(c) && (!c->skip_taskbar || c->iconic) &&
57
 
                (c->desktop == desktop || c->desktop == DESKTOP_ALL))
 
61
            if (focus_valid_target(c, desktop,
 
62
                                   TRUE, TRUE,
 
63
                                   FALSE, TRUE, FALSE, FALSE, FALSE))
58
64
            {
59
65
                empty = FALSE;
60
66
 
67
73
                    e = menu_add_normal(menu, desktop, c->title, NULL, FALSE);
68
74
                }
69
75
 
70
 
                if (config_menu_client_list_icons) {
 
76
                if (config_menu_show_icons) {
71
77
                    e->data.normal.icon = client_icon(c);
72
78
                    RrImageRef(e->data.normal.icon);
73
79
                    e->data.normal.icon_alpha =
114
120
    else {
115
121
        ObClient *t = self->data.normal.data;
116
122
        if (t) { /* it's set to NULL if its destroyed */
117
 
            client_activate(t, TRUE, FALSE, TRUE, TRUE, TRUE);
 
123
            gboolean here = state & ShiftMask;
 
124
 
 
125
            client_activate(t, TRUE, here, TRUE, TRUE, TRUE);
118
126
            /* if the window is omnipresent then we need to go to its
119
127
               desktop */
120
 
            if (t->desktop == DESKTOP_ALL)
 
128
            if (!here && t->desktop == DESKTOP_ALL)
121
129
                screen_set_desktop(self->id, FALSE);
122
130
        }
123
131
        else
148
156
 
149
157
    combined_menu = menu_new(MENU_NAME, _("Windows"), TRUE, NULL);
150
158
    menu_set_update_func(combined_menu, self_update);
 
159
    menu_set_cleanup_func(combined_menu, self_cleanup);
151
160
    menu_set_execute_func(combined_menu, menu_execute);
152
161
}
153
162