This is Vala rewrite of SimplePanel, GTK3 LXPanel fork.
- Rewrite core panel in Vala (0.2)
- Rewrite builtin plugins in Vala using libpeas. (0.2)
- Write Vala Panel Plugin wrapper for LXTray from simple-panel (it is less buggy) (0.2) (done in XEmbed plugin)
- Make global menus from Unity Appindicator (rewrite it on Vala but without Ubuntu deps) (0.3) (see https://github.com/rilian-la-te/vala-panel-appmenu)
- Write a window buttons applet (0.3)
- 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)
-
Redo ValaPanelIconGrid using GtkFlowBox and such wonders.(not needed since I am already using FlowBox everywhere)
TODO for 0.4.0
- Rewrite plugins API and core into C
- Split Toplevel into 3 objects: positioner, layout and window
- Create Platform (abstraction that will handle all positioning)
- Allow Platform to be changed and independent form toplevel code
- Create X11 platform (with current positioning code)
- Introduce gravity-based positioning
- Create Layout and made pack-type useful
- Rewrite toplevel into C
- Rewrite applet into C
- Made PanelManager (done as Platform)
TODO for 0.5.0
- Drop libpeas in favor to applets-new.
- Be prepared for GTK4
- Replace XEmbed to proxy and move it to extras
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.
Core:
- GLib (>= 2.50.0)
- GTK3 (>= 3.22.0)
- libpeas-1.0 (>= 1.14.0)
- valac
Plugins:
- libwnck (>= 3.4.7)
- libX11
Lastly, always set -DCMAKE_INSTALL_PREXIX=/usr
when using cmake. Otherwise you
won't be able to start the panel on most distros.
- Athor ria.freelander@gmail.com
- 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 (including generic-config-dialog.vala and most positioning code in toplevel.vala).