vala-panel icon indicating copy to clipboard operation
vala-panel copied to clipboard

Vala rewrite of SimplePanel - GitHub mirror

Vala Panel

This is Vala rewrite of SimplePanel, GTK3 LXPanel fork.

TODO

  • [x] Rewrite core panel in Vala (0.2)
  • [x] Rewrite builtin plugins in Vala using libpeas. (0.2)
  • [x] Write Vala Panel Plugin wrapper for LXTray from simple-panel (it is less buggy) (0.2) (done in XEmbed plugin)
  • [x] Make global menus from Unity Appindicator (rewrite it on Vala but without Ubuntu deps) (0.3) (see https://gitlab.com/vala-panel-project/vala-panel-appmenu)
  • [x] Write a window buttons applet (0.3)
  • [x] Going to C again (0.4.X)
  • [ ] Write Notification Center Applet (0.6)
  • [ ] Wayland support, make compositor and complete Wayland support(1.0)
  • [ ] Taskbar DBus library for compositor (1.0)
  • [x] ~~Redo ValaPanelIconGrid using GtkFlowBox and such wonders.~~ (not needed since I am already using FlowBox everywhere)

TODO for 0.5.0

  • [x] Drop libpeas in favor to applets-new (use GIO Extensions to implement).
  • [x] Implement free applet actions (not only menu)
  • [x] Made pack-type useful

TODO for 0.6.0

  • [ ] Be prepared for GTK4
  • [ ] Replace XEmbed to proxy and move it to extras
  • [ ] Remove all Solus code, rewrite IconTasks
  • [ ] Implement Layer Shell Wayland backend

Some notes about realization

Plugin-based panel. Users/developers can provide their own custom applets, which are fully integrated. They can be moved, added, removed again, and even broken.

Dependencies:

Core:

  • GLib (>= 2.56.0)
  • GTK3 (>= 3.22.0)

Plugins:

  • libwnck (>= 3.4.7)
  • libX11
  • valac

Lastly, always set -DCMAKE_INSTALL_PREXIX=/usr when using cmake. Otherwise you won't be able to start the panel on most distros.

Author

Special thanks

  • Ikey Doherty for icontasklist.
  • XFCE Team for XFCE Tasklist.
  • LXPanel team for creating a base for my fork. Vala Panel uses LXPanel's tray code and other inspirations (generic-config-dialog for applets and lxpanel-like remote command system).

Inspirations