Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 68704ab in mainline


Ignore:
Timestamp:
2022-11-09T20:40:57Z (3 weeks ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
c48192e
Parents:
88d828e
Message:

Do not list popup windows in task bar

Location:
uspace
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/taskbar/wndlist.c

    r88d828e r68704ab  
    121121                        goto error;
    122122
    123                 rc = wndlist_append(wndlist, wlist->windows[i], winfo->caption,
    124                     false);
    125                 if (rc != EOK) {
    126                         wndmgt_free_window_info(winfo);
    127                         goto error;
     123                if ((winfo->flags & wndf_popup) == 0) {
     124                        rc = wndlist_append(wndlist, wlist->windows[i],
     125                            winfo->caption, false);
     126                        if (rc != EOK) {
     127                                wndmgt_free_window_info(winfo);
     128                                goto error;
     129                        }
    128130                }
    129131
     
    328330                goto error;
    329331
    330         rc = wndlist_append(wndlist, wnd_id, winfo->caption, true);
    331         if (rc != EOK) {
    332                 wndmgt_free_window_info(winfo);
    333                 goto error;
     332        if ((winfo->flags & wndf_popup) == 0) {
     333                rc = wndlist_append(wndlist, wnd_id, winfo->caption, true);
     334                if (rc != EOK) {
     335                        wndmgt_free_window_info(winfo);
     336                        goto error;
     337                }
    334338        }
    335339
  • uspace/lib/wndmgt/include/types/wndmgt.h

    r88d828e r68704ab  
    8787        /** Window caption */
    8888        char *caption;
     89        /** Window flags */
     90        unsigned flags;
    8991} wndmgt_window_info_t;
    9092
  • uspace/lib/wndmgt/src/wndmgt.c

    r88d828e r68704ab  
    270270
    271271        info->caption = caption;
     272        info->flags = ipc_get_arg1(&answer);
    272273        *rinfo = info;
    273274        return EOK;
  • uspace/lib/wndmgt/src/wndmgt_srv.c

    r88d828e r68704ab  
    198198        }
    199199
    200         async_answer_0(icall, EOK);
     200        async_answer_1(icall, EOK, info->flags);
    201201        wndmgt_free_window_info(info);
    202202}
  • uspace/lib/wndmgt/test/wndmgt.c

    r88d828e r68704ab  
    281281        PCUT_ASSERT_NOT_NULL(resp.get_window_info_rinfo);
    282282        resp.get_window_info_rinfo->caption = str_dup("Hello");
     283        resp.get_window_info_rinfo->flags = 42;
    283284        PCUT_ASSERT_NOT_NULL(resp.get_window_info_rinfo->caption);
    284285        wnd_id = 1;
     
    290291
    291292        PCUT_ASSERT_STR_EQUALS("Hello", info->caption);
     293        PCUT_ASSERT_INT_EQUALS(42, info->flags);
    292294
    293295        wndmgt_free_window_info(info);
  • uspace/srv/hid/display/wmops.c

    r88d828e r68704ab  
    143143        }
    144144
     145        info->flags = wnd->flags;
     146
    145147        ds_display_unlock(wmclient->display);
    146148        *rinfo = info;
Note: See TracChangeset for help on using the changeset viewer.