1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
Basics:
-------
To compile the core or the plug-ins, just copy-paste these lines into a terminal (assuming you are in the main directory of the core/plug-ins):
-------------------------------------------------
cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
-------------------------------------------------
Notes:
------
Install the dock first, and then compile the plug-ins. For more details, have a look at this webpage: http://www.glx-dock.org/ww_page.php?p=By%20compiling&lang=en
If you choose to install in another folder than /usr, you must specify the same prefix for both core and plug-ins (and specify this folder in LD_LIBRARY_PATH and PKG_CONFIG_PATH).
You can launch 'cmake' and 'make' commands from another directory, it's maybe cleaner:
-------------------------------------------------
mkdir build/
cd build/
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
-------------------------------------------------
For 64bits (x86_64) architectures, the libraries are installed in a 'lib64' directory by default but it seems it can be a problem for some distributions (e.g.: ArchLinux). If you have a problem by launching Cairo-Dock, you can compile it (core and its plug-ins) with the flag "FORCE_NOT_LIB64":
$ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_NOT_LIB64=yes
You can also force another prefix for this librairy directory with "LIB_SUFFIX" flag, e.g. for 'lib32' directory:
$ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=32
Plug-ins are compiled all at once, but you can skip some of them. Unstable plug-ins are skipped by default, unless you add "-Denable-xxx=yes", where xxx is the name of the plug-in.
See the "Applets.stable" file in the "plug-ins" folder for an exhaustive list of stable applets (that are effectively integrated into the official package).
Some CMake flags:
* Core and plug-ins:
-Dforce-icon-in-menus=OFF to not force the display of icons in GtkMenus created by the dock
* Core:
-Denable-desktop-manager=ON to add 'Cairo-Dock Session' which will use 'gnome-session' to launch a session with GNOME, Compiz and Cairo-Dock
* Plug-ins:
All applets/plugins which need extras dependences can be disabled by using: -Denabled-xxx=OFF where 'xxx' is the name of the plug-in ; e.g. -Denable-gmenu=OFF
Notes: it's not a good idea to do that when creating packages for a distribution. You can find all these flags by launching this command:
$ grep enable_if_not_defined cairo-dock-plug-ins/CMakeLists.txt
Notes to packagers/maintainers:
-------------------------------
You can use these CMake flags to install some files in other directories:
CMAKE_INSTALL_BINDIR (default: 'bin')
CMAKE_INSTALL_LIBDIR (default: 'lib' or 'lib64' on Debian 64bit distributions or forks)
CMAKE_INSTALL_INCLUDEDIR (default: 'include')
CMAKE_INSTALL_DATAROOTDIR (default: 'share')
CMAKE_INSTALL_DATADIR (default: DATAROOTDIR)
CMAKE_INSTALL_LOCALEDIR (default: DATAROOTDIR'/locale')
CMAKE_INSTALL_MANDIR (default: DATAROOTDIR'/man')
Note that cairo-dock-plug-ins project needs the same version as the core.
We advice to create a few packages:
* cairo-dock: a meta-package to install cairo-dock-core, cairo-dock-plug-ins, cairo-dock-plug-ins-integration and cairo-dock-plug-ins-dbus-interface-python
* cairo-dock-core: with the binary (usr/bin)
* cairo-dock-data: with common files (usr/share)
* libgldiX: with the .so file (lib/libgldiX.so.*)
* libgldi-dev: files needed to compile the plug-ins (usr/include, usr/lib/pkgconfig, usr/lib/libgldiX.so)
* cairo-dock-plug-ins: with binaries files (usr/lib/cairo-dock/libcd-*.so)
* cairo-dock-plug-ins-data: with common files (usr/share/locale, usr/share/cairo-dock, usr/lib/cairo-dock/*(!.so))
* cairo-dock-plug-ins-integration: these files do NOT require any dependences, these plugins are automatically enabled if you're using gnome/kde/xfce. Note that it will try to use gvfs by default. (usr/lib/cairo-dock/libcd_*.so)
* cairo-dock-plug-ins-dbus-interface-mono: with files of the mono interface (needed to launch 'third-party' applets made in Mono) (usr/lib/cli/cairo-dock-plug-ins/CDApplet*.dll)
* cairo-dock-plug-ins-dbus-interface-python: with files of the Python interface (needed to launch 'third-party' applets made in Python) (usr/lib/python*/dist-packages/*.py)
* cairo-dock-plug-ins-dbus-interface-ruby: with files of the Ruby interface (needed to launch 'third-party' applets made in Ruby) (usr/lib/ruby*)
* cairo-dock-plug-ins-dbus-interface-vala: with files of the Vala interface (needed to launch 'third-party' applets made in Vala) (usr/lib/libCDApplet.so,usr/lib/pkgconfig/CDApplet.pc, usr/share/vala*)
About the Python interface, this CMake flag is needed to install files in another directory: -DROOT_PREFIX=/PATH/TO/YOUR/DIR
About the Cairo-Dock session, it uses gnome-session (>= 3.0) and this CMake flag is needed (for cairo-dock-core): -Denable-desktop-manager=yes
We are maintaining Ubuntu packages: https://launchpad.net/~cairo-dock-team/+archive/ppa/+packages
Feel free to have a look at the debian directory to have a few examples.
And don't hesitate to report any bugs and ideas and to propose patches ;)
If you like this project:
-------------------------
There are various ways to help us ;)
http://glx-dock.org/ww_page.php?p=How%20to%20help%20us&lang=en
Notes to developers:
--------------------
This project is mostly coded in C but applets can be coded in various languages (Python, Ruby, Vala, Mono, Bash, etc.)
Please have a look at this webpage for more details: http://glx-dock.org/ww_page.php?p=Documentation&lang=en
To build the Cairo-Dock documentation, use the generate-doc.sh script in the 'doc' directory of the core.
Thanks for using Cairo-Dock, hope you will enjoy it ! ^_^
Website: http://glx-dock.org/
Project: https://launchpad.net/cairo-dock
Wiki: http://wiki.glx-dock.org/
Forum: http://forum.glx-dock.org/
Screenshots: http://pics.glx-dock.org/
Documentation: http://doc.glx-dock.org/
API DBus: http://dbus.glx-dock.org/
Applets extras: http://extras.glx-dock.org/
Identi.ca: http://identi.ca/cairodock
Twitter: http://twitter.com/cairodock
Google +: https://plus.google.com/106693551620606700380/
Flattr: https://flattr.com/thing/370779/Support-Cairo-Dock-development
Paypal & How to help us: http://glx-dock.org/ww_page.php?p=How%20to%20help%20us&lang=en
|