update docs, SVG path fix

This commit is contained in:
Dvlv 2024-02-06 13:26:35 +00:00
parent 384d7c2fc6
commit 6cbf1c33da
No known key found for this signature in database
GPG key ID: 1F4BD7220B7FDCFA
7 changed files with 59 additions and 4 deletions

29
docs/faqs.md Normal file
View file

@ -0,0 +1,29 @@
# Frequently Asked Questions
## Why can't I see some of my existing Distroboxes?
Rootful distroboxes are not supported by BoxBuddy, as they are owned by the root user, and to support them would cause a deluge of password prompts.
## Why can't I see [some_feature] on the Flatpak version of BoxBuddy?
Some features require filesystem access, which is not granted by default. Please see [this tutorial](/BoxBuddyRS/tips) for a walkthrough of enabling or removing filesystem access.
## What terminals are supported?
BoxBuddy will try to spawn the following terminals, in the following order:
- GNOME Terminal
- GNOME Console
- Konsole
- Tilix
- Kitty
- Alacritty
- XTerm
## Can I use [some_terminal] instead?
Xfce-terminal cannot be supported due to the unusual way it needs to be spawned.
For any other terminal, please open an Issue and I will look into it.
## Why does a terminal sometimes close instantly when I open it?
The default behaviour of most terminal emulators (when spawned with a single command) is to close when the executed command completes. This means if something errors, the terminal emulator assumes it is finished, and exits. There is nothing BoxBuddy can do about this.
## Why doesn't BoxBuddy package Distrobox?
As far as I know Podman needs to be on the host system to work properly. If anybody knows of another flatpak project which successfully re-packages Podman, feel free to open an issue with a link.

View file

@ -8,6 +8,8 @@ Click the **+** button in the top-left of the window's header bar. This will bri
- **Image** - The container image you wish to use for your new box. You can type the name of a distro to filter the dropdown list.
- **Use Init System** - Activate this switch to add systemd support in your box.
- **Home Directory** - If you wish for your box to have a separate home directory, click the file icon on the right-hand side of this row and choose a folder. **Note**: If you are using the Flatpak and do not see this option, it is because you need to allow Filesystem access to the sandbox. See [the documentation](/BoxBuddyRS/tips) for a guide.
- **Additional Volumes** - If there are other folders, not in your home directory, that you wish for the box to have access to, click the **+** button to spawn a file-picker. Select the appropriate folder and an input row will appear. You can change the value in this input to row to change where the volume will be located
inside your new box. For example, if you want `/opt/my_dir` to live at `/usr/local/my_dir`, select `/opt/my_dir` in the file-picker, then change the value inside the input box to be `/usr/local/my_dir`.
Once these options are filled out, click the blue "Create" button in the top-right of the header bar to create your box. A loading spinner will appear while the box is being created, then a terminal window will spawn to begin initialising the box.

View file

@ -1,9 +1,15 @@
Welcome to the BoxBuddy documentation!
## Links
- [User Guide](/BoxBuddyRS/guide)
- [FAQs](/BoxBuddyRS/faqs)
- [Tips](/BoxBuddyRS/tips)
- [Roadmap](/BoxBuddyRS/ROADMAP)
## A Note for Flatpak Users
If you are using the Flatpak version of BoxBuddy and are wondering why certain features do not appear, this is due to the lack of filesystem access by default. Please [see the tips section](/BoxBuddyRS/tips) for a walkthrough on enabling and removing filesystem access.
## Screenshots
![Main Menu](screenshot-1.png)

View file

@ -40,7 +40,7 @@
"install -D icons/io.github.dvlv.boxbuddyrs.svg /app/share/icons/hicolor/scalable/apps",
"mkdir /app/icons",
"cp icons/io.github.dvlv.boxbuddyrs.svg /app/icons/io.github.dvlv.boxbuddyrs.svg",
"cp icons/*.svg /app/icons/",
"mkdir /app/po",
"cp -r po /app/"

View file

@ -33,6 +33,9 @@
</screenshots>
<url type="homepage">https://github.com/Dvlv/BoxBuddyRS</url>
<url type="vcs-browser">https://github.com/Dvlv/BoxBuddyRS</url>
<url type="faq">https://dvlv.github.io/BoxBuddyRS/faqs</url>
<url type="help">https://dvlv.github.io/BoxBuddyRS</url>
<releases>
<release version="2.0.0" date="2024-02-06">

View file

@ -16,8 +16,8 @@ use distrobox_handler::*;
mod utils;
use utils::{
get_distro_img, get_supported_terminals_list, get_terminal_and_separator_arg,
has_distrobox_installed, has_host_access, set_up_localisation,
get_distro_img, get_icons_file_path, get_supported_terminals_list,
get_terminal_and_separator_arg, has_distrobox_installed, has_host_access, set_up_localisation,
};
const APP_ID: &str = "io.github.dvlv.boxbuddyrs";
@ -89,7 +89,8 @@ fn make_titlebar(window: &ApplicationWindow) {
let win_clone = window.clone();
add_btn.connect_clicked(move |_btn| create_new_distrobox(&win_clone));
let build_img = gtk::Image::from_file("icons/build-alt-symbolic.svg");
let icon_path = get_icon_file_path("build-alt-symbolic.svg".to_owned());
let build_img = gtk::Image::from_file(icon_path);
let assemble_btn = gtk::Button::new();
assemble_btn.set_child(Some(&build_img));
assemble_btn.add_css_class("flat");

View file

@ -321,3 +321,17 @@ pub fn has_host_access() -> bool {
true
}
pub fn get_icon_file_path(icon: String) -> String {
if is_flatpak() {
return format!("/app/icons/{}", icon);
}
// Developers, uncomment this for testing
//return format!("icons/{}", icon);
let home_dir = env::var("HOME").unwrap_or_else(|_| ".".to_string());
let data_home =
env::var("XDG_DATA_HOME").unwrap_or_else(|_| format!("{home_dir}/.local/share"));
format!("{data_home}/icons/boxbuddy/{}", icon)
}