mmstick

joined 2 years ago
MODERATOR OF
[–] mmstick 1 points 9 months ago

24.04 releases somewhere near end of summer. Super + 1-9 is already bound to workspaces in COSMIC.

[–] mmstick 3 points 9 months ago* (last edited 9 months ago) (2 children)

Pop!_OS 22.04 uses GNOME with a lot of custom extensions and patches. Pop!_OS 24.04 will switch to COSMIC.

GNOME Shell extensions are JavaScript monkey patches that get injected directly into the gnome-shell process, which is running inside a JavaScript runtime. So they have no effect outside of GNOME Shell.

COSMIC panels are already configurable, so there's no need for a third party panel applet to have dock applets embedded in the panel. You can configure the panel and dock to any layout. Be that a GNOME layout, Unity layout, Mac OS layout, Windows layout, etc.

It would be redundant to rebrand Pop!_OS to COSMIC OS. The cosmos was created by a Pop!

[–] mmstick 1 points 9 months ago* (last edited 9 months ago)

The cosmic toolkit has its own widget library that replaces the iced widgets. These widgets are tightly integrated with cosmic's theme engine. The toolkit also provides its own Application/Applet traits for quickly implementing a standardized COSMIC application and applet interface. Examples are in the libcosmic repository, and you can reference cosmic-applets and other repositories for real world examples.

[–] mmstick 3 points 9 months ago* (last edited 9 months ago) (4 children)

It is a desktop environment, which is the entire graphical user interface of the OS, and all of its bundled applications. It is also a platform which developers can build COSMIC applets and applications with. Applications being desktop applications, and applets being the shell components. Shell components are small interface elements such as the panel, dock, panel buttons, on-screen displays, launcher, etc.

It will take its place alongside the two giants in this space: KDE and GNOME. KDE being a desktop environment whose applets and applications are written in C++/JavaScript using Qt/QML as its GUI library. GNOME being and desktop environment whose applets are written in JavaScript with the GNOME Shell Toolkit; and its applications are written primarily in C with GTK as its GUI library.

COSMIC is instead built from the ground up entirely in Rust from top to bottom. Every applet and application is written in Rust, and the same libcosmic GUI library is used for developing both of them. Rust is a statically typed programming language which has dethroned C/C++ in recent years, and has been the most loved programming language on StackOverflow for the last eight years. We aim to make COSMIC the preferred platform for developing applications in Rust, with a GUI toolkit that's easier to develop than the alternatives.

[–] mmstick 5 points 9 months ago

It is possible. This is the beginning of our theme integration support.

[–] mmstick 4 points 9 months ago

This is a list of community-developed projects.

[–] mmstick 2 points 9 months ago

Wayland compositors have to implement the whole display server, including special handling of XWayland windows. XWayland windows can be very finicky and require caution to handle.

[–] mmstick 2 points 9 months ago
  1. Desktop and Panel > Dock > Position on screen > Left
  2. Dock > Configure dock applets. > Drag Cosmic Dock App List to Start Segment
  3. Dock > Extend dock to screen edges

If the dock takes dominance of the left side, move it back to the bottom to give the panel dominance, and then move the dock back to the left.

[–] mmstick 5 points 9 months ago (2 children)

The editor is meant to be a regular text editor. If you want a code editor, there is https://lapce.dev/

[–] mmstick 4 points 9 months ago* (last edited 9 months ago) (4 children)
  1. That's not implemented, but you can click the maximize button, or press Super+M to toggle maximization.
  2. You can open the Appearance settings page and change that to your preferred color scheme. We've already selected our default colors and they're not going to change from here on out.
  3. What do you mean by minimal? The PrintScrn key opens the screenshot utility, which lets you choose between capturing a selected region, a specific window, or the whole display
  4. What's wrong with the file manager and editor? You can use whatever editor and file manager you want, so that shouldn't be a blocker for daily use.
  5. This can be configured in the cosmic comp config, but will be implemented in the settings app soon.
  6. Super+W opens the workspaces view
  7. Your distribution should make sure pop-launcher is installed, and each of its plugins symlinked.
  8. That is already possible in the Desktop and Panel settings page. As you can see, I'm not using a GNOME style panel or dock here.
[–] mmstick 11 points 9 months ago (6 children)

It should be noted that COSMIC itself hasn't been delayed. Development on the core applications progressed much faster than expected, so we decided to skip the Alpha 1 release and release Alpha 2 instead.

Why wouldn't you like using it right now? I wouldn't call it "very alpha".

[–] mmstick 7 points 9 months ago

PRs to cosmic-panel and libcosmic are welcome

 

cross-posted from: https://programming.dev/post/91261

Hello everyone, I recently started working on a Gtk client for Lemmy written in Rust, called Lemoa and the awesome Relm4 crate.

So far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc... Login features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.

Screenshot of an example community page:

Id you want to feel free to already try it at "alpha stage" (installation instructions are in the Readme).

Feedback and any kind of contributions welcome!

PS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.

 

cross-posted from: https://programming.dev/post/91261

Hello everyone, I recently started working on a Gtk client for Lemmy written in Rust, called Lemoa and the awesome Relm4 crate.

So far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc... Login features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.

Screenshot of an example community page:

Id you want to feel free to already try it at "alpha stage" (installation instructions are in the Readme).

Feedback and any kind of contributions welcome!

PS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.

 

cross-posted from: https://lemmy.world/post/339657

This is from a developer working for the team at Slint. Slint is an alternative GUI library to iced/libcosmic that is also written in Rust. The goal is to make it possible to developers to create COSMIC-themed applications with Slint as a possible alternative to libcosmic.

38
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/pop_os
 

Two new powerful laptops! The Oryx Pro now features a 16:10 display, while the new Bonobo WS has been upgraded with NVIDIA RTX 4080 & 4090 graphics. Both laptops are now equipped with 13th Gen Intel CPUs and more!

  • Purchases of System76 hardware directly fund development of Pop!_OS.
  • System76 laptops are sold preloaded with an OEM installation of Pop!_OS.
  • The system can be encrypted during the first time user setup.
  • All Pop!_OS updates are thoroughly regression tested with System76 hardware, and professional support for Pop!_OS is available to System76 customers.
  • Intel laptops are sold with open source coreboot firmware developed in-house for the best Linux desktop experience.
11
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/pop_os
 

This is from a developer working for the team at Slint. Slint is an alternative GUI library to iced/libcosmic that is also written in Rust. The goal is to make it possible to developers to create COSMIC-themed applications with Slint as a possible alternative to libcosmic.

36
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/pop_os
 

If you can't find something that meets your needs, let us know what we need to add! We can often offer options beyond those in the system configurator.

390
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/[email protected]
 

The official community is hosted at [email protected]

On June 12th, we joined the Reddit Blackout to protest against the loss of third party clients that will happen on July 1st with Reddit's API pricing changes. There is open source software which relies on these APIs to function, as well as various third party clients that improve accessibility and UX over Reddit's desktop and official mobile app. Some of them have better moderation tools to make managing a subreddit easier.

Many rely on our extensive history of support requests and answers on the platform for troubleshooting day to day issues on Linux and Pop!_OS, so we are going back to a public status. A better way to protest may be for users to migrate towards open source decentralized alternatives.

So during that downtime, we've started a community on an open source Reddit alternative, Lemmy, which also happens to be written in Rust. Those who'd like to be on an open platform can join us here as an alternative to Reddit.

30
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/[email protected]
 

The latest monthly blog update for the month of June.

6
Translation Guide (self.pop_os)
submitted 2 years ago by mmstick to c/pop_os
 

Our Rust projects are using Fluent for translations. Each of our translatable repositories will have a leading i18n directory in the project root, which has files organized in this format: i18n/{language-code}/{cargo-crate}.ftl.

Fluent translations do not have to be exactly 1:1 translations of the English text. If you have a better expression in your language for the text that is being translated, use the language that is most natural in your language instead. Your translations will remain valid regardless of what changes we make to the English text. But over time we may add or remove keys that will require future translations. You may look for i18n(en): commits since these may signal additions or removals that have been performed.

If your language is not supported, you can start by copying the en folder and then translating each of the strings to the right of the keywords in the .ftl Fluent files. I'd prefer to have all keys from each file translated in a single commit per language so that we avoid cluttering our commit history with spam, since we also use our commit history as a public human-presentable changelog. If a PR contains multiple languages, it's necessary to have commits properly named such as i18n(pl): Add Polish translation. I can generally do a squash & merge of drive-by pull requests to a specific language that aren't formatted correctly though.

As an example, the cosmic-settings repository has its localization files stored here in its i18n directory. You can edit it directly in GitHub while logged into a GitHub account, or fork and clone to make changes locally which you can test.

Git How-To

Some skill with git is necessary. If you wanted to add an Esperanto translation:

  • Fork the repository on GitHub to your account
  • git clone the URL to your repository
  • cd project to move the terminal working directory inside the project
  • git checkout -b esperanto to create a new branch named esperanto
  • Open the project folder in VS Code and make all your changes (ie: code .)
  • git add i18n to add your changes
  • git commit -m 'i18n(eo): Add Esperanto translation' to create the commit
  • git push origin esperanto to push the changes to your fork
  • Use GitHub to create Pull Request from your fork's branch to our repository

If you made a mistake and want to amend it:

  • Make your changes
  • git add i18n
  • git commit --amend
  • Then git push origin esperanto --force
  • Your pull request will be automatically updated with the new commit

For a more elaborate PR, use git log to get a history of commits, copy the hash of the commit before where you want to make changes, git rebase -i {hash}, and then you can reorder commits or change pick to e if you want to edit them. Use git commit --amend after completing an edit, and git rebase --continue to reapply all the commits and complete the rebase.

Testing

Either make and run the binary dropped into target/release, or run dpkg-buildpackage -b to build a Debian package. You can run sudo apt build-dep {package-name} to fetch build dependencies for whichever package you're trying to build. Drops the .deb file(s) in the directory above. Typical dependencies are cargo, libgtk-dev, libssl-dev, and libwebkit2gtk-4.0-dev. Dependencies are listed in the debian/rules file.

21
submitted 2 years ago by mmstick to c/pop_os
6
submitted 2 years ago* (last edited 2 years ago) by mmstick to c/pop_os
 

Lemmy currently requires that a person has commented within a community before they can be added as a moderator.

view more: ‹ prev next ›