diff --git a/Backgrounds/kali-terminal-overlay.png b/Backgrounds/kali-terminal-overlay.png
new file mode 100644
index 00000000..e7630499
Binary files /dev/null and b/Backgrounds/kali-terminal-overlay.png differ
diff --git a/TODO b/TODO
index 40d36c34..5b3e1a5b 100644
--- a/TODO
+++ b/TODO
@@ -2,3 +2,5 @@
/usr/share/desktop-base/debian-logos/).
- Create /boot/grub/themes/kali/grub-background.png image by copying over
either the 4x3 or 16x9 version depending on screen size.
+- Transitional package for gnome-theme-kali.
+- Add all integrations for theme-dev and https://gitlab.com/kalilinux/packages/kali-themes/issues/1#note_233150942
diff --git a/debian/kali-themes-common.install b/debian/kali-themes-common.install
index 4ff77d27..73bfc622 100644
--- a/debian/kali-themes-common.install
+++ b/debian/kali-themes-common.install
@@ -7,6 +7,5 @@ Grub-Theme/* boot/grub/themes/
Plymouth-Theme/* usr/share/plymouth/themes/
desktop-base/* usr/share/desktop-base/kali-theme/
kali-logos/* usr/images/kali-logos/
-xfce/xsettings.xml usr/share/kali-themes-common/
# Those are created by "make install"
usr/share/icons/
diff --git a/debian/kali-themes.install b/debian/kali-themes.install
index ab313521..ee19d5d1 100644
--- a/debian/kali-themes.install
+++ b/debian/kali-themes.install
@@ -1 +1 @@
-xfce/terminalrc etc/xdg/xfce4/terminal/
+etc
diff --git a/debian/kali-themes.postinst b/debian/kali-themes.postinst
index c21b3c5a..7e7fb22c 100644
--- a/debian/kali-themes.postinst
+++ b/debian/kali-themes.postinst
@@ -2,17 +2,52 @@
set -e
-if [ "$1" = "configure" ]; then
- for file in /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+FILES_TO_DIVERT="
+/etc/lightdm/lightdm-gtk-greeter.conf
+/etc/xdg/qterminal.org/qterminal.ini
+/etc/xdg/xfce4/panel/default.xml
+/etc/xdg/xfce4/terminal/terminalrc
+/etc/xdg/xfce4/whiskermenu/defaults.rc
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+" # END FILES_TO_DIVERT
+
+install_all() {
+ local opt=$1
+ for file in $FILES_TO_DIVERT
do
- orig_file="/usr/share/kali-themes-common/$(basename $file)"
- if [ ! -e $file ] && [ -e $orig_file ]; then
- echo "Installing $orig_file as $file"
- mkdir -p $(dirname $file)
- cp $orig_file $file
- fi
+ install_config_file "$file" "$opt"
done
- dconf update || true
+}
+
+install_config_file() {
+ local file=$1
+ local opt=$2
+ local orig_file="/usr/share/kali-themes$file"
+ if [ "$opt" = "force" ] || ([ ! -e $file ] && [ -e $orig_file ]); then
+ echo "Installing $orig_file as $file"
+ mkdir -p $(dirname $file)
+ cp $orig_file $file
+ fi
+}
+
+if [ "$1" = "configure" ]; then
+ if [ -z "$2" ]; then
+ # Initial install
+ install_all force
+ else
+ # Upgrade
+ if dpkg --compare-versions "$2" lt "2019.4.6"; then
+ # Those files have been updated, force install them
+ install_config_file /etc/xdg/xfce4/terminal/terminalrc force
+ install_config_file /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml force
+ fi
+ # Install remaining new files
+ install_all
+ fi
fi
#DEBHELPER#
diff --git a/debian/kali-themes.postrm b/debian/kali-themes.postrm
index 94c52a03..18ffbee3 100644
--- a/debian/kali-themes.postrm
+++ b/debian/kali-themes.postrm
@@ -2,12 +2,27 @@
set -e
+FILES_TO_DIVERT="
+/etc/lightdm/lightdm-gtk-greeter.conf
+/etc/xdg/qterminal.org/qterminal.ini
+/etc/xdg/xfce4/panel/default.xml
+/etc/xdg/xfce4/terminal/terminalrc
+/etc/xdg/xfce4/whiskermenu/defaults.rc
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+" # END FILES_TO_DIVERT
+
case "$1" in
remove)
- rm -f /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
- dpkg-divert --rename --package kali-themes \
- --divert /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml.original \
- --remove /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+ for file in $FILES_TO_DIVERT; do
+ rm -f "$file"
+ dpkg-divert --rename --package kali-themes \
+ --divert "$file.original" \
+ --remove "$file"
+ done
;;
esac
diff --git a/debian/kali-themes.preinst b/debian/kali-themes.preinst
index 7990a6bd..70324b94 100644
--- a/debian/kali-themes.preinst
+++ b/debian/kali-themes.preinst
@@ -2,19 +2,43 @@
set -e
-DIVERT_FILE="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
+FILES_TO_DIVERT="
+/etc/lightdm/lightdm-gtk-greeter.conf
+/etc/xdg/qterminal.org/qterminal.ini
+/etc/xdg/xfce4/panel/default.xml
+/etc/xdg/xfce4/terminal/terminalrc
+/etc/xdg/xfce4/whiskermenu/defaults.rc
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+" # END FILES_TO_DIVERT
+
+setup_diversion() {
+ local file=$1
+ dpkg-divert --rename --package kali-themes \
+ --divert $file.original \
+ --add $file
+}
case "$1" in
install)
+ # Handle upgrade from kali-defaults
+ DIVERT_FILE="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
if [ "$(dpkg-divert --listpackage $DIVERT_FILE)" = "kali-defaults" ]; then
rm -f $DIVERT_FILE
dpkg-divert --rename --package kali-defaults \
--divert $DIVERT_FILE.original \
--remove $DIVERT_FILE
fi
- dpkg-divert --rename --package kali-themes \
- --divert $DIVERT_FILE.original \
- --add $DIVERT_FILE
+ # Setup all the diversions
+ for file in $FILES_TO_DIVERT; do
+ setup_diversion "$file"
+ done
+ ;;
+ upgrade)
+ # Dynamically add new diversions when required on upgrade
;;
esac
diff --git a/debian/rules b/debian/rules
index 4067ba01..4ec4ca9a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,3 +2,12 @@
%:
dh $@
+
+override_dh_install:
+ dh_install
+ # Move config files that we divert into /usr/share/kali-themes/etc/*
+ # and let them be installed by the postinst
+ for file in $(shell cat files-to-divert); do \
+ mkdir -p debian/kali-themes/usr/share/kali-themes$$(dirname $$file); \
+ mv debian/kali-themes$$file debian/kali-themes/usr/share/kali-themes$$file; \
+ done
diff --git a/debian/update-maintainer-scripts b/debian/update-maintainer-scripts
new file mode 100755
index 00000000..84ada0c1
--- /dev/null
+++ b/debian/update-maintainer-scripts
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+update_script() {
+ local script=$1
+ (
+ sed -n -e '1,/^FILES_TO_DIVERT="/ p' $script
+ cat files-to-divert
+ sed -n -e '/^" # END FILES_TO_DIVERT/,$ p' $script
+ ) >$script.new
+ mv $script.new $script
+}
+
+update_script debian/kali-themes.preinst
+update_script debian/kali-themes.postinst
+update_script debian/kali-themes.postrm
diff --git a/etc/default/grub.d/kali-themes.conf b/etc/default/grub.d/kali-themes.conf
new file mode 100644
index 00000000..b0d840f1
--- /dev/null
+++ b/etc/default/grub.d/kali-themes.conf
@@ -0,0 +1 @@
+GRUB_THEME=/boot/grub/themes/kali/theme.txt
diff --git a/etc/environment.d/95kali-themes.conf b/etc/environment.d/95kali-themes.conf
new file mode 100644
index 00000000..ba60bc95
--- /dev/null
+++ b/etc/environment.d/95kali-themes.conf
@@ -0,0 +1,2 @@
+QT_QPA_PLATFORMTHEME=gtk2
+_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true"
diff --git a/etc/lightdm/lightdm-gtk-greeter.conf b/etc/lightdm/lightdm-gtk-greeter.conf
new file mode 100644
index 00000000..3be8d33c
--- /dev/null
+++ b/etc/lightdm/lightdm-gtk-greeter.conf
@@ -0,0 +1,14 @@
+[greeter]
+background = /usr/share/backgrounds/kali-rings-background.png
+theme-name = Kali-Dark
+font-name = Cantarell 11
+icon-theme-name = Flat-Remix-Blue-Dark
+xft-antialias = true
+xft-dpi = 96
+xft-hintstyle = slight
+xft-rgba = rgb
+indicators = ~host;~spacer;~session;~language;~a11y;~clock;~power;
+clock-format = %d %b, %H:%M
+screensaver-timeout = 60
+default-user-image = #kali-menu
+
diff --git a/etc/xdg/Trolltech.conf b/etc/xdg/Trolltech.conf
new file mode 100644
index 00000000..12ef1898
--- /dev/null
+++ b/etc/xdg/Trolltech.conf
@@ -0,0 +1,3 @@
+[Qt]
+font="Cantarell,11"
+style=GTK+
diff --git a/etc/xdg/autostart/xcape-super-key-bind.desktop b/etc/xdg/autostart/xcape-super-key-bind.desktop
new file mode 100644
index 00000000..cb520341
--- /dev/null
+++ b/etc/xdg/autostart/xcape-super-key-bind.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Type=Application
+Name=Xcape Super Key Bind
+Exec=xcape -e 'Super_L=Control_L|Escape'
+Terminal=false
diff --git a/etc/xdg/qterminal.org/qterminal.ini b/etc/xdg/qterminal.org/qterminal.ini
new file mode 100644
index 00000000..3dc9fe6f
--- /dev/null
+++ b/etc/xdg/qterminal.org/qterminal.ini
@@ -0,0 +1,12 @@
+[General]
+AskOnExit=false
+FixedTabWidth=true
+FixedTabWidthValue=250
+MenuVisible=false
+TerminalMargin=10
+TerminalTransparency=100
+colorScheme=Kali-Dark
+fontFamily=Fira Code
+fontSize=10
+highlightCurrentTerminal=false
+TerminalBackgroundImage=/usr/share/backgrounds/kali/kali-terminal-overlay.png
diff --git a/etc/xdg/xfce4/panel/default.xml b/etc/xdg/xfce4/panel/default.xml
new file mode 100644
index 00000000..1dd4ffe7
--- /dev/null
+++ b/etc/xdg/xfce4/panel/default.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/etc/xdg/xfce4/terminal/terminalrc b/etc/xdg/xfce4/terminal/terminalrc
new file mode 100644
index 00000000..2b9028b5
--- /dev/null
+++ b/etc/xdg/xfce4/terminal/terminalrc
@@ -0,0 +1,6 @@
+[Configuration]
+BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
+FontUseSystem=TRUE
+ColorUseTheme=TRUE
+BackgroundDarkness=0.95
+ColorPalette=#272934;#d41919;#5EBDAB;#FEA44C;#357AF0;#BF2E5D;#49AEE6;#FFFFFF;#272934;#d41919;#5EBDAB;#FEA44C;#357AF0;#BF2E5D;#49AEE6;#FFFFFF
diff --git a/etc/xdg/xfce4/whiskermenu/defaults.rc b/etc/xdg/xfce4/whiskermenu/defaults.rc
new file mode 100644
index 00000000..ad94a344
--- /dev/null
+++ b/etc/xdg/xfce4/whiskermenu/defaults.rc
@@ -0,0 +1,5 @@
+launcher-show-description=false
+button-icon=kali-panel-menu
+position-search-alternate=true
+menu-width=500
+menu-height=600
diff --git a/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
new file mode 100644
index 00000000..ca6e92ec
--- /dev/null
+++ b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
new file mode 100644
index 00000000..2598d7c9
--- /dev/null
+++ b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
new file mode 100644
index 00000000..d63f9212
--- /dev/null
+++ b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
new file mode 100644
index 00000000..e078e44e
--- /dev/null
+++ b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
new file mode 100644
index 00000000..54e679e1
--- /dev/null
+++ b/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/files-to-divert b/files-to-divert
new file mode 100644
index 00000000..ed54cc09
--- /dev/null
+++ b/files-to-divert
@@ -0,0 +1,10 @@
+/etc/lightdm/lightdm-gtk-greeter.conf
+/etc/xdg/qterminal.org/qterminal.ini
+/etc/xdg/xfce4/panel/default.xml
+/etc/xdg/xfce4/terminal/terminalrc
+/etc/xdg/xfce4/whiskermenu/defaults.rc
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
+/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
diff --git a/xfce/terminalrc b/xfce/terminalrc
deleted file mode 100644
index a2256b70..00000000
--- a/xfce/terminalrc
+++ /dev/null
@@ -1,3 +0,0 @@
-[Configuration]
-BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
-BackgroundDarkness=0.850000
diff --git a/xfce/xsettings.xml b/xfce/xsettings.xml
deleted file mode 100644
index 88c23e7a..00000000
--- a/xfce/xsettings.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-