initial commit

This commit is contained in:
Tio TROM 2022-09-07 05:40:56 +02:00
commit 8da498a117
5 changed files with 148 additions and 0 deletions

12
Makefile Normal file
View File

@ -0,0 +1,12 @@
# makefile for theme-switcher
build:
makepkg
install:
pamac-installer theme-switcher-*.tar.xz
remove:
pamac-installer --remove theme-switcher
clean:
$(RM) -rf src/ pkg/ *.tar.xz

40
PKGBUILD Normal file
View File

@ -0,0 +1,40 @@
# Maintainer: TROM <contact@tromsite.com>
pkgname=tromjaro-layout-switcher
pkgver=1.0.0
pkgrel=1
pkgdesc="TROMjaro Layout switcher application"
arch=(any)
url=""
license=(unknown)
depends=('yad'
'xfce4-panel-profiles'
'vala-panel-appmenu-registrar-git'
'vala-panel-appmenu-xfce'
'vala-panel-appmenu-common'
'libdbusmenu-gtk2'
'appmenu-gtk-module')
provides=('tromjaro-layout-switcher')
backup=()
options=(!strip)
source=("layout-switcher"
"layout-switcher.desktop"
"https://www.drive.tromsite.com/s/SWmAcokLcxLB3gM/download"
"https://www.drive.tromsite.com/s/6dHoNjar9wJzeLd/download")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP')
package() {
# copy icons
install -d ${pkgdir}/usr/share/tromjaro-layout-switcher/icons
install -Dm644 ${srcdir}/icons/* ${pkgdir}/usr/share/tromjaro-layout-switcher/icons
# copy profiles
install -d ${pkgdir}/usr/share/tromjaro-layout-switcher/profiles
install -Dm644 ${srcdir}/profiles/* ${pkgdir}/usr/share/tromjaro-layout-switcher/profiles
# copy executables
install -Dm644 ${srcdir}/tromjaro-layout-switcher.desktop ${pkgdir}/usr/share/applications/tromjaro-layout-switcher.desktop
install -Dm755 ${srcdir}/theme-switcher ${pkgdir}/usr/bin/tromjaro-theme-switcher
}

21
README.md Normal file
View File

@ -0,0 +1,21 @@
# Theme switcher package
Theme switcher application
## Building the package
Open Terminal and issue the command:
`make`
To install the package right after the building, use:
`make install`
To remove just installed package, use:
`make remove`
To cleanup the project, use:
`make clean`

65
layout-switcher Normal file
View File

@ -0,0 +1,65 @@
#! /bin/bash
data=/usr/share/tromjaro-layout-switcher
icons=$data/icons
profiles=$data/profiles
enable-top-bar-integration() {
# Enable global menus
pacman -Qq vala-panel-appmenu-registrar-git ||
zensu SKIP_AUTOSNAP= pacman -S --noconfirm vala-panel-appmenu-registrar-git ||
{ notify-send 'Error' 'failed installing vala-panel-appmenu-registrar-git !\nmake sure you type the correct password\nEnabling the internet connection might solve the issue'; exit; }
pacman -Qq vala-panel-appmenu-registrar-git || exit
# Hide window borders when maximized
xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
# Hide top bar of windows when maximized
xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s true &
# Put window buttons on left side
xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "CMH|" &
}
disable-top-bar-integration() {
# Disable global menus
! pacman -Qq vala-panel-appmenu-registrar-git ||
zensu SKIP_AUTOSNAP= pacman -R --noconfirm vala-panel-appmenu-registrar-git ||
{ notify-send 'Error' 'failed removing vala-panel-appmenu-registrar-git !\nmake sure you type the correct password'; exit; }
pacman -Qq vala-panel-appmenu-registrar-git && exit
killall appmenu-registrar &
# Hide window borders when maximized
xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
# Don't hide top bar of windows when maximized
xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false &
# Put window buttons on right side
xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" &
}
choice=$(
yad --no-buttons --center --keep-icon-size --separator='' --use-interp --title 'Layout Switcher' --text-align=center --text 'Changing to or from any layout that has global menus, will require your admin password' --form --columns 3 \
--field=!"$icons/windows.png"!'Windows-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'Windows-Like'" \
--field=!"$icons/macos.png"!'MacOS-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'MacOS-Like'" \
--field=!"$icons/mx.png"!'MX-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'MX-Like'" \
--field=!"$icons/gnome.png"!'Gnome-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'Gnome-Like'" \
--field=!"$icons/unity.png"!'Unity-Like (default)':BTN "kill -USR1 \$YAD_PID; echo -n 'Unity-Like (default)'" \
--field=!"$icons/topx.png"!'TopX-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'TopX-Like'"
)
case "$choice" in
'Windows-Like')
disable-top-bar-integration
xfce4-panel-profiles load "$profiles"/Windows-Like.tar.bz2 & ;;
'Unity-Like (default)')
enable-top-bar-integration
xfce4-panel-profiles load "$profiles"/Unity-Like.tar.bz2 & ;;
'MX-Like')
disable-top-bar-integration
xfce4-panel-profiles load "$profiles"/MX-Like.tar.bz2 & ;;
'MacOS-Like')
enable-top-bar-integration
xfce4-panel-profiles load "$profiles"/MacOS-Like.tar.bz2 & ;;
'Gnome-Like')
disable-top-bar-integration
xfce4-panel-profiles load "$profiles"/Gnome-Like.tar.bz2 & ;;
'TopX-Like')
disable-top-bar-integration
xfce4-panel-profiles load "$profiles"/TopX-Like.tar.bz2 & ;;
*) exit ;;
esac
sleep 5 && notify-send "$choice layout was enabled"

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.1
Type=Application
Name=Layout Switcher
GenericName=Layout Switcher
Comment=Change how TROMjaro looks like. Make it look like Unity, Windows, Gnome, and so forth.
Icon=layout-switch
Exec=tromjaro-layout-switcher
Categories=DesktopSettings;GTK;Settings;X-XFCE-PersonalSettings;X-XFCE-SettingsDialog;XFCE;
Keywords=settings;layout;toggle;switch;