Develop to master #3

Merged
maximstewart merged 18 commits from develop into master 2020-05-02 11:14:56 +00:00
1681 changed files with 112060 additions and 379 deletions

View File

@ -1,101 +0,0 @@
#!/bin/bash
setup() {
export HOME=/root
export LC_ALL=C
export DISPLAY=:10
cat COPY_OVER_TO_CHROOT/PPA_LIST.txt > /etc/apt/sources.list
bash COPY_OVER_TO_CHROOT/PPA_GPG.sh
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4B4E7A9523ACD201 ## get MEGA gpg key
#-------------------------------Bellow adds other PPAs----------------------------------#
apt-get update
apt-get install apt-transport-https software-properties-common -y ## Get add-apt-repository
## INSERT PPA ADDS HEDRE
apt-get update && apt-get upgrade -y
main
}
#-------------------------------Bellow Installs the main system------------------------#
######################## Main Desktop ########################
main() {
## MOSTLY BASE SYSTEM PROGRAMS | Might wish to use another internet manager
## besides Wicd-gtk and might not want to use Slim as a login manager
apt-get install xserver-xorg xorg xinit slim synaptic aptitude apt-xapian-index \
gufw wicd-gtk pulseaudio pavucontrol file-roller p7zip-rar arj rar unrar-free \
xcompmgr tweak lhasa unar p7zip zip terminator stjerm gparted gdebi sox udisks2 \
iftop htop tree hardinfo libsox-fmt-all onboard mc -y
apt-get autoremove --purge -y && apt-get autoclean
gaming
}
############ Gaming ############
gaming() {
## INSERT GAMING STUFF HEDRE
media
}
################### Multimedia-- Videos- Images- Etc ###################
media() {
## INSERT MEDIA STUFF HEDRE
office
}
######################### Office-General Stuff #########################
office() {
## INSERT OFFICE & OTHER STUFF HEDRE
debs
}
################### Looks at DEB32/64 dirs to install software ####################
## INSERT GAMING STUFF HEDRE
debs() {
ARCH=$(uname -m)
touch COPY_OVER_TO_CHROOT/DEBS.sh
if [[ "${ARCH}" == "i386" ]]; then
ls COPY_OVER_TO_CHROOT/DEB32/ > COPY_OVER_TO_CHROOT/DEBS.sh
ARCH="DEB32/"
elif [[ "${ARCH}" == "x86_64" ]]; then
ls COPY_OVER_TO_CHROOT/DEB64/ > COPY_OVER_TO_CHROOT/DEBS.sh
ARCH="DEB64/"
fi
sed -i "s|^|dpkg -i ${ARCH}/|" COPY_OVER_TO_CHROOT/DEBS.sh
bash COPY_OVER_TO_CHROOT/DEBS.sh
setSettings
}
######################### Copy Settings to their locations #########################
setSettings() {
## COPY/REMOVE SETTING FIES HERE
## Fine tune the system
cleanr
}
######################### Cleanup System #########################
cleanr() {
apt-get autoremove --purge -y
apt-get autoclean -y
aptitude keep-all -y
rm -rf COPY_OVER_TO_CHROOT/
clear
echo ""
echo ""
echo "Please remove this scrit then type exit to continue build..."
echo ""
echo ""
}
setup

31
CONFIG
View File

@ -1,31 +0,0 @@
#!/bin/bash
## Resolution of Xephyr
## Examples: 1920x1080 or 1600x900, etc
RES="1920x1080"
## Screen-id of Xephyr
## Examples: :10 or :1.0, etc
## Note: Don't use :0 or :0.0 as they are your system's.
ID=":10"
## Iso Version
## Examples: 16.04 or 15.04, etc
## Miniremix versions : http://www.ubuntu-mini-remix.org/
VERSION="16.04"
## Iso Archatect
## Examples: 32bit i386 or 64bit amd64, etc
ARCH="amd64"
## Iso boot info
NAME="" ## Set to your distro name
## Live User
lvUSER="" ## Set to your preference
## DO NOT CHANGE OR REMOVE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING ##
## Clean manifest-desktop file of unneeded parts
REMOVE='ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'

View File

@ -1 +0,0 @@
INSERT PPA LIST FROM UBUNTU SRC LIST GENERATOR WEBSITE HERE

View File

@ -1 +0,0 @@
INSERT PPA LIST FROM UBUNTU SRC LIST GENERATOR WEBSITE HERE

View File

@ -1,2 +0,0 @@
#!/usr/bin/bash
INSERT GPG KEY RETRIEVAL HERE

View File

@ -1 +0,0 @@
INSERT PPA LIST FROM UBUNTU SRC LIST GENERATOR WEBSITE HERE

View File

@ -1 +0,0 @@
INSERT PPA LIST FROM UBUNTU SRC LIST GENERATOR WEBSITE HERE

View File

@ -1,13 +0,0 @@
#!/usr/bin/bash
function main() {
apt list --installed > temp.txt
echo "aptitude" >> temp.txt ## Apend aptitude to list
lineCount=$(wc -l temp.txt | awk '{printf $1}') ## Get line count minus one to remove first line
tail -n$((lineCount - 1)) temp.txt > cleanedList.sh ## Get all lines but the first
echo "aptitude markauto ~i \\ " > temp.txt
awk '{ FS = "/"} NF{printf " !~" $1}' cleanedList.sh >> temp.txt
rm cleanedList.sh
mv temp.txt cleanedList.sh
}
main;

View File

@ -1,2 +1,17 @@
# Distro-Builder # Distro Builder
This is a powerful and easy way to build distributions with chroot and Xephyr at its core. A base iso download option is available to work with as well. This script handles everything up to chroot and after leaving the meat of the build to be handled by the pre defined automation script or ones own automation scripts. This is a powerful and easy way to build ubuntu remix distributions with
debootstrap, chroot, and Xephyr at its core. These scripts handle everything
up to chroot and after while leaving the fun and meaty parts of the build to
be handled by the user.
# Notes
Check the CONFIG.sh file for important variables that need to be set.
# Updates
n/a
# TODO
* Create Chroot script pipline again.
# Images
![1 Distro Builder menu. ](images/pic1.png)

View File

@ -1,2 +0,0 @@
#!/bin/bash
sudo rm -rf iso/ squashfs-root/

View File

@ -1,224 +0,0 @@
#!/bin/bash
. CONFIG
rootNisoChk() {
if [ "$(id -u)" -eq 0 ]; then
softChk
else
echo "Sorry, you are not root."
exit 1
fi
}
softChk() {
xyphr=$(which Xephyr) ## Chroot view window || alt desktop window
sysLnx=$(which syslinux) ## Casper stuff
squash=$(which unsquashfs) ## Squashfs-tools
genIso=$(which genisoimage) ## Iso maker
clear
if [[ $xyphr == "" ]] || [[ $sysLnx == "" ]] || \
[[ $squash == "" ]] || [[ $genIso == "" ]]; then
echo -e "## Missing some packages ##\n" \
"Xephyr :" "${xyphr}\n" \
"Syslinux :" "${sysLnx}\n" \
"Squashfs-tools :" "${squash}\n" \
"Genisoimage :" "${genIso}\n" \
"Going to run :\n" \
" apt-get install xserver-xephyr syslinux squashfs-tools genisoimage -y"
sleep 4
apt-get install xserver-xephyr syslinux squashfs-tools genisoimage -y
getIso
else
getIso
fi
}
getIso() {
clear
echo -e "## Download Ubuntu Mini Remix ##\n" \
"Would you like to download an Ubuntu Mini Iso?"
read -p "(yY/Nn) --> " ANSR
while [[ $ANSR != "y" ]] && [[ $ANSR != "Y" ]] && \
[[ $ANSR != "n" ]] && [[ $ANSR != "N" ]]
do
read -p "(yY/Nn) --> " ANSR
done
## Check if dl iso is wanted then dl it
if [[ $ANSR == "Y" ]] || [[ $ANSR == "y" ]]; then
clear
echo -e "## Default Settings Or Set Version And Arch ##\n" \
"Would you like to use the default choices? "
read -p "(yY/Nn) --> " ANSR
while [[ $ANSR != "y" ]] && [[ $ANSR != "Y" ]] && \
[[ $ANSR != "n" ]] && [[ $ANSR != "N" ]]
do
read -p "(yY/Nn) --> " ANSR
done
if [ "${ANSR}" == "N" ] || [ "${ANSR}" == "n" ]; then
clear
echo -e "## Get Version ##\n" \
"What version would you like?\n" \
"Examples :\n" \
" LTS : 16.04\n" \
" Non-LTS : 15.10\n" \
"Be very sure you are correctly entering the version."
read -p "Version --> : " VERSION
clear
echo -e "## Get Architect ##\n" \
"What version would you like?\n" \
" 32bit : i386\n" \
" 64bit : amd64\n" \
"Be very sure you are correctly entering the architect."
read -p "Arch --> : " ARCH
wget http://ubuntu-mini-remix.mirror.garr.it/mirrors/ubuntu-mini-remix/"${VERSION}"/ubuntu-mini-remix-"${VERSION}"-"${ARCH}".iso
else
wget http://ubuntu-mini-remix.mirror.garr.it/mirrors/ubuntu-mini-remix/"${VERSION}"/ubuntu-mini-remix-"${VERSION}"-"${ARCH}".iso
main
fi
else
main
fi
}
main() {
list=$(find . -maxdepth 1 -name "*.iso" -printf '%P\n')
if [[ "${list}" == "" ]] && [ ! -d squashfs-root ]; then
clear
echo -e "Sorry, there is no iso or squashfs-root dir to work with in the current directory.\n"
"Going back to download an Ubuntu Mini Iso..."
sleep 4
getIso
elif [[ "${list}" != "" ]] && [ -d squashfs-root ]; then
ANSR=""
while [[ $ANSR != "1" ]] && [[ $ANSR != "2" ]] && [[ $ANSR != "3" ]]; do
clear
echo -e "Both an iso(s) and squashfs-root are present...\n" \
"Which do you wish to use?\n" \
"1.) Use ISO(s)\n" \
"2.) Use former session: squashfs-root\n" \
"3.) Exit"
read -p "--> : " ANSR
done
if [[ $ANSR == "1" ]]; then
bash cleanup.sh
mountAndCopy
elif [[ $ANSR == "2" ]]; then
chrootr
elif [[ $ANSR == "3" ]]; then
exit
fi
elif [ -d squashfs-root ]; then
clear
echo "Squashfs-root directory found. Chrooting to directory."
sleep 4
chrootr
elif [[ "${list}" != "" ]]; then
clear
echo -e "Iso(s) found. Will mount one and copying to proper file structure.\n" \
"Then will chroot in..."
sleep 4
mountAndCopy
chrootr
fi
}
mountAndCopy() {
## Prep dirs
mkdir iso/ mnt/
## Prep filesystem
isoList=($(find . -maxdepth 1 -name "*.iso" -printf '%P\n'))
count="${#isoList[@]}"
ANSR=""
while [[ "${ANSR}" > "${count}" || "${ANSR}" < "0" ]]; do
x=0;
clear
for i in "${isoList[@]}"; do
echo "$x - ${i}"
((x++))
done
echo "Chose the ISO from above using the number."
read -p "-->: " ANSR
done
echo "You chose : ${isoList[$ANSR]}"
mount -o loop ./"${isoList[$ANSR]}" mnt/
cp -r mnt/. iso/ && \
mv iso/casper/filesystem.squashfs .
## Unspuashfs the squashfs
unsquashfs filesystem.squashfs && rm filesystem.squashfs
## Cleanup some prep items
umount mnt/ && rmdir mnt/
## Copy over build files 'n scripts
cp AUTO_INSTALL.sh squashfs-root/
cp -r COPY_OVER_TO_CHROOT/ squashfs-root/
}
chrootr() {
## Set Xephyr and set chrooting mounts
Xephyr -resizeable -screen "${RES}" "${ID}" &
cd squashfs-root/
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
cp /etc/resolv.conf etc/
## Enter env with chroot
chroot . bash
## Unmount binds
umount -lf dev/
umount -lf proc/
umount -lf sys/
cd ..
setConfigs
}
setConfigs() {
## Edit Iso boot info bits
sed -i 3s/Ubuntu/"${NAME}"/g iso/isolinux/txt.cfg
sed -i 7s/Ubuntu/"${NAME}"/g iso/isolinux/txt.cfg
## Set Live user and Hostename
sed -i 14s/Ubuntu/"${lvUSER}"/g squashfs-root/etc/casper.conf
sed -i 5,7s/ubuntu/"${lvUSER}"/g squashfs-root/etc/casper.conf
## Recreate manifest and clean it Note: MUST be after all setting changes
chroot squashfs-root/ dpkg-query -W --showformat="${Package} ${VERSION}\n" | sudo tee iso/casper/filesystem.manifest
cp -v iso/casper/filesystem.manifest iso/casper/filesystem.manifest-desktop
for i in $REMOVE; do
sed -i "/${i}/d" iso/casper/filesystem.manifest-desktop
done
genSqush
}
genSqush() {
## Recreate squashfs
mksquashfs squashfs-root/ iso/casper/filesystem.squashfs -b 1048576 -comp xz -Xdict-size 100% -e squashfs-root/boot
## Write the filesystem.size file, which is needed by the installer:
chmod 644 iso/casper/filesystem.size
sudo du -sx --block-size=1 squashfs-root/ | cut -f1 > iso/casper/filesystem.size
chmod 444 iso/casper/filesystem.size
## Calculate MD5
(cd iso && find . -type f -print0 | xargs -0 md5sum | grep -v "\./md5sum.txt" > SHA256SUMS)
genIsoImg
}
genIsoImg() {
## Generate Iso
cd iso/
sudo mkisofs -D -r -cache-inodes -J -l -b isolinux/isolinux.bin -c \
isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o \
../"${NAME}".iso .
}
rootNisoChk

BIN
images/pic1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

View File

@ -0,0 +1,77 @@
# Comboot modules:
# * menu.c32 - provides a text menu
# * vesamenu.c32 - provides a graphical menu
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Note: A ^ in a label before a character means one can use that to quickly select it.
#
# HELPFUL SOURCES
# http://www.syslinux.org/wiki/index.php?title=The_Syslinux_Project
# https://wiki.archlinux.org/index.php/Syslinux
# The wikis provides further configuration examples
# search path for the c32 support libraries (libcom32, libutil etc.)
PATH
# Need this for images as backgrounds
DEFAULT vesamenu.c32
# If 1 it'd present the boot prompt
PROMPT 0
# wait 15 seconds
TIMEOUT 150
MENU RESOLUTION 1024 768
MENU BACKGROUND splash.png
MENU TITLE Sol-OS
## Theming
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
## Menu Options
LABEL solosLive
MENU label ^Try Sol-OS
KERNEL /casper/vmlinuz
APPEND file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet --
LABEL solosInstall
MENU label ^Install Sol-OS
KERNEL /casper/vmlinuz
APPEND file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz finstall quiet --
MENU SEPARATOR
LABEL check
MENU label ^Check CD for defects
KERNEL /casper/vmlinuz
APPEND boot=casper integrity-check initrd=/casper/initrd.lz quiet --
LABEL memtest
menu label ^Memory test
kernel /install/memtest
append -
LABEL hd
MENU label ^Boot from first hard disk
localboot 0x80
APPEND -
LABEL reboot
MENU LABEL ^Reboot
COM32 reboot.c32

View File

@ -0,0 +1,28 @@
DEFAULT live
LABEL live
menu label ^Start or install Ubuntu Remix
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
LABEL check
menu label ^Check CD for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --
LABEL memtest
menu label ^Memory test
kernel /install/memtest
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 1000
PROMPT 1
#prompt flag_val
#
# If flag_val is 0, display the "boot:" prompt
# only if the Shift or Alt key is pressed,
# or Caps Lock or Scroll lock is set (this is the default).
# If flag_val is 1, always display the "boot:" prompt.
# http://linux.die.net/man/1/syslinux syslinux manpage

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

View File

@ -0,0 +1,41 @@
Boot Instructions for the Remix User
To give some boot-time instructions to the user create an isolinux.txt file in image/isolinux, for example:
************************************************************************
This is an Ubuntu Remix Live CD.
For the default live system, enter "live". To run memtest86+, enter "memtest"
************************************************************************
Splash Screen
A graphic can be displayed at boot time, but it is optional.
The example text above requires a special character along with
the file name of the splash image (splash.rle).
To create that character, do the following use the following command:
printf "\x18" >emptyfile
and then edit the emptyfile with any text editor. Add the file name just next to the
first character and add the text you want to display at boot time beneath it and save the file as "isolinux.txt"
To create the splash.rle file, create an image 480 pixels wide. Convert it to 15 colours,
indexed (perhaps using GIMP) and "Save As" to change the ending to .bmp which converts the
image to a bitmap format.
---- IN GIMP DO THE FOLLOWING ----
1. Open an image.
2. Scake it to 480 and make sure hight is bound to it.
3. Go to image > mode > indexed (Set minimum number of colors to 15 if you have issues down he road Otherwise leave it as is.)
5. Save As a BMP. When doing so set compatibility options on for 'Do not write color space information'
Then install the "netpbm" and 'syslinux-utils' packages and run
1. bmptoppm splash.bmp > splash.ppm
2. ppmtolss16 '#ffffff=7' < splash.ppm > splash.rle

View File

@ -0,0 +1 @@


View File

@ -0,0 +1,10 @@
splash.rle
************************************************************************
This is an Ubuntu Remix Live CD.
For the default live system, enter "live". To run memtest86+, enter "memtest"
************************************************************************
--> :

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

58
src/CONFIG.sh Executable file
View File

@ -0,0 +1,58 @@
#!/bin/bash
. CONFIG_SCRIPTS.sh
# ---- Setup Variables ---- #
# Resolution of Xephyr... ex: 1920x1080 or 1600x900, etc
RESOLUTION="1920x1080"
# Screen-id of Xephyr... ex: :10 or :1.0, etc
# Note: Don't use :0 or :0.0 as they are your system's.
ID=":10"
# Your system release... this is set by set_system_release
# method from CONFIG_SCRIPTS.sh above and can be safetly ignored
SYSTEM_RELEASE=""
# $RELEASE is the version of Ubuntu/Debian you intend to build an ISO for.
# Some options: xenal, bionic, disco, focal
# Versions: xenal (16.0.4), bionic (18.04), disco (19.04), focal (20.04)
RELEASE="focal"
# $ARCH is the target processor architecture.
# For old 32 bit x86 systems use i386.
# For newer 64-bit x86 systems (also known as x64, x86_64, Intel 64, and AMD64) use amd64.
ARCH="amd64"
# the name of your distro and ISO
OS_NAME=""
OS_VER="1.00"
# The user of the live boot
LIVE_USER=""
# ---- Call CONFIG_SCRIPTS Methods Here As Needed ---- #
set_system_release;
cd "${SCRIPT_PATH}";
echo "Base Dir: " $(pwd) "\n";
# Make work structure
mkdir -p "${CHROOT_PTH}"
mkdir -p image/{casper,isolinux,install,boot,.disk}
touch image/ubuntu
# ---- DO NOT CHANGE OR REMOVE UNLESS YOU KNOW WHAT YOU ARE DOING ---- #
# Clean manifest-desktop file of unneeded parts
REMOVE='ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'

91
src/CONFIG_SCRIPTS.sh Executable file
View File

@ -0,0 +1,91 @@
#!/bin/bash
# set -o xtrace ## To debug scripts
# set -o errexit ## To exit on error
# set -o errunset ## To exit if a variable is referenced but not set
# ---- DO NOT CHANGE OR REMOVE UNLESS YOU KNOW WHAT YOU ARE DOING ---- #
# ---- Setup Aliases ---- #
shopt -s expand_aliases
alias echo="echo -e"
SCRIPT_PATH="$( cd "$(dirname "")" >/dev/null 2>&1 ; pwd -P )";
CHROOT_PTH="./work/chroot"
# ---- Methods Used Throughout The Process ---- #
# Help get the system release version we're working from
function set_system_release() {
IN=$(cat /etc/os-release | grep "VERSION_CODENAME")
ARRY=(${IN//=/ })
SYSTEM_RELEASE="${ARRY[1]}"
}
# Generic confirm 'dialouge'
function confirm_dialouge() {
echo $1
read -p "(yY/Nn) --> " ANSR
while [[ $ANSR != "y" ]] && [[ $ANSR != "Y" ]] && \
[[ $ANSR != "n" ]] && [[ $ANSR != "N" ]]
do
read -p "(yY/Nn) --> " ANSR
done
if [[ $ANSR == "n" ]] || [[ $ANSR == "N" ]]; then
return 1
fi
return 0
}
# ---- Messages Used Throughout The Process ---- #
function start_menu_mesage() {
echo "NOTE: Remember to check the CONFIG.sh and set the variables!"
echo "\nWhat do you want to run?"
echo "\t1) Do all jobs (Including cleanup berfore starting.)"
echo "\t2) Do debootstrap run"
echo "\t3) Chroot"
echo "\t4) Create boot structure"
echo "\t5) Create the ISO"
echo "\t6) Cleanup (Purges everything that was generated.)"
echo "\t0) EXIT"
}
function chroot_big_dump_mesage() {
echo "NOTE: COPY_OVER_TO_CHROOT is removed after exit from chroot env."
echo "\nRun each time you chroot:"
echo "\texport HOME=/root"
echo "\texport LC_ALL=C"
echo "\nRun once in chroot:"
echo "\tapt-get update"
echo "\tapt-get install --yes dbus"
echo "\tdbus-uuidgen > /var/lib/dbus/machine-id"
echo "\tdpkg-divert --local --rename --add /sbin/initctl"
echo "\tapt-get --yes upgrade"
echo "Note: You probably should copy to a notepad the following..."
echo "\nThere is a current (for Karmic, ..., Precise) issue with services running in a chroot:"
echo "\thttps://bugs.launchpad.net/ubuntu/+source/upstart/+bug/430224."
echo "\nA workaround is to link /sbin/initctl to /bin/true:"
echo "\tln -s /bin/true /sbin/initctl"
echo "\nInstall packages needed for Live System (I think 'ubuntu-standard' package is optional.):"
echo "\tapt-get install --yes casper lupin-casper"
echo "\tapt-get install --yes discover laptop-detect os-prober"
echo "\nTo actually install the system you'll need one of the following or something similar..."
echo "\tapt-get install --yes linux-generic"
echo "\tapt-get install --yes ubiquity-frontend-gtk"
echo "\t\tOR"
echo "\tapt-get install --yes ubiquity-frontend-kde"
}

View File

@ -0,0 +1,20 @@
# If we installed software, be sure to run
rm /var/lib/dbus/machine-id
# Before exiting the chroot, remove the diversion:
# Earlier this guide asked you to make a backup copy of /sbin/initctl.
# If the following command does not restore this file, then restore from the backup copy you made.
apt-get update && apt-get upgrade
apt-get autoremove --purge -y
apt-get autoclean -y
apt-get clean
rm -rf /tmp/*
rm /etc/resolv.conf
# Remove old kernels
dpkg -l 'linux-*' | sed '/^ii/!d;/hwe/d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt -y purge; update-grub
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

View File

@ -0,0 +1,19 @@
#!/bin/bash
. CONFIG_SCRIPTS.sh
. GET_PPA_GPG_KEYS.sh
# ---- Setup Variables ---- #
export HOME=/root
export LC_ALL=C
# Screen-id of launched Xephyr on host system... ex: :10 or :1.0, etc
# Note: Don't use :0 or :0.0 as they are your host system's.
export DISPLAY=:10
# ---- Call CONFIG_SCRIPTS Methods Here As Needed ---- #
cd "${SCRIPT_PATH}";
echo "Base Dir: " $(pwd) "\n";

View File

@ -0,0 +1,61 @@
#!/bin/bash
# set -o xtrace ## To debug scripts
# set -o errexit ## To exit on error
# set -o errunset ## To exit if a variable is referenced but not set
# ---- DO NOT CHANGE OR REMOVE UNLESS YOU KNOW WHAT YOU ARE DOING ---- #
# ---- Setup Aliases ---- #
shopt -s expand_aliases
alias echo="echo -e"
SCRIPT_PATH="$( cd "$(dirname "")" >/dev/null 2>&1 ; pwd -P )";
# ---- Methods Used Throughout The Process ---- #
# Generic confirm 'dialouge'
function confirm_dialouge() {
echo $1
read -p "(yY/Nn) --> " ANSR
while [[ $ANSR != "y" ]] && [[ $ANSR != "Y" ]] && \
[[ $ANSR != "n" ]] && [[ $ANSR != "N" ]]
do
read -p "(yY/Nn) --> " ANSR
done
if [[ $ANSR == "n" ]] || [[ $ANSR == "N" ]]; then
return 1
fi
return 0
}
# ---- Messages Used Throughout The Process ---- #
function start_menu_mesage() {
echo "NOTE: Remember to check the CONFIG.sh and set the variables!"
echo "\nWhat do you want to run?"
echo "\t1) Run the initial environment setup process (Only run once!)"
echo "\t2) Add PPA repos"
echo "\t3) Pull PPA repo keys"
echo "\t4) Install live ISO dependencies"
echo "\t5) Install Base System Packages"
echo "\t6) Install Gaming Apps"
echo "\t7) Install Media Apps"
echo "\t8) Install Office Apps"
echo "\t9) Install Debs"
echo "\t10) Transfer Setting"
echo "\11) Cleanup (Should run before exiting chroot.)"
echo "\t0) EXIT"
}

View File

@ -0,0 +1,15 @@
#!/bin/bash
# set -o xtrace ## To debug scripts
# set -o errexit ## To exit on error
# set -o errunset ## To exit if a variable is referenced but not set
function main() {
# ---- NOTE ---- #
# Add your keys here..
# Command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <key>
# Ex: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 283EC8CD
echo "No gpg keys specified for addition..."
}
main $@;

View File

@ -0,0 +1,24 @@
#!/bin/bash
. CONFIG.sh
# set -o xtrace ## To debug scripts
# set -o errexit ## To exit on error
# set -o errunset ## To exit if a variable is referenced but not set
# ---- Bellow adds other PPAs ---- #
function main() {
echo "No ppas specified for addition..."
####### SOFTWARE PPAs #######
# add-apt-repository ppa:webupd8team/atom -y # atom text editor
# apt-add-repository ppa:obsproject/obs-studio -y # open broadcaster studio
# add-apt-repository ppa:starws-box/deadbeef-player -y # deadbeef musuc player
####### THEMES PPAs #######
# add-apt-repository ppa:noobslab/themes -y # sable-gtk
# add-apt-repository ppa:noobslab/icons2 -y # more icons
# add-apt-repository ppa:snwh/pulp -y # paper-gtk-theme
# apt-get install ambiance-blackout-colors -y # ambiance-blackout-colors
}
main $@;

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

View File

@ -0,0 +1,8 @@
1. Edit /etc/default/grub
Add GRUB_BACKGROUND="15.jpg"
2. Add an image to /boot/grub/
3. sudo update-grub
4. Done

View File

@ -0,0 +1 @@
xwinwrap -ov -g 1920x1080 -st -sp -b -nf -s -ni -- mplayer -wid WID -loop 0 /home/LazyShare/Movies-TV-Music/dreamScenesCollection/Games/Samurai.mpg

View File

@ -0,0 +1 @@
xwinwrap -ov -g 1600x900+1920+0 -st -sp -b -nf -s -ni -- mplayer -wid WID -loop 0 /home/LazyShare/Movies-TV-Music/dreamScenesCollection/Games/Mass_Effect/Tali_in_Braysons_Office.wmv

View File

@ -0,0 +1,68 @@
# Aliases
# youtube-dl commands simplified
alias ytdl='youtube-dl'
alias ytdl-fix='youtube-dl --rm-cache-dir'
alias ytdl-list='youtube-dl -F'
alias ytdl-use-specific-quality='youtube-dl -f'
# This overrides cp command with rsync and a timer
alias cp='rsync -ah --info=progress2'
alias wget='wget -c'
alias rm="rm -rf"
alias cls='clear'
alias less="less -S +G"
alias ls="ls -F -h -s --group-directories-first --color=always"
alias lt='ls --human-readable --size -1 -S --classify'
alias mnt="mount | awk -F' ' '{ printf \"%s\t%s\n\",\$1,\$3; }' | column -t | egrep ^/dev/ | sort"
alias gh='history|grep'
alias count='find . -type f | wc -l'
alias trash='mv --force -t ~/.local/share/Trash'
alias refresh-bash='. ~/.bashrc'
# reboot / halt / poweroff / etc
alias reboot='sudo /sbin/reboot'
alias poweroff='sudo /sbin/poweroff'
alias halt='sudo /sbin/halt'
alias shutdown='sudo /sbin/shutdown'
#gdb no copyright start and use better gui look
alias gdb='gdb -tui -q'
#Git
alias gitA="git add -A ."
alias gitC="git commit -m"
alias gitP="git push"
#Firefox
alias ff="firefox"
alias ffnrm="firefox --no-remote"
# Python
alias pySimpleServer='python -m SimpleHTTPServer'
alias pyCgiServer='python -m CGIHTTPServer'
alias py-venv='python3 -m venv ./'
alias py-src-activate='source ./bin/activate'
alias py-freeze='pip freeze --local > requirements.txt'
# MPV/MPLAYER Commands #
alias generate-mp4-playlist="\ls -1v *.mp4 > ./000_playlist.m3u"
alias generate-mkv-playlist="\ls -1v *.mkv > ./000_playlist.m3u"
alias generate-webm-playlist="\ls -1v *.webm > ./000_playlist.m3u"
alias mpv-playlist-loop="mpv --loop-playlist"
# mplayer frameebuffer
alias mplayerfb="mplayer -vo fbdev2 -zoom -x 800 -y 600"
# play all music files from the current directory #
alias playwaves='for i in *.wav; do mplayer "$i"; done'
alias playoggs='for i in *.ogg; do mplayer "$i"; done'
alias playmp3s='for i in *.mp3; do mplayer "$i"; done'
# Servers
alias start-wfm='cd ~/LazyShare/ && phpServer 8080'

View File

@ -0,0 +1,50 @@
# Simpler colors in terminal scripts
bold=`echo -en "\e[1m"`
underline=`echo -en "\e[4m"`
dim=`echo -en "\e[2m"`
strickthrough=`echo -en "\e[9m"`
blink=`echo -en "\e[5m"`
reverse=`echo -en "\e[7m"`
hidden=`echo -en "\e[8m"`
normal=`echo -en "\e[0m"`
black=`echo -en "\e[30m"`
red=`echo -en "\e[31m"`
green=`echo -en "\e[32m"`
orange=`echo -en "\e[33m"`
blue=`echo -en "\e[34m"`
purple=`echo -en "\e[35m"`
aqua=`echo -en "\e[36m"`
gray=`echo -en "\e[37m"`
darkgray=`echo -en "\e[90m"`
lightred=`echo -en "\e[91m"`
lightgreen=`echo -en "\e[92m"`
lightyellow=`echo -en "\e[93m"`
lightblue=`echo -en "\e[94m"`
lightpurple=`echo -en "\e[95m"`
lightaqua=`echo -en "\e[96m"`
white=`echo -en "\e[97m"`
default=`echo -en "\e[39m"`
BLACK=`echo -en "\e[40m"`
RED=`echo -en "\e[41m"`
GREEN=`echo -en "\e[42m"`
ORANGE=`echo -en "\e[43m"`
BLUE=`echo -en "\e[44m"`
PURPLE=`echo -en "\e[45m"`
AQUA=`echo -en "\e[46m"`
GRAY=`echo -en "\e[47m"`
DARKGRAY=`echo -en "\e[100m"`
LIGHTRED=`echo -en "\e[101m"`
LIGHTGREEN=`echo -en "\e[102m"`
LIGHTYELLOW=`echo -en "\e[103m"`
LIGHTBLUE=`echo -en "\e[104m"`
LIGHTPURPLE=`echo -en "\e[105m"`
LIGHTAQUA=`echo -en "\e[106m"`
WHITE=`echo -en "\e[107m"`
DEFAULT=`echo -en "\e[49m"`
export LESS_TERMCAP_so=${white}${BLACK} # begin standout-mode - info box
export LESS_TERMCAP_mb=${lightred} # begin blinking
export LESS_TERMCAP_md=${lightyellow} # begin bold
export LESS_TERMCAP_us=${lightgreen} # begin underline
export LESS_TERMCAP_me=${default}${DEFAULT} # end mode
export LESS_TERMCAP_se=${default}${DEFAULT} # end standout-mode
export LESS_TERMCAP_ue=${default}${DEFAULT} # end underline

View File

@ -0,0 +1,27 @@
# Functions
w3mimg () {
w3m -o imgdisplay=/usr/lib/w3m/w3mimgdisplay $1
}
phpServer () {
authbind php -S 0.0.0.0:"$1"
}
function cl() {
DIR="$*";
# if no DIR given, go home
if [ $# -lt 1 ]; then
DIR=$HOME;
fi;
builtin cd "${DIR}" && \
# use your preferred ls command
ls -F --color=auto
}
# Gui select files wih Ctrl+G and python
select_files() {
local files="$(python -c 'import Tkinter, tkFileDialog; Tkinter.Tk().withdraw(); print(" ".join(map(lambda x: "'"'"'"+x+"'"'"'", tkFileDialog.askopenfilename(multiple=1))))')"
READLINE_LINE="${READLINE_LINE:0:READLINE_POINT}$files${READLINE_LINE:READLINE_POINT}"
READLINE_POINT=$((READLINE_POINT + ${#files}))
}
bind -x '"\C-g":select_files'

View File

@ -0,0 +1,500 @@
dex pyDarkness.desktop
dex pyDarkness.desktop
dex pyDarkness.desktop
dex pyDarkness.desktop
youtube-dl https://www.youtube.com/watch?v=of1ITq5_TDw
history | grep youtube-dl
youtube-dl --rm-cache-dir
sudo youtube-dl -U
youtube-dl https://www.youtube.com/watch?v=of1ITq5_TDw
youtube-dl -F https://www.youtube.com/watch?v=of1ITq5_TDw
refresh-bash
youtube-dl-list https://www.youtube.com/watch?v=of1ITq5_TDw
ytdl
refresh-bash
ytdl
ytdl-list https://www.youtube.com/watch?v=of1ITq5_TDw
ytdl https://www.youtube.com/watch?v=of1ITq5_TDw
ytdl
refresh-bash
ytdl https://www.youtube.com/watch?v=of1ITq5_TDw
find . -name "*Ghibli*"
./profile-backup.sh
youtube-dl https://youtu.be/fnqpTjYHG3c
ytdl https://www.pornhub.com/view_video.php?viewkey=ph5decbd606aa2e
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
./shellmen
python .
python . -h
python . -t red
fc-cache -f -v
$ fc-list | grep "Hack"
fc-list | grep "Hack"
sudo rm /bin/shellMen
edit-path
edit-path.py
refresh-bash
shellmen
shellmen -h
shellmen
shellmen -t red
python shellmen -t red
shellmen -t red
shellmen
refresh-bash
shellmen
shellmen
shellmen
shellmen
gitA
gitC "added quick launch script, edited paths"
gitP
./shellmen
./shellmen
./shellmen
python3 .
python3 .
sudo apt install flatpak
sudo apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
SpiderOakONE
killall SpiderOakONE
killall SpiderOakONE
SpiderOakONE
SpiderOakONE
SpiderOakONE
SpiderOakONE
SpiderOakONE &
refresh-bash
shellmen
sudo reboot
nano.start
nano .start
rm *.psf
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
shellmen
less .start
ls /proc/4404/environ
ls -l /proc/4404/environ
/proc/4404/environ
$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
win=$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
sudo win=$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
sudo echo win=$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
sudo `echo win=$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')`
$(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
sudo $(sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
$(sudo sed -zn < /proc/4404/environ 's/^WINDOWID=\(.*\)/\1/p')
stjerm
stjerm -h
man stjerm
python .
python .
python .
python .
python .
python .
xprop -root
xprop -root
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
python .
less ~/.start
python .
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -ky f8
python . -ky f8
python .
python3 .
python3 .
python .
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
python3 . -k f8
youtube-dl
youtube-dl https://www.xvideos.com/video13644971/stickasian18_petite_girls_love_cock_in_mouth
ytdl https://www.xvideos.com/video22022791/star_22_years
youtube-dl https://www.xvideos.com/video12501473/acs-tac-1-min
sudo apt-get install openbox
python shellmen/
python shellmen/ -t red
python3 shellmen/ -t red
python3 -m shellmen/ -t red
python3 -m ./shellmen -t red
python3 -m shellmen -t red
python3 -m shellmen -t red
python3 -m shellmen -t red
python3 -m shellmen -t red
python3 -m shellmen -t red
python3 -m shellmen -t red
cd shellmen/
python .
python3 .
python3 .
python3 .
python3 .
python3 .
python3 .
python3 .
python3 .
python3 .
python3 .
python .
cd ..
python shellmen/
python shellmen
python -m shellmen
cd shellmen/
./shellmen
python .
python . -t red
python3 . -t red
nano .start
SpiderOakONE &
SpiderOakONE &
killall
killall SpiderOakONE
killall SpiderOakONE
SpiderOakONE &
sudo apt-get remove lightdm
reboot
shellmen
sudo apt-get inmstall l.ightdm
sudo apt-get inmstall lightdm
sudo apt-get install lightdm
sudo apt-get install lightdm
reboot
sudo apt-get remove lightdm
reboot
shellmen
nano .bash_profile
less /var/log/Xorg.0.log
less +G /var/log/Xorg.0.log
sudo apt-get install lxappearance-obconf
lxappearance
sudo apt-get remove obconf
sudo apt-get autoremove
xarchiver
file-roller
xcompmgr -h
qpkill xcompmgr
pkill xcompmgr
xcompmgr -n -f
xcompmgr -h
xcompmgr -n -f -r
xcompmgr -n -f -r
xcompmgr -f -r
xcompmgr -n -f -o .76
less .start
cd
less .start
xcompmgr &
less /etc/hosts
sudo ifconfig
sudo journalctl -u nginx
sudo journalctl -u
sudo systemctl
sudo journalctl -u gunicorn-server.service
ls /var/log/
ls /var/log
sudo systemctl stop gunicorn-server
./start.sh
./start.sh
sudo systemctl stop gunicorn-server
sudo systemctl
./start.sh
sudo systemctl stop nginx
./start.sh
sudo systemctl start gunicorn-server
sudo systemctl start nginx
./start.sh
file boot.cat
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
./darkness
python download.py
python download.py
source /home/abaddon/Portable_Apps/py-venvs/selenium-venv/bin/activate
python --version
pip install requests
python download.py
pip freeze
pip freeze
python download.py
python download.py
python download.py
python download.py
python download.py
python download.py
python download.py
python download.py
python download.py
python download.py
bash build.sh
sudo gdebi-gtk *.deb
killall pytop
killall pytop
pkill pytop
killall pytop
xkill
./PyTop.sh
./PyTop.sh
./PyTop.sh
./PyTop.sh
./PyTop.sh
./PyTop.sh
source /home/abaddon/Portable_Apps/py-venvs/selenium-venv/bin/activate
python download.py
python download.py
python download.py
bash build.sh
sudo gdebi-gtk *.deb
bash build.sh
sudo gdebi-gtk *.deb
./PyTop.sh
./PyTop.sh
./PyTop.sh
./PyTop.sh
youtube-dl-re
ytdl-fix
ytdl https://youtu.be/SVswPpF2C-8
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
sudo systemctl restart gunicorn-server.service
sudo systemctl restart nginx
sudo systemctl restart gunicorn-server.service
sudo systemctl restart nginx
ytdl-fix
find . -name "*Juul*"
git clone https://github.com/maximstewart/Tab-Search-and-Manage.git
cd Tab-Search-and-Manage/
gitA
gitC "added some features"
gitP
./makeIso.sh
./makeIso.sh
generate-mkv-playlist
git clone https://github.com/maximstewart/Distro_Builder.git
cd Distro_Builder/
git checkout develop
git pull
gitA
gitC "New structure of project and work flow"
gitP
gitA
gitC "Updating config and scripts"
gitP
gitA
gitC "Setting up chroot logic"
gitP
sudo apt-get remove --purge debootstrap
sudo apt-get autoremove
sudo apt-get autoclean
mkdir -p work/chroot
sudo dpkg -i *.deb
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
bash step_0.sh
chmod -x *.sh
ls
chmod -x *.sh
chmod -x start.sh
./start.sh
ls -l
chmod 744 start.sh
ls -l
chmod 766 start.sh
ls -l
chmod 764 start.sh
ls -l
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
which debootstrap
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
lsb_release
lsb_release -a
cat /etc/issue
cat /etc/os-release
cat /etc/os-release | grep "VERSION_CODENAME"
cat /etc/os-release | grep "VERSION_CODENAME"
cat /etc/os-release | grep "VERSION_CODENAME"
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
./start.sh
chmod 764 *.sh
./start.sh
./start.sh
sudo rm -rf chroot/
./start.sh
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh
cat /etc/apt/sources.list
./step_2_chroot.sh
ls
echo %USER
echo $USER
./step_2_chroot.sh
cat work/chroot/etc/apt/sources.list
./step_2_chroot.sh
cat work/chroot/etc/apt/sources.list
./step_2_chroot.sh
./step_2_chroot.sh
./step_2_chroot.sh

View File

@ -0,0 +1,11 @@
# Launchpad Config Parts
export DEBFULLNAME="Maxim Stewart"
export DEBEMAIL="1itdominator@gmail.com"
shopt -s cdspell
shopt -s autocd shift_verbose
shopt -s dirspell
export NVM_DIR="/home/abaddon/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

View File

@ -0,0 +1,4 @@
export PATH="$HOME/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/Portable_Apps/local_bin/JavaProjGenerator:$HOME/Portable_Apps/local_bin/AnimeFreakDL:$HOME/Portable_Apps/local_bin/media-downloader:$HOME/Portable_Apps/local_bin/path-edit:$HOME/Portable_Apps/local_bin/bash_scripts:$HOME/Portable_Apps/local_bin/pyCornea/src:$HOME/.local/bin:$HOME/Portable_Apps/local_bin/DarkCrypt:$HOME/Portable_Apps/selenium Drivers:$HOME/Portable_Apps/local_bin/shellmen"

View File

@ -0,0 +1,2 @@
# Start xserver
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

View File

@ -0,0 +1,7 @@
# Week Day/Month/Day : Time -- user@group -- current dir path
export PS1="${lightyellow} _ _ _ _ _ _
/ \ / \ / \ / \ / \ / \
( S ( o ( l ( - ( O ( S )
\_/ \_/ \_/ \_/ \_/ \_/ ${default}
${lightred}Welcome to the dark side of the moon, \u!${default}
\[\e[32m\]\d\[\e[m\]: \[\e[36m\]\@\[\e[m\] -- \[\e[31m\]\u\[\e[m\]@\[\e[31m\]\h\[\e[m\] -- \[\e[35m\]\w\[\e[m\] \\$ "

View File

@ -0,0 +1,34 @@
# Paths Variable Settings
if [ -e $HOME/.bash_paths ]; then
source $HOME/.bash_paths
fi
# Functions
if [ -e $HOME/.bash_colors ]; then
source $HOME/.bash_colors
fi
# Aliases
if [ -e $HOME/.bash_aliases ]; then
source $HOME/.bash_aliases
fi
# Functions
if [ -e $HOME/.bash_functions ]; then
source $HOME/.bash_functions
fi
# Terminal look and feel with logo and then custom prompt line
if [ -e $HOME/.bash_ps1 ]; then
source $HOME/.bash_ps1
fi
# Other non file specifoc settings
if [ -e $HOME/.bash_other ]; then
source $HOME/.bash_other
fi
# Auto complete -- Note: Must have bash-completion package
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

View File

@ -0,0 +1,83 @@
cli_add_playlist_name Default
cli_add_to_specific_playlist 1
converter.dsp_preset -1
converter.encoder_preset 0
converter.output_folder /home/
converter.output_format 0
converter.overwrite_action 0
deadbeef_version 0.6.0
filechooser.lastdir file:///home/
global_preamp 0.0000000
gtkui.eq.visible 0
gtkui.layout hsplitter pos=249 locked=0 {tabbed_playlist hideheaders=0 {} hsplitter pos=236 locked=0 {vsplitter pos=233 locked=0 {coverart {} spectrum {} } selproperties {} } }
gtkui.mmb_delete_playlist 1
gtkui.name_playlist_from_folder 1
gtkui.statusbar.visible 1
gtkui.tabscroll 0
gtkui.titlebar_playing %a - %t - DeaDBeeF-%V
gtkui.titlebar_stopped DeaDBeeF-%V
gui_plugin GTK2
hotkey.key01 "Ctrl f" 0 0 find
hotkey.key02 "Ctrl o" 0 0 open_files
hotkey.key03 "Ctrl q" 0 0 quit
hotkey.key04 "Ctrl n" 0 0 new_playlist
hotkey.key05 "Ctrl a" 0 0 select_all
hotkey.key06 "Escape" 0 0 deselect_all
hotkey.key07 "Ctrl m" 0 0 toggle_stop_after_current
hotkey.key08 "Ctrl j" 0 0 jump_to_current_track
hotkey.key09 "F1" 0 0 help
hotkey.key10 "Delete" 1 0 remove_from_playlist
hotkey.key11 "Ctrl w" 0 0 remove_current_playlist
hotkey.key14 "Return" 0 0 play
hotkey.key15 "Ctrl p" 0 0 toggle_pause
hotkey.key16 "Alt 1" 0 0 playlist1
hotkey.key17 "Alt 2" 0 0 playlist2
hotkey.key18 "Alt 3" 0 0 playlist3
hotkey.key19 "Alt 4" 0 0 playlist4
hotkey.key20 "Alt 5" 0 0 playlist5
hotkey.key21 "Alt 6" 0 0 playlist6
hotkey.key22 "Alt 7" 0 0 playlist7
hotkey.key23 "Alt 8" 0 0 playlist8
hotkey.key24 "Alt 9" 0 0 playlist9
hotkey.key25 "Alt 0" 0 0 playlist10
hotkey.key26 z 0 0 prev
hotkey.key27 x 0 0 play
hotkey.key28 c 0 0 toggle_pause
hotkey.key29 v 0 0 stop
hotkey.key30 b 0 0 next
hotkey.key31 n 0 0 playback_random
hotkeys_created 1
ignore_archives 0
junk.enable_cp1251_detection 1
mainwin.geometry.h 471
mainwin.geometry.maximized 0
mainwin.geometry.w 773
mainwin.geometry.x 1319
mainwin.geometry.y 191
network.http_user_agent deadbeef
network.proxy.port 8080
network.proxy.type HTTP
playback.loop 0
playback.order 0
playback.volume -0.714285
playlist.column.00 "Artist / Album" "%a - %b" -1 159 0
playlist.column.01 "Title" "%t" -1 205 0
playlist.column.02 "Duration" "%l" -1 70 0
playlist.current 0
playlist.cursor.0 0
playlist.scroll.0 56451
playlist.scroll.cursorfollowplayback 1
playlist.tab.00 Default
prefwin.geometry.h 397
prefwin.geometry.w 637
prefwin.geometry.x 1761
prefwin.geometry.y 251
replaygain_mode 0
replaygain_preamp 0.0000000
replaygain_scale 1
resume.paused 0
resume.playlist 0
resume.position 130.34825
resume.track 0
streamer.16_to_24 1
streamer.8_to_16 1

View File

@ -0,0 +1,26 @@
supereq 0 {
0.000000
0.000000
10.967742
14.623657
6.451613
4.301075
1.505376
-1.505376
-3.225806
-6.021505
0.860215
11.397849
3.225806
-2.795699
-8.602151
-13.978495
-16.344086
-10.107527
14.193548
}
SRC 1 {
48000.000000
2
1
}

View File

@ -0,0 +1,10 @@
title AAC (Nero FAAC)
ext mp4
encoder faac -w -o %o -
method 0
id3v2_version 0
tag_id3v2 0
tag_id3v1 0
tag_apev2 0
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title FLAC (compression level 5)
ext flac
encoder flac -o %o -5 --ignore-chunk-sizes -
method 0
id3v2_version 1
tag_id3v2 0
tag_id3v1 0
tag_apev2 0
tag_flac 1
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title MP3 CBR 320 Kbps (Lame)
ext mp3
encoder lame --preset cbr 320 - %o
method 0
id3v2_version 0
tag_id3v2 1
tag_id3v1 1
tag_apev2 0
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title MP3 VBR 192Kbps (Lame)
ext mp3
encoder lame -V2 - %o
method 0
id3v2_version 0
tag_id3v2 1
tag_id3v1 1
tag_apev2 0
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title MS RIFF WAV
ext wav
encoder
method 0
id3v2_version 0
tag_id3v2 0
tag_id3v1 0
tag_apev2 0
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title MusePack
ext mpc
encoder mpcenc --standard - %o
method 0
id3v2_version 0
tag_id3v2 0
tag_id3v1 0
tag_apev2 1
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title Ogg Vorbis (-q 5)
ext ogg
encoder oggenc -q 5 -o %o -
method 0
id3v2_version 0
tag_id3v2 0
tag_id3v1 0
tag_apev2 0
tag_flac 0
tag_oggvorbis 1

View File

@ -0,0 +1,10 @@
title TTA
ext tta
encoder ttaenc -e -o %o %i
method 1
id3v2_version 1
tag_id3v2 1
tag_id3v1 0
tag_apev2 0
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,10 @@
title WavPack
ext wv
encoder wavpack -i - -o %o
method 0
id3v2_version 0
tag_id3v2 0
tag_id3v1 0
tag_apev2 1
tag_flac 0
tag_oggvorbis 0

View File

@ -0,0 +1,24 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=1
cpu_count_from_zero=1
update_process_names=1
color_scheme=0
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=2 2 2
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2

View File

@ -0,0 +1,140 @@
[Midnight-Commander]
verbose=0
pause_after_run=1
shell_patterns=1
auto_save_setup=1
preallocate_space=0
auto_menu=0
use_internal_view=1
use_internal_edit=0
clear_before_exec=1
confirm_delete=1
confirm_overwrite=1
confirm_execute=0
confirm_history_cleanup=1
confirm_exit=0
confirm_directory_hotlist_delete=1
safe_delete=0
mouse_repeat_rate=100
double_click_speed=250
use_8th_bit_as_meta=0
confirm_view_dir=0
mouse_move_pages_viewer=1
mouse_close_dialog=0
fast_refresh=0
drop_menus=0
wrap_mode=1
old_esc_mode=0
old_esc_mode_timeout=1000000
cd_symlinks=1
show_all_if_ambiguous=0
max_dirt_limit=10
use_file_to_guess_type=1
alternate_plus_minus=0
only_leading_plus_minus=1
show_output_starts_shell=0
xtree_mode=0
num_history_items_recorded=60
file_op_compute_totals=1
classic_progressbar=1
vfs_timeout=60
ftpfs_directory_timeout=900
use_netrc=1
ftpfs_retry_seconds=30
ftpfs_always_use_proxy=0
ftpfs_use_passive_connections=1
ftpfs_use_passive_connections_over_proxy=0
ftpfs_use_unix_list_options=1
ftpfs_first_cd_then_ls=1
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_fill_tabs_with_spaces=0
editor_return_does_auto_indent=0
editor_backspace_through_tabs=0
editor_fake_half_tabs=1
editor_option_save_mode=0
editor_option_save_position=1
editor_option_auto_para_formatting=0
editor_option_typewriter_wrap=0
editor_edit_confirm_save=1
editor_syntax_highlighting=1
editor_persistent_selections=1
editor_cursor_beyond_eol=0
editor_cursor_after_inserted_block=0
editor_visible_tabs=1
editor_visible_spaces=1
editor_line_state=0
editor_simple_statusbar=0
editor_check_new_line=0
editor_show_right_margin=0
editor_group_undo=1
editor_ask_filename_before_edit=0
nice_rotating_dash=1
mcview_remember_file_position=0
auto_fill_mkdir_name=1
copymove_persistent_attr=1
select_flags=6
editor_backup_extension=~
editor_filesize_threshold=64M
mcview_eof=
ignore_ftp_chattr_errors=true
skin=DiamondCool
[Layout]
message_visible=1
keybar_visible=1
xterm_title=1
output_lines=0
command_prompt=1
menubar_visible=1
free_space=1
horizontal_split=0
vertical_equal=1
left_panel_size=37
horizontal_equal=1
top_panel_size=1
[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=UTF-8
source_codepage=Other_8_bit
autodetect_codeset=
spell_language=en
clipboard_store=
clipboard_paste=
[Colors]
base_color=
xterm=
color_terminals=
[Panels]
show_mini_info=true
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=false
navigate_with_arrows=true
panel_scroll_pages=true
mouse_move_pages=true
filetype_mode=true
permission_mode=false
torben_fj_mode=false
quick_search_mode=2
simple_swap=false
[Panelize]
Find *.orig after patching=find . -name \\*.orig -print
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
Find rejects after patching=find . -name \\*.rej -print
Modified git files=git ls-files --modified

View File

@ -0,0 +1,666 @@
# Midnight Commander 3.0 extension file
# Warning: Structure of this file has changed completely with version 3.0
#
# All lines starting with # or empty lines are thrown away.
# Lines starting in the first column should have following format:
#
# keyword/descNL, i.e. everything after keyword/ until new line is desc
#
# keyword can be:
#
# shell (desc is, when starting with a dot, any extension (no wildcars),
# i.e. matches all the files *desc . Example: .tar matches *.tar;
# if it doesn't start with a dot, it matches only a file of that name)
#
# regex (desc is an extended regular expression)
# Please note that we are using the GNU regex library and thus
# \| matches the literal | and | has special meaning (or) and
# () have special meaning and \( \) stand for literal ( ).
#
# type (file matches this if `file %f` matches regular expression desc
# (the filename: part from `file %f` is removed))
#
# directory (matches any directory matching regular expression desc)
#
# include (matches an include directive)
#
# default (matches any file no matter what desc is)
#
# Other lines should start with a space or tab and should be in the format:
#
# keyword=commandNL (with no spaces around =), where keyword should be:
#
# Open (if the user presses Enter or doubleclicks it),
#
# View (F3), Edit (F4)
#
# Include is the keyword used to add any further entries from an include/
# section
#
# command is any one-line shell command, with the following substitutions:
#
# command is any one-line shell command, with the following substitutions:
#
# %% -> % character
# %p -> name of the current file (without path, but pwd is its path)
# %f -> name of the current file. Unlike %p, if file is located on a
# non-local virtual filesystem, i.e. either tarfs or ftpfs,
# then the file will be temporarily copied into a local directory
# and %f will be the full path to this local temporal file.
# If you don't want to get a local copy and want to get the
# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
# use %d/%p instead of %f.
# %d -> name of the current directory (pwd, without trailing slash)
# %s -> "selected files", i.e. space separated list of tagged files if any
# or name of the current file
# %t -> list of tagged files
# %u -> list of tagged files (they'll be untaged after the command)
#
# (If these 6 letters are in uppercase, they refer to the other panel.
# But you shouldn't have to use it in this file.)
#
#
# %cd -> the rest is a path mc should change into (cd won't work, since it's
# a child process). %cd handles even vfs names.
#
# %view -> the command you type will be piped into mc's internal file viewer
# if you type only the %view and no command, viewer will load %f file
# instead (i.e. no piping, so it is different to %view cat %f)
# %view may be directly followed by {} with a list of any of
# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
# text using backspace for bold and underscore) and unform
# (no highlighting for nroff sequences) separated by commas.
#
# %var -> You use it like this: %var{VAR:default}. This macro will expand
# to the value of the VAR variable in the environment if it's set
# otherwise the value in default will be used. This is similar to
# the Bourne shell ${VAR-default} construct.
#
# Rules are applied from top to bottom, thus the order is important.
# If some actions are missing, search continues as if this target didn't
# match (i.e. if a file matches the first and second entry and View action
# is missing in the first one, then on pressing F3 the View action from
# the second entry will be used. default should catch all the actions.
#
# Any new entries you develop for you are always welcome if they are
# useful on more than one system. You can post your modifications
# as tickets at www.midnight-commander.org
## Start ##
### GIT Repo ###
# gitfs changeset
regex/^\[git\]
Open=%cd %p/changesetfs://
View=%cd %p/patchsetfs://
### Archives ###
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk|\.gem$
Open=%cd %p/utar://
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
regex/\.tar\.bz$
# Open=%cd %p/utar://
View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
regex/\.t(ar\.bz2|bz2?|b2)$
Open=%cd %p/utar://
View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
# .tar.lzma, .tlz
regex/\.t(ar\.lzma|lz)$
Open=%cd %p/utar://
View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
# .tar.xz, .txz
regex/\.t(ar\.xz|xz)$
Open=%cd %p/utar://
View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
# .tar.F - used in QNX
regex/\.tar\.F$
# Open=%cd %p/utar://
View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
# .qpr/.qpk - QNX Neutrino package installer files
regex/\.(qp[rk])$
Open=%cd %p/utar://
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
# tar
regex/\.(tar|TAR)$
Open=%cd %p/utar://
View=%view{ascii} tar tvvf - < %f
# lha
type/^LHa\ .*archive
Open=%cd %p/ulha://
View=%view{ascii} lha l %f
# arj
regex/\.a(rj|[0-9][0-9])$
Open=%cd %p/uarj://
View=%view{ascii} unarj l %f
# cab
regex/\.([cC][aA][bB])$
Open=%cd %p/ucab://
View=%view{ascii} cabextract -l %f
# ha
regex/\.([Hh][Aa])$
Open=%cd %p/uha://
View=%view{ascii} ha lf %f
# rar
regex/\.[rR]([aA][rR]|[0-9][0-9])$
Open=%cd %p/urar://
View=%view{ascii} rar v -c- %f
# ALZip
regex/\.(alz|ALZ)$
Open=%cd %p/ualz://
View=%view{ascii} unalz -l %f
# cpio
shell/.cpio.Z
Open=%cd %p/ucpio://
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio.xz
Open=%cd %p/ucpio://
View=%view{ascii} xz -dc %f | cpio -itv 2>/dev/null
shell/.cpio.gz
Open=%cd %p/ucpio://
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio
Open=%cd %p/ucpio://
View=%view{ascii} cpio -itv < %f 2>/dev/null
# ls-lR
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
Open=%cd %p/lslR://
# patch
regex/\.(diff|patch)(\.bz2)$
Open=%cd %p/patchfs://
View=%view{ascii} bzip2 -dc %f 2>/dev/null
regex/\.(diff|patch)(\.(gz|Z))$
Open=%cd %p/patchfs://
View=%view{ascii} gzip -dc %f 2>/dev/null
regex/\.(diff|patch)$
Open=%cd %p/patchfs://
View=%view{ascii} /bin/cat %f 2>/dev/null
# ar library
regex/\.s?a$
Open=%cd %p/uar://
#Open=%view{ascii} ar tv %f
View=%view{ascii} file %f && nm -C %f
# trpm
regex/\.trpm$
Open=%cd %p/trpm://
View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
# RPM packages (SuSE uses *.spm for source packages)
regex/\.(src\.rpm|spm)$
Open=%cd %p/rpm://
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
regex/\.rpm$
Open=%cd %p/rpm://
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
# deb
regex/\.u?deb$
Open=%cd %p/deb://
View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
# dpkg
shell/.debd
Open=%cd %p/debd://
View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# apt
shell/.deba
Open=%cd %p/deba://
View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# ISO9660
regex/\.([iI][sS][oO])$
Open=%cd %p/iso9660://
View=%view{ascii} isoinfo -l -i %f
# Mailboxes
type/^ASCII\ mail\ text
Open=%cd %p/mailfs://
### Sources ###
# C
shell/.c
Include=editor
# Fortran
shell/.f
Include=editor
# Header
regex/\.(h|hpp)$
Include=editor
# Asm
shell/.s
Include=editor
# C++
regex/\.(C|cc|cpp)$
Include=editor
include/editor
Open=%var{EDITOR:vi} %f
# .so libraries
regex/\.(so|so\.[0-9\.]*)$
View=%view{ascii} file %f && nm -C -D %f
# Object
type/^ELF
#Open=%var{PAGER:more} %f
View=%view{ascii} file %f && nm -C %f
### Documentation ###
# Texinfo
#regex/\.(te?xi|texinfo)$
# GNU Info page
type/^Info\ text
Open=info -f %f
shell/.info
Open=info -f %f
# Exception: .3gp are video files not manual pages
regex/\.(3[gG][pP])$
Include=video
# Manual page
regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac
# Perl pod page
shell/.pod
Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more}
View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc
# Troff with me macros.
# Exception - "read.me" is not a nroff file.
shell/read.me
Open=
View=
# Manual page - compressed
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
# CHM
regex/\.(chm|CHM)$
Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
### Images ###
type/^GIF
Include=image
type/^JPEG
View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
Include=image
type/^PC\ bitmap
Include=image
type/^PNG
Include=image
type/^TIFF
Include=image
type/^PBM
Include=image
type/^PGM
Include=image
type/^PPM
Include=image
type/^Netpbm
Include=image
shell/.xcf
Open=(gimp %f &)
shell/.xbm
Open=bitmap %f
shell/.xpm
Include=image
View=sxpm %f
shell/.ico
Include=image
include/image
Open=(ristretto %f >/dev/null 2>&1 &)
View=(ristretto %f >/dev/null 2>&1 &)
#View=%view{ascii} asciiview %f
###mobi,epub###
type/^MOBI
Include=book
type/^EPUB
Include=book
include/book
Open=(calibre %f >/dev/null 2>&1 &)
### jar ###
type/^JAR
Include=jar
include/jar
Open=(java -jar %f >/dev/null 2>&1 &)
### Sound files ###
## ( %f >/dev/null 2>&1 &)
regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
#Open=
regex/\.([fF][lL][aA][cC])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
regex/\.([wW][aA][wW]22)$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
regex/\.([mM][pP]3)$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
regex/\.([oO][gG][gG|aA|vV|xX])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
View=%view{ascii} ogginfo %s
regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
regex/\.([wW][mM][aA])$
Open=(/opt/deadbeef/bin/deadbeef %f >/dev/null 2>&1 &)
View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
### Play lists ###
regex/\.([mM]3[uU]|[pP][lL][sS])$
Open=if [ -z "$DISPLAY" ]; then /opt/deadbeef/bin/deadbeef %f; else (xmms -p %f >/dev/null 2>&1 &); fi
### Video ###
regex/\.([aA][vV][iI])$
Include=video
regex/\.([aA][sS][fFxX])$
Include=video
regex/\.([dD][iI][vV][xX])$
Include=video
regex/\.([mM][kK][vV])$
Include=video
regex/\.([mM][oO][vV]|[qQ][tT])$
Include=video
regex/\.([mM][pP]4|[mM]4[vV]|[mM][pP][eE]?[gG])$
Include=video
# MPEG-2 TS container + H.264 codec
regex/\.([mM][tT][sS])$
Include=video
regex/\.([tT][sS])$
Include=video
regex/\.([vV][oO][bB])$
Include=video
regex/\.([wW][mM][vV])$
Include=video
regex/\.([fF][lL][iIcCvV])$
Include=video
regex/\.([oO][gG][mM])$
Include=video
regex/\.([rR][aA]?[mM])$
Open=(smplayer %f >/dev/null 2>&1 &)
include/video
Open=(mplayer %f >/dev/null 2>&1 &)
#Open=(gtv %f >/dev/null 2>&1 &)
#Open=(xanim %f >/dev/null 2>&1 &)
### Documents ###
# Postscript
type/^PostScript
Open=(gv %f &)
View=%view{ascii} ps2ascii %f
# PDF
type/^PDF
Open=(evince %f >/dev/null 2>&1 &)
#Open=(acroread %f &)
#Open=(ghostview %f &)
View=%view{ascii} pdftotext %f -
# The following code very ugly and should not be taken as example.
# It should be cleaned up when the new format of mc.ext is developed.
# html
regex/\.([hH][tT][mM][lL]?)$
Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
# StarOffice 5.2
shell/.sdw
Open=(libreoffice %f >/dev/null 2>&1 &)
# StarOffice 6 and OpenOffice.org formats
regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
Open=(libreoffice %f >/dev/null 2>&1 &)
View=%view{ascii} odt2txt %f
# AbiWord
shell/.abw
Open=(libreoffice %f >/dev/null 2>&1 &)
# Microsoft Word Document
regex/\.(doc|docx|dot|)$
Open=(libreoffice %f >/dev/null 2>&1 &)
View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
# RTF document
regex/\.([rR][tT][fF])$
Open=(nano %f >/dev/null 2>&1 &)
# Microsoft Excel Worksheet
regex/\.([xX][lL][sSwW])$
Open=(libreoffice %f >/dev/null 2>&1 &)
View=%view{ascii} xls2csv %f || strings %f
# DVI
regex/\.([dD][vV][iI])$
Open=run-mailcap %f 2>&1 &
View=%view{ascii} catdvi %f
# TeX
regex/\.([Tt][Ee][Xx])$
Include=editor
# DjVu
regex/\.(djvu?|DJVU?)$
Open=djview %f &
View=%view{ascii} djvused -e print-pure-txt %f
### Miscellaneous ###
# Makefile
regex/[Mm]akefile$
Open=make -f %f %{Enter parameters}
# Imakefile
shell/Imakefile
Open=xmkmf -a
# Makefile.PL (MakeMaker)
regex/^Makefile.(PL|pl)$
Open=%var{PERL:perl} %f
# dbf
regex/\.([dD][bB][fF])$
Open=%view{ascii} dbview %f
View=%view{ascii} dbview -b %f
# REXX script
regex/\.(rexx?|cmd)$
Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
# Disk images for Commodore computers (VIC20, C64, C128)
regex/\.(d64|D64)$
Open=%cd %p/uc1541://
View=%view{ascii} c1541 %f -list
Extract=c1541 %f -extract
# Glade, a user interface designer for GTK+ and GNOME
regex/\.([Gg][Ll][Aa][Dd][Ee])$
Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
# Gettext Catalogs
shell/.mo
View=%view{ascii} msgunfmt %f || cat %f
# lyx
regex/\.(lyx|LYX)$
Open=lyx %f
View=%view{ascii} lyxcat %f
# torrent
regex/\.([tT][oO][rR][rR][eE][nN][tT])$
Open=(qbittorrent %f >/dev/null 2>&1 &)
View=%view{ascii} ctorrent -x %f 2>/dev/null
### Plain compressed files ###
# ace
regex/\.(ace|ACE)$
Open=%cd %p/uace://
View=%view{ascii} unace l %f
Extract=unace x %f
# arc
regex/\.(arc|ARC)$
Open=%cd %p/uarc://
View=%view{ascii} arc l %f
Extract=arc x %f '*'
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
# zip
type/^([Zz][Ii][Pp])\ archive
Open=%cd %p/uzip://
View=%view{ascii} unzip -v %f
# zoo
regex/\.([Zz][Oo][Oo])$
Open=%cd %p/uzoo://
View=%view{ascii} zoo l %f
# gzip
type/^gzip
Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null
regex/\.(gz|Z)$
View=%view{ascii} gzip -dc %f 2>/dev/null
# bzip2
type/^bzip2
Open=bzip2 -dc %f | %var{PAGER:more}
View=%view{ascii} bzip2 -dc %f 2>/dev/null
regex/\.bz2?$
View=%view{ascii} bzip2 -dc %f 2>/dev/null
# bzip
type/^bzip
Open=bzip -dc %f | %var{PAGER:more}
View=%view{ascii} bzip -dc %f 2>/dev/null
# compress
type/^compress
Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null
# lzma
regex/\.lzma$
Open=lzma -dc %f | %var{PAGER:more}
View=%view{ascii} lzma -dc %f 2>/dev/null
# xz
regex/\.xz$
Open=xz -dc %f | %var{PAGER:more}
View=%view{ascii} xz -dc %f 2>/dev/null
### Default ###
# Default target for anything not described above
default/*
Open=
View=
### EOF ###

View File

@ -0,0 +1,748 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
Copy the file to $HOME/.config/openbox/ instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>no</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>yes</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>200</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>yes</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
<monitor>Primary</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>1</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or
'Active' - where the active window is -->
</placement>
<theme>
<name>Onyx</name>
<titleLayout>CMILN</titleLayout>
<!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>yes</keepBorder>
<animateIconify>yes</animateIconify>
<font place="ActiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuHeader">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuItem">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="ActiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session
these are default values to use when other ones are not already set
by other applications, or saved in your session
use obconf if you want to change these without having to log out
and back in -->
<number>4</number>
<firstdesk>1</firstdesk>
<names>
<!-- set names up here if you want to, like this:
<name>desktop 1</name>
<name>desktop 2</name>
-->
</names>
<popupTime>875</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>yes</drawContents>
<popupShow>Nonpixel</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>Center</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>10</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>10</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>0</top>
<bottom>0</bottom>
<left>0</left>
<right>0</right>
</margins>
<dock>
<position>TopLeft</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>0</floatingX>
<floatingY>0</floatingY>
<noStrut>no</noStrut>
<stacking>Above</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>Vertical</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>no</autoHide>
<hideDelay>300</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>300</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>Middle</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- Keybindings for desktop switching -->
<keybind key="C-A-Left">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Up">
<action name="GoToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Down">
<action name="GoToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Left">
<action name="SendToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Right">
<action name="SendToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Up">
<action name="SendToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Down">
<action name="SendToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-F1">
<action name="GoToDesktop">
<to>1</to>
</action>
</keybind>
<keybind key="W-F2">
<action name="GoToDesktop">
<to>2</to>
</action>
</keybind>
<keybind key="W-F3">
<action name="GoToDesktop">
<to>3</to>
</action>
</keybind>
<keybind key="W-F4">
<action name="GoToDesktop">
<to>4</to>
</action>
</keybind>
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
<!-- Keybindings for windows -->
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="A-Escape">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</keybind>
<keybind key="A-space">
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</keybind>
<!-- Take a screenshot of the current window with scrot when Alt+Print are pressed -->
<keybind key="A-Print">
<action name="Execute">
<command>scrot -s</command>
</action>
</keybind>
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="NextWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Tab">
<action name="NextWindow">
<panels>yes</panels>
<desktop>yes</desktop>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<!-- Keybindings for window switching with the arrow keys -->
<keybind key="W-S-Right">
<action name="DirectionalCycleWindows">
<direction>right</direction>
</action>
</keybind>
<keybind key="W-S-Left">
<action name="DirectionalCycleWindows">
<direction>left</direction>
</action>
</keybind>
<keybind key="W-S-Up">
<action name="DirectionalCycleWindows">
<direction>up</direction>
</action>
</keybind>
<keybind key="W-S-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<!-- Keybindings for running applications -->
<keybind key="W-e">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Konqueror</name>
</startupnotify>
<command>kfmclient openProfile filemanagement</command>
</action>
</keybind>
<!-- Launch scrot when Print is pressed -->
<keybind key="Print">
<action name="Execute">
<command>scrot</command>
</action>
</keybind>
</keyboard>
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context name="Frame">
<mousebind button="A-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="A-Left" action="Click">
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="A-Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Right" action="Drag">
<action name="Resize"/>
</mousebind>
<mousebind button="A-Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="A-S-Up" action="Click">
<action name="SendToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-S-Down" action="Click">
<action name="SendToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
<context name="Titlebar">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
<then>
<action name="Shade"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
<action name="Lower"/>
</then>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="if">
<shaded>yes</shaded>
<then>
<action name="Unshade"/>
<action name="Raise"/>
</then>
</action>
</mousebind>
</context>
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>top</edge>
</action>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>left</edge>
</action>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>right</edge>
</action>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>bottom</edge>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Middle" action="Click">
<action name="ToggleMaximize">
<direction>vertical</direction>
</action>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ToggleMaximize">
<direction>horizontal</direction>
</action>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Desktop">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<!-- Menus -->
<mousebind button="Middle" action="Press">
<action name="ShowMenu">
<menu>client-list-combined-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</mousebind>
</context>
<context name="MoveResize">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
</mouse>
<menu>
<!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless -->
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
<!-- system menu files on Debian systems -->
<file>/var/lib/openbox/debian-menu.xml</file>
<file>menu.xml</file>
<hideDelay>200</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again -->
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>400</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>yes</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
<applications>
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
# you may use one or more of the name/class/role/title/type rules to specify
# windows to match
<application name="the window's _OB_APP_NAME property (see obxprop)"
class="the window's _OB_APP_CLASS property (see obxprop)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
role="the window's _OB_APP_ROLE property (see obxprop)"
title="the window's _OB_APP_TITLE property (see obxprop)"
type="the window's _OB_APP_TYPE property (see obxprob)..
(if unspecified, then it is 'dialog' for child windows)">
# you may set only one of name/class/role/title/type, or you may use more
# than one together to restrict your matches.
# the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
# or desktop
# when multiple rules match a window, they will all be applied, in the
# order that they appear in this list
# each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# enable or disable window decorations
<shade>no</shade>
# make the window shaded when it appears, or not
<position force="no">
# the position is only used if both an x and y coordinate are provided
# (and not set to 'default')
# when force is "yes", then the window will be placed here even if it
# says you want it placed elsewhere. this is to override buggy
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
# the right edge (or bottom). use 'default' to specify using value
# provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
# 1 is the first head, or 'mouse' for wherever the mouse is
</position>
<size>
# the size to make the window.
<width>20</width>
# a number like 20, or 'default' to use the size given by the application.
# you can use fractions such as 1/2 or percentages such as 75% in which
# case the value is relative to the size of the monitor that the window
# appears on.
<height>30%</height>
</size>
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to
<desktop>1</desktop>
# 1 is the first desktop, 'all' for all desktops
<layer>normal</layer>
# 'above', 'normal', or 'below'
<iconic>no</iconic>
# make the window iconified when it appears, or not
<skip_pager>no</skip_pager>
# asks to not be shown in pagers
<skip_taskbar>no</skip_taskbar>
# asks to not be shown in taskbars. window cycling actions will also
# skip past such windows
<fullscreen>yes</fullscreen>
# make the window in fullscreen mode when it appears
<maximized>true</maximized>
# 'Horizontal', 'Vertical' or boolean (yes/no)
</application>
# end of the example
-->
</applications>
</openbox_config>

View File

@ -0,0 +1,798 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
Copy the file to $HOME/.config/openbox/ instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>no</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>yes</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>200</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>yes</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
<monitor>Primary</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>1</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or
'Active' - where the active window is -->
</placement>
<theme>
<name>Onyx</name>
<titleLayout>CMILN</titleLayout>
<!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>yes</keepBorder>
<animateIconify>yes</animateIconify>
<font place="ActiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuHeader">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuItem">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="ActiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session
these are default values to use when other ones are not already set
by other applications, or saved in your session
use obconf if you want to change these without having to log out
and back in -->
<number>4</number>
<firstdesk>1</firstdesk>
<names>
<!-- set names up here if you want to, like this:
<name>desktop 1</name>
<name>desktop 2</name>
-->
</names>
<popupTime>875</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>yes</drawContents>
<popupShow>Nonpixel</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>Center</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>10</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>10</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>0</top>
<bottom>0</bottom>
<left>0</left>
<right>0</right>
</margins>
<dock>
<position>TopLeft</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>0</floatingX>
<floatingY>0</floatingY>
<noStrut>no</noStrut>
<stacking>Above</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>Vertical</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>no</autoHide>
<hideDelay>300</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>300</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>Middle</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- Keybindings for desktop switching -->
<keybind key="C-A-Left">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Up">
<action name="GoToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Down">
<action name="GoToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Left">
<action name="SendToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Right">
<action name="SendToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Up">
<action name="SendToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Down">
<action name="SendToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-F1">
<action name="GoToDesktop">
<to>1</to>
</action>
</keybind>
<keybind key="W-F2">
<action name="GoToDesktop">
<to>2</to>
</action>
</keybind>
<keybind key="W-F3">
<action name="GoToDesktop">
<to>3</to>
</action>
</keybind>
<keybind key="W-F4">
<action name="GoToDesktop">
<to>4</to>
</action>
</keybind>
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
<!-- Keybindings for windows -->
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="A-Escape">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</keybind>
<keybind key="A-space">
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</keybind>
<!-- Take a screenshot of the current window with scrot when Alt+Print are pressed -->
<keybind key="A-Print">
<action name="Execute">
<command>scrot -s</command>
</action>
</keybind>
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="NextWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Tab">
<action name="NextWindow">
<panels>yes</panels>
<desktop>yes</desktop>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<!-- Keybindings for window switching with the arrow keys -->
<keybind key="W-S-Right">
<action name="DirectionalCycleWindows">
<direction>right</direction>
</action>
</keybind>
<keybind key="W-S-Left">
<action name="DirectionalCycleWindows">
<direction>left</direction>
</action>
</keybind>
<keybind key="W-S-Up">
<action name="DirectionalCycleWindows">
<direction>up</direction>
</action>
</keybind>
<keybind key="W-S-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<!-- Keybindings for running applications -->
<keybind key="W-e">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Konqueror</name>
</startupnotify>
<command>kfmclient openProfile filemanagement</command>
</action>
</keybind>
<!-- Launch scrot when Print is pressed -->
<keybind key="Print">
<action name="Execute">
<command>scrot</command>
</action>
</keybind>
</keyboard>
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context name="Frame">
<mousebind button="A-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="A-Left" action="Click">
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="A-Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Right" action="Drag">
<action name="Resize"/>
</mousebind>
<mousebind button="A-Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-S-Up" action="Click">
<action name="SendToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-S-Down" action="Click">
<action name="SendToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
<context name="Titlebar">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
<then>
<action name="Shade"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
<action name="Lower"/>
</then>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="if">
<shaded>yes</shaded>
<then>
<action name="Unshade"/>
<action name="Raise"/>
</then>
</action>
</mousebind>
</context>
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>top</edge>
</action>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>left</edge>
</action>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>right</edge>
</action>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>bottom</edge>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Middle" action="Click">
<action name="ToggleMaximize">
<direction>vertical</direction>
</action>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ToggleMaximize">
<direction>horizontal</direction>
</action>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Desktop">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<!-- Menus -->
<mousebind button="Middle" action="Press">
<action name="ShowMenu">
<menu>client-list-combined-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</mousebind>
</context>
<context name="MoveResize">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
</mouse>
<menu>
<!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless -->
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
<!-- system menu files on Debian systems -->
<file>/var/lib/openbox/debian-menu.xml</file>
<file>menu.xml</file>
<hideDelay>200</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again -->
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>400</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>yes</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
<applications>
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
# you may use one or more of the name/class/role/title/type rules to specify
# windows to match
<application name="the window's _OB_APP_NAME property (see obxprop)"
class="the window's _OB_APP_CLASS property (see obxprop)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
role="the window's _OB_APP_ROLE property (see obxprop)"
title="the window's _OB_APP_TITLE property (see obxprop)"
type="the window's _OB_APP_TYPE property (see obxprob)..
(if unspecified, then it is 'dialog' for child windows)">
# you may set only one of name/class/role/title/type, or you may use more
# than one together to restrict your matches.
# the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
# or desktop
# when multiple rules match a window, they will all be applied, in the
# order that they appear in this list
# each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# enable or disable window decorations
<shade>no</shade>
# make the window shaded when it appears, or not
<position force="no">
# the position is only used if both an x and y coordinate are provided
# (and not set to 'default')
# when force is "yes", then the window will be placed here even if it
# says you want it placed elsewhere. this is to override buggy
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
# the right edge (or bottom). use 'default' to specify using value
# provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
# 1 is the first head, or 'mouse' for wherever the mouse is
</position>
<size>
# the size to make the window.
<width>20</width>
# a number like 20, or 'default' to use the size given by the application.
# you can use fractions such as 1/2 or percentages such as 75% in which
# case the value is relative to the size of the monitor that the window
# appears on.
<height>30%</height>
</size>
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to
<desktop>1</desktop>
# 1 is the first desktop, 'all' for all desktops
<layer>normal</layer>
# 'above', 'normal', or 'below'
<iconic>no</iconic>
# make the window iconified when it appears, or not
<skip_pager>no</skip_pager>
# asks to not be shown in pagers
<skip_taskbar>no</skip_taskbar>
# asks to not be shown in taskbars. window cycling actions will also
# skip past such windows
<fullscreen>yes</fullscreen>
# make the window in fullscreen mode when it appears
<maximized>true</maximized>
# 'Horizontal', 'Vertical' or boolean (yes/no)
</application>
# end of the example
-->
</applications>
</openbox_config>

View File

@ -0,0 +1,18 @@
[global_config]
title_inactive_fg_color = "#00e8ff"
title_receive_fg_color = "#00e8ff"
title_transmit_fg_color = "#00e8ff"
[keybindings]
[profiles]
[[default]]
background_type = transparent
foreground_color = "#00e8ff"
[layouts]
[[default]]
[[[child1]]]
type = Terminal
parent = window0
[[[window0]]]
type = Window
parent = ""
[plugins]

View File

@ -0,0 +1,37 @@
( if
( or
( contains ( application_name ) "xterm" )
( contains ( application_name ) "filezilla" )
( contains ( application_name ) "nitrogen" )
( contains ( application_name ) "synaptic" )
( contains ( application_name ) "qBittorrent" )
( contains ( application_name ) "deadbeef" )
( contains ( application_name ) "SimpleScreenRecorder" )
( contains ( application_name ) "Leafpad" )
( contains ( application_name ) "gtkdialog" )
( contains ( application_name ) "Atom" )
)
( begin
( spawn_async (str "transset -i" (window_xid) " 0.85" )
)
)
)
( if
( or
( contains ( application_name ) "Panel" )
( contains ( application_name ) "haguichi" )
)
( begin
( spawn_async (str "transset -i" (window_xid) " 0.65" )
)
)
)
(if (and (contains (application_name) "java") (contains (window_name) "Desktop"))
(begin
(below)
(fullscreen)
(wintype "splashscreen")
)
)

View File

@ -0,0 +1,11 @@
; generated_rule terminalPos
( if
( begin
( is ( application_name ) "LEFT_TERM" )
)
( begin
( pin )
( geometry "726x830+0+130" )
( println "match" )
)
)

View File

@ -0,0 +1,23 @@
if (get_window_name()=="LEFT_TERM") then
-- x,y, xsize, ysize
set_window_geometry(1600,300,700,800);
end
if (get_window_name()=="RIGHT_TERM") then
-- x,y, xsize, ysize
set_window_geometry(1600,300,700,800);
end
if (get_window_name()=="TOP_TERM") then
-- x,y, xsize, ysize
set_window_geometry(1600,300,700,500);
end
if (get_window_name()=="BOTTOM_TERM") then
-- x,y, xsize, ysize
set_window_geometry(1600,300,700,500);
end

View File

@ -0,0 +1,248 @@
/*
Autoproperties. The default template and simple course of autopropping
to help you add your own autoproperties. See the documentation for
more keywords and the rest of what is possible through this file.
First, it's good to note that you can't just make up the property
string, you need to use a program called 'xprop' to show it. Please
conduct the documentation.
Another good tip is to make sure you have an ApplyOn entry. The
autoproperties you define won't do any good if you don't tell pekwm
when to apply them!
Third tip. You can't match a window with more than one property. The
first one that matches will be used, the rest ignored (see the gimp
example).
Note that the default entries are commented out, don't comment out your
own autoproperties. :)
*/
Require {
Templates = "True"
}
/*
Group terminal applications
*/
# Property = "(term|rxvt),(erm|xvt)" {
# ApplyOn = "New"
# Group = "term" {
# Size = "5"
# FocusedFirst = "True"
# Raise = "True"
# }
# }
/*
Remove decor of customize toolbar window of mozilla firefox.
*/
Property = "^(gecko|Gecko|firefox-bin),^Firefox-bin,,^Customize Toolbar\$" {
ApplyOn = "Start New TransientOnly"
Border = "False"
Titlebar = "False"
}
/*
Auto-group up to 10 mozilla download windows to group you call "moz-dl",
using a WM_CLASS and specifying the the download window using the
begining of its title. Make the windows go to the top-left corner of
your workspace and place them under other windows. Do this when new
windows show up, also to so called transient windows.
*/
# Property = "^mozilla-bin,^Mozilla-bin,,^Saving" {
# ApplyOn = "New Transient"
# Group = "moz-dl" { Size = "10" }
# FrameGeometry = "+0+0"
# Layer = "Below"
# }
/*
Group together up to two windows that have a WM_CLASS that matches the
property. Start these windows on workspace two.
*/
# Property = "^Mozilla,^navigator:browser" {
# ApplyOn = "Start New Workspace"
# Workspace = "2"
# }
/*
Group together an infinite number of windows that match the property.
When new windows are opened to this group, never make them the active
window of the group, but open them in the background. Make these
autoproperties apply on every pekwm start or when a new window is opened.
*/
# Property = "^dillo,^Dillo" {
# ApplyOn = "Start New"
# Group = "dillo" { Size = "0"; Behind = "True" }
# }
/*
Put property matching windows under other windows and make the window
appear on every workspace. Do not show matching windows on the pekwm
goto menus, do not include them in frame switching (mod1+tab) and do
not let other windows snap to them. Do this on pekwm start or when new
window is opened, also include transient windows (in the example,
xmms playlist and equalizer are transients).
*/
# Property = ".*,^xmms" {
# ApplyOn = "Start New Transient"
# Layer = "Desktop"
# Sticky = "True"
# Skip = "Menus FocusToggle Snap"
# }
/*
Remove Gimp windows from the menus, only show the main toolbox window.
Use the WM_WINDOW_ROLE to tell the difference between gimp windows.
First make sure the toolbox window doesn't get confused with the rest
of the windows. This just tells pekwm to ignore any matches for the
toolbox later on. Without this, the toolbox would match with "the rest
of the windows" and get ignored from the pekwm menus! We don't want that.
*/
# Property = "^gimp,^Gimp,gimp-toolbox" {
# ApplyOn = "Start New"
# }
/*
The Crop dialog always gets in the way, put it in the corner but place
it above other windows anyways. Don't show the window in pekwm menus.
*/
# Property = "^gimp,^Gimp,gimp-crop-tool" {
# ApplyOn = "Start New"
# Layer = "OnTop"
# FrameGeometry = "+0+0"
# Skip = "Menus"
# }
/*
The rest of the gimp windows should not show in pekwm menus eather.
*/
# Property = ".gimp,^Gimp" {
# ApplyOn = "Start New"
# Skip = "Menus";
# }
/*
This should start making sense to you by now.
*/
# Property = "^gkrellm,^Gkrellm" {
# ApplyOn = "Start New"
# Sticky = "True"
# Skip = "Menus FocusToggle"
# Layer = "Desktop"
# }
/*
Some useful standard application xclock xload and xbiff. This should
be fairly clear to you. In addition to what you've allready learned,
we make the windows appear without titlebars and borders. We are also
using the geometry in all its glory, defining the windows size in
addition to its position.
*/
# Property = "^xclock,^XClock" {
# ApplyOn = "Start New"
# ClientGeometry = "120x137+0-137"
# Border = "False"; Titlebar = "False"
# Sticky = "True"
# Layer = "Desktop"
# Skip = "Menus FocusToggle Snap"
# }
#
# Property = "^xload,^XLoad" {
# ApplyOn = "Start New"
# ClientGeometry = "560x137+120-137"
# Border = "False"; Titlebar = "False"
# Sticky = "True"
# Layer = "Desktop"
# Skip = "Menus FocusToggle Snap"
# }
#
# Property = "^xbiff,^XBiff" {
# ApplyOn = "Start New"
# ClientGeometry = "120x137-120-137"
# Border = "False"; Titlebar = "False"
# Sticky = "True"
# Layer = "Desktop"
# Skip = "Menus FocusToggle Snap"
# }
// End of autoproperties. -------------------------
TypeRules {
INCLUDE = "$_PEKWM_ETC_PATH/autoproperties_typerules"
}
/*
Next, we do some siple window title rewriting.
To make it simple, you can automatically make some windows get their
title edited. Cut out an annoying piece, add text, replace text.
This all happens in it's own section "TitleRules {}".
I don't like the way dillo uses its titlebar, it says "Dillo: webpage".
I want that "Dillo:" part to not show in the beginning, instead I want
to make it show as "webpage - dillo".
Then again, the "webpage - Mozilla Firefox" is too long for my taste.
I shorten it in the second titlerule. And I'll place the shortened text
in the beginning of the title just as a show how.
*/
# TitleRules {
# Property = "^dillo,^Dillo" {
# Rule = "/Dillo: (.*)/\\1 - dillo/"
# }
# Property = "^firefox-bin,^Firefox-bin" {
# Rule = "/(.*) - Mozilla Firefox/MF: \\1/"
# }
# }
// End of titlerules. -----------------------------
/*
Then for some harbour ordering done in it's own "Harbour {}" section.
This is simple really, but you might want to check the documentation on
how the positions work.
Obpager is allways the last dockapp, the cpuload application is the
first, and wmnd will get placed in the centre.
*/
# Harbour {
# Property = "^obpager,^obpager" {
# Position = "-1"
# }
# Property = ".*,.*cpuload" {
# Position = "1"
# }
# Property = ".*,^wmnd" {
# Position = "0"
# }
# }
// End of harbour order rules. --------------------
/*
Last, if you have a theme that supports it, or you have hacked one up
yourself, you can use the "DecorRules {}" section to make windows show
up with independent decorations.
Here we tell our terminal windows to use the special TERM decoration
section found from your theme. Note that this _needs_ a theme that
supports it.
*/
# DecorRules {
# Property = "^term,^xterm" {
# Decor = "TERM"
# }
# }

View File

@ -0,0 +1,39 @@
INCLUDE = "$_PEKWM_ETC_PATH/config_system"
Files {
Theme = "/usr/share/pekwm/themes/vista_black"
}
Screen {
Workspaces = "3"
WorkspacesPerRow = "3"
WorkspaceNames = "01;02;03;"
Placement {
Model = "MouseCentered"
WorkspacePlacements = "CenteredOnParent;MouseCentered"
TransientOnParent = "True"
WorkspaceIndicatorOpacity = "50"
Smart {
Row = "False"
OffsetX = "0"
OffsetY = "0"
}
}
Menu {
DisplayIcons = "True"
UnfocusOpacity = "50"
Icons = "Final Order" {
Minimum = "16x16"
Maximum = "16x16"
}
Files {
Keys = "~/.pekwm/keys"
Mouse = "~/.pekwm/mouse"
Menu = "~/.pekwm/menu"
Start = "~/.pekwm/start"
AutoProps = "~/.pekwm/autoproperties"
Theme = "/usr/share/pekwm/themes/vista_black"
Icons = "~/.pekwm/icons/"
}

View File

@ -0,0 +1,16 @@
INCLUDE = "vars"
Global {
# - - ----------------------------------------------- - -
# Simple bindings to most frequently used actions.
#
# Adding your own frequently used actions is easy -
# just copy it over from CHAINS and edit the keypress!
#Arp Crunch Apps
Keypress = "Mod4 m" { Actions = "ShowMenu GotoClient True" }
Keypress = "Mod4 r" { Actions = "Exec terminator -x sudo reboot &" }
Keypress = "Mod4 l" { Actions = "Exec i3lock -c 000000" }
Keypress = "Mod4 s" { Actions = "Exec terminator -x sudo poweroff &" }
Keypress = "Mod4 t" { Actions = "Exec terminator &" }
}

View File

@ -0,0 +1,198 @@
# Menu config for pekwm
# Variables
INCLUDE = "vars"
RootMenu = "(----)" {
Separator {}
Submenu = "(--Main--)" {
Separator {}
Submenu = "[--System--]" {
Separator {}
Submenu = "[--Settings--]" {
Entry = "Gufw[Firewall-Mngr]" { Actions = "Exec gksu gufw &" }
Entry = "Wicd[Netwrk-Mngr]" { Actions = "Exec terminator -x wicd-curses &" }
Entry = "DSL/PPPoE configuration tool" { Actions = "Exec xterm -e pppoeconf &" }
Entry = "LXAppearance" { Actions = "Exec lxappearance &" }
Entry = "Nitrogen" { Actions = "Exec nitrogen &" }
Entry = "ARandR" { Actions = "Exec arandr &" }
Entry = "Nvidia Settings" { Actions = "Exec gksu nvidia-settings &" }
}
Separator {}
Entry = "Synaptic Package Manager" { Actions = "Exec x-terminal-emulator -e synaptic-pkexec &" }
Entry = "Aptitude Package Manager (text)" { Actions = "Exec terminator -x aptitude-curses &" }
Entry = "PlayOnLinux" { Actions = "Exec playonlinux &" }
Entry = "VirtualBox" { Actions = "Exec virtualbox &" }
Entry = "GParted" { Actions = "Exec su-to-root -X -c /usr/sbin/gparted &" }
Entry = "Bleachbit[Su]" { Actions = "Exec gksu bleachbit &" }
Entry = "Bleachbit" { Actions = "Exec bleachbit &" }
Entry = "Orphaner (libs)" { Actions = "Exec xterm -e su-to-root -c /usr/sbin/orphaner &" }
Entry = "Gdebi[Pkg-Installer]" { Actions = "Exec gksu gdebi &" }
Entry = "Ubuntu Builder" { Actions = "Exec ubuntu-builder &" }
Entry = "Htop" { Actions = "Exec xterm -e htop &" }
}
Separator {}
Submenu = "[--Multimedia--]" {
Entry = "SMPlayer2[Movie-Player]" { Actions = "Exec smplayer2 &" }
Entry = "Aegisub[SubTitleEditor]" { Actions = "Exec aegisub-3.0 &" }
Entry = "SubDownloader" { Actions = "Exec subdownloader &" }
Entry = "DeadBeef[Music-Player]" { Actions = "Exec /opt/deadbeef/bin/deadbeef &" }
Entry = "OpenShot[Video-Editor]" { Actions = "Exec openshot &" }
Entry = "SimpleScreenRecorder" { Actions = "Exec simplescreenrecorder --logfile &" }
Entry = "Guvcview[WebCam]" { Actions = "Exec guvcview &" }
Entry = "Pavucontrol[Audio-Ctrls]" { Actions = "Exec pavucontrol &" }
}
Separator {}
Submenu = "[--Office--]" {
Entry = "LibreOffice" { Actions = "Exec libreoffice &" }
Entry = "LibreOffice-Writer" { Actions = "Exec libreoffice --writer &" }
Entry = "LibreOffice-Impress" { Actions = "Exec libreoffice --impress &" }
Entry = "LibreOffice-Calc" { Actions = "Exec libreoffice --calc &" }
Entry = "Sumatra[Pdf & Ebook-Viewer]" { Actions = "Exec /usr/sbin/sumatra &" }
}
Separator {}
Submenu = "[--Graphics--]" {
Entry = "The GIMP[Img-Editor]" { Actions = "Exec gimp &" }
Entry = "ImageMagick[Img-Editor]" { Actions = "Exec display.im6 logo: &" }
Entry = "Mirage[Img-Viewer]" { Actions = "Exec mirage &" }
}
Separator {}
Submenu = "[--Internet--]" {
Entry = "Firefox[Web]" { Actions = "Exec firefox &" }
Entry = "FileZilla[FTP-Client]" { Actions = "Exec filezilla &" }
Entry = "QBittorrent" { Actions = "Exec qbittorrent &" }
Entry = "Xchat[IRC]" { Actions = "Exec xchat &" }
Entry = "Skype" { Actions = "Exec skype &" }
}
Separator {}
Submenu = "[--Games--]" {
Entry = "Steam" { Actions = "Exec steam &" }
Entry = "DOSBox" { Actions = "Exec dosbox &" }
Entry = "GtkBoard" { Actions = "Exec gtkboard &" }
Entry = "PrBoom+" { Actions = "Exec prboom-plus &" }
Entry = "Freedoom-Phase 1" { Actions = "Exec /usr/games/freedoom1 &" }
Entry = "Freedoom-Phase 2" { Actions = "Exec /usr/games/freedoom2 &" }
}
Separator {}
Submenu = "[--Accessories--]" {
Entry = "SpaceFM[File-Mngr]" { Actions = "Exec spacefm &" }
Entry = "SpaceFM-File Search" { Actions = "Exec spacefm --find-files &" }
Entry = "PyRenamer[Bulk File Re-name]" { Actions = "Exec pyrenamer &" }
Entry = "Midnight-Commander[File-Mngr]" { Actions = "Exec terminator -x mc &" }
Entry = "Ranger[File-Mngr]" { Actions = "Exec xterm -e ranger &" }
Entry = "Galculator" { Actions = "Exec galculator &" }
Entry = "Leafpad" { Actions = "Exec leafpad &" }
Entry = "Nano[Text Editor]" { Actions = "Exec terminator -x nano &" }
Entry = "Xarchiver" { Actions = "Exec xarchiver &" }
Entry = "QuickSynergy" { Actions = "Exec quicksynergy &" }
Entry = "Terminator[Terminal]" { Actions = "Exec terminator &" }
Entry = "Xterm" { Actions = "Exec xterm &" }
Entry = "Screenshot" { Actions = "Exec xfce4-screenshooter &" }
}
Separator {}
Submenu = "[--Development--]" {
Entry = "Geany[IDE-Like-TextEditor]" { Actions = "Exec geany &" }
}
}
Submenu = "(--Pekwm--)" {
Submenu = "Themes" {
Entry { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_themeset.sh $_PEKWM_THEME_PATH" }
Entry { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_themeset.sh ~/.pekwm/themes" }
}
Entry = "Reload" { Actions = "Reload" }
Entry = "Restart" { Actions = "Restart" }
Entry = "Exit" { Actions = "Exit" }
}
Separator {}
Entry = "Firefox[Web]" { Actions = "Exec firefox &" }
Entry = "Spacefm[File-Mngr]" { Actions = "Exec spacefm &" }
Entry = "Terminator[Terminal]" { Actions = "Exec terminator &" }
Submenu = "(--Desktop Features & Other--)" {
Entry = "Idesk[DesktopIconStarter]" { Actions = "Exec idesk &" }
Entry = "Idesk[DesktopIconStopper]" { Actions = "Exec terminator -x pkill idesk &" }
Entry = "Idesk[IconMaker]" { Actions = "Exec terminator -x $HOME/Desktop/idesk.sh &" }
Entry = "Keyboard Backlight On" { Actions = "Exec xset led 3 &" }
Entry = "Keyboard Backlight Off" { Actions = "Exec xset -led 3 &" }
}
Separator {}
Submenu = "(--Go to--)" {
SubMenu = "Workspace" {
# Create goto menu once per pekwm config reload. The fast way that
# will work for most if not all users.
COMMAND = "$_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh goto"
# Create goto menu every time the menu is opened. The slow way.
# This is what you want if you are using external tools to make
# the amount of workspaces something else than what you define in
# ~/.pekwm/config. You will know if you want this.
# Entry = "" { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh goto dynamic" }
}
Entry = "Window.." { Actions = "ShowMenu GotoClient True" }
}
}
WindowMenu = "Window Menu" {
Entry = "(Un)Stick" { Actions = "Toggle Sticky" }
Entry = "(Un)Shade" { Actions = "Toggle Shaded" }
Entry = "Iconify" { Actions = "Set Iconified" }
Entry = "Command.." { Actions = "ShowCmdDialog" }
Submenu = "Maximize" {
Entry = "Toggle Full" { Actions = "Toggle Maximized True True" }
Entry = "Toggle Horizontal" { Actions = "Toggle Maximized True False" }
Entry = "Toggle Vertical" { Actions = "Toggle Maximized False True" }
}
Submenu = "Fill" {
Entry = "Full" { Actions = "MaxFill True True" }
Entry = "Horizontal" { Actions = "MaxFill True False" }
Entry = "Vertical" { Actions = "MaxFill False True" }
}
Submenu = "Stacking" {
Entry = "Raise" { Actions = "Raise" }
Entry = "Lower" { Actions = "Lower" }
Entry = "Toggle Always On Top" { Actions = "Toggle AlwaysOnTop" }
Entry = "Toggle Always Below" { Actions = "Toggle AlwaysBelow" }
}
Submenu = "Decorations" {
Entry = "Toggle Decorations" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
Entry = "Toggle Borders" { Actions = "Toggle DecorBorder" }
Entry = "Toggle Titlebar" { Actions = "Toggle DecorTitlebar" }
}
Submenu = "Skip" {
Entry = "Toggle showing this frame in menus" { Actions = "Toggle Skip Menus" }
Entry = "Toggle including this frame in focus toggle" { Actions = "Toggle Skip FocusToggle" }
Entry = "Toggle if this frame snaps to other windows" { Actions = "Toggle Skip Snap" }
}
SubMenu = "Send To" {
# Create sendto menu once per pekwm config reload. The fast way that
# will work for most if not all users.
COMMAND = "$_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh send"
# Create sendto menu every time the menu is opened. The slow way.
# This is what you want if you are using external tools to make
# the amount of workspaces something else than what you define in
# ~/.pekwm/config. You will know if you want this.
# Entry = "" { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh send dynamic" }
}
Separator {}
Entry = "Close" { Actions = "Close" }
Submenu = "Kill" { Entry = "Kill application" { Actions = "Kill" } }
}

View File

@ -0,0 +1,15 @@
# Swap comments on the two following lines to switch betwen
# click does not raise and click to raise.
#$CLIENT_CLICK = "Focus"
$CLIENT_CLICK = "Focus; Raise"
# Base mouse configuration
INCLUDE = "$_PEKWM_ETC_PATH/mouse_system"
# Swap comments on the two folling lines to switch between
# sloppy and click to focus
#INCLUDE = "$_PEKWM_ETC_PATH/mouse_sloppy"
INCLUDE = "$_PEKWM_ETC_PATH/mouse_click"
# Add configuration overrides here, it possible to add sections,
# sub-section and values overriding/adding specific values.

View File

@ -0,0 +1,33 @@
#!/bin/sh
# PekWM start file
# This file is a simple shell script; It gets run on pekwm startup, after
# the theme and all config has loaded if it is set executable
# (chmod +x start).
#
# This is different from ~/.xinitrc because a normal configuration of
# .xinitrc you'll run all commands, then launch the window manager last.
#
# It also gets re-run every time pekwm is restarted.
#
# As for it's usefulness, well, it's up to you. I actually set my background
# from my start file; since it runs after the theme gets loaded, this
# effectively overrides whatever's in the theme.
#
# There's probably a few other good uses for it, too. I mainly pushed for it
# because when I was doing fluxbox's docs, people used to complain that there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez
exec /lib/ufw/ufw-init start &
exec stjerm -k f8 -o 50 -fg 00e8ff -ah 0 -p left -h 800 -w 700 &
exec stjerm -k f9 -o 50 -fg 00e8ff -ah 0 -p right -h 800 -w 700 &
exec stjerm -k f12 -o 50 -fg 00e8ff -ah 0 -p top -h 500 -w 700 &
exec stjerm -k f10 -o 50 -fg 00e8ff -ah 0 -p bottom -h 500 -w 700 &
exec xset led 3 &
exec xcompmgr &
exec spacefm --desktop &
exec xfce4-panel &
sleep 1
exec megasync &
exec $HOME/.animatedBGstarter.sh &
sleep 1
exec $HOME/.animatedBGstarter2.sh &
exec pulseaudio --start &

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Some files were not shown because too many files have changed in this diff Show More