~canonical-dx-team/unity/unity.paint_under_fullscreen

656.1.1 by Neil Jagdish Patel
Add installation instructions
1
                                   Install                                      
2
--------------------------------------------------------------------------------
3
4
• Notes
5
6
  - libunity is an independant library which has a client side API for talking
7
    to Unity. However it does not depend on the main Unity codebase and the 
8
    main Unity codebase does not depend on it.
9
10
  - Unity and it's desktop environment modules are all modules of Compiz. We use
11
    a patched version of Compiz which uses the GLib main loop instead of the
12
    custom Compiz main loop. This allows us to use GNOME libraries easily inside
13
    the Unity plugins.
14
15
    We are currently working on getting this patch upstreamed, but until then
16
    you will need to build this special version of Compiz.
17
18
  - libunity is written in Vala and the rest of Unity in C++/C.
19
20
  - Unity depends on a library called Nux (lp:nux) which let's us do OpenGL
21
    layouts quickly and efficiently.
22
23
656.1.2 by Neil Jagdish Patel
fix typo
24
• Dependencies
656.1.1 by Neil Jagdish Patel
Add installation instructions
25
26
  These are in Debian package name form, but it should be easy enough to
27
  translate them to other systems:
28
29
  libglib2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpng12-dev libglew1.5-dev
30
  libglewmx1.5-dev libxxf86vm-dev libgl1-mesa-dev libsigc++-2.0-dev
31
  libpango1.0-dev doxygen cmake pkg-config valac intltool libgee-dev
32
  libbamf-dev gsettings-desktop-schemas-dev libgconf2-dev  libglib2.0-dev
33
  libdbusmenu-glib-dev libgtk2.0-dev libdee-dev libindicator-dev 
34
  libboost-dev libboost-serialization-dev libmetacity-dev python-dev cython
35
36
  However, as with any project, it's probably best to just run autogen/cmake
37
  and figure out what you need/is missing. If your distro supports grabbing
38
  all the packages needed to build a package, then at least do that for
39
  Compiz, as I'm not going to detail everything it needs here.
40
41
  In case your distro isn't packaging all the Ayatana software, these links
42
  might come in handy:
43
44
  https://launchpad.net/dee
45
  https://launchpad.net/bamf
46
  https://launchpad.net/libindicator
47
48
  Also, although we don't hard depend on them, having a few indicators installed
49
  will make your experience better:
50
51
  https://launchpad.net/indicator-appmenu
52
  https://launchpad.net/indicator-application
53
  https://launchpad.net/indicator-network
54
  https://launchpad.net/indicator-sound
55
  https://launchpad.net/indicator-messages
56
  https://launchpad.net/indicator-datetime
57
  https://launchpad.net/indicator-me
58
  https://launchpad.net/indicator-session
59
60
• Build Compiz GLib
61
  
62
  This is taken from http://wiki.ubuntu.com/Unity/InstallationGuideFromSource and
63
  was originally authored by Sam:
64
65
  core:
66
67
    git clone git://git.compiz.org/users/dbo/compiz-with-glib-mainloop
68
    cd compiz-with-glib-mainloop
69
    mkdir build
70
    cd build
71
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
72
    make
73
    sudo make findcompiz_install
74
    sudo make install
75
76
  exporting paths:
77
78
    export PKG_CONFIG_PATH=/opt/unity/lib/pkgconfig:${PKG_CONFIG_PATH}
79
    export LD_LIBRARY_PATH=/opt/unity/lib:${LD_LIBRARY_PATH}
80
    export LD_RUN_PATH=/opt/unity/lib:${LD_RUN_PATH}
81
82
  libcompizconfig:
83
84
    git clone git://git.compiz.org/compiz/compizconfig/libcompizconfig
85
    cd libcompizconfig
86
    mkdir build
87
    cd build
88
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
89
    make
90
    sudo make install
91
92
  compizconfig-python:
93
94
    git clone git://git.compiz.org/compiz/compizconfig/compizconfig-python
95
    cd compizconfig-python
96
    python setup.py install --prefix=/opt/unity
97
98
  ccsm:
99
100
    git clone git://git.compiz.org/compiz/compizconfig/ccsm
101
    cd ccsm
102
    python setup.py install --prefix=/opt/unity
103
104
  plugins-main:
105
106
    git clone git://git.compiz.org/compiz/plugins-main
107
    cd plugins-main
108
    git submodule init
109
    git pull origin master
110
    git submodule update
111
    mkdir build
112
    cd build
113
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
114
    make
115
    sudo make install
116
117
  plugins-extra:
118
119
    git clone git://git.compiz.org/compiz/plugins-extra
120
    cd plugins-extra
121
    git submodule init
122
    git pull origin master
123
    git submodule update
124
    mkdir build
125
    cd build
126
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
127
    make
128
    sudo make install
129
130
131
• Build Nux
132
133
  bzr branch lp:nux
134
  cd nux
135
  ./autogen.sh --disable-documentation --prefix=/opt/unity
136
  make
137
  sudo make install
138
139
140
• Build Unity
141
142
  bzr branch lp:unity
143
  cd unity
144
  mkdir build; cd build
145
  cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity
146
  make
147
  sudo make install
148
149
• Cleanup
150
151
  unset PKG_CONFIG_PATH
152
  unset LD_LIBRARY_PATH
153
  unset LD_RUN_PATH
154
155
156
• Testing
157
158
  add this to your /home/$USER/.bashrc
159
160
    function compiz-unity-setup-env
161
    {
162
        export PATH=/opt/unity/bin:${PATH}
163
        export PYTHONPATH=/opt/unity/lib/python2.6/site-packages
164
    }
165
166
  Logout, login, then in a terminal do
167
  
168
    $ compiz-unity-setup-env
169
    $ compiz --replace cpp &
170
    $ ccsm
171
172
  And then use the CompizConfig Settings Window to search for and enable the Unity plugin!
173
174
175
• Bugs
176
177
  If you find bugs in this installation guide or in Unity itself, please report them at
178
  https://launchpad.net/unity/+filebug
179
180