Skip to content
This repository has been archived by the owner on May 22, 2019. It is now read-only.

Commit

Permalink
fix ugly styles for Qt apps when running under GTK-based desktop on Q…
Browse files Browse the repository at this point in the history
…t 5.7+.

Improve light-locker monkey patch so that light-locker can be uninstalled without any problems.

(cherry picked from commit 5427904)
  • Loading branch information
lots0logs committed Nov 19, 2016
1 parent ddc1ff6 commit 75bfffd
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 15 deletions.
4 changes: 3 additions & 1 deletion data/packages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,13 @@
<pkgname>mesa-vdpau</pkgname>
<pkgname>numix-frost-themes</pkgname>
<pkgname>numix-icon-theme</pkgname>
<pkgname lib='gtk'>numix-icon-theme-square</pkgname>
<pkgname>numix-icon-theme-square</pkgname>
<pkgname>pamac</pkgname>
<pkgname>pavucontrol</pkgname>
<pkgname>pulseaudio</pkgname>
<pkgname>pulseaudio-alsa</pkgname>
<pkgname lib="gtk">qt5-style-plugins</pkgname>
<pkgname lib="gtk">qt5ct</pkgname>
<pkgname>ttf-bitstream-vera</pkgname>
<pkgname>ttf-dejavu</pkgname>
<pkgname>ttf-liberation</pkgname>
Expand Down
35 changes: 21 additions & 14 deletions scripts/postinstall.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/bash
# -*- coding: utf-8 -*-
#
# postinstall.sh
Expand Down Expand Up @@ -94,10 +94,6 @@ gnome_settings() {

# xscreensaver config
set_xscreensaver

# Ensure that Light Locker starts before gnome-shell
# TODO: Need to do this another way
sed -i 's|echo "X|/usr/bin/light-locker \&\nsleep 3; echo "X|g' ${CN_DESTDIR}/etc/lightdm/Xsession
}

cinnamon_settings() {
Expand Down Expand Up @@ -318,6 +314,17 @@ postinstall() {
set_xorg
fi

# Fix ugly styles for Qt applications when running under GTK-based desktops and Qt 5.7+
if [[ kde != "${CN_DESKTOP}" && lxqt != "${CN_DESKTOP}" ]]; then
mkdir -p "${CN_DESTDIR}/home/${CN_USER_NAME}/.config/qt5ct" "${CN_DESTDIR}/etc/skel/qt5ct"
cp /usr/share/cnchi/scripts/postinstall/qt5ct.conf "${CN_DESTDIR}/etc/skel/qt5ct"
cp /usr/share/cnchi/scripts/postinstall/qt5ct.conf "${CN_DESTDIR}/home/${CN_USER_NAME}/.config/qt5ct"
fi

# Monkey patch session wrapper
cp /usr/share/cnchi/scripts/postinstall/Xsession "${CN_DESTDIR}/etc/lightdm/Xsession"
chmod +x "${CN_DESTDIR}/etc/lightdm/Xsession"

# Configure fontconfig
FONTCONFIG_FILE="/usr/share/cnchi/scripts/fonts.conf"
if [[ -f "${FONTCONFIG_FILE}" ]]; then
Expand All @@ -337,16 +344,16 @@ postinstall() {
/usr/share/antergos/antergos-menu.png \
/usr/share/cnchi/data/images/antergos/antergos-menu-logo-dark-bg.png

for _size in "22" "24" "32"
do
_icon="antergos-ball-26.png"
[[ "32" = "${_size}" ]] && _icon="antergos-menu-logo-dark-bg.png"
#for _size in "22" "24" "32"
#do
# _icon="antergos-ball-26.png"
# [[ "32" = "${_size}" ]] && _icon="antergos-menu-logo-dark-bg.png"

cd "${CN_DESTDIR}/usr/share/icons/Numix/${_size}/places" \
&& mv start-here.svg start-here-numix.svg \
&& cp "/usr/share/cnchi/data/images/antergos/${_icon}" start-here.png \
&& cd -
done
# cd "${CN_DESTDIR}/usr/share/icons/Numix/${_size}/places" \
# && mv start-here.svg start-here-numix.svg \
# && cp "/usr/share/cnchi/data/images/antergos/${_icon}" start-here.png \
# && cd -
#done

# Set desktop-specific settings
${CN_DESKTOP}_settings
Expand Down
76 changes: 76 additions & 0 deletions scripts/postinstall/XSession.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/bin/sh
#
# LightDM wrapper to run around X sessions.

echo "Running X session wrapper"

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done

# Load resources
for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
if [ -f "$file" ]; then
echo "Loading resource: $file"
xrdb -merge "$file"
fi
done

# Load keymaps
for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
if [ -f "$file" ]; then
echo "Loading keymap: $file"
setxkbmap `cat "$file"`
XKB_IN_USE=yes
fi
done

# Load xmodmap if not using XKB
if [ -z "$XKB_IN_USE" ]; then
for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
if [ -f "$file" ]; then
echo "Loading modmap: $file"
xmodmap "$file"
fi
done
fi

unset XKB_IN_USE

# Run all system xinitrc shell scripts
xinitdir="/etc/X11/xinit/xinitrc.d"
if [ -d "$xinitdir" ]; then
for script in $xinitdir/*; do
echo "Loading xinit script $script"
if [ -x "$script" -a ! -d "$script" ]; then
. "$script"
fi
done
fi

# Run user xsession shell script
script="$HOME/.xsession"
if [ -x "$script" -a ! -d "$script" ]; then
echo "Loading xsession script $script"
. "$script"
fi

if [[ " ${@[@]} " =~ " gnome|xfce|openbox " && "$(which light-locker)" ]]; then
# Ensure that Light Locker starts before session manager.
/usr/bin/light-locker &
sleep 3
fi

if ! [[ " ${@[@]} " =~ " plasma|lxqt " ]]; then
# Fix ugly styles for Qt applications when running under GTK-based desktops and Qt 5.7+
export QT_QPA_PLATFORMTHEME='qt5ct'
export QT_STYLE_OVERRIDE=''
fi

echo "X session wrapper complete, running session $*"

exec "$@"
22 changes: 22 additions & 0 deletions scripts/postinstall/qt5ct.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[Appearance]
color_scheme_path=
custom_palette=false
icon_theme=Numix-Square
style=Fusion

[Fonts]
fixed=
general=

[Interface]
activate_item_on_single_click=1
buttonbox_layout=3
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=General
menus_have_icons=true
stylesheets=@Invalid()

[SettingsWindow]
geometry=

0 comments on commit 75bfffd

Please sign in to comment.