Giter Club home page Giter Club logo

atoms's People

Contributors

albanobattistella avatar allaeddineomc avatar antoniohauren avatar cat-master21 avatar drewmoseley avatar flipflop97 avatar gregorni avatar jd-the-65th avatar kbdharun avatar mirkobrombin avatar samega7cattac avatar theevilskeleton avatar wsxy162 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

atoms's Issues

Add Zorin OS Immage

Tell us the problem or your need

Hello,

Could you please add Zorin Os Immage?
Thanks.
V/R,
A

Describe the solution you'd like

Add Zorin OS Immage.

Other solutions?

No response

Additional context and references

No response

[Request]: Preferences shortcut, "Shortcuts" window name/title

Tell us the problem or your need

This is of low importance. But should be relatively simple to deal with.

I'm requesting two things:

  1. A keybinding for the Preferences dialog. Ctrl+comma has become fairly common for this, especially in newer GTK apps.
  2. The "Shortcuts" dialog showing keyboard shortcuts has a "name" in the background that doesn't match the title displayed on the window. I would like to see this changed to "Shortcuts" just like the visible title of the window.

In X11 this is referring to the WM_NAME and _NET_WM_NAME window attributes. I think it's referred to as the window "title" more often in Wayland, but it might depend on the desktop environment.

I observed this because I am maintaining a keymapper app (https://toshy.app) that converts my keyboard behavior in Linux to working like a Mac, and I was remapping some keys to close the Atoms dialogs with my keyboard's equivalent of Cmd+W (remapped to the Escape key in this instance). The "Preferences" dialog is actually named "Preferences", and the "About" dialog is also named "About" in the window attributes. But the "Shortcuts" dialog just has the name "atoms", which is the same as the application class string of all the dialogs.

I haven't been able to pinpoint exactly where these window attributes are set for each dialog in the code, but if you point me at the right file I may be able to put together a simple PR for this.

Describe the solution you'd like

Update the window attribute "name/title" from "atoms" to "Shortcuts" to match the "Shortcuts" dialog window title displayed visibly on the title bar, like the other dialogs.

Application class attribute can stay the same (for all dialogs this is currently "atoms") or be updated to match the main window app class of "pm.mirko.Atoms". I can work with it either way.

Other solutions?

No response

Additional context and references

No response

[Bug]: Typo inside Atom creation window

Describe the bug

As you can see here, it says "Downloading Choosen Image" but it's supposed to be spelled as "Chosen"

To Reproduce

Just create a new Atom and you'll see the typo

Package

Flatpak from Flathub

Distribution

Fedora 36 Silverblue

Display Protocol

Wayland

Additional context

I'm sorry if this sounds nit-picky. I actually really value your work and I hope that I don't come across as annoying

[Bug]: Difficulty creating a Distrobox from the UI.

Describe the bug

I tried installing a distrobox from the main UI, however when it tries to pull the image and create the instance, no progress seems to occur. In contrast, the application lists and manages distroboxes that were already created via command line run flawlessly. For example, I created a Distrobox via command line, using this command:

distrobox create --image fedora:37 --name fedora

and I have a fully functional Fedora distrobox, which shows up in Atoms. However, if I try to create the same distrobox from Atoms, I am unable to even enter the name of the image in Atom's text field to pull the correct image.

Now here's the weird part. when I ran the Atom flatpak from the command line, I received a prompt, not in the UI but from the command-line itself, asking if I wanted to pull the fedora 37 image. After confirming in the terminal that I wanted to pull the image, the image downloaded and the distrobox was created flawlessly.

To Reproduce

  1. Open Atoms from Desktop
  2. Create new Atom
  3. Name it Ubuntu-Impish
  4. Select Distrobox Container
  5. Choose Image ubuntu:20.04
  6. Wait, wait and wait.

Package

Flatpak from Flathub

Distribution

Garuda Linux

Display Protocol

Wayland

Additional context

No response

Minor edit on README.md

Love the project - just getting into using distrobox from NixOS.

I found a small change in the dependencies

Noted dependency
org.freedesktop.Platform.GL32

Actual dependency
org.freedesktop.Platform.GL32.default

Thanks again - love your work!

[BUG]: When atoms fails with the checksum checks, it doesn't do anything

Description:

When creating a new atom and the checksum fails (in my case because the file specified in the checksum file doesn't exist), instead of raising an exception and showing an error in the ui it just silently crashes in the background and then gets stuck on the creation screen with this error in the terminal:

Error while running async job: <function AtomsNewAtomWindow.__on_btn_create_clicked.<locals>.create_atom at 0x7fd03b87f4c0>
Exception: not enough values to unpack (expected 2, got 1)
  File "/app/share/atoms/atoms/utils/threading.py", line 59, in __target
    result = self.task_func(*args, **kwargs)
  File "/app/share/atoms/atoms/windows/new_atom_window.py", line 120, in create_atom
    return self.window.manager.request_new_atom(
  File "/app/lib/python3.9/site-packages/atoms_core/atoms.py", line 93, in request_new_atom
    return Atom.new(
  File "/app/lib/python3.9/site-packages/atoms_core/entities/atom.py", line 168, in new
    image = AtomsImageUtils.get_image(
  File "/app/lib/python3.9/site-packages/atoms_core/utils/image.py", line 42, in get_image
    remote_hash = distribution.read_remote_hash(architecture, release)
  File "/app/lib/python3.9/site-packages/atoms_core/entities/distribution.py", line 90, in read_remote_hash
    _hash, _file = re.split(r"\s+", line, maxsplit=1)

[Request]: alias servicectl to systemctl

Tell us the problem or your need

some programs and scripts are hard coded to use systemctl and won't work on a chroot or a container without being modified

Describe the solution you'd like

make running systemcl executes servicestl instead

Other solutions?

No response

Additional context and references

No response

[Request]: add Arch Linux

Tell us the problem or your need

It would be nice to have Arch on atoms. It would allow for the use of the AUR.

Describe the solution you'd like

It should be pretty simple to put together a image. The only problem I can foresee is it getting out of date very quickly

Other solutions?

No response

Additional context and references

No response

[Bug]: Failed to install during build

Describe the bug

When building during the install process I get

install: cannot stat 'serviced': No such file or directory
Error: module servicectl: Child process exited with code 1

To Reproduce

  1. Install the dependencies in the README.md
  2. Build Atoms
  3. Fails :(

Package

From source

Distribution

Arch Linux

Display Protocol

Wayland

Additional context

No response

Support color schemes

Atoms is 90% a console, the user will spend almost all the time writing commands. So providing color schemes will make the experience more pleasant.

Color scheme doesn't theme the console only but the entire window, like in GNOME Text Editor or GNOME Builder.

Development instructions

It would be awesome if there was some short instruction on how to run the app locally from source to debug some issue.
I have never developed a flatpak application and I am not even sure if that has any impact on the development process when fixing some non-flatpak related bugs.

It's also not clear to me why there is a CLI submodule. As I understand it, the GTK app and the CLI app are both clients to the code in the Core. Is the CLI needed for the GTK app to work as well, or is it just for convenience?

[Bug]: Detach Console button broken

Describe the bug

Traceback (most recent call last):
  File "/app/share/atoms/atoms/views/dashboard.py", line 131, in __on_detach_clicked
    attach() if self.__detach_status else detach()
  File "/app/share/atoms/atoms/views/dashboard.py", line 125, in detach
    self.__detached_window = AtomsDetachedWindow(self.console, "#000000", title=self.atom.name)
  File "/app/share/atoms/atoms/windows/detached_window.py", line 35, in __init__
    self.__build_ui()
  File "/app/share/atoms/atoms/windows/detached_window.py", line 41, in __build_ui
    css_provider.load_from_data(str.encode(style))
TypeError: Gtk.CssProvider.load_from_data() takes exactly 3 arguments (2 given)

To Reproduce

Click the Detach Console button, the button will change to Attach Console, but no console will appear
Click Attach Console and nothing will happen

Package

Flatpak from Flathub

Distribution

Fedora 38

Display Protocol

Wayland

Additional context

No response

[Request]: Update Distrobox Containers & Chroots using Atoms

Tell us the problem or your need

Currently, Atoms provides no way of updating the containers or chroots without going into the containers.

Describe the solution you'd like

Distrobox provides a way of updating its containers using distrobox upgrade. Chroots are a bit different, but I can imagine it wouldn't be too hard to implement. Ideally, there would be an update all button somewhere, and in the Dashboard of an atom, you could choose to update that specific atom only.

Other solutions?

No response

Additional context and references

No response

[Bug]: Cannot launch AppImages

Describe the bug

It says:
2023-12-20_12-20-58

To Reproduce

  1. Open chroot
  2. Install FUSE
  3. Open AppImage

Package

Flatpak from Flathub

Distribution

Void Linux x86_64-musl

Display Protocol

Wayland

Additional context

I tried enabling all permissions via Flatseal, but to no avail.

(Feature Request) FreeBSD support

There's a way to make it work on FreeBSD? because FreeBSD has it's own sandbox using namespaces called jails.

(It offers Linux binary compatibility too).

[Request]: Easy way to set up audio drivers that work for a chosen Atom

Tell us the problem or your need

I have a use case where I plan on using Atoms as a way to containerize other distro functions that involve using the MPV Media Player within an Atom for my Steam Deck, which has an immutable filesystem thus I am using this as a flatpak workaround without risking potential instability in my main OS by turning read only off.

It works fine in terms of getting mpv to launch and show video for the functions I want it for, however, said video will not have audio, since the drivers aren't properly set up.

I'm trying out a Fedora atom with nonfree repositories manually enabled to do this since Arch Linux is not a stable option to choose for an atom where I can just archinstall and it'll do most of the work, and tried using sudo dnf install pipewire and sudo dnf install pulseaudio in separate fedora atoms and neither of these did the trick in getting audio working in either of them.

I tried to find some way to RTFM my way out of this situation but couldn't find the information I needed, so now I'm here as a last resort.

Describe the solution you'd like

tl;dr, Can we please get an easy way to pass our host system audio drivers to the Atom we are using, and/or have some kind of GUI checkbox that says "Allow programs/packages to use audio in Atom" if this is possible?

Other solutions?

A video tutorial guide on the Bottles Youtube channel on how to set up audio drivers inside of an Atom

Additional context and references

No response

[Request]: The ability to integrate applications from a chroot into the host menu

Tell us the problem or your need

Currently you can install GUI applications in a chroot, but they don't integrate with the host system. You have to launch them from the command line.

Describe the solution you'd like

The ability to integrate applications from a chroot into the host distro's menu system.

  • Present a list of applications from each chroot and allow the user to choose which ones they want to show up in their menu
  • Allow a select all applications from a chroot and group them in a subdirectory in GNOME shell or a submenu in KDE Plasma

Other solutions?

No response

Additional context and references

  • In order to do this we could parse the XDG application directories from inside the chroot
  • Then use GTK's icon look up system to find the icons.
  • We would then copy the icon to the host
  • Finally create a patched desktop file on the host side.

(Feature Request) Provide statically compiled binaries

There's a way to provide it without Flatpak requirement? it brings security concerns and reduce portabillity.

Firejail could be used to provide sandbox to it? because it supports sandbox via chroot and seccomp too (it does with Firefox AFAIK).

It could be provided statically, like Firefox, Tor, PPSSPP, PlayOnLinux and RPCS3.

[Bug]: resolv.conf is a link to systemd's stub-resolv.conf

Describe the bug

Trying to install Debian and Ubuntu under Atoms, being using it before in my old laptop without problems.

But I've found in Arch Linux fresh install I'm using NetworkManager resolv.conf, so there's not stub-resolv.conf

image

So there's no DNS resolution. Of course, I can ping and so on, so if I remove the symlink I can resolve DNS.

image

To Reproduce

  1. Start an atom, Ubuntu or Debian in this case.
  2. Try to apt update, you'lle get a lot of name resolution errors.
  3. Check where /etc/resolv.conf is pointing

Package

Flatpak from Flathub

Distribution

Arch Linux + Network Manager resolv.conf

Display Protocol

Wayland

Additional context

Can't /etc/resolv.conf from main system be directly symlinked to the chroot?

[Request]: Copy-paste with gnome-terminal -style bindings

Tell us the problem or your need

Copying text from or copying to an atom's console is impossible.

Describe the solution you'd like

Similar to gnome-terminal for example Ctrl+Shift+C should be able to copy text from an atom's Console tab and Ctrl+Shift+V should paste the clipboard contents to it.

Other solutions?

Perhaps a right-click menu with Copy and Paste items would make sense, currently right-clicking on the console does nothing.

Additional context and references

No response

[Request]: Reuse distrobox

Tell us the problem or your need

It seems like a lot of work to recreate the work done by distrobox.

Describe the solution you'd like

It might be possible to reuse some of the images created by distrobox. They have different configurations but in theory it could be made to work.

Other solutions?

Atoms could become a frontend for distrobox. This would eliminate the burden for maintaining images but would make most of the existing project worthless.

Additional context and references

distrobox

distrobox images

[Request]: Alpine GUI apps

Tell us the problem or your need

It's actually very simple to get GUI apps to work on Alpine. Simply run xhost +local:; xhost, and start a GUI app.
image
Note: this was tested with Fedora rawhide.

Describe the solution you'd like

To fix this, it should run the command when you open a Alpine chroot.

Other solutions?

It could also have an option to rerun xhost +local:, in case something breaks.

Additional context and references

https://wiki.archlinux.org/title/Chroot#Run_graphical_applications_from_chroot
https://wiki.archlinux.org/title/Xhost

Support for utilizing Docker images and Flatpak's sandbox spawning

continuation of bottlesdevs/Bottles#1835.

Some Linux-native apps and games require dependencies that the host does not have, in which case they provide themselves, or rely on an environment where they can be provided (Flatpak, Nix, etc).

From what I can tell, Flatpak can spawn a separate bwrap container and utilize a Docker image for that. This would allow for prebuilt images that are compatible with this feature to be used, and would also be an easier alternative to making a Flatpak for said app/game.

Distrobox Integration greyed out even after giving permissions

I have distrobox installed locally and setup locally on my SteamDeck because if the immutable filesystem. I installed Atoms, used flatseal to give it the permissions needed, and rebooted to make sure everything loads properly. After all that, the option for distrobox is still greyed out.

Is there something I'm missing? Does distrobox integration not work if it is installed locally?

I did select system for installing both the Atoms package and Flatseal package and will be willing to reinstall them as user packages if needed.

[Request]: Add the option to choose a custom home directory for a Distrobox instance

Tell us the problem or your need

From what I heard, distrobox supports creating an instance with a custom HOME directory, which is useful if the user wishes to keep the distrobox instance's contents separate from their host system, as otherwise everything will be dumped onto their main Home directory and cause a messy clutter.

As someone who likes keeping their filesystem organized, such a feature is incredibly useful to me and I would like to make use of it, but unfortunately, from what I gathered, it seems this isn't available as an option in Atoms.

Describe the solution you'd like

Would it be possible to add an option to specify a custom HOME directory in Atoms when creating a distrobox atom?

Other solutions?

No response

Additional context and references

While I understand that Atoms is not intended to be a proper tool for managing Distrobox instances, it is the only tool that is able to do the job in a way that isn't overwhelming. Pods appears to be a quite complicated tool for most non-technical users to make use of if they happen to wish to have this functionality, and it's also a bit disheartening to have to resort to the command line to have this option as well. So I ask you to at least please consider implementing this, as it's likely not too complicated to implement and wouldn't diverge much from Atoms' vision.

[Request]: Share clipboard between user and the chroot environment

Tell us the problem or your need

I want to use this to compile and run some of the packages not offered in my disto repos for that I need to copy paste dependency upgrades and git folders etc a lot.

I couldn't find an easy way to do it from the GUI and been creating text file to chroot directory and cat'ing them.
Would be nice if I didn't have to

Describe the solution you'd like

Maybe a button near the ones for mounting themes that would share the clipboard between host and user?

Other solutions?

I'm guessing It would work if I did the chroot operation in my terminal and used this https://wiki.archlinux.org/title/Chroot
but that in my mind takes away my need for this program, which I would like to use.

Additional context and references

No response

[Bug]: Cannot Display Filepath + Gnome Error when trying to debug

Describe the bug

A picture is worth a thousand words.

See the screenshot below for the error:

Atoms-bug1

When trying to debug via cli, I ran: flatpak run --devel pm.mirko.Atoms

and got:

error: runtime/org.gnome.Sdk/x86_64/44 not installed

Not sure if it's relevant cause the app works.

To Reproduce

  1. Open app
  2. Create Ubuntu container
  3. Click on "browse files" after app creation

Package

Flatpak from Flathub

Distribution

Arch/KDE

Display Protocol

X11

Additional context

No response

[Request]: provide gentoo image with portage

Describe the bug

The portage binary seems to be missing from Gentoo. Without it you can not use emerge.

To Reproduce

  1. install gentoo atom
  2. run portage
    bash: portage: command not found

Package

Flatpak from Flathub

Distribution

Pop os, Fedora

Display Protocol

X11, Wayland

Additional context

It seems that the image is missing portage

Host backend and frontend in different repositories

Atoms backend and frontend are already independent from each other. Hosting them in different repositories as separated projects will allow clients to use the backend as a dependency.

Tasks

  • separate builds
  • host a new repository for the backend
  • make a new class for frontend specific methods (e.g. GLib_idle_add) which should be extended by the frontend according to the toolkit in use; this class should be provided as parameter in the AtomsBackend instance and shared across the project
  • list backend as dependency in the frontend meson recipe
  • update flatpak manifest

[Bug]: Distrobox Container initialization fails

Describe the bug

Atoms fails to initialize any type of Distrobox container. Tested values are:

  • tumbleweed:latest
  • ubuntu:latest
  • archlinux:latest

To Reproduce

  1. Click on the + in the top left to create a container
  2. Select Distrobox Container as the Atom Type
  3. Enter any container name (values tested listed above)
  4. See initialization instantly failing

Package

Other, unofficial package

Distribution

Fedora Silverblue 39

Display Protocol

Wayland

Additional context

The package is a test version sent by @mirkobrombin .

[Bug]: Atoms crash when pressing ESC key on AdwAboutWindow

Describe the bug

Here is the log

$ flatpak run pm.mirko.Atoms
Atom configuration file not found with path: b5dbf374-18c6-4ecf-be98-448ed4b7a81e.atom
/usr/lib/python3.9/site-packages/gi/overrides/Gio.py:42: Warning: g_object_weak_unref: couldn't find weak ref 0x7f1a92ae82b0(0x55b8bb6c2330)
  return Gio.Application.run(self, *args, **kwargs)

To Reproduce

  1. Open Atoms
  2. Open About
  3. Press ESC to close the window
  4. Observe

Package

Flatpak from Flathub

Distribution

Fedora 36

Display Protocol

Wayland

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.