A fork of AnmiTaliDev's GuiFetch.
Modern, GTK4-based system information viewer inspired by macOS's "About This Mac" dialog. GuiFetch+ provides a clean and elegant interface to display detailed system information on Linux.
- Clean, modern interface built with GTK4 and libadwaita
- Comprehensive system information including:
- Operating system details
- Kernel version
- Detailed CPU information (with libcpuid support)
- Memory usage with percentages
- Graphics card information
- System uptime
- Storage information
- Serial number (when available)
- Responsive design that adapts to different window sizes
- Native Linux integration with proper desktop file
- Fast and lightweight written in Vala and C
- GTK4 (>= 4.6)
- Gee (>= 0.8)
- libadwaita (>= 1.2)
- GLib (>= 2.70)
- Meson build system
- Vala compiler
- C compiler (GCC or Clang)
- libcpuid (optional, for enhanced CPU detection)
sudo apt update
sudo apt install build-essential meson valac libgtk-4-dev libadwaita-1-dev libglib2.0-dev libgio2.0-dev libcpuid-dev libgee-0.8-dev
sudo dnf install meson vala gtk4-devel libadwaita-devel glib2-devel libcpuid-devel libgee-devel
sudo pacman -S meson vala gtk4 libadwaita glib2 libcpuid libgee
- Clone the repository:
git clone https://github.com/realbxnnie/guifetch
- Create a build directory:
meson setup builddir
- Compile the application:
meson compile -C builddir
- Install (optional):
sudo meson install -C builddir
After building, you can run GuiFetch+ directly:
./builddir/src/guifetch
Or if installed system-wide:
guifetch
- GTK4 - Modern toolkit for creating graphical user interfaces
- libadwaita - Building blocks for modern GNOME applications
- GLib - Low-level core library for GNOME applications
- GIO - Modern, easy-to-use VFS API
- libcpuid - Provides enhanced CPU detection and detailed processor information
GUIFetch is built with a hybrid approach:
- Frontend: Written in Vala using GTK4 and libadwaita for a modern, native Linux experience
- Backend: System information gathering implemented in C for performance and direct system access
- Resources: SVG graphics embedded using GResource for a self-contained binary
src/ui/main.vala
- Main application logic and UI constructionsrc/ui/Logotypes.vala
- Logotypes dictionarysrc/info.c
- System information gathering functionssrc/info.h
- C header definitions for Vala interopdata/guifetch.gresource.xml
- Resource bundle configuration
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Test your changes (
meson test -C builddir
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow standard Vala conventions for the UI code
- Use clear, descriptive function names in C code
- Keep functions focused and single-purpose
- Add comments for complex logic
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
- Inspired by macOS "About This Mac" dialog
- Built with the excellent GTK4 and libadwaita libraries
- Logo adapted from the classic Tux penguin
- Thanks to the GNOME project for the amazing development tools
Note
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information about your problem
- Include your distribution, GTK version, and any error messages
Made with ❤️ by realbxnnie