Code Monkey home page Code Monkey logo

vala-panel's Introduction

Vala Panel

This is Vala rewrite of SimplePanel, GTK3 LXPanel fork.

TODO

  • 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://gitlab.com/vala-panel-project/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.5.0

  • Drop libpeas in favor to applets-new (use GIO Extensions to implement).
  • Implement free applet actions (not only menu)
  • 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

vala-panel's People

Contributors

rilian-la-te avatar owcz avatar ghostplant avatar janeshilikova avatar liondoge avatar flexiondotorg avatar tlogiviere avatar rikardfalkeborn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.