Skip to content
Snippets Groups Projects
make-gnome-panel 4.69 KiB
Newer Older
#!/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
#

# 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
# 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-iid=IndicatorAppletFactory::IndicatorApplet
toplevel-id=panel
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