Skip to content

Some feature requests about AppGrabber, task bar, layout etc. #356

@WilliamStone

Description

@WilliamStone

Hello,
Cairo is by far the most usable and potential Windows shell program that I ever used(There's not much options on internet). I think it already can compete with windows explorer, yet there still are some issues and incoveniences that, if solved, can make cairo even better. Thus I composed some suggestions which IMHO can improve cairo quality. There's a little bit much though:)
These issues and suggestions belong to a few different topics and should be split into multiple issues, but from consideration for a whole view I think it maybe better to put them together in one issue first, and split latter if needed. Thank you very much for creating such a wonderful piece of software as Cairo!

App Grabber

Finding apps UI

  1. Currently "Finding apps" is first page when entering App Grabber, and I have to wait 5 seconds every time to skip this screen and enter category ui, which is mostly unnecessary, since most times when I use App Grabber, I do not add new installed program into menu, but just re-categorize the programs already added into menu.
    Suggestion: make Finding apps UI optional, i.e. make categories UI be the first screen when entering App Grabber, and add a button in categories UI which enters Finding apps UI if in need.

  2. In "Finding apps" UI, it's hard to locate interesting program from that very long "installed programs" list.
    Suggestion:
    i. add a keyword search box above "installed programs" list, which filters the list using text entered into it.
    ii. add other methods to add programs into program menu and category, one of which could be: from right click menu of a task button or an entry from task list, add an item of "Add to program list", whose sub menus are defined program categories. In this way it would be easy to add a running program that not already in program list into it, or change category of a running program.

Program Category UI

From my experience, it's very inconvenient for current UI to be used, the root cause is it mixes category entries and program entries in one list.

  1. Combining category and program entries makes the list long(in my case it's more than 3 times of list view height), thus making it inconvenient to find certain category or program.
    I have to scroll the list up and down to spot a category, since there is no order among categories.
    Edit: I just found a "Hide" button, which can make the list short, thus solving category finding problem. But finding certain program is still hard.
  2. Hard to move one category up or down continually.
    If I want to move one category up or down multiple times, first I need to find the category in the long list, and click move button beside the category section. After each click, the category section jumps to another position, forcing me to move mouse, maybe scroll the list, to re-find the category and click the move button again and again.
    Edit: With "Hide" button, the list can become short, and I also found an ("undocumented? at least not in Directions section of Categories UI) feature that categories can also be dragged and dropped to new position to reorder categories. This solves moving category problem.
  3. Hard to move a program entry from one category to another category
    I have to drag the moving program from source category and drop it into target category section. Because the list is usually very long, the target category usually is out of visible zone, so I have to keep mouse pointer at top/bottom of list view, and wait the list to scroll till the target category section shows up. And if I want to move multiple programs from source category, I have to scroll the list back to source category and repeat above procedure.

Suggestion:

  1. Split the list into 2 lists: one is category list which contains all categories, another is program list which contains programs in currently selected category.
  2. add a pair of up/down arrow to move currently selected list entry up or down, or support reordering list by dragging an entry and drop it to another position in the same list.
  3. Add a keyword filter above list, to solve finding categories or programs problem

In this way, above issues can be solved:

  1. After split, both lists would be short, so it would be easy to find category and move program between sections: select source category, drag program, and drop to another category in category list, without need to scroll a long list.
  2. I can continually click up or down button at fixed position to move a category, or just drag & drop categories to reorder them.
  3. Drag a program in a category from program list, and drop it onto another category in category list. Since category list is short, it isn't needed to wait a long list to scroll.

More flexible layout

In my experience, currently supported layouts are:
Menu bar must be at screen top; Task bar can be at screen top just under menu bar, or can be at screen bottom; Task bars can hide; Both bars must be horizontal.

The layout could be more flexible, i.e. allow user to ajdust UI elements and positions. Some of my personally preferred scenarios:

  1. Enable putting menu bar and task bar both at bottom of screen. After years of using Windows, I still feel more comfortable putting date/time, notification icons, etc at bottom of screen.
  2. Disable task bar entirely(not just hide), just show menu bar, but keep task list button available(by putting it on menu bar instead). This is because when I use cairo, sometimes I feel task list button alone is enough for me to manage running tasks, rendering other parts of task bar useless.
  3. Enable multiple lines of task buttons.
  4. Enable stack of task buttons of the same program, just like in Windows 7+ (I've seen another issue regarding this)
  5. Enable vertical task bars & menu bars, allowing to put them at left or right side of screen, both on one side or separated to two sides. Top level menu items in menu bar can be shown 90 degrees so they won't occupy much horizontal space.

User Experience improvements

  1. Add a keyword search box in Program menu and task list menu, which filters menu items using text entered in it, so that a program or running task can be found quickly. (At this moment I have 27 task buttons, and of course 27 items and 8 categories in task list menu, which makes it hard to spot wanted program from both task bar and task list)

  2. When put task bar at screen top and set it as hide, only mouse pointer stay on a very narrow line(which is hidden task bar) can make task bar show again. In this case(task bar at screen top and hide) it could be more convenient that putting mouse pointer on menu bar can show hidden task bar.

  3. Add a "restart cairo" item in cairo menu. Due to issue 1 listed below, each time I modify program category, I have to exit cairo and re-run it from explorer (or endure not updated program categories in task list).

  4. Add hot keys to call up Programs menu and task list menu, and use Tab key & arrow keys to navigate in these 2 menus, so that I can launch programs or manage running tasks just by keyboard.
    Currently there is only hot key for Cairo menu and Dynamic Desktop.

  5. Plugin support, which allows users to develop widgets and register them to certain part of cairo UI, menu item or hot key. some ideas:
    i. Clicking the search button at rightmost of menu bar invokes Everything instead of current desktop search;
    ii. Clicking date/time zone can call up a calendar widget which is client of some online calendar service, instead of current simple calendar;
    iii. Shows CPU usage chart & disk busy LED in menu bar;
    iv. Possibly all above misc items(1~4) can be implemented by plugins

Issues

  1. When programs and categories are changed in App Grabber, task list menu which is activated from the rightmost button in task bar is not updated, i.e. the program category in task list is unchanged. A restart of cairo is needed to make them synchronous again.

  2. When maximizing Google chrome window, it will overlap on lower 1/4 proportion of menu bar, covering lower part of texts and icons, which is unignorable. new MS Edge(Chromium based) also has the same issue; No other software found to have this issue so far. Don't know which, cairo or chrome, causes the issue though. The screenshot is as follows:

  • Chrome maxmized, which is overlapping on menu bar:
    image
  • VSCode maxmized, which is normal:
    image
  1. Desktop Search (called up by rightmost button at menu bar) input box is not campatible with Input Method, only accepting English input. in my case I tried some Chinese IMEs, including Microsoft Wubi and Microsoft Pinyin provided by Win10, and another 3rd party IME, none of which can input Chinese text into Desktop Search input box.
    It is possible that the suggested filter boxes for program menu, task list menu, etc, if implemented in the future, can neither work with IMEs, too.

  2. I use an IM software named TIM(a variant of QQ), which has a main window which contains a list of chat sessions. A chat session can be dragged out of main window and it will become standalone chat window. The Cairo behavior of TIM tasks(task buttons and task list menu items of TIM main window and chat windows) is somewhat strange:
    i. Login window, which is initial screen of TIM, is not shown on task bar or in task list (but it doesn't show on Windows Explorer shell taskbar either, so this should be correct);
    ii. When Cairo is running, if I log in TIM and its main window shows up, the window will be also shown on task bar and in task list with correct category;
    iii. At this time, if I drag out a standalone chat window, the new window is shown on task bar and in task list, but in "Uncategorized" category;
    iv. With TIM running and its windows showing, if I exit and restart Cairo, all windows will be shown on task bar and in task list, but in "Uncategorized" category.
    I can try to provide needed information regarding this issue to help further investigate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions