173 lines
4.8 KiB
Bash
173 lines
4.8 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright (C) 2008-2014 Rubén Rodríguez <ruben@trisquel.info>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
#
|
|
|
|
VERSION=12
|
|
|
|
. ./config
|
|
|
|
# Remove the arrow in the main menu button
|
|
sed 's/"tooltip", tooltip,/"tooltip", "Trisquel",/; s/"has-arrow", TRUE,/"has-arrow", FALSE,/' -i gnome-panel/panel-menu-button.c
|
|
|
|
# Disable patches related to the gnome sessions
|
|
for patch in 41_classic_layout.patch 01_gnome-wm.patch 50_ubuntu_sessions.patch 49_no_screensaver.patch; do
|
|
rm debian/patches/$patch
|
|
sed /$patch/d -i debian/patches/series
|
|
done
|
|
|
|
# Profile handling
|
|
cat << EOF > data/trisquel-panel-profile.desktop
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=Trisquel panel profile updater
|
|
Exec=trisquel-panel-profile
|
|
NoDisplay=true
|
|
X-GNOME-AutoRestart=false
|
|
X-GNOME-Autostart-Phase=Initialization
|
|
OnlyShowIn=GNOME;
|
|
EOF
|
|
|
|
cat << EOF > data/trisquel-panel-profile
|
|
#!/bin/sh
|
|
VERSION=\$(lsb_release -rs)
|
|
if ! grep "^\$VERSION$" \$HOME/.config/profilemigrated -q 2>/dev/null; then
|
|
GS=\$(gsettings get org.gnome.gnome-panel.layout object-id-list | sed "s/, 'clock'//")
|
|
gsettings set org.gnome.gnome-panel.layout object-id-list "\$GS"
|
|
echo \$VERSION > \$HOME/.config/profilemigrated
|
|
fi
|
|
EOF
|
|
|
|
chmod 755 data/trisquel-panel-profile
|
|
|
|
# Custom xsession
|
|
cat << EOF > data/trisquel-session.desktop
|
|
[Desktop Entry]
|
|
Name=Trisquel
|
|
Comment=This session logs you into GNOME with the traditional panel
|
|
Exec=gnome-session --session=gnome-flashback
|
|
TryExec=gnome-session
|
|
Icon=
|
|
Type=Application
|
|
X-LightDM-DesktopName=GNOME
|
|
EOF
|
|
|
|
cat << EOF > data/50-trisquel-session.conf
|
|
[SeatDefaults]
|
|
user-session=trisquel-session
|
|
EOF
|
|
|
|
cat <<EOF > debian/trisquel-session.install
|
|
data/50-trisquel-session.conf /usr/share/lightdm/lightdm.conf.d/
|
|
data/trisquel-session.desktop /usr/share/xsessions
|
|
debian/gnome-wm.desktop /usr/share/applications
|
|
debian/gnome-flashback-services.desktop /usr/share/applications
|
|
debian/scripts/gnome-wm /usr/bin
|
|
usr/share/gnome-session/sessions
|
|
data/trisquel-panel-profile.desktop /etc/xdg/autostart
|
|
data/trisquel-panel-profile /usr/sbin
|
|
EOF
|
|
|
|
# Custom package
|
|
sed '/Package: gnome-session/,/^$/d' -i debian/control.in
|
|
cat << EOF >> debian/control.in
|
|
|
|
Package: trisquel-session
|
|
Architecture: all
|
|
Depends: ${misc:Depends},
|
|
gnome-panel (>= 3.0),
|
|
gnome-session-bin,
|
|
gnome-session-common,
|
|
metacity (>= 2.30),
|
|
nautilus (>= 3.8),
|
|
policykit-1-gnome,
|
|
Provides: x-session-manager, gnome-session-flashback
|
|
Replaces: gnome-session-flashback
|
|
Conflicts: gnome-session-flashback
|
|
Description: GNOME Session Manager - Trisquel session
|
|
The GNOME Session Manager is in charge of starting the core components
|
|
of the GNOME desktop, and applications that should be launched at
|
|
login time. It also features a way to save and restore currently
|
|
running applications.
|
|
.
|
|
This package contains the required components for the Trisquel session.
|
|
EOF
|
|
|
|
# Custom layout
|
|
cat << EOF > data/panel-default-layout.layout
|
|
[Toplevel panel]
|
|
expand=true
|
|
orientation=bottom
|
|
size=44
|
|
y-bottom=0
|
|
|
|
[Object menu-bar]
|
|
object-iid=PanelInternalFactory::MenuButton
|
|
toplevel-id=panel
|
|
pack-type=start
|
|
pack-index=0
|
|
|
|
[Object home]
|
|
object-iid=PanelInternalFactory::Launcher
|
|
@instance-config/location="file:///usr/share/applications/home.desktop"
|
|
pack-index=10
|
|
pack-type=start
|
|
toplevel-id=panel
|
|
|
|
[Object abrowser]
|
|
object-iid=PanelInternalFactory::Launcher
|
|
@instance-config/location="file:///usr/share/applications/browser.desktop"
|
|
pack-index=20
|
|
pack-type=start
|
|
toplevel-id=panel
|
|
|
|
[Object window-list]
|
|
object-iid=WnckletFactory::WindowListApplet
|
|
pack-index=30
|
|
pack-type=start
|
|
toplevel-id=panel
|
|
|
|
[Object notification-area]
|
|
object-iid=NotificationAreaAppletFactory::NotificationArea
|
|
pack-index=1
|
|
pack-type=end
|
|
toplevel-id=panel
|
|
|
|
[Object indicators]
|
|
object-iid=IndicatorAppletFactory::IndicatorApplet
|
|
toplevel-id=panel
|
|
pack-type=end
|
|
pack-index=10
|
|
|
|
[Object show-desktop]
|
|
object-iid=WnckletFactory::ShowDesktopApplet
|
|
pack-index=0
|
|
pack-type=end
|
|
toplevel-id=panel
|
|
|
|
EOF
|
|
|
|
# We don't want to show the gnome-online-accounts stuff yet
|
|
patch -p1 < $DATA/hide-online-accounts-menu.patch
|
|
|
|
# Do not require alt or alt+supr key modifiers for showing menus on right click
|
|
patch -p1 < $DATA/no-mouse-modifier.patch
|
|
|
|
changelog "Changed default layout"
|
|
|
|
compile
|
|
|