Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

XFCE4 Apple Menu Plugin

A panel plugin for XFCE4 that mimics the macOS Apple menu, providing a familiar and intuitive system menu experience for XFCE desktop users.

![XFCE4 Apple Menu Plugin]

Features

  • 🍎 Apple-style Menu: Familiar dropdown menu with Apple logo
  • 💻 System Information: Quick access to system details
  • 📦 Package Management: Integration with system package manager
  • 📄 Recent Items: Track and access recently used files and applications
  • ⚡ Quick Actions: Sleep, restart, shutdown, lock screen, and log out
  • 🎨 Themeable: Supports GTK+ theming and custom icons
  • 🌍 Internationalization: Multi-language support

Menu Structure

  • About This Computer - System information and details
  • System Preferences - Quick access to XFCE Settings Manager
  • App Store - Launch system package manager
  • Recent Items - Recently accessed documents and applications
  • Force Quit - Application management
  • System Actions - Sleep, Restart, Shut Down, Lock Screen, Log Out

Desktop Environment (DE) & Window Manager Compatibility

Desktop / Session Compatibility Status Notes
XFCE 4.20 Full (Supported) Fully tested on Wayland (labwc / wayfire) and X11 (xfwm4).
XFCE 4.18 Full (Supported) Fully supported on X11 and XWayland.
XFCE 4.16 Compatible Supported with GTK 3.24+ and libxfce4panel-2.0.
Labwc / Wayfire (XFCE Panel) Full (Supported) Native menu popups and session actions.
MATE Desktop Planned (TODO) Native libmate-panel-applet wrapper planned.
Budgie Desktop Planned (TODO) Native libbudgie-plugin wrapper planned.
Cinnamon Desktop Planned (TODO) Native GJS applet wrapper planned.
LXQt Desktop Planned (TODO) Native lxqt-panel Qt wrapper / SNI tray planned.

Multi-DE Roadmap & Porting TODO

  • MATE Desktop (mate-panel): Implement libmate-panel-applet-4.0 factory for MATE integration.
  • Budgie Desktop (budgie-panel): Implement BudgieApplet plugin wrapper for Budgie 10 desktop.
  • Cinnamon Desktop (cinnamon-panel): Implement native GJS menu applet.
  • LXQt Desktop (lxqt-panel): Implement Qt plugin bridge for lxqt-panel.
  • Universal StatusNotifierItem (SNI): Standalone AppIndicator daemon for cross-DE system tray menu support.

Requirements & Package Dependencies

See DEPENDENCIES.md for full distribution package requirements across .deb (Debian/Ubuntu), .rpm (Fedora/openSUSE), and .pkg.tar.zst (Arch Linux).

Quick Install Commands

  • Arch Linux (.pkg.tar.zst):
    sudo pacman -S --needed base-devel meson ninja pkgconf glib2 gtk3 libxfce4panel libxfce4ui libxfce4util exo dbus-glib
  • Debian / Ubuntu / Linux Mint (.deb):
    sudo apt update && sudo apt install -y build-essential meson ninja-build pkg-config libglib2.0-dev libgtk-3-dev libxfce4panel-2.0-dev libxfce4ui-2-dev libxfce4util-dev libexo-2-dev libdbus-glib-1-dev
  • Fedora / RHEL (.rpm):
    sudo dnf install -y gcc meson ninja-build pkgconfig glib2-devel gtk3-devel libxfce4panel-devel libxfce4ui-devel libxfce4util-devel exo-devel dbus-glib-devel

Installation

From Source

# Clone the repository
git clone https://github.com/Axis0S/xfce4-applemenu-plugin.git
cd xfce4-applemenu-plugin

# Build and install using Meson
meson setup build --prefix=/usr
cd build
ninja
sudo ninja install

# Or use the provided install script
./install.sh

# Restart XFCE Panel
xfce4-panel -r

Debian/Ubuntu

# Build and install Debian package
./build-deb.sh
sudo dpkg -i ../xfce4-applemenu-plugin_*.deb

Configuration

Right-click on the plugin in the panel and select "Properties" to access:

  • Icon selection (Apple logo or custom)
  • Recent items settings
  • Menu behavior options
  • Keyboard shortcuts

Package Manager Integration

The "App Store" menu item can be configured to launch your preferred package manager through the plugin's Properties dialog. Common options include:

  • pamac-manager (Arch-based distributions)
  • gnome-software (GNOME)
  • synaptic (Debian/Ubuntu)
  • kde-discover (KDE)

Theming

The plugin respects your GTK+ theme. For custom styling, add to ~/.config/gtk-3.0/gtk.css:

#xfce4-applemenu-plugin button {
    padding: 4px 8px;
    border-radius: 4px;
}

#xfce4-applemenu-plugin button:hover {
    background-color: @theme_selected_bg_color;
}

Troubleshooting

Plugin not appearing

  1. Ensure the plugin is properly installed: ls /usr/lib/xfce4/panel/plugins/
  2. Add it through Panel Preferences → Items → Add → Apple Menu

Package manager not launching

  1. Verify your package manager is installed
  2. Configure the correct package manager in plugin Properties

Icons not displaying

  1. Install an icon theme with Apple logo support
  2. Or place custom Apple logo in ~/.local/share/icons/

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Follow XFCE coding standards
  4. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

License

This project is licensed under the GPL-2.0+ License - see the LICENSE file for details.

Acknowledgments

  • XFCE Development Team for the panel plugin framework
  • Apple Inc. for the menu design inspiration
  • Package manager developers
  • Contributors and translators

Links

Author

theokeist

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages