Cosmic App Library is an application launcher for the COSMIC desktop that lists all installed applications in a grid.
# build
just build-release
# install
just install
# uninstall
just uninstall
WIP
License: GNU General Public License v3.0
error[E0624]: associated function `new` is private
--> src/app.rs:300:29
|
300 | cosmic::widget::Button::new(content)
| ^^^ private associated function
|
::: /home/luke/.cargo/git/checkouts/libcosmic-b367e32ffc370f4f/7abcec759101/src/widget/button/widget.rs:62:5
|
62 | pub(super) fn new(content: impl Into<crate::Element<'a, Message>>) -> Self {
| -------------------------------------------------------------------------- private associated function defined here
I think it needs to be cosmic::widget::button(content)
?
instead of words give us the option to have no words but an icon instead like a start menu and the ability to change out that icon like with arcmenu
Not very important, but it could be useful if e.g. IBus Preferences (org.freedesktop.IBus.Setup.desktop
) was patched to not show in COSMIC.
If I select the search box, list of apps, or the groups, then close the app library and reopen it, whichever area was selected previously is still selected when I reopen the app library.
It seems like the text box should have focus by default so that I can start typing to search without having to click it first with my mouse. Then I'd think hitting an arrow key should shift focus to the app list so I can move around and select something from the list with arrows/Enter.
What I'm not sure of is how one would select a group with just the keyboard (maybe hitting Tab?), but that might be out of the scope of this report.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
I can't find a way to add applications to different groups. Clicking and dragging doesn't work, and I don't get right click context menus within the app library when I right click on stuff.
Clicking and dragging apps into different groups seems like the most obvious thing users would try in order to add apps to a group.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
It would be neat to have an option to reset applibrary settings
Currently the homepage link in the control file points to a pop-os/cosmic-app-library
page that doesn't exist. Correct link is https://github.com/pop-os/cosmic-applibrary
Howdie,
I noticed that I can type a few letters to filter apps, and then tab and arrow-key around to move some sort of highlight/focus outline around to the app I want, but pressing enter/return does not launch the app
Looking at the code, I think it's because only the press event on the button widget is wired up, but I would have thought that would include enter/return (and even space?):
Line 945 in 8df76d5
Is this the intended behaviour?
If you're okay with me raising a PR to fix this, is this likely to be a button issue over in libcosmic / iced? Or should this only be solved here?
The library view(& other groups as well) is fixed to top when using Tab to select applications & doesn't scroll below. So we cannot see the selected application if we keep using Tab after crossing the applications present in the first few rows.
Feature List | gnome-cosmic | cosmic-applibrary | Issues |
---|---|---|---|
launch with Super + a |
working | working | |
create folder | working | working | |
always opens to library home | working | working | fixed by #33 |
search then close opens back to home | working | working | fixed by #33 |
search also searches for Available to Install |
working | not working | |
open/close with 4 finger swipe | working | not working | |
scrolling | working | working | |
drag/move apps between sections | working | not working | Only works in one direction |
menu on app icon right click | working | working | |
apps only show in one section | working | working | |
apps are sorted into default sections | working | working | |
use Tab to navigate library |
working | not working | Doesn't scroll view when navigating with keyboard |
E.g. the App Library displays both System Monitor and GNOME System Monitor for the same app (GNOME System Monitor has OnlyShowIn=KDE
).
Currently, dragging an icon from Library Home into a folder does add the icon to that folder, but the icon still remains in Library Home. Additionally, apps that are in folders by default (like the LibreOffice icons in the Office folder) still show up in Library Home.
To match the old COSMIC as well as the Figma mockups, apps that are in a folder should not show up in Library Home. Library Home is simply a fallback folder for icons that aren't in any other folders, not an overview of all apps.
Below are details about the styling adjustments for the padding and spacing for the COSMIC App Library.
Additional information about color variables can be found in Figma: https://www.figma.com/file/fisG9pTBNlHrzT5yyPgTog/Applications-Library?node-id=10%3A565
When I click cosmic-settings on the app library, it doesn't open. This doesn't affect other libcosmic apps, or any other app from what I can tell.
This is intended mainly to clean up the other groups by non-destructively hiding unwanted desktop entries.
E.g. ImageMagick is a dependency for many things, but someone might not want it cluttering up the other groups if it's not used directly (Steam also creates desktop entries for Proton and Runtimes, which is a bit annoying).
The hidden group would be revealed by Ctrl + H, and is not visible otherwise.
Right now, unwanted entries can be placed in their own group, but this takes up space and is always visible ('out of sight, out of mind' would be preferred).
A potential different solution might be to have an option (maybe in the context menu; and maybe only on the Home page) to remove an entry from the App Library, but have some kind of menu somewhere, where they can be individually added back.
Using the context menu to launch an app using a sub entry like Open Profile Manager
for Firefox
seems to break the app library. After selecting such an entry the app library can no longer be toggled. Selecting Run
or directly launching the app without the context menu does not show this symptom.
I think app library should be a little more taller or the padding needs to be smaller, so that it can show all of the 3 row(even the padding for the icons).
Because as you can see in the recording, the scrollbar shows up for the tiny padding space even though there isn't much point to scroll there.
Recording:
Here is the screenshot when using keyboard shortcut(Tab Key, arrow keys does not work)
Here is the screenshot when hovering using mouse
In both screenshots, the Cosmic Terminal is selected. Notice how when using Tab key, there is a thin line(of accent color) around the selection, rather than the greyed out box.
This does not have in launcher, which is how I presume you want it to be like.
The "Ok" and "Cancel" buttons on the "New Group" dialog are aligned to the left, and it looks like there is a darker gray bar below them which sticks off on the right side. I'd take a screenshot, but it looks like none of my screenshot utilities seem to be working in COSMIC quite yet 😅
The darker gray bar beneath the buttons probably shouldn't be there, and the "Cancel" button should probably be aligned to the right side of the dialog. Keeping the "Ok" button left-aligned is probably what we want.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
This is a feature of the gnome extension so it should presumably be here too. You should be able to drag and reorder groups with a mouse.
I try to be more organized with the application library, so I've separated most of the applications I use in related folders. This results in having a lot of empty spaces in folders & even in Library Home.
I think Pop OS 22.04 has 7 columns & 3 rows by default & prefer that. But since the new Cosmic has 7 columns & 4 rows, the application library covers much more of the screen & most of it is empty(unless I'm in Utilities folder/group).
It would be great if you can add an option to add or remove columns & rows with minimum of only 3 rows.
Note: The experience is from a 1920 x 1080 screen, so it might be different for other resolution.
Normally, the right-click context menu (which contains e.g. "Run on {$GPU}") closes if you click outside of it.
If the app library is open and you move an icon from a folder back to Home using the "Remove" option in the menu, then the next time the menu is opened, it takes two clicks instead of one to close. You can see that the first click still causes the app names to un-grey, so it's being registered by the app library, it's just not closing the context menu.
I had one case where the app menu actually froze up after this happened and, after closing it, I had to kill the process to get it to open again. That part's not happening every time, though.
(Tested on version 3349462.)
Currently we have to use Tab key to navigate both applications & groups. Reaching the groups using Tab key, takes quite a long time.
I think it would be great if we can have arrow keys navigation for apps like how it's done in launcher. And Tab key to navigate just the groups, which will make it a lot more easier to navigate them in both normal & reverse order using Shift + Tab.
If I create a new group, it has all of my applications in it. I feel like this might be a placeholder until customizing groups is better supported (#12), but this still seemed like it was worth putting on the list.
The new group should start out empty, then the user should be able to add applications to it.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
When searching for either terminal (for GNOME Terminal) or Tilix I am not seeing them in the search results.
cosmic-app-library:
Installed: 0.1.0~1695826456~22.04~f051c21
Candidate: 0.1.0~1695826456~22.04~f051c21
Version table:
*** 0.1.0~1695826456~22.04~f051c21 1001
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
100 /var/lib/dpkg/status
Closing the app library with Esc takes a double Esc press to close it if I open the app library on a workspace with no open windows. If I have a browser window open and open the app library over the top of it, a single Esc press is enough to close it.
It should probably close after a single Esc press, like it does when I open it on a workspace with a window open.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
Add a button to pin a program from the application launcher, currently you can only pin running programs on the dock.
The categories/folders at the bottom of the launcher only become selected when I single-click them. They are activated by either a double click, or by hitting Enter after one is selected.
I'm thinking a single click should probably activate these buttons.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
To reproduce:
I think the best solution is to add space if the panel is present rather than always adding space as thought it's there.
Currently, search does not show items in folders. This makes some odd things happen, like searching for a terminal but it not showing up because it is in Utilities, at least by default on Pop.
My laptop computer is pretty well spec'ed, but on the Applications applet it struggles to reach 60fps. My laptop runs a hybrid card solution, but I'd guess Nvidia is not an issue, given 1) Cosmic should be running on the Intel one; and 2) While it's noticeably more responsive on my AMD Radeon 6700XT + Ryzen 5 3700X desktop PC, it still doesn't feel as smooth/polished as the Gnome applications menu. It'd seem that the physics are off, and you somehow crawl throughout rows of apps, instead of flying through them (if this makes any sense, English is definitely not my first language but I wouldn't know of a better way to express it in my native tongue either).
Also, sometimes the Applications applet simply disappeared and took very long to open again.
Version: bb9f493
If I start dragging an icon, then press ESC to exit the library (which should also cancel the drag), I'm left with the icon's tooltip stuck to my cursor and the app library no longer opens. Killing the cosmic-app-library
process resolves both issues.
In the below screenshot, the mouse cursor isn't shown, but you can see the colored box icon (from the GTK Demo app) that's actually stuck to my cursor floating on the right side of the screen.
There are duplicate icons for applications when I've modified the .desktop file using Main Menu. I'd imagine it's looking in .local/share/applications
and /usr/share/applications
and not checking for duplicates.
If I open the app library over the top of an application, say, Gnome Terminal or LibreOffice Writer, then I close the app library with the Esc key, I need to click the application window with my mouse before I can resume typing in that application.
After closing the app library with Esc, I'd expect to be able to resume typing in Writer without having to click it with my mouse.
$ apt policy cosmic-app-library
cosmic-app-library:
Installed: 0.1.0~1660784434~22.04~dc85e14
Candidate: 0.1.0~1660784434~22.04~dc85e14
Version table:
*** 0.1.0~1660784434~22.04~dc85e14 1002
1001 http://apt.pop-os.org/release jammy/main amd64 Packages
1002 http://apt.pop-os.org/staging/master jammy/main amd64 Packages
100 /var/lib/dpkg/status
Version: bb9f493
I can drag an icon from Library Home into a folder as expected. However, when I try to drag the icon from the folder back to Library Home, nothing happens. (Library Home is not highlighted when the dragged icon is hovering over it, so it looks like the Library Home element isn't listening for things to be dragged over it.)
Right-clicking any icon in any folder opens a menu with "Remove" as one of the options. That option doesn't seem to do anything.
I'm assuming this menu item should move an icon back to Library Home if it's in another folder. (I don't think it should show up if it's in Library Home.) May need clarification from @pop-os/ux if it's supposed to do something else, as it wasn't present in GNOME COSMIC.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.