first attempt for debian10 Slax
|
|
@ -0,0 +1,34 @@
|
||||||
|
For more updated changelog and todo, visit
|
||||||
|
https://www.slax.org/next.php
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
make persistent changes default when booting from writable media
|
||||||
|
(and offer "fresh start" in boot menu instead)
|
||||||
|
add @ntfs-3g support, add ext4 support for bootable device
|
||||||
|
update syslinux
|
||||||
|
add wicd as wifi configurator
|
||||||
|
make keyboard layout persistent
|
||||||
|
make xlunch refresh on start to see newly installed apps
|
||||||
|
fb keys: OnDesktop Mouse1 :MacroCmd {WindowMenu} {HideMenus}
|
||||||
|
reimplement xrandr screen resolution change, use --mode somehow
|
||||||
|
consider gsettings-desktop-schemas
|
||||||
|
add thunar or pcmanfm
|
||||||
|
review uefi support - does it work or not? don't have uefi device here
|
||||||
|
maybe consider pxe server again
|
||||||
|
use debootstrap for slax build
|
||||||
|
|
||||||
|
|
||||||
|
* Slax 9.3.0
|
||||||
|
|
||||||
|
|
||||||
|
added wireless tools
|
||||||
|
added firmware (free and nonfree)
|
||||||
|
added contrib and nonfree repositories
|
||||||
|
fixed apt-get alias parameters handling
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Slax 9.2.1
|
||||||
|
|
||||||
|
initial release of Slax based on Debian
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec /bin/bash "$(dirname "$0")"/bootinst.sh
|
||||||
|
exec /bin/sh "$(dirname "$0")"/bootinst.sh
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
COLOR 2F
|
||||||
|
cls
|
||||||
|
echo ===============================================================================
|
||||||
|
echo.
|
||||||
|
echo ________.__
|
||||||
|
echo / ____/^| ^| _____ ___ ___
|
||||||
|
echo \____ \ ^| ^| \__ \ \ \/ /
|
||||||
|
echo / \^| ^|__/ __ \_^> ^<
|
||||||
|
echo /______ /^|____(____ /__/\_ \
|
||||||
|
echo \/ \/ \/
|
||||||
|
echo.
|
||||||
|
echo ===============================================================================
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set DISK=none
|
||||||
|
set BOOTFLAG=boot666s.tmp
|
||||||
|
|
||||||
|
:checkPrivileges
|
||||||
|
mkdir "%windir%\AdminCheck" 2>nul
|
||||||
|
if '%errorlevel%' == '0' rmdir "%windir%\AdminCheck" & goto gotPrivileges else goto getPrivileges
|
||||||
|
|
||||||
|
:getPrivileges
|
||||||
|
ECHO.
|
||||||
|
ECHO Administrator Rights are required
|
||||||
|
ECHO Invoking UAC for Privilege Escalation
|
||||||
|
ECHO.
|
||||||
|
runadmin.vbs %0
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:gotPrivileges
|
||||||
|
CD /D "%~dp0"
|
||||||
|
|
||||||
|
echo This file is used to determine current drive letter. It should be deleted. >\%BOOTFLAG%
|
||||||
|
if not exist \%BOOTFLAG% goto readOnly
|
||||||
|
|
||||||
|
echo.|set /p=wait please
|
||||||
|
for %%d in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do echo.|set /p=. & if exist %%d:\%BOOTFLAG% set DISK=%%d
|
||||||
|
echo . . . . . . . . . .
|
||||||
|
del \%BOOTFLAG%
|
||||||
|
if %DISK% == none goto DiskNotFound
|
||||||
|
|
||||||
|
wscript.exe samedisk.vbs %windir% %DISK%
|
||||||
|
if %ERRORLEVEL% == 99 goto refuseDisk
|
||||||
|
|
||||||
|
echo Setting up boot record for %DISK%: ...
|
||||||
|
|
||||||
|
if %OS% == Windows_NT goto setupNT
|
||||||
|
goto setup95
|
||||||
|
|
||||||
|
:setupNT
|
||||||
|
\slax\boot\syslinux.exe -maf -d /slax/boot/ %DISK%:
|
||||||
|
if %ERRORLEVEL% == 0 goto setupDone
|
||||||
|
goto errorFound
|
||||||
|
|
||||||
|
:setup95
|
||||||
|
\slax\boot\syslinux.com -maf -d /slax/boot/ %DISK%:
|
||||||
|
if %ERRORLEVEL% == 0 goto setupDone
|
||||||
|
goto errorFound
|
||||||
|
|
||||||
|
:setupDone
|
||||||
|
echo Installation finished.
|
||||||
|
goto pauseit
|
||||||
|
|
||||||
|
:errorFound
|
||||||
|
color 4F
|
||||||
|
echo.
|
||||||
|
echo Error installing boot loader
|
||||||
|
goto pauseit
|
||||||
|
|
||||||
|
:refuseDisk
|
||||||
|
color 4F
|
||||||
|
echo.
|
||||||
|
echo Directory %DISK%:\slax\boot\ seems to be on the same physical disk as your Windows.
|
||||||
|
echo Installing bootloader would harm your Windows and thus is disabled.
|
||||||
|
echo Please use different drive and try again.
|
||||||
|
goto pauseit
|
||||||
|
|
||||||
|
:readOnly
|
||||||
|
color 4F
|
||||||
|
echo.
|
||||||
|
echo You're starting this installer from a read-only media, this will not work.
|
||||||
|
goto pauseit
|
||||||
|
|
||||||
|
:DiskNotFound
|
||||||
|
color 4F
|
||||||
|
echo.
|
||||||
|
echo Error: can't discover current drive letter
|
||||||
|
|
||||||
|
:pauseit
|
||||||
|
if "%1" == "auto" goto end
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo Press any key...
|
||||||
|
pause > nul
|
||||||
|
|
||||||
|
:end
|
||||||
|
|
@ -0,0 +1,154 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# This script will setup booting from disk (USB or harddrive)
|
||||||
|
#
|
||||||
|
# If you see this file in a text editor instead of getting it executed,
|
||||||
|
# then it is missing executable permissions (chmod). You can try to set
|
||||||
|
# exec permissions for this file by using: chmod a+x bootinst.sh
|
||||||
|
# Alternatively, you may try to run bootinst.bat file instead
|
||||||
|
#
|
||||||
|
# Scrolling down will reveal the actual code of this script.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# if we're running this from X, re-run the script in konsole or xterm
|
||||||
|
if [ "$DISPLAY" != "" ]; then
|
||||||
|
if [ "$1" != "--rex" -a "$2" != "--rex" ]; then
|
||||||
|
konsole --nofork -e /bin/sh $0 --rex 2>/dev/null || xterm -e /bin/sh $0 --rex 2>/dev/null || /bin/sh $0 --rex 2>/dev/null
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# make sure I am root
|
||||||
|
if [ "$UID" != "0" -a "$UID" != "" ]; then
|
||||||
|
echo ""
|
||||||
|
echo "You are not root. You must run bootinst script as root."
|
||||||
|
echo "The bootinst script needs direct access to your boot device."
|
||||||
|
echo "Use sudo or kdesudo or similar wrapper to execute this."
|
||||||
|
read junk
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# change working directory to dir from which we are started
|
||||||
|
CWD="$(pwd)"
|
||||||
|
BOOT="$(dirname "$0")"
|
||||||
|
BOOT="$(realpath "$BOOT" 2>/dev/null || echo $BOOT)"
|
||||||
|
cd "$BOOT"
|
||||||
|
|
||||||
|
# find out device and mountpoint
|
||||||
|
PART="$(df . | tail -n 1 | tr -s " " | cut -d " " -f 1)"
|
||||||
|
DEV="$(echo "$PART" | sed -r "s:[0-9]+\$::" | sed -r "s:([0-9])[a-z]+\$:\\1:i")" #"
|
||||||
|
|
||||||
|
# check if disk is already bootable. Mostly for Windows discovery
|
||||||
|
if [ "$(fdisk -l "$DEV" | fgrep "$DEV" | fgrep "*")" != "" ]; then
|
||||||
|
echo ""
|
||||||
|
echo "Partition $PART seems to be located on a physical disk,"
|
||||||
|
echo "which is already bootable. If you continue, your drive $DEV"
|
||||||
|
echo "will boot only Slax by default."
|
||||||
|
echo "Press [Enter] to continue, or [Ctrl+C] to abort..."
|
||||||
|
read junk
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then ARCH=64; else ARCH=32; fi
|
||||||
|
EXTLINUX=extlinux.x$ARCH
|
||||||
|
|
||||||
|
if [ ! -x ./$EXTLINUX ]; then
|
||||||
|
# extlinux is not executable. There are two possible reasons:
|
||||||
|
# either the fs is mounted with noexec, or file perms are wrong.
|
||||||
|
# Try to fix both, no fail on error yet
|
||||||
|
mount -o remount,exec $DEV
|
||||||
|
chmod a+x ./$EXTLINUX
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -x ./$EXTLINUX ]; then
|
||||||
|
# extlinux is still not executable. As a last try, copy it to .exe
|
||||||
|
# because the partition may be mounted with showexec option, from which
|
||||||
|
# we probably can't escape by remount
|
||||||
|
cp -f ./$EXTLINUX ./extlinux.exe
|
||||||
|
EXTLINUX=extlinux.exe
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install syslinux bootloader
|
||||||
|
echo "* attempting to install bootloader to $BOOT..."
|
||||||
|
|
||||||
|
./"$EXTLINUX" --install "$BOOT"
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Error installing boot loader."
|
||||||
|
echo "Read the errors above and press enter to exit..."
|
||||||
|
read junk
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DEV" != "$PART" ]; then
|
||||||
|
# Setup MBR on the first block
|
||||||
|
echo "* setup MBR on $DEV"
|
||||||
|
dd bs=440 count=1 conv=notrunc if="$BOOT/mbr.bin" of="$DEV" 2>/dev/null
|
||||||
|
|
||||||
|
# Toggle bootable flags
|
||||||
|
echo "* set bootable flag for $PART"
|
||||||
|
PART="$(echo "$PART" | sed -r "s:.*[^0-9]::")"
|
||||||
|
(
|
||||||
|
fdisk -l "$DEV" | fgrep "*" | fgrep "$DEV" | cut -d " " -f 1 \
|
||||||
|
| sed -r "s:.*[^0-9]::" | xargs -I '{}' echo -ne "a\n{}\n"
|
||||||
|
echo a
|
||||||
|
echo $PART
|
||||||
|
echo w
|
||||||
|
) | fdisk $DEV >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Boot installation finished."
|
||||||
|
echo "Press Enter..."
|
||||||
|
read junk
|
||||||
|
cd "$CWD"
|
||||||
|
After Width: | Height: | Size: 22 KiB |
|
|
@ -0,0 +1,19 @@
|
||||||
|
|
||||||
|
Welcome
|
||||||
|
|
||||||
|
If you need to edit boot command line (for advanced users), hit [Tab].
|
||||||
|
When finished, press [Enter].
|
||||||
|
|
||||||
|
|
||||||
|
Keep changes persistent
|
||||||
|
|
||||||
|
Save all filesystem modifications to 'changes' directory and restore
|
||||||
|
those changes next time you boot. Only usable while running from a
|
||||||
|
writable media such as USB device or hard disk.
|
||||||
|
|
||||||
|
|
||||||
|
Copy to RAM
|
||||||
|
|
||||||
|
Copies all data to memory during startup so you can eject the boot device.
|
||||||
|
Requires enough RAM to store all modules and to run the system.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
Set UAC = CreateObject("Shell.Application")
|
||||||
|
Set args = WScript.Arguments
|
||||||
|
UAC.ShellExecute args.Item(0), "", "", "runas", 1
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
' This script compares two given parameters (just first letter, so you can pass in full paths as well)
|
||||||
|
' and returns exit code 99 if both disk drives are on the same physical drive
|
||||||
|
' Run it as: wscript.exe samedisk.vbs c:\ d:\
|
||||||
|
' Author: Tomas M <http://www.linux-live.org/>
|
||||||
|
' Inspired by: http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/disk/drives/
|
||||||
|
' -------------------------------------------
|
||||||
|
|
||||||
|
drive1 = ""
|
||||||
|
drive2 = ""
|
||||||
|
phys1 = ""
|
||||||
|
phys2 = ""
|
||||||
|
|
||||||
|
Set args = WScript.Arguments
|
||||||
|
|
||||||
|
if args.Length > 0 then
|
||||||
|
drive1 = args.Item(0)
|
||||||
|
end if
|
||||||
|
if args.Length > 1 then
|
||||||
|
drive2 = args.Item(1)
|
||||||
|
end if
|
||||||
|
|
||||||
|
if drive1 = "" then
|
||||||
|
WScript.Quit(1)
|
||||||
|
end if
|
||||||
|
|
||||||
|
if drive2 = "" then
|
||||||
|
WScript.Quit(2)
|
||||||
|
end if
|
||||||
|
|
||||||
|
|
||||||
|
ComputerName = "."
|
||||||
|
Set wmiServices = GetObject _
|
||||||
|
("winmgmts:{impersonationLevel=Impersonate}!//" & ComputerName)
|
||||||
|
Set wmiDiskDrives = wmiServices.ExecQuery _
|
||||||
|
("SELECT Caption, DeviceID FROM Win32_DiskDrive")
|
||||||
|
|
||||||
|
For Each wmiDiskDrive In wmiDiskDrives
|
||||||
|
|
||||||
|
strEscapedDeviceID = _
|
||||||
|
Replace(wmiDiskDrive.DeviceID, "\", "\\", 1, -1, vbTextCompare)
|
||||||
|
Set wmiDiskPartitions = wmiServices.ExecQuery _
|
||||||
|
("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & _
|
||||||
|
strEscapedDeviceID & """} WHERE " & _
|
||||||
|
"AssocClass = Win32_DiskDriveToDiskPartition")
|
||||||
|
|
||||||
|
For Each wmiDiskPartition In wmiDiskPartitions
|
||||||
|
Set wmiLogicalDisks = wmiServices.ExecQuery _
|
||||||
|
("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & _
|
||||||
|
wmiDiskPartition.DeviceID & """} WHERE " & _
|
||||||
|
"AssocClass = Win32_LogicalDiskToPartition")
|
||||||
|
|
||||||
|
For Each wmiLogicalDisk In wmiLogicalDisks
|
||||||
|
|
||||||
|
if UCase(Left(drive1,1)) = UCase(Left(wmiLogicalDisk.DeviceID,1)) then
|
||||||
|
phys1=wmiDiskDrive.DeviceID
|
||||||
|
end if
|
||||||
|
|
||||||
|
if UCase(Left(drive2,1)) = UCase(Left(wmiLogicalDisk.DeviceID,1)) then
|
||||||
|
phys2=wmiDiskDrive.DeviceID
|
||||||
|
end if
|
||||||
|
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
|
||||||
|
if phys1 = phys2 then
|
||||||
|
WScript.Quit(99)
|
||||||
|
end if
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
UI /slax/boot/vesamenu.c32
|
||||||
|
|
||||||
|
PROMPT 0
|
||||||
|
TIMEOUT 40
|
||||||
|
|
||||||
|
MENU CLEAR
|
||||||
|
MENU HIDDEN
|
||||||
|
MENU HIDDENKEY Enter default
|
||||||
|
MENU BACKGROUND /slax/boot/bootlogo.png
|
||||||
|
|
||||||
|
MENU WIDTH 80
|
||||||
|
MENU MARGIN 20
|
||||||
|
MENU ROWS 5
|
||||||
|
MENU TABMSGROW 9
|
||||||
|
MENU CMDLINEROW 9
|
||||||
|
MENU HSHIFT 0
|
||||||
|
MENU VSHIFT 19
|
||||||
|
|
||||||
|
MENU COLOR BORDER 30;40 #00000000 #00000000 none
|
||||||
|
MENU COLOR SEL 47;30 #FF000000 #FFFFFFFF none
|
||||||
|
MENU COLOR UNSEL 37;40 #FFFFFFFF #FF000000 none
|
||||||
|
MENU COLOR TABMSG 32;40 #FF60CA00 #FF000000 none
|
||||||
|
|
||||||
|
F1 help.txt /slax/boot/zblack.png
|
||||||
|
|
||||||
|
MENU AUTOBOOT Press Esc for options, automatic boot in # second{,s} ...
|
||||||
|
MENU TABMSG [F1] help [Tab] cmdline >
|
||||||
|
|
||||||
|
LABEL default
|
||||||
|
MENU LABEL Run Slax (Persistent changes)
|
||||||
|
KERNEL /slax/boot/vmlinuz
|
||||||
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=perch,automount
|
||||||
|
|
||||||
|
LABEL perch
|
||||||
|
MENU LABEL Run Slax (Fresh start)
|
||||||
|
KERNEL /slax/boot/vmlinuz
|
||||||
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=automount
|
||||||
|
|
||||||
|
LABEL toram
|
||||||
|
MENU LABEL Run Slax (Copy to RAM)
|
||||||
|
KERNEL /slax/boot/vmlinuz
|
||||||
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram
|
||||||
|
After Width: | Height: | Size: 6.3 KiB |
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
THIS=$(dirname $(readlink -f $0))
|
||||||
|
|
||||||
|
sed -i -r 's/^LIVEKITNAME.*/LIVEKITNAME="slax"/' $THIS/../../config
|
||||||
|
sed -i -r 's/^NETWORK.*/NETWORK=true/' $THIS/../../config
|
||||||
|
|
||||||
|
. ./copy
|
||||||
|
. ./install
|
||||||
|
. ./cleanup
|
||||||
|
. ./copy
|
||||||
|
|
||||||
|
# now run build script
|
||||||
|
SKIPINITRFS=true
|
||||||
|
cd ../../
|
||||||
|
. ./build
|
||||||
|
|
||||||
|
# setup initrd now, to include aufs
|
||||||
|
apt-get update
|
||||||
|
apt-get install aufs-dkms linux-headers-$(uname -r) --yes
|
||||||
|
|
||||||
|
cd initramfs
|
||||||
|
. ./initramfs_create
|
||||||
|
|
||||||
|
mv -f $INITRAMFS.img $LIVEKITDATA/$LIVEKITNAME/boot/initrfs.img
|
||||||
|
cp -vf $THIS/bootfiles/* $LIVEKITDATA/$LIVEKITNAME/boot/
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -f /etc/fstab
|
||||||
|
rm -f /etc/mtab
|
||||||
|
rm -f /etc/apt/sources.list~
|
||||||
|
rm -Rf /etc/systemd/system/timers.target.wants
|
||||||
|
rm -f /etc/systemd/system/multi-user.target.wants/ssh.service
|
||||||
|
rm -f /etc/systemd/system/multi-user.target.wants/dnsmasq.service
|
||||||
|
|
||||||
|
rm -f /etc/ssh/ssh_host*
|
||||||
|
|
||||||
|
rm -f /var/backups/*
|
||||||
|
rm -f /var/cache/ldconfig/*
|
||||||
|
rm -f /var/cache/debconf/*
|
||||||
|
rm -f /var/cache/fontconfig/*
|
||||||
|
rm -f /var/lib/apt/extended_states
|
||||||
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
rm -f /var/lib/apt/lists/deb.*
|
||||||
|
rm -Rf /root/.local/share/mc
|
||||||
|
rm -Rf /root/.cache
|
||||||
|
rm -f /root/.wget-hsts
|
||||||
|
|
||||||
|
rm -f /var/lib/dpkg/*-old
|
||||||
|
rm -f /var/log/*
|
||||||
|
rm -f /var/log/*/*
|
||||||
|
rm -f /var/log/*/*/*
|
||||||
|
rm -f /var/cache/apt/archives/*.deb
|
||||||
|
rm -f /var/cache/apt/*.bin
|
||||||
|
rm -f /var/cache/debconf/*-old
|
||||||
|
rm -f /var/lib/dhcp/dhclient.leases
|
||||||
|
rm -f /root/.bash_history
|
||||||
|
rm -f /root/.wget-hsts
|
||||||
|
rm -Rf /usr/share/doc/*
|
||||||
|
rm -Rf /usr/share/info/*
|
||||||
|
rm -f /usr/share/images/fluxbox/debian-squared.jpg
|
||||||
|
rm -Rf /usr/share/fluxbox/nls/??*
|
||||||
|
rm -Rf /usr/share/gnome/help
|
||||||
|
|
||||||
|
rm -Rf /usr/share/locale/??
|
||||||
|
rm -Rf /usr/share/locale/??_*
|
||||||
|
rm -Rf /usr/share/locale/??@*
|
||||||
|
rm -Rf /usr/share/locale/???
|
||||||
|
rm -Rf /usr/share/i18n/locales/*_*
|
||||||
|
rm -Rf /usr/share/man/??
|
||||||
|
rm -Rf /usr/share/man/*_*
|
||||||
|
|
||||||
|
rm -Rf /usr/share/icons/elementaryXubuntu-dark
|
||||||
|
rm -Rf /usr/share/icons/gnome/256x256
|
||||||
|
|
||||||
|
rm /usr/share/applications/compton.desktop
|
||||||
|
rm /usr/share/applications/debian-uxterm.desktop
|
||||||
|
rm /usr/share/applications/debian-xterm.desktop
|
||||||
|
rm /usr/share/applications/htop.desktop
|
||||||
|
rm /usr/share/applications/mc.desktop
|
||||||
|
rm /usr/share/applications/mcedit.desktop
|
||||||
|
rm /usr/share/applications/pcmanfm-desktop-pref.desktop
|
||||||
|
rm /usr/share/applications/python2.7.desktop
|
||||||
|
rm /usr/share/applications/vim.desktop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Unzip gzipped files (man pages), so LZMA can compress 2times better.
|
||||||
|
# First we fix symlinks, then uncompress files
|
||||||
|
# $1 = search directory
|
||||||
|
uncompress_files()
|
||||||
|
{
|
||||||
|
local LINK LINE
|
||||||
|
|
||||||
|
find "$1" -type l -name "*.gz" | while read LINE; do
|
||||||
|
LINK="$(readlink "$LINE" | sed -r 's/.gz$//')"
|
||||||
|
FILE="$(echo "$LINE" | sed -r 's/.gz$//')"
|
||||||
|
ln -sfn "$LINK" "$FILE"
|
||||||
|
rm -f "$LINE"
|
||||||
|
done
|
||||||
|
find "$1" -type f -name "*.gz" | xargs -r gunzip
|
||||||
|
}
|
||||||
|
|
||||||
|
uncompress_files /etc/alternatives
|
||||||
|
uncompress_files /usr/share/man
|
||||||
|
|
||||||
|
# remove broken links
|
||||||
|
# $1 = search directory
|
||||||
|
remove_broken_links()
|
||||||
|
{
|
||||||
|
find "$1" -type l -exec test ! -e {} \; -print | xargs rm -vf
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_broken_links /etc/alternatives
|
||||||
|
remove_broken_links /usr/share/man
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
(cd rootcopy && cp --parents -afr * /)
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get dist-upgrade --yes
|
||||||
|
|
||||||
|
# if kernel was upgraded, you may need to reboot
|
||||||
|
apt-get install --yes --no-install-recommends mc squashfs-tools genisoimage zip unzip psmisc net-tools \
|
||||||
|
alsa-utils man less xz-utils ca-certificates openssl acpid acpi-support-base powermgmt-base bzip2 gpart \
|
||||||
|
hdparm sdparm mdadm smartmontools dosfstools lsof htop gddrescue rsync netcat ssh gpm wireless-tools \
|
||||||
|
ntfs-3g rfkill file dnsmasq ntpdate dvd+rw-tools usb-modeswitch pm-utils
|
||||||
|
|
||||||
|
ln -sf bash /bin/sh
|
||||||
|
|
||||||
|
apt-get remove --yes vim* grub* debconf-i18n installation-report
|
||||||
|
|
||||||
|
CWD="$(pwd)"
|
||||||
|
cd /tmp
|
||||||
|
apt-get download acpi-support
|
||||||
|
dpkg -x acpi-support*.deb /tmp/acpisupport
|
||||||
|
cd /tmp/acpisupport
|
||||||
|
cp -aR * /
|
||||||
|
cd "$CWD"
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
apt update
|
||||||
|
apt install --yes --no-install-recommends \
|
||||||
|
firmware-linux-free \
|
||||||
|
firmware-linux-nonfree \
|
||||||
|
firmware-atheros \
|
||||||
|
firmware-iwlwifi \
|
||||||
|
firmware-zd1211 \
|
||||||
|
firmware-realtek \
|
||||||
|
firmware-bnx2 \
|
||||||
|
firmware-brcm80211 \
|
||||||
|
firmware-cavium \
|
||||||
|
firmware-ipw2x00 \
|
||||||
|
firmware-libertas \
|
||||||
|
firmware-ti-connectivity \
|
||||||
|
firmware-b43-installer
|
||||||
|
|
||||||
|
. ../../cleanup
|
||||||
|
|
||||||
|
savechanges /01-firmware.sb
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install --yes --no-install-recommends \
|
||||||
|
xserver-xorg xserver-xorg-video-all xserver-xorg-video-intel \
|
||||||
|
xinit \
|
||||||
|
xterm \
|
||||||
|
blackbox \
|
||||||
|
libxcursor1 \
|
||||||
|
breeze-cursor-theme \
|
||||||
|
x11-utils \
|
||||||
|
wmctrl \
|
||||||
|
xdotool \
|
||||||
|
libdrm-intel1 \
|
||||||
|
libgl1-mesa-dri \
|
||||||
|
libglu1-mesa
|
||||||
|
|
||||||
|
# Set setuid bit on xorg binary, so it can be started by guest user
|
||||||
|
chmod u+s /usr/lib/xorg/Xorg
|
||||||
|
|
||||||
|
# use only white cursors. There were some troubles if the other cursors
|
||||||
|
# was left behind, installing gtk apps reverted the cursor from white to gray,
|
||||||
|
# so we're going to nuke it to leave only Snow cursors active.
|
||||||
|
rm -Rf /usr/share/icons/breeze_cursors
|
||||||
|
mv /usr/share/icons/Breeze_Snow /usr/share/icons/breeze_cursors
|
||||||
|
|
||||||
|
(cd rootcopy && cp --parents -afr * /)
|
||||||
|
|
||||||
|
cp ../../cleanup /tmp
|
||||||
|
# install x11 server utils, apt-get would add cpp dependency, bullshit!
|
||||||
|
cd /tmp
|
||||||
|
apt-get download x11-xserver-utils
|
||||||
|
dpkg -x x11-xserver-utils*.deb /tmp/x11utils
|
||||||
|
cd /tmp/x11utils
|
||||||
|
cp -aR * /
|
||||||
|
|
||||||
|
update-alternatives --set x-terminal-emulator /usr/bin/xterm
|
||||||
|
|
||||||
|
. /tmp/cleanup
|
||||||
|
|
||||||
|
savechanges /02-xorg.sb
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/lib/systemd/system/xorg.service
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
[Unit]
|
||||||
|
Description=X-Window
|
||||||
|
ConditionKernelCommandLine=!text
|
||||||
|
After=systemd-user-sessions.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/bin/su --login -c "/usr/bin/startx -- :0 vt7 -ac -nolisten tcp"
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
! this are Xresources to make xterm look good
|
||||||
|
! put into ~/.Xresources
|
||||||
|
! after changing contents, run xrdb -merge .Xresources
|
||||||
|
! gentoo has a bug so that it doesnt read it when X starts, so add above
|
||||||
|
! command to /etc/xfce4/xinitrc (top) and be happy.
|
||||||
|
|
||||||
|
XTerm*foreground: white
|
||||||
|
XTerm*background: rgb:22/22/22
|
||||||
|
XTerm*cursorColor: rgb:00/ff/00
|
||||||
|
XTerm*borderColor: black
|
||||||
|
XTerm*scrollColor: black
|
||||||
|
XTerm*visualBell: true
|
||||||
|
XTerm*saveLines: 50000
|
||||||
|
XTerm*allowSendEvents: True
|
||||||
|
XTerm*sessionMgt: false
|
||||||
|
XTerm*rightScrollBar: true
|
||||||
|
XTerm*eightBitInput: false
|
||||||
|
XTerm*faceName:fixed:size=11
|
||||||
|
XTerm*boldFont:fixed:size=11
|
||||||
|
XTerm*activeIcon: true
|
||||||
|
XTerm*iconPixmap: /usr/share/icons/locolor/16x16/apps/xterm.xbm
|
||||||
|
XTerm*fullscreen: never
|
||||||
|
|
||||||
|
Xft.antialias: true
|
||||||
|
Xft.hinting: true
|
||||||
|
Xft.hintstyle: hintfull
|
||||||
|
Xft.lcdfilter: lcdlegacy
|
||||||
|
Xft.rgba: rgb
|
||||||
|
|
||||||
|
XTerm*selectToClipboard: true
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[begin] ( Menu )
|
||||||
|
[exec] (Terminal) { xterm -ls -title Terminal }
|
||||||
|
[exec] (Web browser) { chromium }
|
||||||
|
[exit] (Exit)
|
||||||
|
[end]
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
session.screen0.toolbar.widthPercent: 100
|
||||||
|
session.screen0.strftimeFormat: %H:%M
|
||||||
|
session.edgeSnapThreshold: 10
|
||||||
|
session.menuFile: /root/.blackbox-menu
|
||||||
|
session.styleFile: /usr/share/blackbox/styles/Slax
|
||||||
|
session.changeWorkspaceWithMouseWheel: False
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
*.appearance: flat solid
|
||||||
|
|
||||||
|
*button.pressed.appearance: sunken solid
|
||||||
|
*button.pressed.backgroundColor: rgb:69/c1/f1
|
||||||
|
*button.appearance: parentrelative
|
||||||
|
|
||||||
|
*.focus.backgroundColor: rgb:69/c1/f1
|
||||||
|
*.unfocus.backgroundColor: rgb:28/28/28
|
||||||
|
|
||||||
|
*font: Bitstream Vera Sans-9
|
||||||
|
|
||||||
|
menu.title.appearance: flat solid
|
||||||
|
menu.title.backgroundColor: rgb:69/c1/f1
|
||||||
|
menu.title.textColor: rgb:28/28/28
|
||||||
|
menu.title.alignment: center
|
||||||
|
menu.title.marginWidth: 6
|
||||||
|
|
||||||
|
menu.frame.appearance: flat gradient border
|
||||||
|
menu.frame.textColor: rgb:28/28/28
|
||||||
|
menu.frame.foregroundColor: grey40
|
||||||
|
menu.frame.borderColor: rgb:69/c1/f1
|
||||||
|
menu.frame.borderWidth: 6
|
||||||
|
menu.frame.disabledColor: darkgrey
|
||||||
|
menu.frame.alignment: left
|
||||||
|
menu.frame.marginWidth: 2
|
||||||
|
|
||||||
|
menu.active.appearance: flat solid border
|
||||||
|
menu.active.backgroundColor: rgb:69/c1/f1
|
||||||
|
menu.active.borderWidth: 4
|
||||||
|
menu.active.borderColor: rgb:69/c1/f1
|
||||||
|
menu.active.textColor: rgb:38/38/38
|
||||||
|
|
||||||
|
rootCommand: bsetroot -solid rgb:77/90/aa
|
||||||
|
|
||||||
|
slit.appearance: raised solid
|
||||||
|
slit.backgroundColor: rgb:77/90/aa
|
||||||
|
slit.marginWidth: 3
|
||||||
|
|
||||||
|
toolbar.appearance: flat gradient border
|
||||||
|
toolbar.alignment: center
|
||||||
|
toolbar*textColor: rgb:28/28/28
|
||||||
|
toolbar.label.appearance: parentrelative
|
||||||
|
toolbar.clock.appearance: parentrelative
|
||||||
|
toolbar.windowLabel.appearance: parentrelative
|
||||||
|
|
||||||
|
window.title.focus.appearance: flat solid
|
||||||
|
window.title.focus.backgroundColor: rgb:69/c1/f1
|
||||||
|
window.title.unfocus.appearance: flat solid
|
||||||
|
window.title.unfocus.backgroundColor: rgb:d6/d6/d6
|
||||||
|
window.title.marginWidth: 5
|
||||||
|
|
||||||
|
window.label.focus.appearance: parentrelative
|
||||||
|
window.label.focus.textColor: rgb:28/28/28
|
||||||
|
window.label.unfocus.appearance: parentrelative
|
||||||
|
window.label.unfocus.textColor: rgb:28/28/28
|
||||||
|
window.label.marginWidth: 1
|
||||||
|
|
||||||
|
window.button.focus.appearance: parentrelative
|
||||||
|
window.button.focus.foregroundColor: white
|
||||||
|
|
||||||
|
window.button.unfocus.appearance: parentrelative
|
||||||
|
window.button.unfocus.foregroundColor: darkgrey
|
||||||
|
|
||||||
|
window.handle.focus.appearance: flat solid
|
||||||
|
window.handle.focus.backgroundColor: rgb:69/c1/f1
|
||||||
|
window.handle.unfocus.appearance: flat solid
|
||||||
|
window.handle.unfocus.backgroundColor: rgb:d6/d6/d6
|
||||||
|
|
||||||
|
window.grip.focus.appearance: flat solid
|
||||||
|
window.grip.focus.backgroundColor: rgb:69/c1/f1
|
||||||
|
window.grip.unfocus.appearance: flat solid
|
||||||
|
window.grip.unfocus.backgroundColor: rgb:d6/d6/d6
|
||||||
|
|
||||||
|
window*alignment: center
|
||||||
|
|
||||||
|
window.handleHeight: 7
|
||||||
|
window.frame.borderWidth: 7
|
||||||
|
window.frame.focus.borderColor: rgb:69/c1/f1
|
||||||
|
window.frame.unfocus.borderColor: rgb:d6/d6/d6
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
#define command2_width 16
|
||||||
|
#define command2_height 16
|
||||||
|
static unsigned char command2_bits[] = {
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xe7, 0xff, 0xcf, 0xff,
|
||||||
|
0x9f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x9f, 0xff, 0xcf, 0xff, 0xe7, 0xc1,
|
||||||
|
0xf7, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CWD=$(dirname $(readlink -f $0))
|
||||||
|
|
||||||
|
NAME=fluxbox
|
||||||
|
VERSION=1.3.5
|
||||||
|
|
||||||
|
# first install stock version
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install --no-install-recommends --yes \
|
||||||
|
$NAME \
|
||||||
|
feh \
|
||||||
|
compton \
|
||||||
|
volumeicon-alsa \
|
||||||
|
murrine-themes \
|
||||||
|
libnotify4 \
|
||||||
|
scrot
|
||||||
|
|
||||||
|
. ../../cleanup
|
||||||
|
|
||||||
|
(cd rootcopy && cp --parents -afr * /)
|
||||||
|
chown guest.users /home/guest
|
||||||
|
chown -R guest.users /home/guest/.gtkrc-2.0
|
||||||
|
chown -R guest.users /home/guest/.config
|
||||||
|
|
||||||
|
savechanges /$NAME-stock.sb
|
||||||
|
|
||||||
|
cd /
|
||||||
|
unsquashfs /$NAME-stock.sb
|
||||||
|
|
||||||
|
# create user directories
|
||||||
|
for dir in Desktop Documents Downloads Music Pictures Public Templates Videos; do
|
||||||
|
mkdir -p /squashfs-root/home/guest/$dir
|
||||||
|
mkdir -p /squashfs-root/root/$dir
|
||||||
|
done
|
||||||
|
chown -R guest.users /squashfs-root/home/guest
|
||||||
|
|
||||||
|
# then, we want to patch it to implement window resizing!
|
||||||
|
# so we will recompile whole package
|
||||||
|
|
||||||
|
REBUILD=/tmp/$NAME-rebuild-$$
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get --yes build-dep $NAME
|
||||||
|
|
||||||
|
mkdir -p $REBUILD
|
||||||
|
cd $REBUILD
|
||||||
|
|
||||||
|
apt-get source $NAME
|
||||||
|
|
||||||
|
cd $NAME-$VERSION
|
||||||
|
|
||||||
|
cat $CWD/patches/fluxbox-slax.diff > debian/patches/fluxbox-slax.diff
|
||||||
|
echo fluxbox-slax.diff >> debian/patches/series
|
||||||
|
|
||||||
|
dpkg-buildpackage -us -uc
|
||||||
|
|
||||||
|
rm -Rf debian/$NAME/DEBIAN
|
||||||
|
rm -Rf debian/$NAME/usr/share/doc
|
||||||
|
rm -Rf debian/$NAME/usr/share/images
|
||||||
|
|
||||||
|
cp debian/$NAME/usr/bin/fluxbox /squashfs-root/usr/bin
|
||||||
|
|
||||||
|
|
||||||
|
# add xlunch from sources
|
||||||
|
wget -O /tmp/xlunch.tar.gz https://github.com/Tomas-M/xlunch/archive/v4.5.3.tar.gz
|
||||||
|
cd /tmp
|
||||||
|
tar -xf xlunch.tar.gz
|
||||||
|
cd xlunch-4.5.3
|
||||||
|
make
|
||||||
|
cp xlunch /squashfs-root/usr/bin
|
||||||
|
cp extra/gentriesquick /squashfs-root/usr/bin/xlunch_genquick
|
||||||
|
mkdir -p /squashfs-root/usr/share/icons/hicolor/48x48/apps/
|
||||||
|
cp extra/ghost.png /squashfs-root/usr/share/icons/hicolor/48x48/apps/xlunch_ghost.png
|
||||||
|
|
||||||
|
# add tray icon launcher
|
||||||
|
wget -O /tmp/systrayiconlauncher.tar.gz https://github.com/Tomas-M/SystrayIconLauncher/archive/master.tar.gz
|
||||||
|
cd /tmp
|
||||||
|
tar -xf systrayiconlauncher.tar.gz
|
||||||
|
cd SystrayIconLauncher-master
|
||||||
|
apt-get install --yes libgtk2.0-dev
|
||||||
|
make
|
||||||
|
cp systrayicon /squashfs-root/usr/bin
|
||||||
|
|
||||||
|
|
||||||
|
# add gtkdialog
|
||||||
|
wget -O /tmp/gtkdialog.tar.gz https://github.com/Tomas-M/GTKdialog/archive/master.tar.gz
|
||||||
|
cd /tmp
|
||||||
|
tar -xf gtkdialog.tar.gz
|
||||||
|
cd GTKdialog-master
|
||||||
|
make
|
||||||
|
cp gtkdialog /squashfs-root/usr/bin
|
||||||
|
|
||||||
|
|
||||||
|
# battery icon app
|
||||||
|
cd /tmp
|
||||||
|
wget https://github.com/valr/cbatticon/archive/1.6.7.tar.gz
|
||||||
|
tar -xf 1.6.7.tar.gz
|
||||||
|
cd cbatticon-1.6.7
|
||||||
|
cp -R /usr/include/glib-2.0/* /usr/include
|
||||||
|
cp -R /usr/include/gtk-2.0/* /usr/include
|
||||||
|
apt install --yes libnotify-dev
|
||||||
|
sed -i "s/WITH_GTK3 = 1/WITH_GTK3 = 0/" Makefile
|
||||||
|
CFLAGS="-O2 \
|
||||||
|
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
|
||||||
|
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include/ \
|
||||||
|
-I/usr/include/gdk-pixbuf-2.0/ \
|
||||||
|
-I/usr/include/atk-1.0/ \
|
||||||
|
-I/usr/include/cairo \
|
||||||
|
-I/usr/include/pango-1.0 \
|
||||||
|
-I/usr/include/glib-2.0 \
|
||||||
|
-I/usr/include/gtk-2.0" \
|
||||||
|
make
|
||||||
|
cp cbatticon /squashfs-root/usr/bin
|
||||||
|
|
||||||
|
dir2sb /squashfs-root /03-desktop.sb
|
||||||
|
|
@ -0,0 +1,97 @@
|
||||||
|
--- a/src/Window.cc 2013-02-13 05:04:05.000000000 -0500
|
||||||
|
+++ b/src/Window.cc 2017-11-05 17:31:37.516503305 -0500
|
||||||
|
@@ -2745,6 +2745,14 @@
|
||||||
|
m_button_grab_x = x - frame().x() - frame().window().borderWidth();
|
||||||
|
m_button_grab_y = y - frame().y() - frame().window().borderWidth();
|
||||||
|
|
||||||
|
+ // If mouse clicked on the border, start window resize instead of move
|
||||||
|
+ if (m_button_grab_x <= 0 || m_button_grab_x >= (int)frame().window().width()
|
||||||
|
+ || m_button_grab_y >= (int)frame().window().height() ) {
|
||||||
|
+ ReferenceCorner dir = getResizeDirection(m_button_grab_x,m_button_grab_y,EDGEORCORNERRESIZE,frame().window().borderWidth(),frame().window().borderWidth());
|
||||||
|
+ startResizing(m_button_grab_x, m_button_grab_y, dir);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
moving = true;
|
||||||
|
|
||||||
|
Fluxbox *fluxbox = Fluxbox::instance();
|
||||||
|
@@ -2752,7 +2760,7 @@
|
||||||
|
// freely map and unmap the window we're moving.
|
||||||
|
grabPointer(screen().rootWindow().window(), False, ButtonMotionMask |
|
||||||
|
ButtonReleaseMask, GrabModeAsync, GrabModeAsync,
|
||||||
|
- screen().rootWindow().window(), frame().theme()->moveCursor(), CurrentTime);
|
||||||
|
+ screen().rootWindow().window(), None, CurrentTime);
|
||||||
|
|
||||||
|
if (menu().isVisible())
|
||||||
|
menu().hide();
|
||||||
|
--- a/src/FbTk/FbDrawable.hh
|
||||||
|
+++ b/src/FbTk/FbDrawable.hh
|
||||||
|
@@ -52,7 +52,8 @@ public:
|
||||||
|
LEFT,
|
||||||
|
RIGHT,
|
||||||
|
UP,
|
||||||
|
- DOWN
|
||||||
|
+ DOWN,
|
||||||
|
+ MENU
|
||||||
|
};
|
||||||
|
|
||||||
|
// x, y, width and height define a space within which we're drawing a triangle
|
||||||
|
--- a/src/ToolFactory.cc 2013-02-13 05:04:05.000000000 -0500
|
||||||
|
+++ b/src/ToolFactory.cc 2017-10-31 12:11:20.000000000 -0400
|
||||||
|
@@ -101,6 +101,8 @@
|
||||||
|
cmd_str += " (workspace=[current])";
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (name.find("menu") != std::string::npos) cmd_str = "Exec fbappselect";
|
||||||
|
+
|
||||||
|
FbTk::RefCount<FbTk::Command<void> > cmd(FbTk::CommandParser<void>::instance().parse(cmd_str));
|
||||||
|
if (cmd == 0) // we need a command
|
||||||
|
return 0;
|
||||||
|
@@ -110,6 +112,9 @@
|
||||||
|
if (name.find("prev") != std::string::npos)
|
||||||
|
arrow_type = FbTk::FbDrawable::LEFT;
|
||||||
|
|
||||||
|
+ if (name.find("menu") != std::string::npos)
|
||||||
|
+ arrow_type = FbTk::FbDrawable::MENU;
|
||||||
|
+
|
||||||
|
ArrowButton *win = new ArrowButton(arrow_type, parent,
|
||||||
|
0, 0,
|
||||||
|
button_size, button_size);
|
||||||
|
--- a/src/FbTk/FbDrawable.cc 2017-10-19 06:06:08.000000000 -0400
|
||||||
|
+++ a/src/FbTk/FbDrawable.cc 2017-10-19 06:06:57.013131070 -0400
|
||||||
|
@@ -96,7 +96,7 @@
|
||||||
|
if (drawable() == 0 || gc == 0 || width == 0 || height == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- XPoint pts[3];
|
||||||
|
+ XPoint pts[4];
|
||||||
|
|
||||||
|
if (scale < 100) scale = 100; // not bigger than the space allowed
|
||||||
|
else if (scale > 10000) scale = 10000; // not too small...
|
||||||
|
@@ -115,6 +115,26 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
+ case FbTk::FbDrawable::MENU:
|
||||||
|
+ {
|
||||||
|
+ int s=7; int m=2; int d=2; int sh=-1; //size margin distance
|
||||||
|
+ pts[0].x=m+sh; pts[0].y=m+sh; pts[1].x=m+s+sh; pts[1].y=m+sh;
|
||||||
|
+ pts[2].x=m+s+sh; pts[2].y=m+s+sh; pts[3].x=m+sh; pts[3].y=m+s+sh;
|
||||||
|
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
|
||||||
|
+
|
||||||
|
+ pts[0].x=m+s+d+sh; pts[0].y=m+sh; pts[1].x=m+s+d+s+sh; pts[1].y=m+sh;
|
||||||
|
+ pts[2].x=m+s+d+s+sh; pts[2].y=m+s+sh; pts[3].x=m+s+d+sh; pts[3].y=m+s+sh;
|
||||||
|
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
|
||||||
|
+
|
||||||
|
+ pts[0].x=m+sh; pts[0].y=m+s+d+sh; pts[1].x=m+s+sh; pts[1].y=m+s+d+sh;
|
||||||
|
+ pts[2].x=m+s+sh; pts[2].y=m+s+d+s+sh; pts[3].x=m+sh; pts[3].y=m+s+d+s+sh;
|
||||||
|
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
|
||||||
|
+
|
||||||
|
+ pts[0].x=m+s+d+sh; pts[0].y=m+s+d+sh; pts[1].x=m+s+d+s+sh; pts[1].y=m+s+d+sh;
|
||||||
|
+ pts[2].x=m+s+d+s+sh; pts[2].y=m+s+d+s+sh; pts[3].x=m+s+d+sh; pts[3].y=m+s+d+s+sh;
|
||||||
|
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
case FbTk::FbDrawable::LEFT:
|
||||||
|
// start at the tip
|
||||||
|
pts[0].x = (width / 2) - (ax / 2); pts[0].y = height / 2;
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
Terminal;/usr/share/icons/hicolor/128x128/apps/terminal.png;xterm -title Terminal
|
||||||
|
Web Browser;/usr/share/icons/hicolor/128x128/apps/chromium.png;chromium
|
||||||
|
Text Editor;/usr/share/icons/hicolor/128x128/apps/editor.png;leafpad
|
||||||
|
Calculator;/usr/share/icons/hicolor/128x128/apps/calculator.png;qalculate
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
Logout;/usr/share/icons/hicolor/128x128/actions/logout.png;logout
|
||||||
|
Restart;/usr/share/icons/hicolor/128x128/actions/restart.png;restart
|
||||||
|
Shut down;/usr/share/icons/hicolor/128x128/actions/shutdown.png;shutdown
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"AudioCaptureAllowed": false,
|
||||||
|
"account_id_migration_state": 2,
|
||||||
|
"account_tracker_service_last_update": "13154004704520013",
|
||||||
|
"alternate_error_pages": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"bookmark_bar": {
|
||||||
|
"show_on_all_tabs": false
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"check_default_browser": false,
|
||||||
|
"has_seen_welcome_page": true,
|
||||||
|
"show_home_button": false,
|
||||||
|
"window_placement": {
|
||||||
|
"bottom": 10,
|
||||||
|
"left": 10,
|
||||||
|
"maximized": true,
|
||||||
|
"right": 10,
|
||||||
|
"top": 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extensions": {
|
||||||
|
"theme": {
|
||||||
|
"use_system": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ntp": {
|
||||||
|
"most_visited_blacklist": {
|
||||||
|
"c8e0afd1da1d9e29511240861f795a5a": null,
|
||||||
|
"eacc8c3ad0b50bd698ef8752d5ee24b6": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"safebrowsing": {
|
||||||
|
"enabled": false,
|
||||||
|
"scout_group_selected": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
include "/usr/share/themes/MurrinaChrome/gtk-2.0/gtkrc"
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
[StatusIcon]
|
||||||
|
stepsize=5
|
||||||
|
lmb_slider=false
|
||||||
|
mmb_mute=false
|
||||||
|
use_horizontal_slider=false
|
||||||
|
show_sound_level=false
|
||||||
|
onclick=xterm -e 'alsamixer'
|
||||||
|
theme=White Gnome
|
||||||
|
|
||||||
|
[Hotkeys]
|
||||||
|
up_enabled=true
|
||||||
|
down_enabled=true
|
||||||
|
mute_enabled=true
|
||||||
|
up=XF86AudioRaiseVolume
|
||||||
|
down=XF86AudioLowerVolume
|
||||||
|
mute=XF86AudioMute
|
||||||
|
|
||||||
|
[Alsa]
|
||||||
|
card=default
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
[xarchiver]
|
||||||
|
preferred_format=0
|
||||||
|
confirm_deletion=true
|
||||||
|
sort_filename_content=false
|
||||||
|
store_output=false
|
||||||
|
icon_size=0
|
||||||
|
show_archive_comment=false
|
||||||
|
show_sidebar=false
|
||||||
|
show_location_bar=false
|
||||||
|
preferred_temp_dir=/tmp
|
||||||
|
allow_sub_dir=0
|
||||||
|
overwrite=false
|
||||||
|
full_path=true
|
||||||
|
touch=false
|
||||||
|
freshen=false
|
||||||
|
update=false
|
||||||
|
store_path=false
|
||||||
|
recurse=true
|
||||||
|
solid_archive=false
|
||||||
|
remove_files=false
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
[app] (name=fbrun)
|
||||||
|
[Position] (WINCENTER) {0 0}
|
||||||
|
[Layer] {2}
|
||||||
|
[end]
|
||||||
|
|
||||||
|
[app] (name=gtkdialog)
|
||||||
|
[Position] (WINCENTER) {0 0}
|
||||||
|
[Layer] {2}
|
||||||
|
[end]
|
||||||
|
|
||||||
|
[app] (name=xlunch)
|
||||||
|
[DECO] {NONE}
|
||||||
|
[IconHidden] {yes}
|
||||||
|
[end]
|
||||||
|
|
||||||
|
[app] (name=xterm) {1}
|
||||||
|
[Position] (WINCENTER) {0 0}
|
||||||
|
[end]
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
session.screen0.slit.maxOver: false
|
||||||
|
session.screen0.slit.placement: TopLeft
|
||||||
|
session.screen0.slit.layer: Dock
|
||||||
|
session.screen0.slit.onhead: 0
|
||||||
|
session.screen0.slit.acceptKdeDockapps: true
|
||||||
|
session.screen0.slit.alpha: 255
|
||||||
|
session.screen0.slit.autoHide: false
|
||||||
|
session.screen0.menu.alpha: 255
|
||||||
|
session.screen0.clientMenu.usePixmap: true
|
||||||
|
session.screen0.tab.placement: TopLeft
|
||||||
|
session.screen0.tab.width: 64
|
||||||
|
session.screen0.toolbar.maxOver: false
|
||||||
|
session.screen0.toolbar.tools: RootMenu, iconbar, systemtray, clock
|
||||||
|
session.screen0.toolbar.autoHide: false
|
||||||
|
session.screen0.toolbar.widthPercent: 100
|
||||||
|
session.screen0.toolbar.alpha: 255
|
||||||
|
session.screen0.toolbar.visible: true
|
||||||
|
session.screen0.toolbar.placement: BottomCenter
|
||||||
|
session.screen0.toolbar.layer: Dock
|
||||||
|
session.screen0.toolbar.height: 0
|
||||||
|
session.screen0.toolbar.onhead: 1
|
||||||
|
session.screen0.tabs.usePixmap: true
|
||||||
|
session.screen0.tabs.maxOver: true
|
||||||
|
session.screen0.tabs.intitlebar: true
|
||||||
|
session.screen0.window.focus.alpha: 255
|
||||||
|
session.screen0.window.unfocus.alpha: 255
|
||||||
|
session.screen0.iconbar.usePixmap: true
|
||||||
|
session.screen0.iconbar.alignment: Left
|
||||||
|
session.screen0.iconbar.iconTextPadding: 10
|
||||||
|
session.screen0.iconbar.mode: {static groups} (workspace)
|
||||||
|
session.screen0.iconbar.iconWidth: 128
|
||||||
|
session.screen0.titlebar.left:
|
||||||
|
session.screen0.titlebar.right: Minimize Maximize Close
|
||||||
|
session.screen0.clickRaises: true
|
||||||
|
session.screen0.maxIgnoreIncrement: false
|
||||||
|
session.screen0.workspacewarping: true
|
||||||
|
session.screen0.colPlacementDirection: TopToBottom
|
||||||
|
session.screen0.maxDisableMove: false
|
||||||
|
session.screen0.rowPlacementDirection: LeftToRight
|
||||||
|
session.screen0.focusNewWindows: true
|
||||||
|
session.screen0.autoRaise: true
|
||||||
|
session.screen0.opaqueMove: true
|
||||||
|
session.screen0.maxDisableResize: false
|
||||||
|
session.screen0.tabFocusModel: ClickToTabFocus
|
||||||
|
session.screen0.tooltipDelay: 500
|
||||||
|
session.screen0.fullMaximization: false
|
||||||
|
session.screen0.noFocusWhileTypingDelay: 0
|
||||||
|
session.screen0.strftimeFormat: %H:%M
|
||||||
|
session.screen0.workspaces: 4
|
||||||
|
session.screen0.allowRemoteActions: false
|
||||||
|
session.screen0.focusModel: ClickFocus
|
||||||
|
session.screen0.windowMenu: /root/.fluxbox/windowmenu
|
||||||
|
session.screen0.workspaceNames: Workspace 1 Ctrl+F1,Workspace 2 Ctrl+F2,Workspace 3 Ctrl+F3,Workspace 4 Ctrl+F4,
|
||||||
|
session.screen0.edgeSnapThreshold: 10
|
||||||
|
session.screen0.showwindowposition: false
|
||||||
|
session.screen0.defaultDeco: NORMAL
|
||||||
|
session.screen0.menuDelay: 200
|
||||||
|
session.screen0.windowPlacement: RowMinOverlapPlacement
|
||||||
|
session.screen0.focusSameHead: false
|
||||||
|
session.screen0.workspacewarping: false
|
||||||
|
session.keyFile: ~/.fluxbox/keys
|
||||||
|
session.menuFile: ~/.fluxbox/menu
|
||||||
|
session.styleFile: /usr/share/fluxbox/styles/Slax
|
||||||
|
session.colorsPerChannel: 4
|
||||||
|
session.forcePseudoTransparency: true
|
||||||
|
session.ignoreBorder: false
|
||||||
|
session.doubleClickInterval: 250
|
||||||
|
session.appsFile: /root/.fluxbox/apps
|
||||||
|
session.tabPadding: 0
|
||||||
|
session.cacheLife: 5
|
||||||
|
session.cacheMax: 200
|
||||||
|
session.styleOverlay: /root/.fluxbox/overlay
|
||||||
|
session.autoRaiseDelay: 250
|
||||||
|
session.slitlistFile: /root/.fluxbox/slitlist
|
||||||
|
session.tabsAttachArea: Window
|
||||||
|
session.configVersion: 13
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
en
|
||||||
|
|
@ -0,0 +1,139 @@
|
||||||
|
# click on the desktop to get menus
|
||||||
|
OnDesktop Mouse1 :MacroCmd {WindowMenu} {HideMenus}
|
||||||
|
OnDesktop Mouse2 :WorkspaceMenu
|
||||||
|
OnDesktop Mouse3 :RootMenu
|
||||||
|
|
||||||
|
# scroll on the desktop to change workspaces
|
||||||
|
#OnDesktop Mouse4 :PrevWorkspace
|
||||||
|
#OnDesktop Mouse5 :NextWorkspace
|
||||||
|
|
||||||
|
# scroll on the toolbar to change current window
|
||||||
|
#OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
|
||||||
|
#OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)
|
||||||
|
|
||||||
|
# alt + left/right click to move/resize a window
|
||||||
|
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
|
||||||
|
OnWindowBorder Move1 :StartMoving
|
||||||
|
|
||||||
|
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
|
||||||
|
OnLeftGrip Move1 :StartResizing bottomleft
|
||||||
|
OnRightGrip Move1 :StartResizing bottomright
|
||||||
|
|
||||||
|
# alt + middle click to lower the window
|
||||||
|
OnWindow Mod1 Mouse2 :Lower
|
||||||
|
|
||||||
|
# control-click a window's titlebar and drag to attach windows
|
||||||
|
OnTitlebar Control Mouse1 :StartTabbing
|
||||||
|
|
||||||
|
# double click on the titlebar to shade
|
||||||
|
OnTitlebar Double Mouse1 :Maximize
|
||||||
|
|
||||||
|
# left click on the titlebar to move the window
|
||||||
|
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab} {StartMoving}
|
||||||
|
OnTitlebar Move1 :StartMoving
|
||||||
|
|
||||||
|
# middle click on the titlebar to lower
|
||||||
|
OnTitlebar Mouse2 :Lower
|
||||||
|
|
||||||
|
# right click on the titlebar for a menu of options
|
||||||
|
OnTitlebar Mouse3 :WindowMenu
|
||||||
|
|
||||||
|
# alt-tab
|
||||||
|
Mod1 Tab :NextWindow {groups} (workspace=[current])
|
||||||
|
Mod1 Shift Tab :PrevWindow {groups} (workspace=[current])
|
||||||
|
|
||||||
|
# cycle through tabs in the current window
|
||||||
|
Mod4 Tab :NextTab
|
||||||
|
Mod4 Shift Tab :PrevTab
|
||||||
|
|
||||||
|
# go to a specific tab in the current window
|
||||||
|
Mod4 1 :Tab 1
|
||||||
|
Mod4 2 :Tab 2
|
||||||
|
Mod4 3 :Tab 3
|
||||||
|
Mod4 4 :Tab 4
|
||||||
|
Mod4 5 :Tab 5
|
||||||
|
Mod4 6 :Tab 6
|
||||||
|
Mod4 7 :Tab 7
|
||||||
|
Mod4 8 :Tab 8
|
||||||
|
Mod4 9 :Tab 9
|
||||||
|
|
||||||
|
# open a terminal
|
||||||
|
Mod1 F1 :Exec xterm
|
||||||
|
|
||||||
|
# open a dialog to run programs
|
||||||
|
Mod1 F2 :Exec fbappselect
|
||||||
|
|
||||||
|
# volume settings, using common keycodes
|
||||||
|
# if these don't work, use xev to find out your real keycodes
|
||||||
|
176 :Exec amixer sset Master,0 1+
|
||||||
|
174 :Exec amixer sset Master,0 1-
|
||||||
|
160 :Exec amixer sset Master,0 toggle
|
||||||
|
|
||||||
|
# current window commands
|
||||||
|
Mod1 F4 :Close
|
||||||
|
Mod1 F5 :Kill
|
||||||
|
Mod1 F9 :Minimize
|
||||||
|
Mod1 F10 :Maximize
|
||||||
|
Mod1 F11 :Fullscreen
|
||||||
|
|
||||||
|
# open the window menu
|
||||||
|
Mod1 space :WindowMenu
|
||||||
|
|
||||||
|
# exit fluxbox
|
||||||
|
Control Mod1 Delete :Exit
|
||||||
|
|
||||||
|
# change to previous/next workspace
|
||||||
|
Control Mod1 Left :PrevWorkspace
|
||||||
|
Control Mod1 Right :NextWorkspace
|
||||||
|
|
||||||
|
# send the current window to previous/next workspace
|
||||||
|
Mod4 Left :SendToPrevWorkspace
|
||||||
|
Mod4 Right :SendToNextWorkspace
|
||||||
|
|
||||||
|
# send the current window and follow it to previous/next workspace
|
||||||
|
Control Mod4 Left :TakeToPrevWorkspace
|
||||||
|
Control Mod4 Right :TakeToNextWorkspace
|
||||||
|
|
||||||
|
# change to a specific workspace
|
||||||
|
Control F1 :Workspace 1
|
||||||
|
Control F2 :Workspace 2
|
||||||
|
Control F3 :Workspace 3
|
||||||
|
Control F4 :Workspace 4
|
||||||
|
Control F5 :Workspace 5
|
||||||
|
Control F6 :Workspace 6
|
||||||
|
Control F7 :Workspace 7
|
||||||
|
Control F8 :Workspace 8
|
||||||
|
Control F9 :Workspace 9
|
||||||
|
Control F10 :Workspace 10
|
||||||
|
Control F11 :Workspace 11
|
||||||
|
Control F12 :Workspace 12
|
||||||
|
|
||||||
|
# send the current window to a specific workspace
|
||||||
|
Mod4 F1 :SendToWorkspace 1
|
||||||
|
Mod4 F2 :SendToWorkspace 2
|
||||||
|
Mod4 F3 :SendToWorkspace 3
|
||||||
|
Mod4 F4 :SendToWorkspace 4
|
||||||
|
Mod4 F5 :SendToWorkspace 5
|
||||||
|
Mod4 F6 :SendToWorkspace 6
|
||||||
|
Mod4 F7 :SendToWorkspace 7
|
||||||
|
Mod4 F8 :SendToWorkspace 8
|
||||||
|
Mod4 F9 :SendToWorkspace 9
|
||||||
|
Mod4 F10 :SendToWorkspace 10
|
||||||
|
Mod4 F11 :SendToWorkspace 11
|
||||||
|
Mod4 F12 :SendToWorkspace 12
|
||||||
|
|
||||||
|
# send the current window and change to a specific workspace
|
||||||
|
Control Mod4 F1 :TakeToWorkspace 1
|
||||||
|
Control Mod4 F2 :TakeToWorkspace 2
|
||||||
|
Control Mod4 F3 :TakeToWorkspace 3
|
||||||
|
Control Mod4 F4 :TakeToWorkspace 4
|
||||||
|
Control Mod4 F5 :TakeToWorkspace 5
|
||||||
|
Control Mod4 F6 :TakeToWorkspace 6
|
||||||
|
Control Mod4 F7 :TakeToWorkspace 7
|
||||||
|
Control Mod4 F8 :TakeToWorkspace 8
|
||||||
|
Control Mod4 F9 :TakeToWorkspace 9
|
||||||
|
Control Mod4 F10 :TakeToWorkspace 10
|
||||||
|
Control Mod4 F11 :TakeToWorkspace 11
|
||||||
|
Control Mod4 F12 :TakeToWorkspace 12
|
||||||
|
|
||||||
|
Print :Exec fbprintscreen
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
fbsetroot|-foreground #7790aa -solid #7790aa|style|:0.0
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
[begin] (Desktop menu)
|
||||||
|
[exec] (Terminal) { fbstartupnotify && xterm -ls }
|
||||||
|
[exec] (File Manager) { fbstartupnotify && pcmanfm }
|
||||||
|
[exec] (Web Browser) { fbstartupnotify && fbliveapp chromium }
|
||||||
|
[exec] (Text Editor) { fbstartupnotify && leafpad }
|
||||||
|
[exec] (Calculator) { fbstartupnotify && qalculate }
|
||||||
|
[exec] (Network Manager) { fbstartupnotify && wicd-manager }
|
||||||
|
[exec] (Run) { fbappselect }
|
||||||
|
[separator]
|
||||||
|
[workspaces] (Workspaces ...)
|
||||||
|
[submenu] (Screen resolution ...) {}
|
||||||
|
[include] (~/.fluxbox/menu_resolution)
|
||||||
|
[end]
|
||||||
|
[submenu] (Keyboard layout ...) {}
|
||||||
|
[exec] (Czech) { fbsetkb cz } </usr/share/icons/locolor/16x16/flags/flag_czech_republic.png>
|
||||||
|
[exec] (English) { fbsetkb us } </usr/share/icons/locolor/16x16/flags/flag_usa.png>
|
||||||
|
[exec] (French) { fbsetkb fr } </usr/share/icons/locolor/16x16/flags/flag_france.png>
|
||||||
|
[exec] (German) { fbsetkb de } </usr/share/icons/locolor/16x16/flags/flag_germany.png>
|
||||||
|
[exec] (Italian) { fbsetkb it } </usr/share/icons/locolor/16x16/flags/flag_italy.png>
|
||||||
|
[exec] (Polish) { fbsetkb pl } </usr/share/icons/locolor/16x16/flags/flag_poland.png>
|
||||||
|
[exec] (Portuguese) { fbsetkb pt } </usr/share/icons/locolor/16x16/flags/flag_portugal.png>
|
||||||
|
[exec] (Russian) { fbsetkb ru } </usr/share/icons/locolor/16x16/flags/flag_russia.png>
|
||||||
|
[exec] (Slovak) { fbsetkb sk } </usr/share/icons/locolor/16x16/flags/flag_slovakia.png>
|
||||||
|
[exec] (Spanish) { fbsetkb es } </usr/share/icons/locolor/16x16/flags/flag_spain.png>
|
||||||
|
[exec] (Ukrainian) { fbsetkb ua } </usr/share/icons/locolor/16x16/flags/flag_ukraine.png>
|
||||||
|
[submenu] (Other ...) {}
|
||||||
|
[exec] (Afghani) { fbsetkb af }
|
||||||
|
[exec] (Albanian) { fbsetkb al }
|
||||||
|
[exec] (Arabic [Morocco]) { fbsetkb ma }
|
||||||
|
[exec] (Arabic) { fbsetkb ara }
|
||||||
|
[exec] (Armenian) { fbsetkb am }
|
||||||
|
[exec] (Azerbaijani) { fbsetkb az }
|
||||||
|
[exec] (Belarusian) { fbsetkb by }
|
||||||
|
[exec] (Belgian) { fbsetkb be }
|
||||||
|
[exec] (Berber [Algeria]) { fbsetkb dz }
|
||||||
|
[exec] (Bosnian) { fbsetkb ba }
|
||||||
|
[exec] (Brasil) { fbsetkb br }
|
||||||
|
[exec] (Bulgarian) { fbsetkb bg }
|
||||||
|
[exec] (Croatian) { fbsetkb hr }
|
||||||
|
[exec] (Danish) { fbsetkb dk }
|
||||||
|
[exec] (Dutch) { fbsetkb nl }
|
||||||
|
[exec] (English [Australian]) { fbsetkb au }
|
||||||
|
[exec] (Estonian) { fbsetkb ee }
|
||||||
|
[exec] (Finnish) { fbsetkb fi }
|
||||||
|
[exec] (French [Canada]) { fbsetkb ca }
|
||||||
|
[exec] (German [Austria]) { fbsetkb at }
|
||||||
|
[exec] (German [Switzerland]) { fbsetkb ch }
|
||||||
|
[exec] (Greek) { fbsetkb gr }
|
||||||
|
[exec] (Hebrew) { fbsetkb il }
|
||||||
|
[exec] (Hungarian) { fbsetkb hu }
|
||||||
|
[exec] (Icelandic) { fbsetkb is }
|
||||||
|
[exec] (Indian) { fbsetkb in }
|
||||||
|
[exec] (Iraqi) { fbsetkb iq }
|
||||||
|
[exec] (Irish) { fbsetkb ie }
|
||||||
|
[exec] (Latvian) { fbsetkb lv }
|
||||||
|
[exec] (Lithuanian) { fbsetkb lt }
|
||||||
|
[exec] (Norwegian) { fbsetkb no }
|
||||||
|
[exec] (Persian) { fbsetkb ir }
|
||||||
|
[exec] (Romanian) { fbsetkb ro }
|
||||||
|
[exec] (Serbian) { fbsetkb rs }
|
||||||
|
[exec] (Slovenian) { fbsetkb si }
|
||||||
|
[exec] (Swedish) { fbsetkb se }
|
||||||
|
[exec] (Turkish) { fbsetkb tr }
|
||||||
|
[end]
|
||||||
|
[end]
|
||||||
|
[exec] (Exit / Logout) { fblogout }
|
||||||
|
|
||||||
|
[end]
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
! The following line will prevent styles from setting the background.
|
||||||
|
! background: none
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# fluxbox startup-script:
|
||||||
|
#
|
||||||
|
# Lines starting with a '#' are ignored.
|
||||||
|
|
||||||
|
# Change your keymap:
|
||||||
|
xmodmap "/root/.Xmodmap"
|
||||||
|
|
||||||
|
# merge xresource settings
|
||||||
|
xrdb -merge ~/.Xresources
|
||||||
|
|
||||||
|
# set keyboard layout
|
||||||
|
fbsetkb $(cat ~/.fluxbox/kblayout)
|
||||||
|
|
||||||
|
# setup bookmarks for file manager
|
||||||
|
gtk-bookmarks-update
|
||||||
|
|
||||||
|
# Share common directories with guest user. This is necessary
|
||||||
|
# because some apps like chromium must be running under guest
|
||||||
|
for dir in Desktop Documents Downloads Music Pictures Public Templates Videos; do
|
||||||
|
if ! mountpoint /root/$dir; then
|
||||||
|
mount --bind /home/guest/$dir /root/$dir
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# set background color and big wait mouse cursor
|
||||||
|
xsetroot -solid '#111111'
|
||||||
|
xsetroot -xcf /usr/share/icons/breeze_cursors/cursors/watch 37
|
||||||
|
|
||||||
|
# disable screen blanking
|
||||||
|
xset s off
|
||||||
|
xset -dpms
|
||||||
|
|
||||||
|
# volume icon in system tray. Can fail if no soundcard is detected
|
||||||
|
volumeicon &
|
||||||
|
|
||||||
|
# preload compton and fluxbox to cache
|
||||||
|
(compton --help; fluxbox --help) >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Keep black screen for first second while the sound plays.
|
||||||
|
# This slows startup a little, but it is nicer effect.
|
||||||
|
SND=/usr/share/sounds/startup.wav
|
||||||
|
if [ -r $SND ]; then
|
||||||
|
cat $SND > /dev/null # preload
|
||||||
|
aplay $SND &
|
||||||
|
sleep 1 &
|
||||||
|
SOUNDPID=$!
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Debian-local change:
|
||||||
|
# - fbautostart has been added with a quick hack to check to see if it
|
||||||
|
# exists. If it does, we'll start it up by default.
|
||||||
|
which fbautostart > /dev/null
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
fbautostart
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We need to postpone compton after fluxbox starts, else it won't set
|
||||||
|
# the transparency of toolbar properly... So we check the fehbg file,
|
||||||
|
# which is created by fluxbox at the phase when it sets background.
|
||||||
|
# Once the file exist, fluxbox-toolbar is already started
|
||||||
|
|
||||||
|
SIGNAL1=~/.fehbg
|
||||||
|
SIGNAL2=~/.fehbg2
|
||||||
|
|
||||||
|
rm -f $SIGNAL1 2>/dev/null
|
||||||
|
rm -f $SIGNAL2 2>/dev/null
|
||||||
|
|
||||||
|
(
|
||||||
|
while [ ! -e $SIGNAL1 ]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
touch $SIGNAL2
|
||||||
|
|
||||||
|
(sleep 1; (echo; sleep 10; echo :quit) | xlunch --window --xposition 20 --yposition -30 \
|
||||||
|
--width 195 --height 53 --noscroll --noprompt --backgroundcolor ffffff00 \
|
||||||
|
--multiple --desktop --button "/usr/share/fluxbox/styles/Slax/pixmaps/start-here.png;;0,0;fbappselect" & ) &
|
||||||
|
|
||||||
|
exec compton --sw-opti -e 0.9 --shadow-exclude 'class_g="xlunch-windowed"' --fade-exclude 'role*="fluxbox-toolbar"' --opacity-rule '70:role*="fluxbox-toolbar"' --no-fading-destroyed-argb -D 5 -c -f -l -2 -t -2 -r 0 -o 1 -z --shadow-exclude 'bounding_shaped'
|
||||||
|
) &
|
||||||
|
|
||||||
|
# We want to run systrayicon only after the volumeicon is started
|
||||||
|
# So we have to wait until it is visible to xwinfo
|
||||||
|
# We also wait after background is set and compton is started
|
||||||
|
(
|
||||||
|
while [ ! -e $SIGNAL2 ]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f $SIGNAL2
|
||||||
|
|
||||||
|
while ! xwininfo -name volumeicon >/dev/null 2>&1 && pgrep volumeicon >/dev/null 2>&1; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
|
||||||
|
exec systrayicon --command fblogout --iconfile /usr/share/icons/locolor/16x16/actions/system-shutdown-symbolic.png
|
||||||
|
) &
|
||||||
|
|
||||||
|
# gen screen resolutions to fluxbox menu
|
||||||
|
xrandr 2>/dev/null | fgrep x | fgrep . | sort -n | tr -s " " | cut -d " " -f 2 \
|
||||||
|
| sed -r "s:(.*):[exec] (\\1) {fbscreensize \\1}:" > ~/.fluxbox/menu_resolution
|
||||||
|
|
||||||
|
# In all cases, wait for the sound sleeper.
|
||||||
|
# If startup took longer (sound completed already), no extra wait
|
||||||
|
wait $SOUNDPID
|
||||||
|
|
||||||
|
# And last but not least we start fluxbox.
|
||||||
|
# Because it is the last app you have to run it with ''exec'' before it.
|
||||||
|
|
||||||
|
exec fluxbox
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
[begin]
|
||||||
|
[shade]
|
||||||
|
[stick]
|
||||||
|
[maximize]
|
||||||
|
[iconify]
|
||||||
|
[raise]
|
||||||
|
[lower]
|
||||||
|
[settitledialog]
|
||||||
|
[sendto]
|
||||||
|
[layer]
|
||||||
|
[alpha]
|
||||||
|
[extramenus]
|
||||||
|
[separator]
|
||||||
|
[close]
|
||||||
|
[end]
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
include "/usr/share/themes/MurrinaChrome/gtk-2.0/gtkrc"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
startfluxbox
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
COMMAND=$(
|
||||||
|
xlunch_genquick 64 --desktop | \
|
||||||
|
xlunch --border 7% --sideborder 10% --borderratio 100 --sideborderratio 50 \
|
||||||
|
--background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \
|
||||||
|
--voidclickterminate --iconpadding 40 --textpadding 10 \
|
||||||
|
--leastmargin 6 --hidemissing --iconsize 64 \
|
||||||
|
--highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \
|
||||||
|
--outputonly
|
||||||
|
)
|
||||||
|
|
||||||
|
if [ "$COMMAND" = "" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
fbstartupnotify
|
||||||
|
|
||||||
|
# if command is a .desktop file, parse it
|
||||||
|
if [[ "$COMMAND" =~ \.desktop ]]; then
|
||||||
|
NoTerm="$(cat "$COMMAND" | grep Terminal\\s*= | grep -i "Terminal\\s*=\\s*false")"
|
||||||
|
COMMAND="$(cat "$COMMAND" | grep Exec\\s*= | head -n 1 | sed -r s/.*=// | sed -r "s/%[^%]+//g")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmd="$(echo $COMMAND | sed -r "s/\\s.*//")"
|
||||||
|
whi="$(which $cmd | head -n 1)"
|
||||||
|
Xdep=$(ldd $whi | grep libX11)
|
||||||
|
Ndep=$(ldd $whi | grep libncurses)
|
||||||
|
|
||||||
|
WAIT='echo "--------------------------------------------------"; read -n 1 -s -r -p "Command finished. Press any key to close window..."'
|
||||||
|
if [ "$Ndep" != "" -o "$cmd" = "man" -o "$cmd" = "mc" ]; then
|
||||||
|
WAIT=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$Xdep" = "" -a "$cmd" != "chromium" -a "$cmd" != "wicd-manager" -a "$cmd" != "fbliveapp" -a "$NoTerm" = "" ]; then
|
||||||
|
exec xterm -ls -e bash --login -c -- "echo $USER@$HOSTNAME:$PWD# '$COMMAND'; $COMMAND; $WAIT"
|
||||||
|
else
|
||||||
|
exec $COMMAND
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,83 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$1" = "votecoin" ]; then
|
||||||
|
NAME="VoteCoin Wallet"
|
||||||
|
ABOUT="VoteCoin Wallet is a crypto currency wallet,
|
||||||
|
forked from ZCash, which itslef forked from Bitcoin.
|
||||||
|
It supports fully anonymous transactions and voting.
|
||||||
|
Receive free 10 VOT coins for installing the wallet.
|
||||||
|
In the future, VoteCoin will be used for decision
|
||||||
|
funding in Slax."
|
||||||
|
TMP="/tmp/votecoin.tar.gz"
|
||||||
|
EXECUTABLE="/opt/VoteCoin Wallet-linux-x64/VoteCoin Wallet"
|
||||||
|
INSTALL="wget -O $TMP 'https://votecoin.site/download.php?os=linux' && tar -xf $TMP -C /opt && rm -f $TMP && apt install --yes libxss1 libgconf-2-4 libnss3"
|
||||||
|
POSTINSTALL=""
|
||||||
|
ONLY64=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "vlc" ]; then
|
||||||
|
NAME="VLC Video Player"
|
||||||
|
ABOUT="VLC Video Player is a free and open source multimedia player
|
||||||
|
and framework that plays most multimedia files as well as DVDs,
|
||||||
|
Audio CDs, CVDs, and various streaming protocols."
|
||||||
|
EXECUTABLE="/usr/bin/vlc"
|
||||||
|
INSTALL="apt install --yes vlc"
|
||||||
|
POSTINSTALL="rm /usr/share/applications/vlc.desktop; mkdir /home/guest/.config/vlc; echo '[qt4]
|
||||||
|
qt-privacy-ask=0' > /home/guest/.config/vlc/vlcrc;"
|
||||||
|
GUEST=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "chromium" ]; then
|
||||||
|
NAME="Chromium Web Browser"
|
||||||
|
ABOUT="Chromium is a free and open source version of
|
||||||
|
the famous Chrome browser, developed by Google."
|
||||||
|
EXECUTABLE="/usr/bin/chromium"
|
||||||
|
INSTALL="apt install --yes chromium"
|
||||||
|
POSTINSTALL="rm -f /usr/share/applications/chromium.desktop"
|
||||||
|
GUEST=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
# do not touch anything below this line
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
if [ "$ABOUT" != "" ]; then
|
||||||
|
ABOUT="$ABOUT
|
||||||
|
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$EXECUTABLE" = "" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ ! -f "$EXECUTABLE" ]; then
|
||||||
|
|
||||||
|
if [ $(uname -m) != 'x86_64' -a "$ONLY64" = "true" ]; then
|
||||||
|
gtkdialog -i /usr/share/icons/gnome/16x16/status/dialog-warning.png -t Error -m "$NAME only works in 64bit version of Slax" -y OK
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if gtkdialog -i /usr/share/icons/gnome/16x16/status/dialog-question.png -t Question -m "$ABOUT$NAME is not yet installed.
|
||||||
|
Do you like to download and install it now?" -y Yes -n No; then
|
||||||
|
xterm -ls -e bash --login -c -- "$INSTALL; $POSTINSTALL"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f "$EXECUTABLE" ]; then
|
||||||
|
|
||||||
|
fbstartupnotify
|
||||||
|
|
||||||
|
if [ "$GUEST" = "true" -a "$EUID" -eq 0 ]; then
|
||||||
|
xhost + >/dev/null 2>/dev/null
|
||||||
|
exec su -c "$EXECUTABLE "$@"" guest
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$EXECUTABLE" "$@"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
COMMAND=$(
|
||||||
|
xlunch --input /etc/xlunch/logout.dsv --noprompt --border auto --sideborder auto --columns 3 --rows 1 \
|
||||||
|
--background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \
|
||||||
|
--voidclickterminate --iconpadding 30 --textpadding 10 \
|
||||||
|
--leastmargin 10 --hidemissing --iconsize 128 \
|
||||||
|
--highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \
|
||||||
|
--outputonly
|
||||||
|
)
|
||||||
|
|
||||||
|
SND=/usr/share/sounds/shutdown.wav
|
||||||
|
|
||||||
|
if [ "$COMMAND" != "" -a -r $SND ]; then
|
||||||
|
# blank desktop with smooth effect (if compton still running)
|
||||||
|
xlunch --noprompt --input /dev/null --bc 111111ff &
|
||||||
|
# play shutdown sound
|
||||||
|
aplay $SND
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$COMMAND" = "logout" ]; then
|
||||||
|
killall Xorg
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$COMMAND" = "restart" ]; then
|
||||||
|
reboot
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$COMMAND" = "shutdown" ]; then
|
||||||
|
poweroff
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PICTURES=~/Pictures
|
||||||
|
mkdir -p $PICTURES
|
||||||
|
cd $PICTURES
|
||||||
|
|
||||||
|
# make screenshot
|
||||||
|
SCREENSHOT=$(scrot -e 'echo $f')
|
||||||
|
|
||||||
|
if [ "$SCREENSHOT" = "" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# open screenshot in 2/3 window
|
||||||
|
read W H X <<< $(xrandr 2>/dev/null | fgrep '*' | tr -s " " | tr "x" " ")
|
||||||
|
W=$(($W*2/3))
|
||||||
|
H=$(($H*2/3))
|
||||||
|
exec feh --geometry $W"x"$H $SCREENSHOT
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SIGNAL=~/.fehbg
|
||||||
|
rm -f $SIGNAL
|
||||||
|
|
||||||
|
OUTPUT=$(xrandr 2>/dev/null | grep -iv disconnected | grep -i 'connected' | head -n 1 | cut -d " " -f 1)
|
||||||
|
MODE=$1
|
||||||
|
|
||||||
|
xrandr --output $OUTPUT --mode $MODE -s $MODE
|
||||||
|
|
||||||
|
while [ -e $SIGNAL ]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
killall -SIGUSR1 compton
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
setxkbmap $1
|
||||||
|
echo $1 > ~/.fluxbox/kblayout
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CURSORSDIR=/usr/share/icons/breeze_cursors/cursors/
|
||||||
|
SIZE=16
|
||||||
|
|
||||||
|
# Set cursor to wait. As soon as new window is detected, change cursor back
|
||||||
|
xsetroot -xcf $CURSORSDIR/left_ptr_watch $SIZE
|
||||||
|
export WINDOWS="$(wmctrl -l)"
|
||||||
|
|
||||||
|
(
|
||||||
|
sleep 0.2
|
||||||
|
until diff <(echo "$WINDOWS") <(wmctrl -l) | egrep -q "^[>]"; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
xsetroot -xcf $CURSORSDIR/left_ptr $SIZE
|
||||||
|
) &
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Icon=terminal
|
||||||
|
Name=Terminal
|
||||||
|
Exec=xterm -ls
|
||||||
|
Terminal=false
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Web Browser
|
||||||
|
GenericName=Web Browser
|
||||||
|
Exec=fbliveapp chromium %U
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Type=Application
|
||||||
|
Icon=chromium.png
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
MimeType=audio/*;image/*;video/*;application/pdf;application/x-pdf;text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https;
|
||||||
|
StartupWMClass=chromium
|
||||||
|
StartupNotify=true
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Image viewer
|
||||||
|
GenericName=Image viewer
|
||||||
|
Exec=feh %U
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Type=Application
|
||||||
|
Icon=none.png
|
||||||
|
Categories=ImageViewer;
|
||||||
|
MimeType=image/*;
|
||||||
|
StartupWMClass=feh
|
||||||
|
StartupNotify=true
|
||||||
|
Hidden=true
|
||||||
|
|
@ -0,0 +1,132 @@
|
||||||
|
[Default Applications]
|
||||||
|
application/pdf=chromium.desktop;
|
||||||
|
application/x-pdf=chromium.desktop;
|
||||||
|
audio/3gpp=chromium.desktop;
|
||||||
|
audio/ac3=chromium.desktop;
|
||||||
|
audio/flac=chromium.desktop;
|
||||||
|
audio/mp4=chromium.desktop;
|
||||||
|
audio/mpeg=chromium.desktop;
|
||||||
|
audio/mpegurl=chromium.desktop;
|
||||||
|
audio/ogg=chromium.desktop;
|
||||||
|
audio/x-flac=chromium.desktop;
|
||||||
|
audio/x-gsm=chromium.desktop;
|
||||||
|
audio/x-it=chromium.desktop;
|
||||||
|
audio/x-m4a=chromium.desktop;
|
||||||
|
audio/x-matroska=chromium.desktop;
|
||||||
|
audio/x-mod=chromium.desktop;
|
||||||
|
audio/x-mp3=chromium.desktop;
|
||||||
|
audio/x-mpeg=chromium.desktop;
|
||||||
|
audio/x-mpegurl=chromium.desktop;
|
||||||
|
audio/x-pn-wav=chromium.desktop;;
|
||||||
|
audio/x-tta=chromium.desktop;
|
||||||
|
audio/x-vorbis=chromium.desktop;
|
||||||
|
audio/x-vorbis+ogg=chromium.desktop;
|
||||||
|
audio/x-wav=chromium.desktop;
|
||||||
|
audio/x-wavpack=chromium.desktop;
|
||||||
|
audio/x-xm=chromium.desktop;
|
||||||
|
application/ogg=chromium.desktop;
|
||||||
|
application/x-extension-m4a=chromium.desktop;
|
||||||
|
application/x-extension-mp4=chromium.desktop;
|
||||||
|
application/x-flac=chromium.desktop;
|
||||||
|
application/x-flash-video=chromium.desktop;
|
||||||
|
application/x-ogg=chromium.desktop;
|
||||||
|
image/bmp=feh.desktop;
|
||||||
|
image/gif=feh.desktop;
|
||||||
|
image/jpeg=feh.desktop;
|
||||||
|
image/jpg=feh.desktop;
|
||||||
|
image/pjpeg=feh.desktop;
|
||||||
|
image/png=feh.desktop;
|
||||||
|
image/svg+xml=chromium.desktop;
|
||||||
|
image/svg+xml-compressed=chromium.desktop;
|
||||||
|
image/x-bmp=feh.desktop;
|
||||||
|
image/x-gray=chromium.desktop;
|
||||||
|
image/x-icb=chromium.desktop;
|
||||||
|
image/x-ico=chromium.desktop;
|
||||||
|
image/x-pcx=chromium.desktop;
|
||||||
|
image/x-png=feh.desktop;
|
||||||
|
image/x-portable-anymap=chromium.desktop;
|
||||||
|
image/x-portable-bitmap=chromium.desktop;
|
||||||
|
image/x-portable-graymap=chromium.desktop;
|
||||||
|
image/x-portable-pixmap=chromium.desktop;
|
||||||
|
image/x-xbitmap=chromium.desktop;
|
||||||
|
image/x-xpixmap=chromium.desktop;
|
||||||
|
image/vnd.wap.wbmp=chromium.desktop;
|
||||||
|
image/x-fits=gimp.desktop
|
||||||
|
image/x-icon=gimp.desktop
|
||||||
|
image/x-sun-raster=gimp.desktop
|
||||||
|
image/x-tga=gimp.desktop
|
||||||
|
image/x-xcf=gimp.desktop
|
||||||
|
image/x-xwindowdump=gimp.desktop
|
||||||
|
video/3gpp=chromium.desktop;
|
||||||
|
video/dv=chromium.desktop;
|
||||||
|
video/fli=chromium.desktop;
|
||||||
|
video/flv=chromium.desktop;
|
||||||
|
video/mp2t=chromium.desktop;
|
||||||
|
video/mp4=chromium.desktop;
|
||||||
|
video/mp4v-es=chromium.desktop;
|
||||||
|
video/mpeg=chromium.desktop;
|
||||||
|
video/msvideo=chromium.desktop;
|
||||||
|
video/ogg=chromium.desktop;
|
||||||
|
video/quicktime=chromium.desktop;
|
||||||
|
video/vivo=chromium.desktop;
|
||||||
|
video/vnd.divx=chromium.desktop;
|
||||||
|
video/vnd.rn-realvideo=chromium.desktop;
|
||||||
|
video/vnd.vivo=chromium.desktop;
|
||||||
|
video/webm=chromium.desktop;
|
||||||
|
video/x-anim=chromium.desktop;
|
||||||
|
video/x-avi=chromium.desktop;
|
||||||
|
video/x-flc=chromium.desktop;
|
||||||
|
video/x-fli=chromium.desktop;
|
||||||
|
video/x-flic=chromium.desktop;
|
||||||
|
video/x-flv=chromium.desktop;
|
||||||
|
video/x-m4v=chromium.desktop;
|
||||||
|
video/x-matroska=chromium.desktop;
|
||||||
|
video/x-mpeg=chromium.desktop;
|
||||||
|
video/x-ogm+ogg=chromium.desktop;
|
||||||
|
video/x-theora+ogg=chromium.desktop;
|
||||||
|
application/x-flash-video=chromium.desktop;
|
||||||
|
text/plain=leafpad.desktop;
|
||||||
|
text/css=leafpad.desktop;
|
||||||
|
text/javascript=leafpad.desktop;
|
||||||
|
text/mathml=leafpad.desktop;
|
||||||
|
text/x-c++hdr=leafpad.desktop;
|
||||||
|
text/x-c++src=leafpad.desktop;
|
||||||
|
text/x-csrc=leafpad.desktop;
|
||||||
|
text/x-chdr=leafpad.desktop;
|
||||||
|
text/x-dtd=leafpad.desktop;
|
||||||
|
text/x-java=leafpad.desktop;
|
||||||
|
text/x-javascript=leafpad.desktop;
|
||||||
|
text/x-makefile=leafpad.desktop;
|
||||||
|
text/x-moc=leafpad.desktop;
|
||||||
|
text/x-pascal=leafpad.desktop;
|
||||||
|
text/x-patch=leafpad.desktop;
|
||||||
|
text/x-perl=leafpad.desktop;
|
||||||
|
text/x-php=leafpad.desktop;
|
||||||
|
text/x-python=leafpad.desktop;
|
||||||
|
text/x-sql=leafpad.desktop;
|
||||||
|
text/x-tcl=leafpad.desktop;
|
||||||
|
text/x-tex=leafpad.desktop;
|
||||||
|
text/xml=leafpad.desktop;
|
||||||
|
application/javascript=leafpad.desktop;
|
||||||
|
application/x-cgi=leafpad.desktop;
|
||||||
|
application/x-javascript=leafpad.desktop;
|
||||||
|
application/x-perl=leafpad.desktop;
|
||||||
|
application/x-php=leafpad.desktop;
|
||||||
|
application/x-python=leafpad.desktop;
|
||||||
|
application/x-shellscript=leafpad.desktop;
|
||||||
|
application/xml=leafpad.desktop;
|
||||||
|
application/xml-dtd=leafpad.desktop;
|
||||||
|
application/x-bzip=xarchiver.desktop;
|
||||||
|
application/x-bzip-compressed-tar=xarchiver.desktop;
|
||||||
|
application/x-gzip=xarchiver.desktop;
|
||||||
|
application/x-tar=xarchiver.desktop;
|
||||||
|
application/x-zip=xarchiver.desktop;
|
||||||
|
application/x-zip-compressed=xarchiver.desktop;
|
||||||
|
application/zip=xarchiver.desktop;
|
||||||
|
application/x-compressed-tar=xarchiver.desktop;
|
||||||
|
application/x-bzip2=xarchiver.desktop;
|
||||||
|
application/x-bzip2-compressed-tar=xarchiver.desktop;
|
||||||
|
application/x-lzma-compressed-tar=xarchiver.desktop;
|
||||||
|
application/x-lzma=xarchiver.desktop;
|
||||||
|
application/x-xz=xarchiver.desktop;
|
||||||
|
application/x-xz-compressed-tar=xarchiver.desktop;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Icon=videoplayer
|
||||||
|
Name=Video Player
|
||||||
|
Exec=fbliveapp vlc
|
||||||
|
Terminal=false
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Icon=votecoin
|
||||||
|
Name=VoteCoin Wallet
|
||||||
|
Exec=fbliveapp votecoin
|
||||||
|
Terminal=false
|
||||||
|
Hidden=true
|
||||||
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 8.1 KiB |
|
|
@ -0,0 +1,114 @@
|
||||||
|
! Slax fluxbox theme
|
||||||
|
! (c) Tomas Matejicek <www.slax.org>
|
||||||
|
|
||||||
|
! common settings
|
||||||
|
*font: Bitstream Vera Sans-9
|
||||||
|
|
||||||
|
background: fullscreen
|
||||||
|
background.pixmap: /usr/share/wallpapers/slax_wallpaper.jpg
|
||||||
|
|
||||||
|
toolbar.justify: left
|
||||||
|
toolbar.clock.justify: right
|
||||||
|
window.justify: center
|
||||||
|
menu.title.justify: center
|
||||||
|
menu.frame.justify: left
|
||||||
|
|
||||||
|
! window
|
||||||
|
window.focus.backgroundColor: #63b4fb
|
||||||
|
window.unfocus.backgroundColor: #ebebeb
|
||||||
|
window.focus.borderColor: #63b4fb
|
||||||
|
window.unfocus.borderColor: #ebebeb
|
||||||
|
window.borderWidth: 6
|
||||||
|
window.handleWidth: 0
|
||||||
|
|
||||||
|
! title
|
||||||
|
window.title.height: 18
|
||||||
|
window.title.focus: flat solid
|
||||||
|
window.title.focus.color: #63b4fb
|
||||||
|
window.label.focus: parentrelative
|
||||||
|
window.label.focus.textColor: #282828
|
||||||
|
window.title.unfocus: flat solid
|
||||||
|
window.title.unfocus.color: #ebebeb
|
||||||
|
window.label.unfocus: parentrelative
|
||||||
|
window.label.unfocus.textColor: #282828
|
||||||
|
|
||||||
|
! buttons
|
||||||
|
window.button.focus: flat solid
|
||||||
|
window.button.focus.color: #63b4fb
|
||||||
|
window.button.focus.picColor: #282828
|
||||||
|
window.button.pressed: sunken solid
|
||||||
|
window.button.pressed.color: #63b4fb
|
||||||
|
window.button.pressed.picColor: #000000
|
||||||
|
window.button.unfocus: flat solid
|
||||||
|
window.button.unfocus.color: #ebebeb
|
||||||
|
window.button.unfocus.picColor: #282828
|
||||||
|
|
||||||
|
window.close.pixmap: closefcs.png
|
||||||
|
window.close.unfocus.pixmap: closeunfcs.png
|
||||||
|
window.close.pressed.pixmap: closepr.png
|
||||||
|
window.iconify.pixmap: minfcs.png
|
||||||
|
window.iconify.unfocus.pixmap: minunfcs.png
|
||||||
|
window.iconify.pressed.pixmap: minpr.png
|
||||||
|
window.maximize.pixmap: maxfcs.png
|
||||||
|
window.maximize.unfocus.pixmap: maxunfcs.png
|
||||||
|
window.maximize.pressed.pixmap: maxpr.png
|
||||||
|
|
||||||
|
! taskbar
|
||||||
|
toolbar.height: 18
|
||||||
|
toolbar.bevelWidth: 0
|
||||||
|
toolbar.borderWidth: 3
|
||||||
|
toolbar.borderColor: #222222
|
||||||
|
toolbar: flat solid
|
||||||
|
|
||||||
|
toolbar.color: #222222
|
||||||
|
toolbar.clock: flat solid
|
||||||
|
toolbar.clock.color: #222222
|
||||||
|
toolbar.clock.textColor: white
|
||||||
|
|
||||||
|
toolbar.iconbar.empty: flat
|
||||||
|
toolbar.iconbar.empty.color: #222222
|
||||||
|
|
||||||
|
toolbar.iconbar.focused.borderWidth: 15
|
||||||
|
toolbar.iconbar.focused.borderColor: #222222
|
||||||
|
toolbar.iconbar.focused: flat
|
||||||
|
toolbar.iconbar.focused.color: #dddddd
|
||||||
|
toolbar.iconbar.focused.textColor: #282828
|
||||||
|
toolbar.iconbar.focused.justify: left
|
||||||
|
|
||||||
|
toolbar.iconbar.unfocused.borderWidth: 15
|
||||||
|
toolbar.iconbar.unfocused.borderColor: #222222
|
||||||
|
toolbar.iconbar.unfocused: flat
|
||||||
|
toolbar.iconbar.unfocused.color: #444444
|
||||||
|
toolbar.iconbar.unfocused.textColor: white
|
||||||
|
toolbar.iconbar.unfocused.justify: left
|
||||||
|
|
||||||
|
toolbar.button: flat solid
|
||||||
|
toolbar.button.borderWidth: 13
|
||||||
|
toolbar.button.borderColor: #222222
|
||||||
|
toolbar.button.color: #222222
|
||||||
|
toolbar.button.picColor: #61CA00
|
||||||
|
toolbar.button.pressed: flat solid
|
||||||
|
|
||||||
|
! menu
|
||||||
|
menu.title: flat solid
|
||||||
|
menu.title.color: #63b4fb
|
||||||
|
menu.title.textColor: #282828
|
||||||
|
menu.title.justify: center
|
||||||
|
|
||||||
|
menu.bevelWidth: 4
|
||||||
|
menu.borderWidth: 6
|
||||||
|
menu.borderColor: #63b4fb
|
||||||
|
|
||||||
|
menu.frame: flat solid
|
||||||
|
menu.frame.disableColor: #999999
|
||||||
|
menu.frame.color: #ebebeb
|
||||||
|
menu.frame.textColor: #282828
|
||||||
|
menu.frame.justify: left
|
||||||
|
|
||||||
|
menu.hilite: flat solid
|
||||||
|
menu.hilite.textColor: #ffffff
|
||||||
|
menu.hilite.color: #63b4fb
|
||||||
|
|
||||||
|
menu.bullet: empty
|
||||||
|
menu.bullet.position: right
|
||||||
|
menu.itemHeight: 24
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 543 B |
|
After Width: | Height: | Size: 141 B |
|
|
@ -0,0 +1,6 @@
|
||||||
|
#define command2_width 16
|
||||||
|
#define command2_height 16
|
||||||
|
static unsigned char command2_bits[] = {
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xe7, 0xff, 0xcf, 0xff,
|
||||||
|
0x9f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x9f, 0xff, 0xcf, 0xff, 0xe7, 0xc1,
|
||||||
|
0xf7, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||||
|
After Width: | Height: | Size: 536 B |
|
After Width: | Height: | Size: 546 B |
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 547 B |
|
After Width: | Height: | Size: 334 B |
|
After Width: | Height: | Size: 592 B |
|
After Width: | Height: | Size: 394 B |
|
After Width: | Height: | Size: 645 B |
|
After Width: | Height: | Size: 511 B |
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 536 B |
|
|
@ -0,0 +1,438 @@
|
||||||
|
gtk_color_scheme = "fg_color:#000000\nbg_color:#eeeeee\nbase_color:#FFFFFF\ntext_color:#000000\nselected_bg_color:#63b4fb\nselected_fg_color:#FFFFFF\ntooltip_bg_color:#F5F5C9\ntooltip_fg_color:#000000"
|
||||||
|
|
||||||
|
# menu delay
|
||||||
|
#gtk-menu-popup-delay = 0
|
||||||
|
|
||||||
|
# icon sizes
|
||||||
|
#gtk-icon-sizes = "gtk-menu=16,16:\ngtk-button=16,16:\ngtk-dnd=16,16:\npanel-menu=16,16:\npanel=16,16:\ngtk-dialog=16,16:"
|
||||||
|
|
||||||
|
# icon sizes (small toolbar)
|
||||||
|
# gtk-icon-sizes = "gtk-menu=16,16:\ngtk-button=16,16:\ngtk-dnd=16,16:\npanel-menu=16,16:\npanel=16,16:\ngtk-dialog=16,16:\ngtk-small-toolbar=16,16:\ngtk-large-toolbar=16,16:"
|
||||||
|
|
||||||
|
style "murrine-default"
|
||||||
|
{
|
||||||
|
########
|
||||||
|
# Style Properties
|
||||||
|
########
|
||||||
|
GtkButton ::child-displacement-x = 1
|
||||||
|
GtkButton ::child-displacement-y = 1
|
||||||
|
GtkButton ::default-border = { 0, 0, 0, 0 }
|
||||||
|
GtkButton ::inner-border = { 5, 5, 5, 5 }
|
||||||
|
GtkCheckButton ::indicator-size = 14
|
||||||
|
|
||||||
|
GtkPaned ::handle-size = 6
|
||||||
|
|
||||||
|
GtkRange ::trough-border = 0
|
||||||
|
GtkRange ::slider-width = 15
|
||||||
|
GtkRange ::stepper-size = 15
|
||||||
|
|
||||||
|
GtkScale ::slider-length = 15
|
||||||
|
GtkScale ::trough-side-details = 0
|
||||||
|
GtkScrollbar ::min-slider-length = 30
|
||||||
|
|
||||||
|
GtkMenuBar ::internal-padding = 1
|
||||||
|
GtkExpander ::expander-size = 16
|
||||||
|
GtkToolbar ::internal-padding = 0
|
||||||
|
GtkTreeView ::expander-size = 14
|
||||||
|
GtkTreeView ::vertical-separator = 0
|
||||||
|
|
||||||
|
GtkMenu ::horizontal-padding = 1
|
||||||
|
GtkMenu ::vertical-padding = 1
|
||||||
|
|
||||||
|
GtkMenuBar ::shadow_type = GTK_SHADOW_NONE
|
||||||
|
GtkToolbar ::shadow_type = GTK_SHADOW_NONE
|
||||||
|
|
||||||
|
# Glow the tasklist by changing the color, instead of overlaying it with a rectangle
|
||||||
|
#WnckTasklist ::fade-overlay-rect = 0
|
||||||
|
|
||||||
|
xthickness = 1
|
||||||
|
ythickness = 1
|
||||||
|
|
||||||
|
|
||||||
|
fg[NORMAL] = @fg_color
|
||||||
|
fg[PRELIGHT] = @fg_color
|
||||||
|
fg[SELECTED] = @selected_fg_color
|
||||||
|
fg[ACTIVE] = @fg_color
|
||||||
|
fg[INSENSITIVE] = darker (@bg_color)
|
||||||
|
|
||||||
|
bg[NORMAL] = @bg_color
|
||||||
|
bg[PRELIGHT] = shade (1.02, @bg_color)
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
bg[INSENSITIVE] = @bg_color
|
||||||
|
bg[ACTIVE] = shade (0.9, @bg_color)
|
||||||
|
|
||||||
|
base[NORMAL] = @base_color
|
||||||
|
base[PRELIGHT] = shade (0.95, @bg_color)
|
||||||
|
base[ACTIVE] = shade (0.88, @selected_bg_color)
|
||||||
|
base[SELECTED] = shade (0.89, @selected_bg_color)
|
||||||
|
base[INSENSITIVE] = @bg_color
|
||||||
|
|
||||||
|
text[NORMAL] = @text_color
|
||||||
|
text[PRELIGHT] = @text_color
|
||||||
|
text[ACTIVE] = @selected_fg_color
|
||||||
|
text[SELECTED] = @selected_fg_color
|
||||||
|
text[INSENSITIVE] = darker (@bg_color)
|
||||||
|
|
||||||
|
engine "murrine"
|
||||||
|
{
|
||||||
|
animation = TRUE
|
||||||
|
colorize_scrollbar = FALSE
|
||||||
|
contrast = 0.65 # 0.8 for less contrast, more than 1.0 for more contrast on borders
|
||||||
|
glazestyle = 0 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight
|
||||||
|
gradient_shades = {1.03,1.0,1.0,0.985}
|
||||||
|
#gradient_shades = {1.09,1.06,1.04,1.01} # default: {1.1,1.0,1.0,1.1}
|
||||||
|
highlight_shade = 1.0 # set highlight amount for buttons or widgets
|
||||||
|
lightborder_shade = 1.06 # sets lightborder amount for buttons or widgets
|
||||||
|
#lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides
|
||||||
|
listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised
|
||||||
|
listviewstyle = 1 # 0 = nothing, 1 = dotted
|
||||||
|
menubaritemstyle = 0 # 0 = menuitem look, 1 = button look
|
||||||
|
menubarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
|
||||||
|
menuitemstyle = 1 # 0 = flat, 1 = glassy, 2 = striped
|
||||||
|
menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe
|
||||||
|
reliefstyle = 0 # 0 = flat, 1 = inset, 2 = shadow
|
||||||
|
rgba = TRUE # FALSE = disabled, TRUE = enabled
|
||||||
|
roundness = 0 # 0 = squared, 1 = old default, more will increase roundness
|
||||||
|
scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
|
||||||
|
sliderstyle = 0 # 0 = nothing added, 1 = handles
|
||||||
|
stepperstyle = 0 # 0 = standard, 1 = integrated stepper handles, 2 = unknown
|
||||||
|
toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-wide"
|
||||||
|
{
|
||||||
|
xthickness = 2
|
||||||
|
ythickness = 2
|
||||||
|
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-wider"
|
||||||
|
{
|
||||||
|
xthickness = 3
|
||||||
|
ythickness = 3
|
||||||
|
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-button" = "murrine-wider"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = shade (1.04, @bg_color)
|
||||||
|
bg[PRELIGHT] = shade (1.06, @bg_color)
|
||||||
|
bg[ACTIVE] = shade (1.02, @bg_color)
|
||||||
|
bg[INSENSITIVE] = shade (1.0, @bg_color)
|
||||||
|
|
||||||
|
engine "murrine" {
|
||||||
|
contrast = 0.45
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-entry" = "murrine-wider"
|
||||||
|
{
|
||||||
|
engine "murrine" {
|
||||||
|
contrast = 0.35
|
||||||
|
}
|
||||||
|
}
|
||||||
|
style "murrine-notebook"
|
||||||
|
{
|
||||||
|
xthickness = 2
|
||||||
|
ythickness = 2
|
||||||
|
|
||||||
|
bg[ACTIVE] = shade (0.99, @bg_color)
|
||||||
|
bg[NORMAL] = shade (1.03, @bg_color)
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
fg[ACTIVE] = shade (0.34, @bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-tasklist" = "murrine-wide"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-menu" = "murrine-wider"
|
||||||
|
{
|
||||||
|
xthickness = 3
|
||||||
|
ythickness = 3
|
||||||
|
|
||||||
|
bg[NORMAL] = shade (1.18, @bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-menu-item" = "murrine-wider"
|
||||||
|
{
|
||||||
|
xthickness = 2
|
||||||
|
ythickness = 3
|
||||||
|
|
||||||
|
fg[PRELIGHT] = @selected_fg_color
|
||||||
|
bg[SELECTED] = shade (0.95, @selected_bg_color)
|
||||||
|
bg[SELECTED] = shade (0.95, @selected_bg_color)
|
||||||
|
|
||||||
|
engine "murrine"
|
||||||
|
{
|
||||||
|
roundness = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-separator-menu-item"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-treeview"
|
||||||
|
{
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-treeview-header" = "murrine-default"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = shade (1.06,@bg_color)
|
||||||
|
bg[PRELIGHT] = shade (1.06,@bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-frame-title"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = lighter (@fg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-tooltips" = "murrine-wider"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = @tooltip_bg_color
|
||||||
|
fg[NORMAL] = @tooltip_fg_color
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-progressbar"
|
||||||
|
{
|
||||||
|
xthickness = 0
|
||||||
|
ythickness = 0
|
||||||
|
|
||||||
|
fg[PRELIGHT] = @selected_fg_color
|
||||||
|
bg[NORMAL] = shade (0.98, @bg_color)
|
||||||
|
bg[SELECTED] = @selected_bg_color
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-statusbar"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-comboboxentry"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-spinbutton"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-scale" = "murrine-button"
|
||||||
|
{
|
||||||
|
GtkRange ::slider-width = 15
|
||||||
|
|
||||||
|
engine "murrine"
|
||||||
|
{
|
||||||
|
roundness = 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-hscale"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-vscale"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-scrollbar"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = shade (1.04, @bg_color)
|
||||||
|
bg[PRELIGHT] = shade (1.06, @bg_color)
|
||||||
|
bg[ACTIVE] = shade (1.02, @bg_color)
|
||||||
|
bg[INSENSITIVE] = shade (1.0, @bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-hscrollbar"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-vscrollbar"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-menubar"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-nautilus-location"
|
||||||
|
{
|
||||||
|
# bg[NORMAL] = shade (1.0,@selected_bg_color)
|
||||||
|
# bg[SELECTED] = shade (1.0,@selected_bg_color)
|
||||||
|
# bg[ACTIVE] = shade (1.0,@selected_bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
style "murrine-radiocheck" = "murrine-default"
|
||||||
|
{
|
||||||
|
text[NORMAL] = "#FFFFFF"
|
||||||
|
text[PRELIGHT] = "#FFFFFF"
|
||||||
|
}
|
||||||
|
|
||||||
|
style "panel"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = "#FFFFFF"
|
||||||
|
fg[PRELIGHT] = "#FFFFFF"
|
||||||
|
fg[ACTIVE] = "#FFFFFF"
|
||||||
|
bg[NORMAL] = shade (0.4, @bg_color)
|
||||||
|
bg[ACTIVE] = shade (0.5, @bg_color)
|
||||||
|
bg[PRELIGHT] = shade (0.56, @bg_color)
|
||||||
|
|
||||||
|
engine "murrine" {
|
||||||
|
contrast = 0.8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "smaller-text"
|
||||||
|
{
|
||||||
|
font_name = "7"
|
||||||
|
}
|
||||||
|
|
||||||
|
style "handle"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = "#232323"
|
||||||
|
}
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# Matches
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
# theme radio buttons and checkmarks
|
||||||
|
class "GtkRadio*" style "murrine-radiocheck"
|
||||||
|
class "GtkCheck*" style "murrine-radiocheck"
|
||||||
|
|
||||||
|
# theme default style is applied to every widget
|
||||||
|
class "GtkWidget" style "murrine-default"
|
||||||
|
|
||||||
|
# Increase the x/ythickness in some widgets
|
||||||
|
class "GtkToolbar" style "murrine-default"
|
||||||
|
class "GtkRange" style "murrine-wide"
|
||||||
|
class "GtkFrame" style "murrine-wide"
|
||||||
|
class "GtkSeparator" style "murrine-wide"
|
||||||
|
class "GtkEntry" style "murrine-entry"
|
||||||
|
|
||||||
|
class "GtkSpinButton" style "murrine-spinbutton"
|
||||||
|
class "GtkScale" style "murrine-scale"
|
||||||
|
class "GtkVScale" style "murrine-vscale"
|
||||||
|
class "GtkHScale" style "murrine-hscale"
|
||||||
|
class "GtkScrollbar" style "murrine-scrollbar"
|
||||||
|
class "GtkVScrollbar" style "murrine-vscrollbar"
|
||||||
|
class "GtkHScrollbar" style "murrine-hscrollbar"
|
||||||
|
|
||||||
|
# General matching following, the order is choosen so that the right styles override each other
|
||||||
|
# eg. progressbar needs to be more important then the menu match.
|
||||||
|
|
||||||
|
# This is not perfect, it could be done better
|
||||||
|
# (That is modify *every* widget in the notebook, and change those back that
|
||||||
|
# we really don't want changed)
|
||||||
|
widget_class "*<GtkNotebook>*<GtkEventBox>" style "murrine-notebook"
|
||||||
|
widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "murrine-notebook"
|
||||||
|
widget_class "*<GtkNotebook>*<GtkLayout>" style "murrine-notebook"
|
||||||
|
widget_class "*<GtkNotebook>*<GtkLabel>" style "murrine-notebook"
|
||||||
|
|
||||||
|
widget_class "*<GtkButton>" style "murrine-button"
|
||||||
|
widget_class "*<GtkNotebook>" style "murrine-notebook"
|
||||||
|
widget_class "*<GtkStatusbar>*" style "murrine-statusbar"
|
||||||
|
|
||||||
|
widget_class "*<GtkComboBoxEntry>*" style "murrine-comboboxentry"
|
||||||
|
widget_class "*<GtkCombo>*" style "murrine-comboboxentry"
|
||||||
|
|
||||||
|
widget_class "*<GtkMenuBar>*" style "murrine-menubar"
|
||||||
|
widget_class "*<GtkMenu>*" style "murrine-menu"
|
||||||
|
widget_class "*<GtkMenuItem>*" style "murrine-menu-item"
|
||||||
|
widget_class "*<GtkSeparatorMenuItem>*" style "murrine-separator-menu-item"
|
||||||
|
|
||||||
|
widget_class "*.<GtkFrame>.<GtkLabel>" style "murrine-frame-title"
|
||||||
|
widget_class "*.<GtkTreeView>*" style "murrine-treeview"
|
||||||
|
|
||||||
|
widget_class "*<GtkProgressBar>" style "murrine-progressbar"
|
||||||
|
|
||||||
|
# Treeview header
|
||||||
|
widget_class "*.<GtkTreeView>.<GtkButton>" style "murrine-treeview-header"
|
||||||
|
widget_class "*.<GtkCTree>.<GtkButton>" style "murrine-treeview-header"
|
||||||
|
widget_class "*.<GtkList>.<GtkButton>" style "murrine-treeview-header"
|
||||||
|
widget_class "*.<GtkCList>.<GtkButton>" style "murrine-treeview-header"
|
||||||
|
|
||||||
|
# Workarounds for Evolution
|
||||||
|
widget_class "*.ETable.ECanvas" style "murrine-treeview-header"
|
||||||
|
widget_class "*.ETree.ECanvas" style "murrine-treeview-header"
|
||||||
|
|
||||||
|
# Panel style
|
||||||
|
class "*Panel*" style "panel"
|
||||||
|
class "*notif*" style "panel"
|
||||||
|
class "*Notif*" style "panel"
|
||||||
|
class "*Tray*" style "panel"
|
||||||
|
class "*tray*" style "panel"
|
||||||
|
|
||||||
|
widget_class "*ToolButton*" style "smaller-text"
|
||||||
|
widget_class "*Statusbar*" style "smaller-text"
|
||||||
|
widget_class "*Mail*" style "panel"
|
||||||
|
widget "*PanelWidget*" style "panel"
|
||||||
|
widget "*PanelApplet*" style "panel"
|
||||||
|
|
||||||
|
class "PanelAppletFrame" style "handle"
|
||||||
|
|
||||||
|
# The window of the tooltip is called "gtk-tooltip"
|
||||||
|
################################
|
||||||
|
# FIXME:
|
||||||
|
# This will not work if one embeds eg. a button into the tooltip.
|
||||||
|
# As far as I can tell right now we will need to rework the theme
|
||||||
|
# quite a bit to get this working correctly.
|
||||||
|
# (It will involve setting different priorities, etc.)
|
||||||
|
################################
|
||||||
|
widget "gtk-tooltip*" style "murrine-tooltips"
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
# Special cases and work arounds
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# Special case the nautilus-extra-view-widget
|
||||||
|
# ToDo: A more generic approach for all applications that have a widget like this.
|
||||||
|
widget "*.nautilus-extra-view-widget" style : highest "murrine-nautilus-location"
|
||||||
|
|
||||||
|
# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
|
||||||
|
# Note that the work around assumes that the combobox is _not_ in
|
||||||
|
# appears-as-list mode.
|
||||||
|
# Similar hack also in the menuitem style.
|
||||||
|
# This style does not affect GtkComboBoxEntry, it does have an effect
|
||||||
|
# on comboboxes in appears-as-list mode though.
|
||||||
|
style "murrine-combobox-text-color-workaround"
|
||||||
|
{
|
||||||
|
text[NORMAL] = @fg_color
|
||||||
|
text[PRELIGHT] = @fg_color
|
||||||
|
text[SELECTED] = @selected_fg_color
|
||||||
|
text[ACTIVE] = @fg_color
|
||||||
|
text[INSENSITIVE] = darker (@bg_color)
|
||||||
|
}
|
||||||
|
widget_class "*.<GtkComboBox>.<GtkCellView>" style "murrine-combobox-text-color-workaround"
|
||||||
|
|
||||||
|
style "murrine-menuitem-text-is-fg-color-workaround"
|
||||||
|
{
|
||||||
|
text[NORMAL] = @fg_color
|
||||||
|
text[PRELIGHT] = @selected_fg_color
|
||||||
|
text[SELECTED] = @selected_fg_color
|
||||||
|
text[ACTIVE] = @fg_color
|
||||||
|
text[INSENSITIVE] = darker (@bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
widget "*.gtk-combobox-popup-menu.*" style "murrine-menuitem-text-is-fg-color-workaround"
|
||||||
|
|
||||||
|
# Work around the usage of GtkLabel inside GtkListItems to display text.
|
||||||
|
# This breaks because the label is shown on a background that is based on the
|
||||||
|
# base color set.
|
||||||
|
style "murrine-fg-is-text-color-workaround"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = @text_color
|
||||||
|
fg[PRELIGHT] = @text_color
|
||||||
|
fg[ACTIVE] = @selected_fg_color
|
||||||
|
fg[SELECTED] = @selected_fg_color
|
||||||
|
fg[INSENSITIVE] = darker (@bg_color)
|
||||||
|
}
|
||||||
|
|
||||||
|
widget_class "*<GtkListItem>*" style "murrine-fg-is-text-color-workaround"
|
||||||
|
# The same problem also exists for GtkCList and GtkCTree
|
||||||
|
# Only match GtkCList and not the parent widgets, because that would also change the headers.
|
||||||
|
|
||||||
|
widget_class "*<GtkCList>" style "murrine-fg-is-text-color-workaround"
|
||||||