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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -