Coder Social home page Coder Social logo

tangyiyong / budgie-desktop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solus-project/budgie-desktop

0.0 1.0 0.0 19.78 MB

Flagship desktop of the Solus Project

Home Page: https://solus-project.com/

License: GNU General Public License v2.0

Shell 0.41% Makefile 0.11% C 19.08% Vala 77.09% CSS 3.25% JavaScript 0.06%

budgie-desktop's Introduction

budgie-desktop

The Budgie Desktop is the flagship desktop of Solus OS.

License

budgie-desktop is available under a split license model. This enables developers to link against the libraries of budgie-desktop without affecting their choice of license and distribution.

The shared libraries are available under the terms of the LGPL-2.1, allowing developers to link against the API without any issue, and to use all exposed APIs without affecting their project license.

The remainder of the project (i.e. installed binaries) is available under the terms of the GPL 2.0 license. This is clarified in the headers of each source file.

Building

budgie-desktop has a number of build dependencies that must be present before attempting configuration. The names are different depending on distribution, so the pkg-config names, and the names within the Solus Operating System, are given:

- gobject-2.0 >= 2.44.0
- gio-2.0 >= 2.44.0
- gtk+-3.0 >= 3.16.0
- gio-unix-2.0 >= 2.44.0
- uuid
- libpeas-gtk-1.0 >= 1.8.0
- libgnome-menu-3.0 >= 3.10.1
- gobject-introspection-1.0 >= 1.44.0
- libpulse >= 2
- mutter >= 3.18.0
- gnome-desktop-3.0 >= 3.18.0
- libwnck >= 3.14.0
- upower-glib >= 0.9.20
- polkit-agent-1 >= 0.110
- polkit-gobject-1 >= 0.110

And:

- vala >= 0.28

To install these on Solus:

    sudo eopkg it glib2-devel libgtk-3-devel libpeas-devel gobject-introspection-devel util-linux-devel pulseaudio-devel libgnome-menus-devel libgnome-desktop-devel mutter-devel polkit-devel libwnck-devel upower-devel vala
    sudo eopkg it -c system.devel

Clone the repository:

    git clone https://github.com/solus-project/budgie-desktop.git

Now build it:

    cd budgie-desktop
    ./autogen.sh --prefix=/usr
    make -j$(($(getconf _NPROCESSORS_ONLN)+1))
    sudo make install

Theming

Please look at ./data/theme/sass to override aspects of the default theming. Budgie theming is created using SASS, and the CSS files shipped are minified. Check out ./data/theme/README.md for more information on regenerating the theme from SASS.

Alternatively, you may invoke the panel with the GTK Inspector to analyse the structure::

    budgie-panel --gtk-debug=interactive --replace

If you are validating changes from a git clone, then::

    ./panel/budgie-panel --gtk-debug=interactive --replace

Note that for local changes, GSettings schemas and applets are expected to be installed first with make install.

Note that it is intentional for the toplevel BudgiePanel object to be transparent, as it contains the BudgieMainPanel and BudgieShadowBlock within a singular window.

Also note that by default Budgie overrides all theming with the stylesheet, and in future we'll also make it possible for you to set a custom theme. To do this, test your changes in tree first. When you have a reasonable theme put together, please open an issue and we'll enable setting of a custom theme (no point until they exist.)

Testing

As and when new features are implemented - it can be helpful to reset the configuration to the defaults to ensure everything is still working ok. To reset the entire configuration tree, issue::

    dconf reset -f /com/solus-project/budgie-panel/  

Porting

If using a tarball, note that the distributed tarball includes the generated .c and .h files. This means any Vala conditionals are invalidated. To combat this, simply issue the following before doing any configure::

    make maintainer-clean

This ensures all the autogenerated *.{c,h} files are cleaned, and conditionals will work with your build.

Known Issues

Currently the GtkPopover can randomly glitch when the panel is at the bottom of the screen. It is expected to be fixed in a later commit, however let's be fair, it does kinda look better up top.

Update: This only happens on the first show of the applet.

Authors

Copyright (C) 2015 Ikey Doherty [email protected]

budgie-desktop's People

Contributors

efernandesng avatar embik avatar eyelash avatar fauzie811 avatar guinux avatar hjdskes avatar horst3180 avatar ikeydoherty avatar jgillich avatar klardotsh avatar leoiannacone avatar libcg avatar matiaslina avatar mchecca avatar michel-slm avatar niyasc avatar ricardomv avatar somasis avatar yomi0 avatar

Watchers

 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.