Compare commits

..

No commits in common. "main" and "no-install-recommends" have entirely different histories.

33 changed files with 1642 additions and 2460 deletions

View file

@ -1,9 +0,0 @@
MIT License
Copyright (c) 2024 DeltaLima
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,36 +1,22 @@
# nanodesk - lightweight linux (live) desktop # nanodesk - leightweight linux (live) desktop
Origin: https://git.la10cy.net/DeltaLima/nanodesk Origin: https://git.la10cy.net/DeltaLima/nanodesk
nanodesk is a lightweight debian linux flavor/distribution, using the nanodesk is a less resources consuming debian linux "distribution" using the
jwm window manager. jwm window manager, which I made for fun and learning.
This is just a fun and learning project. My goal is to have a (live) system "distribution" because, it is just a debootstrap with some extra packages and
which is very lightweight and still usable too as daily driver. custom jwm config, baked together with live-boot and a little installer script
for installing nanodesk on a harddrive.
My goal is to have a (live) system which is very lightweight and still usable too.
This is for a VM where you need a basic graphical environment or for an old computer This is for a VM where you need a basic graphical environment or for an old computer
with less resources. with less resources.
## The Operating System
Actual nanodesk uses **Debian 12 bookworm** as base. It comes with following
programs preinstalled by default
- JWM Window Manager
- Falkon Web browser
- PCManFM Filemanager
- Connman Network Manager
- X File Explorer Suite
- qpdfview PDF and Image Viewer
- GParted Partition Manager
- Synaptic Package Manager
- LXTerminal Terminal Emulator
See [Customize nanodesk](#customize-nanodesk) to learn more about how to add
your own packages and so on.
## Screenshots ## Screenshots
The most important thing about a linux distro are the screenshots. :p The most important thing about a completely useless linux distro are the screenshots.
Here you go! Here you go!
@ -47,62 +33,50 @@ Here you go!
![nanodesk_6](screenshots/nanodesk_6.png) ![nanodesk_6](screenshots/nanodesk_6.png)
![nanodesk_7-n-i-gxm](screenshots/nanodesk_7-n-i-gxm.png)
![nanodesk_7](screenshots/nanodesk_7.png) ![nanodesk_7](screenshots/nanodesk_7.png)
![nanodesk_7](screenshots/nanodesk_8.png)
## Build it your own! ## Build it your own!
If you want to build nanodesk by your own, maybe with your own customisations - `makeanything.sh` will cover you. If you want to build nanodesk by your own, maybe with your own customisations - `makeanything.sh` will cover you.
This script will perform all tasks which are necessary to build nanodesk from scratch, including installing packages on your host machine where you build nanodesk. This script will perform all tasks which are necessary to build nanodesk from scratch, including installing packages on your host machine where you build nanodesk.
The script is tested running with Ubuntu 22.04, Debian 11 and Debian 12. The script is tested running with Ubuntu 22.04.
Simply run `./makeanything.sh` and the show will start! Simply run `./makeanything.sh` and the show will start!
Your .iso file will be generated in `build`, named like `nanodesk-vX.Y.Z.iso`. Your .iso file will be in `build/nanodesk-vX.Y.Z`. Git tags are used for versioning.
Git tags and commit count are used for versioning.
You can give the script a custom debian-mirror, if your prefer e.g. You can give the script a custom debian-mirror, if your prefer e.g. `./makeanything.sh http://ftp.debian.org/debian/`
`./makeanything.sh http://ftp.debian.org/debian/`
## customize nanodesk ## customize nanodesk
Of course you can customize nanodesk to fit your needs! Of course you can customize nanodesk to fit your needs!
The simplest way is to add your favorite packages to the nanodesk live-image. The simplest way is to add your favorite packages to the nanodesk live-image. Just add them to
Just add them to the file `templates/install_base.customsteps.sh` the file `templates/install_base.custompkg.tpl.sh`
For example, let's add Abiword and Pidgin to nanodesk, the file would look like For example, let's add Abiword and Pidgin to nanodesk, the file would look like
```bash ```bash
apt install -y \ apt install -y \
audacious \ audacious \
vlc \
abiword \ abiword \
pidgin pidgin
``` ```
Now run `makeanything.sh` and you will have both programs on your live-linux. Now run `makeanything.sh` and you will have both programs on your live-linux.
You can also jump into the chroot with `chroot build/chroot/ /bin/bash` and do You can also jump into the chroot with `chroot build/chroot/ /bin/bash` and do customizations by hand. Just run `makeanything.sh` afterwards to recreate the .iso
customizations by hand. Just run `makeanything.sh` afterwards to recreate the
.iso
Keep in mind that the chroot does not get recreated everytime you run Keep in mind that the chroot does not get recreated everytime you run `makeanything.sh`.
`makeanything.sh`. While experimenting around it could be helpful to delete your complete `build/` directory
While experimenting around it could be helpful to delete your complete `build/`
directory
```bash ```bash
sudo rm -Rf build sudo rm -Rf build
``` ```
keeping a fresh copy of `build/chroot/` after the first debootstrap is also a keeping a fresh copy of `build/chroot/` after the first debootstrap is also a good idea to save bandwidth :)
good idea to save bandwidth :)
```bash ```bash
sudo cp -a build/chroot build/chroot.bak sudo cp -a build/chroot build/chroot.bak
@ -110,15 +84,11 @@ sudo cp -a build/chroot build/chroot.bak
## install nanodesk on harddrive ## install nanodesk on harddrive
When you booted nanodesk from the iso, then you can install nanodesk to your When you booted nanodesk from the iso, then you can install nanodesk to your harddrive. In the homefolder of `root` ist the installerscript `install_nanodesk.sh`
harddrive. The installer is called `nanodesk-installer`.
Before doing so, you have to create, if not already existing, a partition with Before doing so, you have to create, if not already existing, a partition with a formatted linux compatible filesystem (e.g. ext4).
a formatted linux compatible filesystem (e.g. ext4).
nanodesk comes with fdisk, so you can create it very quick and format the nanodesk comes with fdisk, so you can create it very quick and format the partition afterwards. When you decide to create a swap-partiotion, do not forget to run mkswap.
partition afterwards. When you decide to create a swap-partiotion, do not
forget to run mkswap.
Then the installer will detect it automatically (I hope so!) and use it. Then the installer will detect it automatically (I hope so!) and use it.
This is an example, how to do the partitioning and formatting. This is an example, how to do the partitioning and formatting.
@ -193,7 +163,7 @@ root@nanodesk:~# ./install_nanodesk.sh /dev/sda1
Yeah, you can download the .iso file. Yeah, you can download the .iso file.
Download: [http://pub.la10cy.net/nanodesk/](http://pub.la10cy.net/nanodesk/) Download: [http://retro.la10cy.net/nanodesk/](http://retro.la10cy.net/nanodesk/)
## Resources ## Resources
@ -201,4 +171,3 @@ Download: [http://pub.la10cy.net/nanodesk/](http://pub.la10cy.net/nanodesk/)
- xdgmenumaker deb package: https://bgstack15.wordpress.com/2020/03/03/package-for-devuan-xdgmenumaker/ - xdgmenumaker deb package: https://bgstack15.wordpress.com/2020/03/03/package-for-devuan-xdgmenumaker/
- How To debootstrap a small desktop system: https://git.la10cy.net/DeltaLima/devnull/src/branch/main/debootstrap_minimal_dekstop_from_scratch.md - How To debootstrap a small desktop system: https://git.la10cy.net/DeltaLima/devnull/src/branch/main/debootstrap_minimal_dekstop_from_scratch.md
- How To create a linux live cd: https://www.willhaley.com/blog/custom-debian-live-environment/ - How To create a linux live cd: https://www.willhaley.com/blog/custom-debian-live-environment/
- Tux: https://archive.org/details/linuxmandrake7.2chipedition

View file

@ -1,4 +1,3 @@
apt install -y \ apt install -y --no-install-recommends \
transmission \ transmission \
audacious \ audacious
vlc \

View file

@ -53,7 +53,6 @@ apt update || error
### install base packages --no-install-recommends ### install base packages --no-install-recommends
message "install nanodesk minimal base packages (apt install --no-install-recommends)" message "install nanodesk minimal base packages (apt install --no-install-recommends)"
#apt install -y \
apt install -y --no-install-recommends \ apt install -y --no-install-recommends \
linux-image-amd64 \ linux-image-amd64 \
firmware-linux \ firmware-linux \
@ -67,29 +66,24 @@ apt install -y --no-install-recommends \
dialog \ dialog \
sudo \ sudo \
console-data \ console-data \
bash-completion \
locales \ locales \
man \ man \
unzip \ unzip \
zip \ zip \
bzip2 \ bzip2 \
zstd \
grub-pc \
host \
wireless-tools \
unrar \ unrar \
p7zip-full \ p7zip-full \
xz-utils \ xz-utils \
zstd \
wpagui \ wpagui \
connman-gtk \
xserver-xorg \ xserver-xorg \
xscreensaver \ xscreensaver \
xfonts-75dpi \ xfonts-75dpi \
xfonts-100dpi \ xfonts-100dpi \
fonts-noto-color-emoji \
x11-apps \ x11-apps \
x11-utils \ x11-utils \
xdg-utils \ xdg-utils \
xdg-user-dirs \
xterm \ xterm \
xdm \ xdm \
jwm \ jwm \
@ -97,15 +91,12 @@ apt install -y --no-install-recommends \
wget \ wget \
curl \ curl \
less \ less \
openssh-client \
rsync \ rsync \
vim \ vim \
links2 \ links2 \
ncdu \ ncdu \
htop \ htop \
git \ git \
telnet \
netcat-traditional \
gxmessage \ gxmessage \
gsimplecal \ gsimplecal \
alsa-utils \ alsa-utils \
@ -113,30 +104,16 @@ apt install -y --no-install-recommends \
arandr \ arandr \
xfe \ xfe \
xarchiver \ xarchiver \
qpdfview \
lxterminal \ lxterminal \
lxpolkit \
gparted \ gparted \
dillo \ dillo \
falkon \ firefox-esr \
gtk2-engines \
gnome-themes-extra \
adwaita-qt \
adwaita-icon-theme \
gnome-icon-theme \
lxde-icon-theme \
tango-icon-theme \
squashfs-tools \
synaptic \
imagemagick \
ifstat \
/tmp/xdgmenumaker*.deb || error /tmp/xdgmenumaker*.deb || error
message "install nanodesk base packages with recommends" message "install nanodesk base packages with recommends"
apt install -y \ apt install -y \
grub-pc \ grub-pc \
network-manager \ ifupdown \
network-manager-gnome \
net-tools \ net-tools \
isc-dhcp-client \ isc-dhcp-client \
host \ host \
@ -144,10 +121,23 @@ apt install -y \
gvfs-common \ gvfs-common \
pcmanfm \ pcmanfm \
#message "install linux-kernel from backports" #message "install linux-kernel from backports"
#apt install -t bullseye-backports -y linux-image-amd64 #apt install -t bullseye-backports -y linux-image-amd64
### set root password
message "set root password to 'debian'"
echo -e "debian\ndebian" | (passwd root)
### add debian user
message "create user debian"
useradd -m -U -s /bin/bash debian
### set password
message "set password for user debian to 'debian'"
echo -e "debian\ndebian" | (passwd debian)
### Configure timezone and locale ### Configure timezone and locale
#dpkg-reconfigure locales #dpkg-reconfigure locales
#dpkg-reconfigure console-data #dpkg-reconfigure console-data
@ -171,7 +161,7 @@ echo "Europe/Berlin" > /etc/timezone && \
#### ####
###### ######
message "run custom steps from /tmp/install_base.customsteps.sh" message "run custom steps from /tmp/install_base.customsteps.tpl.sh"
. /tmp/install_base.customsteps.sh . /tmp/install_base.customsteps.sh
###### ######

View file

@ -114,31 +114,17 @@ done
message "copy build/nanodesk-files/ to build/chroot/" message "copy build/nanodesk-files/ to build/chroot/"
sudo cp -r build/nanodesk-files/* build/chroot/ sudo cp -r build/nanodesk-files/* build/chroot/
message "generate icon path list for jwm config"
find build/chroot/usr/share/icons/ -type d | sed 's/build\/chroot//g' > build/tmp/jwm.iconlist
sed -i -e 's/^/\ \ \ \ <IconPath>/g' -e 's/$/<\/IconPath>/g' build/tmp/jwm.iconlist
sudo cp build/tmp/jwm.iconlist build/chroot/tmp/ || error
message "putting generated icon path list to /etc/jwm/system.jwmrc"
$CHROOTCMD sed -i '/<\!-- GENERATED ICONLIST -->/r /tmp/jwm.iconlist' /etc/jwm/system.jwmrc || error
message "correct file permissions" message "correct file permissions"
#$CHROOTCMD /usr/bin/chmod 440 /etc/sudoers || error $CHROOTCMD /usr/bin/chmod 440 /etc/sudoers || error
$CHROOTCMD /usr/bin/chmod 755 /usr/sbin/nanodesk-installer || error $CHROOTCMD /usr/bin/chmod 755 /root/nanodesk-installer.sh || error
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk-installer-gxm || error
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk || error
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk-first-start || error
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk-gen-iconlist || error
message "set x-terminal-emulator to lxterminal"
$CHROOTCMD /usr/bin/update-alternatives --set x-terminal-emulator /usr/bin/lxterminal
message "set x-window-manager to jwm-nanodesk"
$CHROOTCMD /usr/bin/update-alternatives --install /usr/bin/x-window-manager x-window-manager /usr/bin/nanodesk 25
$CHROOTCMD /usr/bin/update-alternatives --set x-window-manager /usr/bin/nanodesk
### set root password
#message "set root password to 'debian'"
#echo -e "debian\ndebian" | $CHROOTCMD /usr/bin/passwd root
### add debian user
message "create user debian, password 'debian'"
echo -e "debian\ndebian\nDebian\n\n\n\n\y\n" | $CHROOTCMD /usr/sbin/adduser debian
message "add user debian to group sudo"
$CHROOTCMD /usr/sbin/usermod -a -G sudo debian
message "clear /tmp" message "clear /tmp"
$CHROOTCMD /usr/bin/rm -Rf /tmp/* || error $CHROOTCMD /usr/bin/rm -Rf /tmp/* || error
@ -193,7 +179,7 @@ grub-mkstandalone -O x86_64-efi \
(cd build/staging && \ (cd build/staging && \
dd if=/dev/zero of=efiboot.img bs=1M count=20 && \ dd if=/dev/zero of=efiboot.img bs=1M count=20 && \
/usr/sbin/mkfs.vfat efiboot.img && \ mkfs.vfat efiboot.img && \
mmd -i efiboot.img ::/EFI ::/EFI/BOOT && \ mmd -i efiboot.img ::/EFI ::/EFI/BOOT && \
mcopy -vi efiboot.img \ mcopy -vi efiboot.img \
../../build/staging/EFI/BOOT/BOOTIA32.EFI \ ../../build/staging/EFI/BOOT/BOOTIA32.EFI \

View file

@ -1 +0,0 @@
gtk-theme-name="Adwaita"

View file

@ -47,16 +47,18 @@
<TrayButton icon="/usr/share/nanodesk/images/linux_button.svg">root:1</TrayButton> <TrayButton icon="/usr/share/nanodesk/images/linux_button.svg">root:1</TrayButton>
<Spacer width="2"/> <Spacer width="2"/>
<TrayButton icon="desktop" popup="Show desktop">showdesktop</TrayButton> <TrayButton label="_" popup="Show desktop">showdesktop</TrayButton>
<Spacer width="2"/> <Spacer width="2"/>
<!-- custom TrayButton --> <!-- custom TrayButton -->
<TrayButton popup="LXTerminal" icon="lxterminal">exec:lxterminal </TrayButton> <TrayButton popup="LXTerminal" icon="lxterminal">exec:lxterminal </TrayButton>
<Spacer width="2"/> <Spacer width="2"/>
<TrayButton popup="Falkon Webbrowser" icon="falkon">exec:falkon</TrayButton> <TrayButton popup="Firefox" icon="firefox-esr">exec:firefox</TrayButton>
<Spacer width="2"/> <Spacer width="2"/>
<TrayButton popup="PCManFM" icon="system-file-manager">exec:pcmanfm</TrayButton> <TrayButton popup="PCManFM" icon="system-file-manager">exec:pcmanfm</TrayButton>
<Spacer width="2"/> <Spacer width="2"/>
<Pager labeled="true"/> <Pager labeled="true"/>
<TaskList maxwidth="256"/> <TaskList maxwidth="256"/>
@ -136,8 +138,8 @@
<IconPath> <IconPath>
/usr/local/share/jwm /usr/local/share/jwm
</IconPath> </IconPath>
<!-- List of IconPath gets generated by nanodesk-gen-iconlist helperscript --> <!-- the comment below is important for nanodesk to put in the actual IconPaths of the system generated by makeanything.sh -->
<Include>exec:nanodesk-gen-iconlist</Include> <!-- GENERATED ICONLIST -->
<!-- Virtual Desktops --> <!-- Virtual Desktops -->
@ -191,13 +193,10 @@
<Key mask="A" key="Up">udesktop</Key> <Key mask="A" key="Up">udesktop</Key>
<Key mask="A" key="Down">ddesktop</Key> <Key mask="A" key="Down">ddesktop</Key>
<StartupCommand>nanodesk-first-start</StartupCommand>
<StartupCommand>$(find ~/.screenlayout/ -type f -executable|head -n 1)</StartupCommand> <StartupCommand>$(find ~/.screenlayout/ -type f -executable|head -n 1)</StartupCommand>
<StartupCommand>lxpolkit</StartupCommand>
<StartupCommand>pcmanfm --desktop -p nanodesk</StartupCommand>
<StartupCommand>xscreensaver -no-splash</StartupCommand> <StartupCommand>xscreensaver -no-splash</StartupCommand>
<StartupCommand>volumeicon</StartupCommand> <StartupCommand>volumeicon</StartupCommand>
<StartupCommand>nm-applet</StartupCommand> <StartupCommand>connman-gtk</StartupCommand>
<StartupCommand>dillo -f -g 640x480 /usr/share/doc/nanodesk/welcome/welcome.html</StartupCommand>
</JWM> </JWM>

View file

@ -1,13 +0,0 @@
[*]
wallpaper_mode=center
wallpaper_common=1
wallpaper=/usr/share/nanodesk/pixmaps/nanodesk-installed.xpm
desktop_bg=#666999
desktop_fg=#ffffff
desktop_shadow=#000000
desktop_font=Sans 12
show_wm_menu=0
sort=mtime;ascending;
show_documents=0
show_trash=1
show_mounts=1

View file

@ -0,0 +1,27 @@
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
debian ALL=(ALL) NOPASSWD: ALL
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "@include" directives:
@includedir /etc/sudoers.d

View file

@ -7,16 +7,8 @@
### this is just a hobby, nothing serious. i know the debian installer and other ### this is just a hobby, nothing serious. i know the debian installer and other
### exist, but i wanted to try some handcrafted installation. ### exist, but i wanted to try some handcrafted installation.
if [ -n "$2" ] && [ "$2" == true ]
then
GXMINSTALLER=true
else
GXMINSTALLER=false
fi
CHROOTCMD="chroot /mnt/" CHROOTCMD="chroot /mnt/"
ERRORFILE="/tmp/nanodesk-installer.error"
SUCCESSFILE="/tmp/nanodesk-installer.success"
##message () { ##message () {
## echo "== " $1 ## echo "== " $1
@ -52,18 +44,16 @@ function message() {
} }
error () { error () {
echo "Error at: $MESSAGE" >> $ERRORFILE
message error "ERROR!" message error "ERROR!"
test "$GXMINSTALLER" == true && read -p "Press [ENTER] to continue..."
exit 1 exit 1
} }
finish () { finish () {
message "removing firststart dialoge from jwm config"
$CHROOTCMD /usr/bin/sed -i '/doc\/nanodesk\/welcome\/welcome\.html/d' /etc/jwm/system.jwmrc || error
message "removing installer files from target" message "removing installer files from target"
$CHROOTCMD /usr/bin/rm -Rf /usr/sbin/nanodesk-installer || error $CHROOTCMD /usr/bin/rm -Rf /root/nanodesk-installer.sh || error
$CHROOTCMD /usr/bin/rm -Rf /usr/bin/nanodesk-installer-gxm || error
$CHROOTCMD /usr/bin/rm -Rf /usr/share/applications/nanodesk-installer-gxm.desktop || error
message "removing live-packages from target" message "removing live-packages from target"
$CHROOTCMD /usr/bin/apt -y purge 'live-boot*' 'live-tools*' $CHROOTCMD /usr/bin/apt -y purge 'live-boot*' 'live-tools*'
@ -73,7 +63,6 @@ finish () {
message "we are now ready to boot from $target" message "we are now ready to boot from $target"
touch $SUCCESSFILE
exit 0 exit 0
} }
@ -118,10 +107,7 @@ message "mounting $target to /mnt/"
mount $target /mnt || error mount $target /mnt || error
message "copy systemfiles" message "copy systemfiles"
# rsync is dumb rsync -aHx / /mnt/ || error
#rsync -aHx / /mnt/ || error
unsquashfs -d /mnt/ /run/live/medium/live/filesystem.squashfs || error
message "bind mount dev proc sys" message "bind mount dev proc sys"
for m in dev proc sys for m in dev proc sys
@ -177,28 +163,8 @@ while [ $STEPFINISH != 1 ]
do do
case $USERSTEP in case $USERSTEP in
u|U) u|U)
CONTINUESTEP=false
while [ $CONTINUESTEP != true ]
do
message "Do you want to set a password for '${RED}root${ENDCOLOR}'?"
read -p "[y/n] > " ROOTPASSCHANGE
case ${ROOTPASSCHANGE,,} in
y|yes)
message "please change root pw" message "please change root pw"
$CHROOTCMD /usr/bin/passwd root || error $CHROOTCMD /usr/bin/passwd root || error
CONTINUESTEP=true
;;
n|no)
message "leaving root password empty"
CONTINUESTEP=true
;;
*)
message warn "Unrecognized answers, please try again..."
;;
esac
done
message "deleting user 'debian'" message "deleting user 'debian'"
$CHROOTCMD /usr/bin/id -u debian && $CHROOTCMD /usr/sbin/userdel -f debian || error $CHROOTCMD /usr/bin/id -u debian && $CHROOTCMD /usr/sbin/userdel -f debian || error
@ -211,7 +177,7 @@ do
$CHROOTCMD /usr/sbin/adduser $NEWUSER || error $CHROOTCMD /usr/sbin/adduser $NEWUSER || error
message "adding $NEWUSER to sudo group" message "adding $NEWUSER to sudo group"
$CHROOTCMD /usr/sbin/usermod -a -G sudo $NEWUSER || error $CHROOTCMD /usr/sbin/usermod -G sudo $NEWUSER || error
$CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk.xpm || error $CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk.xpm || error
$CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-bw-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk-bw.xpm || error $CHROOTCMD /usr/bin/ln -s -f /usr/share/nanodesk/pixmaps/nanodesk-bw-installed.xpm /usr/share/nanodesk/pixmaps/nanodesk-bw.xpm || error

View file

@ -1,2 +0,0 @@
#!/bin/sh
jwm -f /etc/jwm/system.nanodesk.jwmrc

View file

@ -1,8 +0,0 @@
#!/bin/sh
if [ ! -d ${HOME}/.config/nanodesk ]
then
mkdir -p ${HOME}/.config/nanodesk
xdg-user-dirs-update
dillo -f -g 640x480 /usr/share/doc/nanodesk/welcome/welcome.html &
fi

View file

@ -1,4 +0,0 @@
#!/bin/sh
echo "<JWM>"
find /usr/share/icons/ -type d | sed -e 's/^/\ \ \ \ <IconPath>/g' -e 's/$/<\/IconPath>/g'
echo "</JWM>"

View file

@ -1,328 +0,0 @@
#!/bin/bash
TITLE="nanodesk-installer-gxm"
VERSION=$(cat /usr/share/nanodesk/version)
HEADER=" ----==== nanodesk-installer-gxm ====----
nanodesk ${VERSION}
"
GXMCMD="gxmessage -name $TITLE -center -geometry 669x420 -wrap -font mono,10 -file -"
GXMINFO="gxmessage -name $TITLE -center -buttons Close -default Close -font mono,13 -file -"
DOCROOT="/usr/share/doc/nanodesk-installer"
DILLOCMD="dillo -f -g 640x480 $DOCROOT"
TARGET=""
ERRORFILE="/tmp/nanodesk-installer.error"
SUCCESSFILE="/tmp/nanodesk-installer.success"
# initialize RETURN with a high value
RETURN=255
#####
#
# DIALOGES
#
#####
gxm-abort() {
if gxm-confirm
then
echo "Installation aborted!"| $GXMINFO
exit 1
fi
}
gxm-confirm() {
echo "Are you sure you want abort?" | $GXMINFO -buttons "Yes:0,No:1"
return $?
}
gxm-cleanup() {
echo "!! An old Errorfile
!! $ERRORFILE
!! was found
Last message: $(cat $ERRORFILE)
It is necessary to delete it if you want to continue.
When deleting it, you will be asked for your password.
Delete $ERRORFILE ?" | $GXMINFO -buttons "Yes:0,No:1" -default Yes -geometry 640x320
return $?
}
gxm-welcome() {
echo "$HEADER
This is a gxmessage based Installation assistant for nanodesk.
To install nanodesk you need a partitioned and formated drive.
You can do the partioning and formating with 'GParted'. (Close 'GParted'
when you are done)
If you need help how to do so, click on 'Help'.
When you are done partitioning and your installation target is formated,
go ahead with 'Install'.
When asked for a password, type in 'debian', which is the nanodesk live
default." |
$GXMCMD -buttons "Abort:1,Help:2,GParted:10,Install:0"
return $?
}
gxm-select-target() {
echo "$HEADER
Please enter the target and press 'Install'.
For example: /dev/sda1" |
$GXMCMD -entry -buttons "Abort:1,Help:2,Install:0"
return $?
}
gmx-start-cli-installer() {
echo "$HEADER
The commandline nanodesk-installer will now open in a new xterm
window.
Target device: $1
Please follow the instructions there and see you later again..." |
$GXMCMD -buttons "Abort:1,open nanodesk-installer CLI:0" -default "open nanodesk-installer CLI"
return $?
}
gxm-success() {
echo "$HEADER
Installation complete! :)
You can now reboot or continue using nanodesk live." | $GXMCMD -buttons Continue:0,Reboot:2 -default Continue
return $?
}
gxm-error() {
echo "$HEADER
Installation FAILED!! :(
Last message was: $(cat $ERRORFILE)" | $GXMCMD -buttons Close -default Close
return $?
}
#####
#
# HELP
#
#####
help-gparted() {
cat <<EOF | $GXMCMD
$HEADER
# Partitioning Help
## You have an empty drive
Cool, easiest way! When you have an empty drive, just start GParted
and select in the right up corner your correct drive you want to install
nanodesk on.
After that click in the upper Menu the entry 'Drive' and select
'create partitiontable'.
In the upcoming dialoge select 'ms-dos' abd 'Apply'.
Now right click in the empty bar representing your drive and select
'New'.
First we create your root filesystem. It gets most of the space, just
let around 4-8GB space left after free for a swap partition we create
afterwards.
Create as 'Primary' and select 'ext4' as filesystem. Confirm that with
'OK' and repeat the steps with the leftover diskspace and create a
partition with the 'linux-swap' filesystem.
When you done all this we need to activate our changes. Select 'Edit'
from the upper Menu and choose 'Apply All Operations' and confirm.
When all operations are done successfully, close GParted and click on
'Install' in the nanodesk-installer.
EOF
}
help-select-target() {
cat <<EOF | $GXMCMD
$HEADER
# target device
Here you have to enter the path to your drive with the
'ext4' filesystem on it. This could be in most cases for example
/dev/sda1
Which says it's the first drive in the system (sdA) and the first
partition on it (sda1).
If you are not sure, you can abort here and open nanodesk-installer
again. Open again GParted to verify that you choose the correct drive.
# commandline nanodesk-installer
In the next step the core of the installer, the commandline tool
`/usr/sbin/nanodesk-installer` opens up in a new xterm window.
Confirm the start of the installation by typing 'YES' all upper case
and confirm it by pressing [ENTER].
When the base system is installed, you can choose if you want to keep
the default user 'debian' with its password 'debian' (press [K])
or you also can remove this default user and create your own new one
(press [U]).
# when something goes wrong
If the installation proccess exits with an error, you can clean up
everything by hand:
sudo su -
umount /mnt/
rm -Rf /tmp/nanodesk-installer.*
mkfs.ext4 [TARGET]
# you can re-run the GUI again
nanodesk-installer-gxm
# or the cli nanodesk-installer directly
nanodesk-installer [TARGET]
EOF
}
#####
#
# EXEC
#
#####
exec-gparted() {
pkexec /usr/sbin/gparted
}
exec-nanodesk-installer() {
# run the installer within xterm
xterm -e /bin/bash -c "pkexec /usr/sbin/nanodesk-installer $1 true || echo 'pkexec auth failed' >> $ERRORFILE"
}
#####
#
# MAIN
#
#####
# cleanup old errorfile
if [ -f "$ERRORFILE" ]
then
RETURN=255
while [ $RETURN -gt 0 ]
do
gxm-cleanup
RETURN=$?
if [ $RETURN -gt 0 ]
then
gxm-abort
else
pkexec rm -f $ERRORFILE || RETURN=255
fi
done
fi
RETURN=255
# welcome screen
while [ $RETURN -gt 0 ]
do
gxm-welcome
RETURN=$?
echo CODE $RETURN
case $RETURN in
1) gxm-abort ;;
2) help-gparted ;;
10) exec-gparted ;;
esac
done
# target select
RETURN=255
while [ $RETURN -gt 0 ]
do
TARGET=$(gxm-select-target)
RETURN=$?
echo CODE $RETURN
echo TARGET $TARGET
# if RC = 1, then user clicked "abort"
case $RETURN in
1) gxm-abort ;;
2) help-select-target ;;
0) echo test if blockdevice
if [ ! -b "$TARGET" ]
then
RETURN=255
echo no
echo -e "Error!\n'${TARGET}' does not exist or is not a blockdevice!" | $GXMINFO
fi
;;
esac
done
# start cli nanodesk-installer
RETURN=255
while [ $RETURN -gt 0 ]
do
gmx-start-cli-installer $TARGET
RETURN=$?
test $RETURN -eq 1 && gxm-abort
echo CODE $RETURN
done
exec-nanodesk-installer $TARGET
if [ -f "$ERRORFILE" ]
then
gxm-error
exit 1
elif [ -f "$SUCCESSFILE" ]
then
gxm-success
RETURN=$?
case $RETURN in
2) systemctl reboot ;;
*) exit 0 ;;
esac
else
echo "Unexpected Error! Exit here." | $GXMINFO -buttons Close -default Close
exit 1
fi
#if [ $RETURN != 0 ]
#then
# echo "ERROR!" | $GXMINFO
# exit 1
#else
# echo "SUCCESS!" | $GXMINFO
# exit 0
#fi

View file

@ -1,89 +0,0 @@
#!/bin/bash
#
# nanodesk-menumaker - generate menu from .desktop files for jwm
#
# WORK IN PROGRESS
#
# DOES NOT WORK ATM
declare -A APPS_NAME
declare -A APPS_ICON
declare -A APPS_EXEC
declare -A CATEGORIES_APPS
# excluding 'Audio' and 'Video' because they are kind of redundant with 'AudioVideo'
FREEDESKTOP_CATEGORIES="AudioVideo Development Education Game Graphics Network Office Science Settings System Utility"
get_desktop_entry() {
# only get [Desktop Entry] section
# explanation https://stackoverflow.com/a/52957039
sed -n '/\[Desktop Entry\]/,/.*:\[.*\]/ {//!p}'
}
# Main freedesktop categories we iterate through later
# https://specifications.freedesktop.org/menu-spec/latest/apa.html
# put filename in front of its content with awk
# https://www.unix.com/302929136-post4.html?s=5d91d8bbc9c7a884772b0b84b3ca6c3f
#
# dumping all files into a variable is much faster then grepping each file by file
# sed for remove path from filename: sed 's/^\/.*\/\(.*\.desktop:\)/\1/'
# awk remove path from filename: https://stackoverflow.com/a/55149591
DESKTOPFILES="$(awk '{n=split(FILENAME,array,"/"); split(array[n],arraym,"."); print arraym[1]":" $0 }' /usr/share/applications/*.desktop $HOME/.local/share/applications/*.desktop | get_desktop_entry |grep -E ':Name=|:Icon=|:Categories=|:NoDisplay=|:Exec=' )"
APPS_NODISPLAY="$(echo "$DESKTOPFILES" | grep "NoDisplay=true" | cut -d : -f1 | xargs | tr ' ' '|')"
APPS="$(echo "$DESKTOPFILES" | grep -vE "$APPS_NODISPLAY" | cut -d : -f1 | uniq)"
# put the apps into the freedesktop categories
for category in $FREEDESKTOP_CATEGORIES
do
# echo === CATEGORY $category ===
CATEGORIES_APPS[$category]="$(echo "$DESKTOPFILES" | grep -i $category | cut -d : -f1 | uniq | xargs)"
# echo ${CATEGORIES_APPS[$category]}
done
for appname in $APPS
do
APPS_NAME[$appname]="$(echo "$DESKTOPFILES" | grep -E "^$appname.*Name=" | cut -d = -f2)"
APPS_ICON[$appname]="$(echo "$DESKTOPFILES" | grep -E "^$appname.*Icon=" | cut -d = -f2)"
APPS_EXEC[$appname]="$(echo "$DESKTOPFILES" | grep -E "^$appname.*Exec=" | cut -d = -f2)"
done
#
#echo "$APPS"
#echo ${!APPS_NAME[@]}
#echo ${APPS_NAME[xfce4-web-browser]}
#echo ${APPS_ICON[xfce4-web-browser]}
#echo ${APPS_EXEC[xfce4-web-browser]}
#echo ${APPS_CAT[xfce4-web-browser]}
#echo "$DESKTOPFILES"
# jwm config output
cat <<EOF
<?xml version="1.0"?>
<JWM>
EOF
for category in $FREEDESKTOP_CATEGORIES
do
# test "$category" == "AudioVideo" && category="Multimedia"
#echo -e "appname: $appname \nName: ${APPS_NAME[$appname]}\nIcon: ${APPS_ICON[$appname]}\nExec: ${APPS_EXEC[$appname]}\nCategories: ${APPS_CAT[$appname]}\n---"
test -n "${CATEGORIES_APPS[$category]}" && cat <<EOF
<Menu icon="applications-${category,,}" label="${category}">
EOF
for app in ${CATEGORIES_APPS[$category]}
do
echo " <Program icon=\""${APPS_ICON[$app]}"\" label=\""${APPS_NAME[$app]}"\">"${APPS_EXEC[$app]}"</Program>"
done
test -n "${CATEGORIES_APPS[$category]}" && echo "</Menu>"
done
echo "</JWM>"

View file

@ -1,8 +0,0 @@
[Desktop Entry]
Name=nanodesk-installer
Comment=installer gxmessage script for nanodesk live
Exec=/usr/bin/nanodesk-installer-gxm
Icon=/usr/share/icons/Tango/scalable/apps/system-installer.svg
Terminal=true
Type=Application
Categories=System;

View file

@ -1,38 +1,39 @@
# Welcome to nanodesk # Welcome to nanodesk
`nanodesk` is yet another lightweight Debian flavor/distribution,
that comes with the `jwm` window manager.
This is just a fun project for learning purposes. nanodesk is a debian base linux "distribution". I put distribution in ""
becuase it is just a minimal debian debootstrap installation, which you
can boot from a DVD or usb-stick and install it to disk, with well picked
packages I like and a customized jwm config. Taddaa - a new distribution.
Visit the git repository at
[git.la10cy.net/DeltaLima/nanodesk](https://git.la10cy.net/DeltaLima/nanodesk)
## install to disk: nanodesk-installer Everything done with having the goal to consume as less ram as possible.
## install to disk
You can install nanodesk to your harddrive. Before doing so, You can install nanodesk to your harddrive. Before doing so,
you have to get your drive partitioned and formated. you have to get your drive partitioned and formated.
Under `Menu -> System -> nanodesk-installer` you find the GUI Partiotioning on an empty drive is simple, you need two partitions
of the nanodesk-installer. It will guide you through the first basic
partitioning steps and formating your drive with `GParted`.
The installation process itself is done by the `nanodesk-installer` cli.
You can also just run the cli directly running - partition1: ext4 , mainfilesystem.
`sudo nanodesk-installer [TARGET]` - partition2 (optional, but recommended): swap
Keep in Mind, that `[TARGET]` needs to be a (ext4) preformated You can use `gparted` or `fdisk` for this. Please read their manuals.
blockdevice and should be a partition.
This done, just run `sudo /root/nanodesk-installer.sh /dev/sdXY` from the terminal
and the installation will start. (change /dev/sdXY to your drive)
## installing software ## installing software
There is `Menu -> System -> Synaptic` for installing software as GUI. There is no GUI tool for installing software. You have to use `apt` from the
Alternatively you can use `apt` from the terminal. terminal.
## getting root ## getting root
When booting as livesystem, the default user is `debian` and the In the LiveCD mode you can just do `sudo su -` without being asked for a password.
password is `debian` as well. Depending on your choice by the installation, you will have to enter a password,
when you created your own using by the installer.
In some cases you get asked by the GUI to enter your password. (e.g. GParted) So or so good old `su - ` works fine as well, just type in the root password.
On commandline you can enter `sudo su - ` to get root access.

View file

@ -1,247 +1,224 @@
/* XPM */ /* XPM */
static char * nanodesk_bw_installed_xpm[] = { static char * nanodesk_bw_xpm[] = {
"114 200 241 2", "114 200 218 2",
" c #6C6C6C", " g #6C6C6C",
". c #616161", ". g #888888",
"+ c #606060", "+ g #585858",
"@ c #5B5B5B", "@ g #010101",
"# c #5A5A5A", "# g #939393",
"$ c #5D5D5D", "$ g #727272",
"% c #3E3E3E", "% g #202020",
"& c #636363", "& g #000000",
"* c #545454", "* g #9A9A9A",
"= c #6A6A6A", "= g #979797",
"- c #4D4D4D", "- g #8C8C8C",
"; c #575757", "; g #646464",
"> c #696969", "> g #2A2A2A",
", c #2F2F2F", ", g #020202",
"' c #767676", "' g #9E9E9E",
") c #808080", ") g #919191",
"! c #797979", "! g #787878",
"~ c #454545", "~ g #595959",
"{ c #121212", "{ g #383838",
"] c #666666", "] g #151515",
"^ c #929292", "^ g #030303",
"/ c #7D7D7D", "/ g #1C1C1C",
"( c #595959", "( g #A1A1A1",
"_ c #3D3D3D", "_ g #8D8D8D",
": c #000000", ": g #707070",
"< c #2A2A2A", "< g #434343",
"[ c #878787", "[ g #1F1F1F",
"} c #8E8E8E", "} g #0D0D0D",
"| c #939393", "| g #060606",
"1 c #8F8F8F", "1 g #101010",
"2 c #757575", "2 g #272727",
"3 c #404040", "3 g #2D2D2D",
"4 c #1B1B1B", "4 g #222222",
"5 c #090909", "5 g #8F8F8F",
"6 c #818181", "6 g #6E6E6E",
"7 c #969696", "7 g #3B3B3B",
"8 c #868686", "8 g #191919",
"9 c #727272", "9 g #0A0A0A",
"0 c #202020", "0 g #1B1B1B",
"a c #0D0D0D", "a g #868686",
"b c #020202", "b g #232323",
"c c #262626", "c g #0B0B0B",
"d c #9A9A9A", "d g #7E7E7E",
"e c #7E7E7E", "e g #6D6D6D",
"f c #303030", "f g #2E2E2E",
"g c #171717", "g g #090909",
"h c #030303", "h g #282828",
"i c #010101", "i g #1E1E1E",
"j c #060606", "j g #2B2B2B",
"k c #0F0F0F", "k g #656565",
"l c #2C2C2C", "l g #3E3E3E",
"m c #515151", "m g #212121",
"n c #989898", "n g #8B8B8B",
"o c #565656", "o g #CFCFCF",
"p c #252525", "p g #BDBDBD",
"q c #050505", "q g #5F5F5F",
"r c #101010", "r g #3A3A3A",
"s c #232323", "s g #BEBEBE",
"t c #343434", "t g #D5D5D5",
"u c #777777", "u g #AEAEAE",
"v c #3A3A3A", "v g #343434",
"w c #0B0B0B", "w g #535353",
"x c #323232", "x g #4C4C4C",
"y c #1D1D1D", "y g #ACACAC",
"z c #747474", "z g #FFFFFF",
"A c #040404", "A g #F4F4F4",
"B c #333333", "B g #D2D2D2",
"C c #4F4F4F", "C g #CDCDCD",
"D c #2D2D2D", "D g #313131",
"E c #828282", "E g #484848",
"F c #383838", "F g #0E0E0E",
"G c #414141", "G g #929292",
"H c #A2A2A2", "H g #FCFCFC",
"I c #848484", "I g #AAAAAA",
"J c #282828", "J g #121212",
"K c #0A0A0A", "K g #404040",
"L c #555555", "L g #373737",
"M c #676767", "M g #DDDDDD",
"N c #4B4B4B", "N g #505050",
"O c #DDDDDD", "O g #E4E4E4",
"P c #FFFFFF", "P g #F6F6F6",
"Q c #CECECE", "Q g #C6C6C6",
"R c #E3E3E3", "R g #EFEFEF",
"S c #D9D9D9", "S g #525252",
"T c #5C5C5C", "T g #F9F9F9",
"U c #141414", "U g #E9E9E9",
"V c #353535", "V g #424242",
"W c #EFEFEF", "W g #333333",
"X c #FDFDFD", "X g #4F4F4F",
"Y c #F2F2F2", "Y g #EDEDED",
"Z c #0E0E0E", "Z g #FDFDFD",
"` c #B4B4B4", "` g #A9A9A9",
" . c #212121", " . g #6B6B6B",
".. c #F4F4F4", ".. g #D1D1D1",
"+. c #B6B6B6", "+. g #080808",
"@. c #B8B8B8", "@. g #DBDBDB",
"#. c #F0F0F0", "#. g #F3F3F3",
"$. c #E6E6E6", "$. g #E5E5E5",
"%. c #F6F6F6", "%. g #5C5C5C",
"&. c #A6A6A6", "&. g #A2A2A2",
"*. c #DEDEDE", "*. g #363636",
"=. c #373737", "=. g #BABABA",
"-. c #4E4E4E", "-. g #494949",
";. c #8B8B8B", ";. g #464646",
">. c #C4C4C4", ">. g #696969",
",. c #BBBBBB", ",. g #E8E8E8",
"'. c #6E6E6E", "'. g #797979",
"). c #E7E7E7", "). g #636363",
"!. c #242424", "!. g #959595",
"~. c #1F1F1F", "~. g #969696",
"{. c #4A4A4A", "{. g #D6D6D6",
"]. c #AAAAAA", "]. g #4B4B4B",
"^. c #BFBFBF", "^. g #131313",
"/. c #BEBEBE", "/. g #444444",
"(. c #E4E4E4", "(. g #141414",
"_. c #444444", "_. g #4A4A4A",
":. c #1E1E1E", ":. g #7F7F7F",
"<. c #FBFBFB", "<. g #757575",
"[. c #8C8C8C", "[. g #CACACA",
"}. c #919191", "}. g #686868",
"|. c #CCCCCC", "|. g #7C7C7C",
"1. c #393939", "1. g #9F9F9F",
"2. c #E1E1E1", "2. g #353535",
"3. c #B0B0B0", "3. g #1A1A1A",
"4. c #DADADA", "4. g #4E4E4E",
"5. c #B9B9B9", "5. g #B5B5B5",
"6. c #313131", "6. g #D0D0D0",
"7. c #D0D0D0", "7. g #A3A3A3",
"8. c #717171", "8. g #C2C2C2",
"9. c #909090", "9. g #CBCBCB",
"0. c #AEAEAE", "0. g #474747",
"a. c #A8A8A8", "a. g #8E8E8E",
"b. c #EDEDED", "b. g #CCCCCC",
"c. c #F9F9F9", "c. g #D3D3D3",
"d. c #2B2B2B", "d. g #B0B0B0",
"e. c #191919", "e. g #A7A7A7",
"f. c #C0C0C0", "f. g #D4D4D4",
"g. c #C7C7C7", "g. g #B4B4B4",
"h. c #C1C1C1", "h. g #3F3F3F",
"i. c #9D9D9D", "i. g #B7B7B7",
"j. c #D1D1D1", "j. g #BCBCBC",
"k. c #ACACAC", "k. g #0C0C0C",
"l. c #585858", "l. g #171717",
"m. c #424242", "m. g #050505",
"n. c #686868", "n. g #3C3C3C",
"o. c #C2C2C2", "o. g #565656",
"p. c #D4D4D4", "p. g #2F2F2F",
"q. c #949494", "q. g #7B7B7B",
"r. c #ABABAB", "r. g #2C2C2C",
"s. c #A7A7A7", "s. g #7D7D7D",
"t. c #CDCDCD", "t. g #111111",
"u. c #D3D3D3", "u. g #878787",
"v. c #BDBDBD", "v. g #767676",
"w. c #D2D2D2", "w. g #818181",
"x. c #D5D5D5", "x. g #414141",
"y. c #CBCBCB", "y. g #F0F0F0",
"z. c #464646", "z. g #A6A6A6",
"A. c #CFCFCF", "A. g #040404",
"B. c #5E5E5E", "B. g #0F0F0F",
"C. c #8A8A8A", "C. g #5D5D5D",
"D. c #525252", "D. g #4D4D4D",
"E. c #181818", "E. g #EAEAEA",
"F. c #9C9C9C", "F. g #B8B8B8",
"G. c #1A1A1A", "G. g #070707",
"H. c #111111", "H. g #C1C1C1",
"I. c #434343", "I. g #E2E2E2",
"J. c #D6D6D6", "J. g #A0A0A0",
"K. c #070707", "K. g #FEFEFE",
"L. c #151515", "L. g #F1F1F1",
"M. c #ADADAD", "M. g #3D3D3D",
"N. c #2E2E2E", "N. g #323232",
"O. c #5F5F5F", "O. g #D8D8D8",
"P. c #3B3B3B", "P. g #F2F2F2",
"Q. c #C5C5C5", "Q. g #FAFAFA",
"R. c #C6C6C6", "R. g #F8F8F8",
"S. c #222222", "S. g #E6E6E6",
"T. c #DFDFDF", "T. g #181818",
"U. c #7F7F7F", "U. g #9C9C9C",
"V. c #626262", "V. g #C8C8C8",
"W. c #C9C9C9", "W. g #D9D9D9",
"X. c #272727", "X. g #E7E7E7",
"Y. c #131313", "Y. g #F7F7F7",
"Z. c #1C1C1C", "Z. g #737373",
"`. c #4C4C4C", "`. g #999999",
" + c #888888", " + g #A8A8A8",
".+ c #6D6D6D", ".+ g #D7D7D7",
"++ c #484848", "++ g #DADADA",
"@+ c #7B7B7B", "@+ g #DCDCDC",
"#+ c #474747", "#+ g #CECECE",
"$+ c #0C0C0C", "$+ g #C5C5C5",
"%+ c #7A7A7A", "%+ g #B6B6B6",
"&+ c #D7D7D7", "&+ g #848484",
"*+ c #292929", "*+ g #989898",
"=+ c #535353", "=+ g #828282",
"-+ c #6B6B6B", "-+ g #6F6F6F",
";+ c #E0E0E0", ";+ g #5B5B5B",
">+ c #B1B1B1", ">+ g #747474",
",+ c #080808", ",+ g #808080",
"'+ c #999999", "'+ g #777777",
")+ c #363636", ")+ g #717171",
"!+ c #F8F8F8", "!+ g #242424",
"~+ c #505050", "~+ g #5E5E5E",
"{+ c #959595", "{+ g #626262",
"]+ c #EAEAEA", "]+ g #262626",
"^+ c #A0A0A0", "^+ g #606060",
"/+ c #3F3F3F", "/+ g #252525",
"(+ c #494949", "(+ g #303030",
"_+ c #BCBCBC", "_+ g #5A5A5A",
":+ c #9F9F9F", ":+ g #6A6A6A",
"<+ c #787878", "<+ g #1D1D1D",
"[+ c #E9E9E9", "[+ g #666666",
"}+ c #F1F1F1", "}+ g #555555",
"|+ c #ECECEC", "|+ g #545454",
"1+ c #838383", "1+ g #616161",
"2+ c #B5B5B5", "2+ g #454545",
"3+ c #7C7C7C", "3+ g #676767",
"4+ c #A3A3A3", "4+ g #292929",
"5+ c #A1A1A1", "5+ g #575757",
"6+ c #9B9B9B",
"7+ c #CACACA",
"8+ c #EEEEEE",
"9+ c #EBEBEB",
"0+ c #707070",
"a+ c #6F6F6F",
"b+ c #B3B3B3",
"c+ c #898989",
"d+ c #C3C3C3",
"e+ c #C8C8C8",
"f+ c #AFAFAF",
"g+ c #8D8D8D",
"h+ c #D8D8D8",
"i+ c #DBDBDB",
"j+ c #A9A9A9",
"k+ c #B7B7B7",
"l+ c #A5A5A5",
"m+ c #979797",
"n+ c #9E9E9E",
"o+ c #858585",
"p+ c #3C3C3C",
"q+ c #646464",
"r+ c #656565",
" ", " ",
" ", " ",
" ", " ",
@ -273,94 +250,6 @@ static char * nanodesk_bw_installed_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" . + ",
" @ # $ % ",
" & * = - ; ",
" > , # ",
" ' ) ! ~ { ] ",
" ^ / ( _ : < ",
" ' [ } | 1 2 3 4 5 : _ ",
" 6 | 7 8 9 ( _ 0 a b : : c # ",
" ^ d e * f g a h : : : i j k l m ",
" e n [ o p a b : : : : : : : q r 0 s t ",
" ^ u v r b : : : : : : : : : : b w { r 0 ",
" 8 9 x w : : : : : : : : : : : : : : h a q y ",
" z 9 v a : : : : : : : : : : A : : : : : h 5 : B ",
" > C { i : : D e } E F : G } H I J : : : : b : K L ",
" M * < h : : N O P P P Q 2 R P P P S T : : : i : : t ",
" $ ~ U : : V W P P P P P X P P P P P Y V : : : : : { ",
" m v a : Z ` P P P P P P P P P P P P P H a : : i : : ; ",
" 3 D K : .X P ..+.@.P #.$.P %.@.&.W P *.0 : : : : : - ",
" =.s h : -.P P ;.: : >.*.E W ,.: : '.P ).!.: : : : : ~ ",
" t ~.b : {.P P M : : ].` k ^./.: : C P (.!.: : : : : _. ",
" t ~.b : :.<.P O [.}.|.g : 1.2.3.[ 4.P 5.r : : : : : C ",
" 6.:.b : K ^ X P P 7.8.9.0.7 a.b.P P c.L : b : : : : ; ",
" d.e.b 0 N [ f.g.'.e h.0./ i.j.k.6 ; l.) &.m.b : : : ; ",
" D U b n.D o.p.j.j.p.g.q.r.s.t.u.j.j.j.4.v.~.K : : : ; ",
" V U j f @ ].4.w.w.w.u.x.p.x.w.w.w.w.x.y.8 z.: : : : ; ",
" % g w j u ' A.p.w.w.w.w.w.w.w.w.w.u.x.[ z.a : : : : ; ",
" N e.a : k B.C.4.w.w.w.w.w.w.w.w.p.u.i.* k : : : : : l. ",
" D.g a : : E.* s.4.u.w.w.w.w.w.p.u.F.% k : : : : : : - ",
" ( G.Z : : : H.3 r.4.p.w.w.w.S Q 8 % k : : : : : : : I. ",
" . s r i : : : : D k.4.4.J.4.>.> H.K.: : : : : : : : , ",
" f L.h : : : : b r 2 M.,.7 N.K : : : : : : : : : : G. ",
" {.J w : : : : : : : t N r : : : : : : : : : : : : b O. ",
" + P.a : : : : j & 0.g.Q.R.` 9 U : : : : : : : : : : I. ",
" z F 5 : : : S.` %.P P P P P <.T.U.Z : : : : : : : : e. ",
" E 1 V.4 b : b s W.P P P P P P P P P P t.V : : : : : i : b -. ",
" E ^ = X.j : : Y.u.P P P P P P P P P P P P ).* : : : : : i : E. ",
" E }.M s q : : : -.P P P P P P P P P P P P P P W B : : : : i q : y ",
" 6 1 M s q : : : a +.P P P P P P P P P P P P P P P o.b : : : : h a K Z. ",
" [.n.s q : : : : D <.P P P P P P P P P P P P P P P X `.: : : : : h a b . ",
" +.+< j : : : : : i.P P P P P P P P P P P P P P P P P J.r : : : : : h K : B ",
" I u V w : : : : : Y.W P P P P P P P P P P P P P P P P P P E : : : : : : h h : ++ ",
" @+@+#+k : : : : : : [ P P P P P P P P P P P P P P P P P P P R B : : : : : : q : $+] ",
" %+( g b : : : : : r &+P P P P P P P P P P P P P P P P P P P P } : : : : : : i b : *+ ",
" ' = D q : : : : : : > <.P P P P P P P P P P P P P P P P P P P P O ~.: : : : : : b : h =+ ",
" -+`.k : : : : : : j ^.P P P P P P P P P P P P P P P P P P P P P P V.: : : : : : : : : l ",
" $ J b : : : : : : z.#.P P P P P P P P P P P P P P P P P P P P P P |.Y.: : : : : : : : { O. ",
" V.++r : : : : : : : }.P P P P P P P P P P P P P P P P P P P P P P P P ' : : : : : : i : : #+ ",
" l.V K : : : : : : :.x.P P P P P P P P P P P P P P P P P P P P P P P P ;+U : : : : : : : : F ",
" & m p h : : : : : : M P P P P P P P P P P P P P P P P P P P P P P P P P P 8.: : : : : : : : p ",
" @ z.g i : : : : : Z >+P P P P P P P P P P P P P P P P P P P P P P P P P P &+A : : : : : : : 4 ",
" #+v Z : : : : : : *+..P P P P P P P P P P P P P P P P P P P P P P P P P P <.F : : : : : : : a ( ",
" =.< j : : : : : : O.P P P P P P P P P P P P P P P P P P P P P P P P P P P P ;.: : : : : : : ,+; ",
" l :.b : : : : : K '+P P P P P P P P P P P P P P P P P P P P P P P P P P P P >.A : : : : : : ,+; ",
" .r : : : : : : r p.P P P P P P P P P P P P P P P P P P P P P P P P P P P P *.U : : : : : : $+l. ",
" < i : : : : : : { %.P P P P P P P P P P P P P P P P P P P P P P P P P P P P ).t : : : : : : Z. ",
" `.a i : : : : : )+P P P P P P P P P P P P P P P P P P P P P P P P P P P P P 2.0 : : : : : : =. ",
" B { h : : : : N P P P P P P P P P P P P P P P P P P P P P P P P P P P P P W.A : : : : : : F ",
" % X.K : : : : 4 !+P P P P P P P P P P P P P P P P P P P P P P P P P P P P }.: : : : : : : l ",
" G < K : : : : a +.P P P P P P P P P P P P P P P P P P P P P P P P P P P P m.: : : : : : : e. ",
" z.J 5 : : : : : ~+W P P P P P P P P P P P P P P P P P P P P P P P P P P @.K : : : : : : : H.$ ",
" _.J j : : : : : : +P P P P P P P P P P P P P P P P P P P P P P P P P ).U : : : : : : : : 5 ; ",
" . _ s q : : : : : : !.O P P P P P P P P P P P P P P P P P P P P P P P P 2 : : : : : : : : : b o ",
" $ 6.4 h : : : : : : : {+P P P P P P P P P P P P P P P P P P P P P P P ]+s : : : : : : : : : : C ",
" B.*+L.b : : : : : : : m ..P P P P P P P P P P P P P P P P P P P P P P ^+w : : : : : : : : : : -. ",
" < Y.h : : : : : : : { x.P P P P P P P P P P P P P P P P P P P P P X # : : : A : : : : : : : -. ",
" x { q : : : : A j : : '+X P P P P P P P P P P P P P P P P P P P P O !.: w $ K : : : : : : : -. ",
" /+r 5 : : : : A /+_ : $ %.P P P P P P P P P P P P P P P P P P P P 3.: a }.+.: : : : : : : : m ",
" N H.w : : : : : ~ 2.m & ..P P P P P P P P P P P P P P P P P P P P @.f ].P : : : : : : : q ; ",
" ( H.a : : : : : r y.W $.X P P P P P P P P P P P P P P P P P P P P ..(.P !+d.: : : : : : : { O. ",
" Y.a : : : : : : e P P P P P P P P P P P P P P P P P P P P P P P P P P x.b : : : : : : : ~. ",
" J a i : : : : : % W P P P P P P P P P P P P P P P P P P P P P P P P P I : : : : : : : : =. ",
" /+w q : : : : : Z >+P P P P P P P P P P P P P P P P P P P P P P P P P D : : : : : : : b (+ ",
" o q q : : : : : : -.Y P P P P P P P P P P P P P P P P P P P P P P P _+w : : : : : : : L. ",
" r b : : : : : : K ^.P P P P P P P P P P P P P P P P P P P P P P P m : : : : : : : : 6. ",
" V i : : : : : : : ~+..P P P P P P P P P P P P P P P P P P P P P :+K : : : : : : : A N ",
" ~+: : : : : : : : b ,.P P P P P P P P P P P P P P P P P P P P |.4 : : : : : : : : H. ",
" E.: : : : : : : : *+W P P P P P P P P P P P P P P P P P P R )+: : : : : : : : : l ",
" 3 : : : : : : : : : 9 P P P P P P P P P P P P P P P P P Y m : : : : : : : : : b ; ",
" # a : : : : : : : : w s.P P P P P P P P P P P P P P P R =+: : : : : : : : : : G. ",
" P.: : : : : : : : : r ` P P P P P P P P P P P P P u.V : : : : : : : : : : : ~+ ",
" g : : : : : : : : : k +.P P P P P P P P P P P s.4 : : : : : : : : : : : ~. ",
" =.g Z j : : : : : : j <+[+%.!+..}+}+Y |+j.`.j : : : : : : : : : : : A o ",
" 1+:+2+|.+.M.3+e.: : : : : w a V 1+4+5+d d @+f : : : : : : : : : : : : K U F ",
" 6+7+8+9+).2.4.J.4.` ; t t -..+}.d q.0+% L O.6.I.; * a+u u `.)+S.k ,+: K.3+/.|./.b+5+} / ",
" c+d+]+2.A.,._+g.Q j.w.S 4.7+e+w.y.g.g.y.A.o.F.' = = ^+u.x.|.g.o.>._+f+n g+9 [.u.4.h+i+O O O t.@.:+1+ ",
" 7+g.].:+i.1 ;.j+^.y.Q y.W.o.k+l+:+:+:+:+l+0.+.` C.@.A.k+4+:+:+:+:+5+r.@.h.g.|.W.e+Q.k+H :+n d 4+&.m+ ",
" 3+U.6 ! / ].0.r.&.:+:+n+d C.<+<+o+1 7 7 7 U.) [.[.[.C.E @+[.d :+:+:+^+5+:+:+{+! ",
" o+6+6+d | +! e [ [.}.}.c+ ",
" ", " ",
" ", " ",
" ", " ",
@ -371,23 +260,111 @@ static char * nanodesk_bw_installed_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" !.: : G @ : : : ", " ",
" !.: : G @ : : : ", " ",
" !.: : G @ : : : ", " ",
" !.: : G @ : : : ", " ",
" @ : : : & V { E.p+ : : : : A e.x -. @ : : : & V { E.p+ M G !.Z Y.l ++ -.X.$+c -. !.: : G > m.p Z Y.D N @ P.~.K 4 f z.& @ : : : # K : : p+ ", " ",
" @ : : : (+b : : : : ~. : : : : : : : : J @ : : : (+b : : : : ~. `.: : : : : : : Y.@ P.: : : : : _ s : : G `.b : : : : : : :. =+: : : : : : : : = @ : : : # K : : 3 ", " ",
" @ : : : Y.( > D.: : : D. $ y : : N @ : : : Y.( > D.: : : D. l.: : : ++n.q+)+: : H. L : : : (+n.& N.: : : G l.: : q * > ] _ : : s J : : ~+ * )+ @ : : : # K : : ~ ", " ",
" @ : : : N e.: : ~ _.: : f @ : : : N e.: : ~ N.: : J r+A : : (+ , : : X. + : : : G N.: : m. M : : : l. G.: : o @ : : : -.K : : (+ ", " ",
" @ : : : B. X.: : /+ $ /+c H.: : : : : 0 @ : : : B. X.: : /+ : : : ~ p : : x A : : _. Z : : G : : : : : : : : : : : {. =.: : : H.N.3 =+ @ : : : : : : - ", " ",
" @ : : : & *+: : /+ ~+: : : : : : : : : 4 @ : : : & *+: : /+ : : : N x : : J : : : {. 0 : : G : : : : : : : : : : : z. e.: : : : : : U -+ @ : : : : : b ; ", " ",
" @ : : : & *+: : /+ U : : , & -+ I.: : 4 @ : : : & *+: : /+ : : : ~ c : : x A : : _. Z : : G : : : N L _.V 4 : : : )+ @ : : : d.: : q l. ", " ",
" @ : : : & *+: : /+ : : : D. l : : 4 @ : : : & *+: : /+ D : : J r+A : : (+ , : : J + : : : G N.: : l {.: : :. @ : : : . t : : ,+@ ", " ",
" @ : : : & *+: : /+ k : : )+M n.#+: : : 4 @ : : : & *+: : /+ ; : : : (+n.r+)+: : k * : : : {.n.& , : : : G l.: : : 3 M - N. _ {.M % : : N. @ : : : & > D : : $+$ ", " ",
" @ : : : & *+: : /+ N : : : : : S._ : : 4 @ : : : & *+: : /+ {.: : : : : : : { @ v : : : : : _ s : : G `.b : : : : : : : : f : : : : : : : A ( @ : : : & M X.: : k & ", " . + @ ",
" @ : : : & *+: : /+ o N.{ y m.M z.: : 4 @ : : : & *+: : /+ r+3 s $+{ < ++ -.c $+c -.-+!.: : G -+I.J H.H.c =.C * P.J H.$+!.3 > @ : : : & r+ .: : { M ", " # $ % & ",
" _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._. ", " * = - ; > & , ",
" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", " ' ) ! ~ { ] ^ & , / ",
" ( ' _ : < [ } ^ & & | 1 2 3 4 ",
" 5 6 7 8 9 @ & & & & , } 0 [ } ",
" a ; b | & & & & & & & & & , } c @ ",
" d e f g & } h i , & [ j 8 & & , 9 & @ ",
" k l } & m n o p q r s t u v & & , @ & | ",
" w x 8 @ 0 y z z z A B z z z C D & & & & , ",
" E 7 F F G z z z z z z z z H z I J & & & & / ",
" K f g L M z n N O P Q R ; S T U V & & & & / ",
" W b , X Y Z ] & ` Q ...& +.@.#.w & & & & i ",
" h 8 , r $.z %.v &.*.] =.-.E H O > & & & & m ;. ",
" m ] , ^ >.,.U '.).!.~.. ( {.t ].9 ^.& & & b /. ",
" / (.1 _.~.p :.<.Q a ~.[.y }.S |.1.2.& & @ 2 ;. ",
" ] ^.3.4.5.{.6...6.7.8.C B C 9.{.y 2 & & @ h 0. ",
" J ^.F -.a.b.c.....c.c.....B t d.N J & & @ 2 ;. ",
" ^.(.9 0 /.e.c.............f.g.< 1 & & & @ b ;. ",
" ] (.c & 1 h.i.f.........f.j._.k.& & & & & 4 0. ",
" J } & & & /.i.f.c.c.6.7.E | & & & & & & 0 ;. ",
" 3.J @ & & & j * s j.6 9 & & & & & & & & l.;. ",
" v m m.& & & & | h.n.& & & & & & & & & & 1 h. ",
" o.f | & & } p.~ <.q.).*.i | & & & & & & ^ r. ",
" |.k 2 ^ & } s.#.z z z z Z 9.).t.& & & @ & & J ",
" u.q.E 1 @ k.v.z z z z z z z z z !.[ & & & @ & ^ m ",
" w.%.0 , & x.y.z z z z z z z z z z z.l.& & @ ^ & A. ",
" d ; 3 c @ B.1.Z z z z z z z z z z z Z & & & , c @ , ",
" }.C.{ 1 , & D.E.z z z z z z z z z z z z F.l.& & & , , & G. ",
" E r 0 c , @ ~.Z z z z z z z z z z z z z A .@ & & & & & @ ",
" f b 1 | @ ] H.z z z z z z z z z z z z z z I.n.& & & & & , } ",
" ^.1 c , & ;.U z z z z z z z z z z z z z z z J.J & & & @ ^ 1 ",
" , @ & & ^ - H K.z z z z z z z z z z z z z z L.M.& & & , c / ",
" ^ , @ & N.O.Z K.K.K.z z z z z z z z z z K.K.Z n } & @ A.1 r.x. ",
" | ^ +.:.P.Q.Z Z K.K.K.K.K.K.K.K.K.K.K.Z H R.S.f & ^ F [ r < ",
" 9 T.z.M Y #.T H H Z Z Z Z Z Z Z Z H T P.S..._.G.} 8 W V ",
" / U.g.V.W.X.R #.P Y.R.R.R.P A P.R S.{.s ' Z.T.8 D < 0. ",
" d a.`. +F.V....+++@.@+@..+c.#+$+%+J.!.- q.W L < ;. ",
" ).'.&+- # = `.* * * * * `.*+~.# - =+-+;+< < ;. ",
" + ).>+'.s.,+,+=+w.,+d |.'+)+>.+ ;././.;. ",
" /.;./.;./.;.;.;.;.;.;./.;.0./.;. ",
" 0.;./.0.;.0./.;././. !+& & x. ;+& & & ). ",
" !+& & x. ;+& & & ). ",
" !+& & x. ;+& & & ). ",
" !+& & x. ;+& & & ). ",
" ;+& & & ).~+2.J T.n.). {+& & & & A.8 N.4.>. ;+& & & ).~+2.J T.n.). q x.!+F ^.r.E k .4.2 k.]+4. .!+& & x. ^+V /+F ^.3 ].}. ;+7 [ 9 0 (+;.~+ ;+& & & ). _+9 & & n.:+ ",
" ;+& & & -., & & & & [ >. {+& & & & & & & & h }. ;+& & & -., & & & & [ >. x & & & & & & & ^.;+ 7 & & & & & M.b & & x. x , & & & & & & i {+ w & & & & & & & & ^+ ;+& & & ). _+9 & & K . ",
" ;+& & & ^.~ >.S & & & S >.%.<+& & ]. ;+& & & ^.~ >.S & & & S + & & & E }.; *.& & t.[+ }+& & & -.}.).f & & & x. + & & m.|+>.[+M.& & b :+ h & & N >.>.).|+*.1+ ;+& & & )._+9 & & 2+ ",
" ;+& & & ]. 8 & & 2+ /.& & (+ ;+& & & ]. 8 & & 2+ f & & h k A.& & -. p.& & 2 ^+& & & x. f & & V 3+& & & + 3.& & o. ;+& & & 4.9 & & -. ",
" ;+& & & ~+ 2 & & h. %.h.]+t.& & & & & % ;+& & & ~+ 2 & & h. >.& & & 2+ /+& & N. .A.& & /. F & & x. >.& & & & & & & & & & & _. L & & & t.f K w }. ;+& & & & & & D. ",
" ;+& & & ). 4+& & h. N & & & & & & & & & 0 ;+& & & ). 4+& & h. [+& & & ]. N.& & h }.& & & _. % & & x. [+& & & & & & & & & & & ;. {+8 & & & & & & (.1+ ;+& & & & & , 5+ ",
" ;+& & & ). 4+& & h. .(.& & p.). . < & & 0 ;+& & & ). 4+& & h. >.& & & 2+ ]+& & N. .A.& & /. F & & x. >.& & & ]. >.}+/.2.0 & & & *. ;+& & & j & & m.+ ",
" ;+& & & ). 4+& & h. [+& & & S r.& & 0 ;+& & & ). 4+& & h. 3 & & h k A.& & -. p.& & h ^+& & & x. f & & r. . _.& & i ;+& & & 1+v & & +.;+ ",
" ;+& & & ). 4+& & h. :+B.& & *.3+}.0.& & & 0 ;+& & & ). 4+& & h. 5+& & & -.}.k *.& & B.k |+& & & _.}.).p.& & & x. + & & & K ; .[+q D.f }. M._.q [+ .3+l & & f ;+& & & ).>.3 & & k.%. ",
" ;+& & & ). 4+& & h. ].& & & & & 4 M.& & 0 ;+& & & ). 4+& & h. _.& & & & & & & J ;+ r & & & & & M.b & & x. x , & & & & & & & & }. (+& & & & & & & A.~ ;+& & & ). 3+2 & & B.~+ ",
" ;+& & & ). 4+& & h. o.f J <+V 3+;.& & 0 ;+& & & ). 4+& & h. q K b k.J > E k .4.]+k.]+4. .!+& & x. 1+< h t.t.]+L X ). 3+|+7 h t.k.!+K ^+ ;+& & & ). k m & & J q ",
" /././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././. ",
" C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C. ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,227 +1,227 @@
/* XPM */ /* XPM */
static char * nanodesk_bw_live_xpm[] = { static char * nanodesk_bw_xpm[] = {
"114 200 221 2", "114 200 221 2",
" c #6C6C6C", " g #6C6C6C",
". c #888888", ". g #888888",
"+ c #585858", "+ g #585858",
"@ c #010101", "@ g #010101",
"# c #939393", "# g #939393",
"$ c #727272", "$ g #727272",
"% c #202020", "% g #202020",
"& c #000000", "& g #000000",
"* c #9A9A9A", "* g #9A9A9A",
"= c #979797", "= g #979797",
"- c #8C8C8C", "- g #8C8C8C",
"; c #646464", "; g #646464",
"> c #2A2A2A", "> g #2A2A2A",
", c #020202", ", g #020202",
"' c #9E9E9E", "' g #9E9E9E",
") c #919191", ") g #919191",
"! c #787878", "! g #787878",
"~ c #595959", "~ g #595959",
"{ c #383838", "{ g #383838",
"] c #151515", "] g #151515",
"^ c #030303", "^ g #030303",
"/ c #1C1C1C", "/ g #1C1C1C",
"( c #A1A1A1", "( g #A1A1A1",
"_ c #8D8D8D", "_ g #8D8D8D",
": c #707070", ": g #707070",
"< c #434343", "< g #434343",
"[ c #1F1F1F", "[ g #1F1F1F",
"} c #0D0D0D", "} g #0D0D0D",
"| c #060606", "| g #060606",
"1 c #101010", "1 g #101010",
"2 c #272727", "2 g #272727",
"3 c #2D2D2D", "3 g #2D2D2D",
"4 c #222222", "4 g #222222",
"5 c #8F8F8F", "5 g #8F8F8F",
"6 c #6E6E6E", "6 g #6E6E6E",
"7 c #3B3B3B", "7 g #3B3B3B",
"8 c #191919", "8 g #191919",
"9 c #0A0A0A", "9 g #0A0A0A",
"0 c #1B1B1B", "0 g #1B1B1B",
"a c #868686", "a g #868686",
"b c #232323", "b g #232323",
"c c #0B0B0B", "c g #0B0B0B",
"d c #7E7E7E", "d g #7E7E7E",
"e c #6D6D6D", "e g #6D6D6D",
"f c #2E2E2E", "f g #2E2E2E",
"g c #090909", "g g #090909",
"h c #282828", "h g #282828",
"i c #1E1E1E", "i g #1E1E1E",
"j c #2B2B2B", "j g #2B2B2B",
"k c #656565", "k g #656565",
"l c #3E3E3E", "l g #3E3E3E",
"m c #212121", "m g #212121",
"n c #8B8B8B", "n g #8B8B8B",
"o c #CFCFCF", "o g #CFCFCF",
"p c #BDBDBD", "p g #BDBDBD",
"q c #5F5F5F", "q g #5F5F5F",
"r c #3A3A3A", "r g #3A3A3A",
"s c #BEBEBE", "s g #BEBEBE",
"t c #D5D5D5", "t g #D5D5D5",
"u c #AEAEAE", "u g #AEAEAE",
"v c #343434", "v g #343434",
"w c #535353", "w g #535353",
"x c #4C4C4C", "x g #4C4C4C",
"y c #ACACAC", "y g #ACACAC",
"z c #FFFFFF", "z g #FFFFFF",
"A c #F4F4F4", "A g #F4F4F4",
"B c #D2D2D2", "B g #D2D2D2",
"C c #CDCDCD", "C g #CDCDCD",
"D c #313131", "D g #313131",
"E c #484848", "E g #484848",
"F c #0E0E0E", "F g #0E0E0E",
"G c #929292", "G g #929292",
"H c #FCFCFC", "H g #FCFCFC",
"I c #AAAAAA", "I g #AAAAAA",
"J c #121212", "J g #121212",
"K c #404040", "K g #404040",
"L c #373737", "L g #373737",
"M c #DDDDDD", "M g #DDDDDD",
"N c #505050", "N g #505050",
"O c #E4E4E4", "O g #E4E4E4",
"P c #F6F6F6", "P g #F6F6F6",
"Q c #C6C6C6", "Q g #C6C6C6",
"R c #EFEFEF", "R g #EFEFEF",
"S c #525252", "S g #525252",
"T c #F9F9F9", "T g #F9F9F9",
"U c #E9E9E9", "U g #E9E9E9",
"V c #424242", "V g #424242",
"W c #333333", "W g #333333",
"X c #4F4F4F", "X g #4F4F4F",
"Y c #EDEDED", "Y g #EDEDED",
"Z c #FDFDFD", "Z g #FDFDFD",
"` c #A9A9A9", "` g #A9A9A9",
" . c #6B6B6B", " . g #6B6B6B",
".. c #D1D1D1", ".. g #D1D1D1",
"+. c #080808", "+. g #080808",
"@. c #DBDBDB", "@. g #DBDBDB",
"#. c #F3F3F3", "#. g #F3F3F3",
"$. c #E5E5E5", "$. g #E5E5E5",
"%. c #5C5C5C", "%. g #5C5C5C",
"&. c #A2A2A2", "&. g #A2A2A2",
"*. c #363636", "*. g #363636",
"=. c #BABABA", "=. g #BABABA",
"-. c #494949", "-. g #494949",
";. c #464646", ";. g #464646",
">. c #696969", ">. g #696969",
",. c #E8E8E8", ",. g #E8E8E8",
"'. c #797979", "'. g #797979",
"). c #636363", "). g #636363",
"!. c #959595", "!. g #959595",
"~. c #969696", "~. g #969696",
"{. c #D6D6D6", "{. g #D6D6D6",
"]. c #4B4B4B", "]. g #4B4B4B",
"^. c #131313", "^. g #131313",
"/. c #444444", "/. g #444444",
"(. c #141414", "(. g #141414",
"_. c #4A4A4A", "_. g #4A4A4A",
":. c #7F7F7F", ":. g #7F7F7F",
"<. c #757575", "<. g #757575",
"[. c #CACACA", "[. g #CACACA",
"}. c #686868", "}. g #686868",
"|. c #7C7C7C", "|. g #7C7C7C",
"1. c #9F9F9F", "1. g #9F9F9F",
"2. c #353535", "2. g #353535",
"3. c #1A1A1A", "3. g #1A1A1A",
"4. c #4E4E4E", "4. g #4E4E4E",
"5. c #B5B5B5", "5. g #B5B5B5",
"6. c #D0D0D0", "6. g #D0D0D0",
"7. c #A3A3A3", "7. g #A3A3A3",
"8. c #C2C2C2", "8. g #C2C2C2",
"9. c #CBCBCB", "9. g #CBCBCB",
"0. c #474747", "0. g #474747",
"a. c #8E8E8E", "a. g #8E8E8E",
"b. c #CCCCCC", "b. g #CCCCCC",
"c. c #D3D3D3", "c. g #D3D3D3",
"d. c #B0B0B0", "d. g #B0B0B0",
"e. c #A7A7A7", "e. g #A7A7A7",
"f. c #D4D4D4", "f. g #D4D4D4",
"g. c #B4B4B4", "g. g #B4B4B4",
"h. c #3F3F3F", "h. g #3F3F3F",
"i. c #B7B7B7", "i. g #B7B7B7",
"j. c #BCBCBC", "j. g #BCBCBC",
"k. c #0C0C0C", "k. g #0C0C0C",
"l. c #171717", "l. g #171717",
"m. c #050505", "m. g #050505",
"n. c #3C3C3C", "n. g #3C3C3C",
"o. c #565656", "o. g #565656",
"p. c #2F2F2F", "p. g #2F2F2F",
"q. c #7B7B7B", "q. g #7B7B7B",
"r. c #2C2C2C", "r. g #2C2C2C",
"s. c #7D7D7D", "s. g #7D7D7D",
"t. c #111111", "t. g #111111",
"u. c #878787", "u. g #878787",
"v. c #767676", "v. g #767676",
"w. c #818181", "w. g #818181",
"x. c #414141", "x. g #414141",
"y. c #F0F0F0", "y. g #F0F0F0",
"z. c #A6A6A6", "z. g #A6A6A6",
"A. c #040404", "A. g #040404",
"B. c #0F0F0F", "B. g #0F0F0F",
"C. c #5D5D5D", "C. g #5D5D5D",
"D. c #4D4D4D", "D. g #4D4D4D",
"E. c #EAEAEA", "E. g #EAEAEA",
"F. c #B8B8B8", "F. g #B8B8B8",
"G. c #070707", "G. g #070707",
"H. c #C1C1C1", "H. g #C1C1C1",
"I. c #E2E2E2", "I. g #E2E2E2",
"J. c #A0A0A0", "J. g #A0A0A0",
"K. c #FEFEFE", "K. g #FEFEFE",
"L. c #F1F1F1", "L. g #F1F1F1",
"M. c #3D3D3D", "M. g #3D3D3D",
"N. c #323232", "N. g #323232",
"O. c #D8D8D8", "O. g #D8D8D8",
"P. c #F2F2F2", "P. g #F2F2F2",
"Q. c #FAFAFA", "Q. g #FAFAFA",
"R. c #F8F8F8", "R. g #F8F8F8",
"S. c #E6E6E6", "S. g #E6E6E6",
"T. c #181818", "T. g #181818",
"U. c #9C9C9C", "U. g #9C9C9C",
"V. c #C8C8C8", "V. g #C8C8C8",
"W. c #D9D9D9", "W. g #D9D9D9",
"X. c #E7E7E7", "X. g #E7E7E7",
"Y. c #F7F7F7", "Y. g #F7F7F7",
"Z. c #737373", "Z. g #737373",
"`. c #999999", "`. g #999999",
" + c #A8A8A8", " + g #A8A8A8",
".+ c #D7D7D7", ".+ g #D7D7D7",
"++ c #DADADA", "++ g #DADADA",
"@+ c #DCDCDC", "@+ g #DCDCDC",
"#+ c #CECECE", "#+ g #CECECE",
"$+ c #C5C5C5", "$+ g #C5C5C5",
"%+ c #B6B6B6", "%+ g #B6B6B6",
"&+ c #848484", "&+ g #848484",
"*+ c #989898", "*+ g #989898",
"=+ c #828282", "=+ g #828282",
"-+ c #6F6F6F", "-+ g #6F6F6F",
";+ c #5B5B5B", ";+ g #5B5B5B",
">+ c #747474", ">+ g #747474",
",+ c #808080", ",+ g #808080",
"'+ c #777777", "'+ g #777777",
")+ c #717171", ")+ g #717171",
"!+ c #252525", "!+ g #252525",
"~+ c #5A5A5A", "~+ g #5A5A5A",
"{+ c #626262", "{+ g #626262",
"]+ c #242424", "]+ g #242424",
"^+ c #606060", "^+ g #606060",
"/+ c #676767", "/+ g #676767",
"(+ c #303030", "(+ g #303030",
"_+ c #6A6A6A", "_+ g #6A6A6A",
":+ c #292929", ":+ g #292929",
"<+ c #616161", "<+ g #616161",
"[+ c #545454", "[+ g #545454",
"}+ c #1D1D1D", "}+ g #1D1D1D",
"|+ c #666666", "|+ g #666666",
"1+ c #454545", "1+ g #454545",
"2+ c #262626", "2+ g #262626",
"3+ c #575757", "3+ g #575757",
"4+ c #555555", "4+ g #555555",
"5+ c #5E5E5E", "5+ g #5E5E5E",
"6+ c #515151", "6+ g #515151",
"7+ c #161616", "7+ g #161616",
"8+ c #393939", "8+ g #393939",
" ", " ",
" ", " ",
" ", " ",
@ -335,18 +335,18 @@ static char * nanodesk_bw_live_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" ", " 5+& l [ & 3+ >.M.l.& v 8+, {+ ",
" ", " W & ^+ [ & 3+ 4.& (+ . 7 & 0. %.& 7 ",
" ", " {+& !+ [ & 3+ < & K 7 & 0. .i , k ",
" ", " x & ;. f & & 9 :+6+ [ & 3+ S :+1 2+;.|+ }.E h 1 :+_.>. *.& & & & ;. }.E h 1 :+_.>. [ & _.L (.o. [ & _.L (.o.}.E h 1 :+_.>. }.E h 1 :+_.>. r.& & & & 0 x.& 6+ ",
" ", " { & [+ k j & ~+ [ & 3+<+& p.>.|+[+]. .r.& D.>.0.& W < & K .r.& D.>.0.& W [ & 2+). [ & 2+). .r.& D.>.0.& W .r.& D.>.0.& W 7 & 0. 6+& l ",
" ", " j & ~+ E & V [ & 3+5+& 8 w 5+>. ;+& , _+ |+& & q < & K ;+& , _+ |+& & q [ & N [ & N ;+& , _+ |+& & q ;+& , _+ |+& & q 7 & 0. 3+& N. ",
" ", " > & ~+ N r.(.& & & L [ & 3+ .x., & & +.]. w & 7+ .& & + < & K w & 7+ .& & + [ & 3+ [ & 3+ w & 7+ .& & + w & 7+ .& & + 7 & 0. 3+& N. ",
" ", " { & [+ ;+& (.). ;.& *. [ & 3+ >.q ].& & >.;+& , _+ |+& & q < & K ;+& , _+ |+& & q [ & 3+ [ & 3+ ;+& , _+ |+& & q ;+& , _+ |+& & q n.& 0. 6+& l ",
" ", " x & ;. ~ & l.; ).}+& *. [ & 3+<+/.<+_+5+& ] . .j & D.>.0.& N. < & K .j & D.>.0.& N. [ & 3+ [ & 3+ .j & D.>.0.& N. .j & D.>.0.& N. /.& 7 . x.& N ",
" ", " {+& 2+ -.3.0 M.x.& *. [ & 3+ .+ 2.] T.2.5+ }.0.2 B.2 _.>. < & K }.0.2 B.2 _.>. [ & 3+ [ & 3+ }.0.2 B.2 _.>. }.0.2 B.2 _.>. ).(+} & r [ , k ",
" ", " v & ^+ C.& 7 ",
" ", " 5+& l 8+, {+ ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,227 +1,227 @@
/* XPM */ /* XPM */
static char * nanodesk_bw_xpm[] = { static char * nanodesk_bw_xpm[] = {
"114 200 221 2", "114 200 221 2",
" c #6C6C6C", " g #6C6C6C",
". c #888888", ". g #888888",
"+ c #585858", "+ g #585858",
"@ c #010101", "@ g #010101",
"# c #939393", "# g #939393",
"$ c #727272", "$ g #727272",
"% c #202020", "% g #202020",
"& c #000000", "& g #000000",
"* c #9A9A9A", "* g #9A9A9A",
"= c #979797", "= g #979797",
"- c #8C8C8C", "- g #8C8C8C",
"; c #646464", "; g #646464",
"> c #2A2A2A", "> g #2A2A2A",
", c #020202", ", g #020202",
"' c #9E9E9E", "' g #9E9E9E",
") c #919191", ") g #919191",
"! c #787878", "! g #787878",
"~ c #595959", "~ g #595959",
"{ c #383838", "{ g #383838",
"] c #151515", "] g #151515",
"^ c #030303", "^ g #030303",
"/ c #1C1C1C", "/ g #1C1C1C",
"( c #A1A1A1", "( g #A1A1A1",
"_ c #8D8D8D", "_ g #8D8D8D",
": c #707070", ": g #707070",
"< c #434343", "< g #434343",
"[ c #1F1F1F", "[ g #1F1F1F",
"} c #0D0D0D", "} g #0D0D0D",
"| c #060606", "| g #060606",
"1 c #101010", "1 g #101010",
"2 c #272727", "2 g #272727",
"3 c #2D2D2D", "3 g #2D2D2D",
"4 c #222222", "4 g #222222",
"5 c #8F8F8F", "5 g #8F8F8F",
"6 c #6E6E6E", "6 g #6E6E6E",
"7 c #3B3B3B", "7 g #3B3B3B",
"8 c #191919", "8 g #191919",
"9 c #0A0A0A", "9 g #0A0A0A",
"0 c #1B1B1B", "0 g #1B1B1B",
"a c #868686", "a g #868686",
"b c #232323", "b g #232323",
"c c #0B0B0B", "c g #0B0B0B",
"d c #7E7E7E", "d g #7E7E7E",
"e c #6D6D6D", "e g #6D6D6D",
"f c #2E2E2E", "f g #2E2E2E",
"g c #090909", "g g #090909",
"h c #282828", "h g #282828",
"i c #1E1E1E", "i g #1E1E1E",
"j c #2B2B2B", "j g #2B2B2B",
"k c #656565", "k g #656565",
"l c #3E3E3E", "l g #3E3E3E",
"m c #212121", "m g #212121",
"n c #8B8B8B", "n g #8B8B8B",
"o c #CFCFCF", "o g #CFCFCF",
"p c #BDBDBD", "p g #BDBDBD",
"q c #5F5F5F", "q g #5F5F5F",
"r c #3A3A3A", "r g #3A3A3A",
"s c #BEBEBE", "s g #BEBEBE",
"t c #D5D5D5", "t g #D5D5D5",
"u c #AEAEAE", "u g #AEAEAE",
"v c #343434", "v g #343434",
"w c #535353", "w g #535353",
"x c #4C4C4C", "x g #4C4C4C",
"y c #ACACAC", "y g #ACACAC",
"z c #FFFFFF", "z g #FFFFFF",
"A c #F4F4F4", "A g #F4F4F4",
"B c #D2D2D2", "B g #D2D2D2",
"C c #CDCDCD", "C g #CDCDCD",
"D c #313131", "D g #313131",
"E c #484848", "E g #484848",
"F c #0E0E0E", "F g #0E0E0E",
"G c #929292", "G g #929292",
"H c #FCFCFC", "H g #FCFCFC",
"I c #AAAAAA", "I g #AAAAAA",
"J c #121212", "J g #121212",
"K c #404040", "K g #404040",
"L c #373737", "L g #373737",
"M c #DDDDDD", "M g #DDDDDD",
"N c #505050", "N g #505050",
"O c #E4E4E4", "O g #E4E4E4",
"P c #F6F6F6", "P g #F6F6F6",
"Q c #C6C6C6", "Q g #C6C6C6",
"R c #EFEFEF", "R g #EFEFEF",
"S c #525252", "S g #525252",
"T c #F9F9F9", "T g #F9F9F9",
"U c #E9E9E9", "U g #E9E9E9",
"V c #424242", "V g #424242",
"W c #333333", "W g #333333",
"X c #4F4F4F", "X g #4F4F4F",
"Y c #EDEDED", "Y g #EDEDED",
"Z c #FDFDFD", "Z g #FDFDFD",
"` c #A9A9A9", "` g #A9A9A9",
" . c #6B6B6B", " . g #6B6B6B",
".. c #D1D1D1", ".. g #D1D1D1",
"+. c #080808", "+. g #080808",
"@. c #DBDBDB", "@. g #DBDBDB",
"#. c #F3F3F3", "#. g #F3F3F3",
"$. c #E5E5E5", "$. g #E5E5E5",
"%. c #5C5C5C", "%. g #5C5C5C",
"&. c #A2A2A2", "&. g #A2A2A2",
"*. c #363636", "*. g #363636",
"=. c #BABABA", "=. g #BABABA",
"-. c #494949", "-. g #494949",
";. c #464646", ";. g #464646",
">. c #696969", ">. g #696969",
",. c #E8E8E8", ",. g #E8E8E8",
"'. c #797979", "'. g #797979",
"). c #636363", "). g #636363",
"!. c #959595", "!. g #959595",
"~. c #969696", "~. g #969696",
"{. c #D6D6D6", "{. g #D6D6D6",
"]. c #4B4B4B", "]. g #4B4B4B",
"^. c #131313", "^. g #131313",
"/. c #444444", "/. g #444444",
"(. c #141414", "(. g #141414",
"_. c #4A4A4A", "_. g #4A4A4A",
":. c #7F7F7F", ":. g #7F7F7F",
"<. c #757575", "<. g #757575",
"[. c #CACACA", "[. g #CACACA",
"}. c #686868", "}. g #686868",
"|. c #7C7C7C", "|. g #7C7C7C",
"1. c #9F9F9F", "1. g #9F9F9F",
"2. c #353535", "2. g #353535",
"3. c #1A1A1A", "3. g #1A1A1A",
"4. c #4E4E4E", "4. g #4E4E4E",
"5. c #B5B5B5", "5. g #B5B5B5",
"6. c #D0D0D0", "6. g #D0D0D0",
"7. c #A3A3A3", "7. g #A3A3A3",
"8. c #C2C2C2", "8. g #C2C2C2",
"9. c #CBCBCB", "9. g #CBCBCB",
"0. c #474747", "0. g #474747",
"a. c #8E8E8E", "a. g #8E8E8E",
"b. c #CCCCCC", "b. g #CCCCCC",
"c. c #D3D3D3", "c. g #D3D3D3",
"d. c #B0B0B0", "d. g #B0B0B0",
"e. c #A7A7A7", "e. g #A7A7A7",
"f. c #D4D4D4", "f. g #D4D4D4",
"g. c #B4B4B4", "g. g #B4B4B4",
"h. c #3F3F3F", "h. g #3F3F3F",
"i. c #B7B7B7", "i. g #B7B7B7",
"j. c #BCBCBC", "j. g #BCBCBC",
"k. c #0C0C0C", "k. g #0C0C0C",
"l. c #171717", "l. g #171717",
"m. c #050505", "m. g #050505",
"n. c #3C3C3C", "n. g #3C3C3C",
"o. c #565656", "o. g #565656",
"p. c #2F2F2F", "p. g #2F2F2F",
"q. c #7B7B7B", "q. g #7B7B7B",
"r. c #2C2C2C", "r. g #2C2C2C",
"s. c #7D7D7D", "s. g #7D7D7D",
"t. c #111111", "t. g #111111",
"u. c #878787", "u. g #878787",
"v. c #767676", "v. g #767676",
"w. c #818181", "w. g #818181",
"x. c #414141", "x. g #414141",
"y. c #F0F0F0", "y. g #F0F0F0",
"z. c #A6A6A6", "z. g #A6A6A6",
"A. c #040404", "A. g #040404",
"B. c #0F0F0F", "B. g #0F0F0F",
"C. c #5D5D5D", "C. g #5D5D5D",
"D. c #4D4D4D", "D. g #4D4D4D",
"E. c #EAEAEA", "E. g #EAEAEA",
"F. c #B8B8B8", "F. g #B8B8B8",
"G. c #070707", "G. g #070707",
"H. c #C1C1C1", "H. g #C1C1C1",
"I. c #E2E2E2", "I. g #E2E2E2",
"J. c #A0A0A0", "J. g #A0A0A0",
"K. c #FEFEFE", "K. g #FEFEFE",
"L. c #F1F1F1", "L. g #F1F1F1",
"M. c #3D3D3D", "M. g #3D3D3D",
"N. c #323232", "N. g #323232",
"O. c #D8D8D8", "O. g #D8D8D8",
"P. c #F2F2F2", "P. g #F2F2F2",
"Q. c #FAFAFA", "Q. g #FAFAFA",
"R. c #F8F8F8", "R. g #F8F8F8",
"S. c #E6E6E6", "S. g #E6E6E6",
"T. c #181818", "T. g #181818",
"U. c #9C9C9C", "U. g #9C9C9C",
"V. c #C8C8C8", "V. g #C8C8C8",
"W. c #D9D9D9", "W. g #D9D9D9",
"X. c #E7E7E7", "X. g #E7E7E7",
"Y. c #F7F7F7", "Y. g #F7F7F7",
"Z. c #737373", "Z. g #737373",
"`. c #999999", "`. g #999999",
" + c #A8A8A8", " + g #A8A8A8",
".+ c #D7D7D7", ".+ g #D7D7D7",
"++ c #DADADA", "++ g #DADADA",
"@+ c #DCDCDC", "@+ g #DCDCDC",
"#+ c #CECECE", "#+ g #CECECE",
"$+ c #C5C5C5", "$+ g #C5C5C5",
"%+ c #B6B6B6", "%+ g #B6B6B6",
"&+ c #848484", "&+ g #848484",
"*+ c #989898", "*+ g #989898",
"=+ c #828282", "=+ g #828282",
"-+ c #6F6F6F", "-+ g #6F6F6F",
";+ c #5B5B5B", ";+ g #5B5B5B",
">+ c #747474", ">+ g #747474",
",+ c #808080", ",+ g #808080",
"'+ c #777777", "'+ g #777777",
")+ c #717171", ")+ g #717171",
"!+ c #252525", "!+ g #252525",
"~+ c #5A5A5A", "~+ g #5A5A5A",
"{+ c #626262", "{+ g #626262",
"]+ c #242424", "]+ g #242424",
"^+ c #606060", "^+ g #606060",
"/+ c #676767", "/+ g #676767",
"(+ c #303030", "(+ g #303030",
"_+ c #6A6A6A", "_+ g #6A6A6A",
":+ c #292929", ":+ g #292929",
"<+ c #616161", "<+ g #616161",
"[+ c #545454", "[+ g #545454",
"}+ c #1D1D1D", "}+ g #1D1D1D",
"|+ c #666666", "|+ g #666666",
"1+ c #454545", "1+ g #454545",
"2+ c #262626", "2+ g #262626",
"3+ c #575757", "3+ g #575757",
"4+ c #555555", "4+ g #555555",
"5+ c #5E5E5E", "5+ g #5E5E5E",
"6+ c #515151", "6+ g #515151",
"7+ c #161616", "7+ g #161616",
"8+ c #393939", "8+ g #393939",
" ", " ",
" ", " ",
" ", " ",
@ -335,18 +335,18 @@ static char * nanodesk_bw_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" ", " 5+& l [ & 3+ >.M.l.& v 8+, {+ ",
" ", " W & ^+ [ & 3+ 4.& (+ . 7 & 0. %.& 7 ",
" ", " {+& !+ [ & 3+ < & K 7 & 0. .i , k ",
" ", " x & ;. f & & 9 :+6+ [ & 3+ S :+1 2+;.|+ }.E h 1 :+_.>. *.& & & & ;. }.E h 1 :+_.>. [ & _.L (.o. [ & _.L (.o.}.E h 1 :+_.>. }.E h 1 :+_.>. r.& & & & 0 x.& 6+ ",
" ", " { & [+ k j & ~+ [ & 3+<+& p.>.|+[+]. .r.& D.>.0.& W < & K .r.& D.>.0.& W [ & 2+). [ & 2+). .r.& D.>.0.& W .r.& D.>.0.& W 7 & 0. 6+& l ",
" ", " j & ~+ E & V [ & 3+5+& 8 w 5+>. ;+& , _+ |+& & q < & K ;+& , _+ |+& & q [ & N [ & N ;+& , _+ |+& & q ;+& , _+ |+& & q 7 & 0. 3+& N. ",
" ", " > & ~+ N r.(.& & & L [ & 3+ .x., & & +.]. w & 7+ .& & + < & K w & 7+ .& & + [ & 3+ [ & 3+ w & 7+ .& & + w & 7+ .& & + 7 & 0. 3+& N. ",
" ", " { & [+ ;+& (.). ;.& *. [ & 3+ >.q ].& & >.;+& , _+ |+& & q < & K ;+& , _+ |+& & q [ & 3+ [ & 3+ ;+& , _+ |+& & q ;+& , _+ |+& & q n.& 0. 6+& l ",
" ", " x & ;. ~ & l.; ).}+& *. [ & 3+<+/.<+_+5+& ] . .j & D.>.0.& N. < & K .j & D.>.0.& N. [ & 3+ [ & 3+ .j & D.>.0.& N. .j & D.>.0.& N. /.& 7 . x.& N ",
" ", " {+& 2+ -.3.0 M.x.& *. [ & 3+ .+ 2.] T.2.5+ }.0.2 B.2 _.>. < & K }.0.2 B.2 _.>. [ & 3+ [ & 3+ }.0.2 B.2 _.>. }.0.2 B.2 _.>. ).(+} & r [ , k ",
" ", " v & ^+ C.& 7 ",
" ", " 5+& l 8+, {+ ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,6 +1,6 @@
/* XPM */ /* XPM */
static char * nanodesk_live_xpm[] = { static char * nanodesk_xpm[] = {
"114 200 536 2", "114 200 544 2",
" c #666999", " c #666999",
". c #8B8785", ". c #8B8785",
"+ c #5B5755", "+ c #5B5755",
@ -537,6 +537,14 @@ static char * nanodesk_live_xpm[] = {
"I$ c #5D5F8B", "I$ c #5D5F8B",
"J$ c #4D5076", "J$ c #4D5076",
"K$ c #1D1E30", "K$ c #1D1E30",
"L$ c #353753",
"M$ c #30324B",
"N$ c #484A6D",
"O$ c #4C4E74",
"P$ c #353752",
"Q$ c #434567",
"R$ c #30314B",
"S$ c #363854",
" ", " ",
" ", " ",
" ", " ",
@ -650,18 +658,18 @@ static char * nanodesk_live_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" ", " z$& $ 7#& k$ ,#K#$#& @# L$f#*# ",
" ", " M$& |# 7#& k$ e$& 0#(# k#& x$ F$& h$ ",
" ", " *#& 2# 7#& k$ )$& s# k#& x$ }#o#f#/# ",
" ", " N$& a$ W#& & 8#l$u$ 7#& k$ u#l$B#.$a#^$ h#^#L#B#g#$$,# {$& & & & a$ h#^#L#B#g#$$,# 7#& e#%$;$n$ 7#& e#%$;$n$h#^#L#B#g#$$,# h#^#L#B#g#$$,# /$& & & & 9# )#& O$ ",
" ", " P$& D# U#]$& c# 7#& k$p#& V#,#J#I#w$ (#/$& n#,#Q$& R$b# )$& s# (#/$& n#,#Q$& R$b# 7#& .$.# 7#& .$.# (#/$& n#,#Q$& R$b#(#/$& n#,#Q$& R$b# k#& x$ u$& 7$ ",
" ", " ]$& # ^#& C$ 7#& k$z$& Q#&$b$,# j#& f#E$ ^$& & '# )$& s# j#& f#E$ ^$& & '# 7#& M# 7#& M# j#& f#E$ ^$& & '#j#& f#E$ ^$& & '# k#& x$ ,$& ;# ",
" ", " c$& # B$]#;$& & & r$ 7#& k$}#)#f#& & _$w$ &$& s$ (#& & x# )$& s# &$& s$ (#& & x# 7#& k$ 7#& k$ &$& s$ (#& & x#&$& s$ (#& & x# k#& x$ ,$& ;# ",
" ", " o$& D# j#& ;$&# a#& {$ 7#& k$ ,#'#w$& & ,#j#& f#E$ ^$& & '# )$& s# j#& f#E$ ^$& & '# 7#& k$ 7#& k$ j#& f#E$ ^$& & '#j#& f#E$ ^$& & '# %#& x$ u$& 7$ ",
" ", " i#& a$ t#& $#z#.#w#& {$ 7#& k$O##$p#d#z$& p$}#(#]$& n#,#Q$& ;#b# )$& s# (#]$& n#,#Q$& ;#b# 7#& k$ 7#& k$ (#]$& n#,#Q$& ;#b#(#]$& n#,#Q$& ;#b# S#& k#}# `@& M# ",
" ", " *#& .$ b#y#Z#9#K#`@& {$ 7#& k$}#x#@#p$-#A#z$ 5#Q$[#:$:#e#,# )$& s# 5#Q$[#:$:#e#,# 7#& k$ 7#& k$ 5#Q$[#:$:#e#,# 5#Q$[#:$:#e#,# &#T#~#& S$ b#7#f#U# ",
" ", " ($& |# F$& h$ ",
" ", " z$& 7$ v$f#*# ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,6 +1,6 @@
/* XPM */ /* XPM */
static char * nanodesk_xpm[] = { static char * nanodesk_xpm[] = {
"114 200 536 2", "114 200 544 2",
" c #666999", " c #666999",
". c #8B8785", ". c #8B8785",
"+ c #5B5755", "+ c #5B5755",
@ -537,6 +537,14 @@ static char * nanodesk_xpm[] = {
"I$ c #5D5F8B", "I$ c #5D5F8B",
"J$ c #4D5076", "J$ c #4D5076",
"K$ c #1D1E30", "K$ c #1D1E30",
"L$ c #353753",
"M$ c #30324B",
"N$ c #484A6D",
"O$ c #4C4E74",
"P$ c #353752",
"Q$ c #434567",
"R$ c #30314B",
"S$ c #363854",
" ", " ",
" ", " ",
" ", " ",
@ -650,18 +658,18 @@ static char * nanodesk_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" ", " z$& $ 7#& k$ ,#K#$#& @# L$f#*# ",
" ", " M$& |# 7#& k$ e$& 0#(# k#& x$ F$& h$ ",
" ", " *#& 2# 7#& k$ )$& s# k#& x$ }#o#f#/# ",
" ", " N$& a$ W#& & 8#l$u$ 7#& k$ u#l$B#.$a#^$ h#^#L#B#g#$$,# {$& & & & a$ h#^#L#B#g#$$,# 7#& e#%$;$n$ 7#& e#%$;$n$h#^#L#B#g#$$,# h#^#L#B#g#$$,# /$& & & & 9# )#& O$ ",
" ", " P$& D# U#]$& c# 7#& k$p#& V#,#J#I#w$ (#/$& n#,#Q$& R$b# )$& s# (#/$& n#,#Q$& R$b# 7#& .$.# 7#& .$.# (#/$& n#,#Q$& R$b#(#/$& n#,#Q$& R$b# k#& x$ u$& 7$ ",
" ", " ]$& # ^#& C$ 7#& k$z$& Q#&$b$,# j#& f#E$ ^$& & '# )$& s# j#& f#E$ ^$& & '# 7#& M# 7#& M# j#& f#E$ ^$& & '#j#& f#E$ ^$& & '# k#& x$ ,$& ;# ",
" ", " c$& # B$]#;$& & & r$ 7#& k$}#)#f#& & _$w$ &$& s$ (#& & x# )$& s# &$& s$ (#& & x# 7#& k$ 7#& k$ &$& s$ (#& & x#&$& s$ (#& & x# k#& x$ ,$& ;# ",
" ", " o$& D# j#& ;$&# a#& {$ 7#& k$ ,#'#w$& & ,#j#& f#E$ ^$& & '# )$& s# j#& f#E$ ^$& & '# 7#& k$ 7#& k$ j#& f#E$ ^$& & '#j#& f#E$ ^$& & '# %#& x$ u$& 7$ ",
" ", " i#& a$ t#& $#z#.#w#& {$ 7#& k$O##$p#d#z$& p$}#(#]$& n#,#Q$& ;#b# )$& s# (#]$& n#,#Q$& ;#b# 7#& k$ 7#& k$ (#]$& n#,#Q$& ;#b#(#]$& n#,#Q$& ;#b# S#& k#}# `@& M# ",
" ", " *#& .$ b#y#Z#9#K#`@& {$ 7#& k$}#x#@#p$-#A#z$ 5#Q$[#:$:#e#,# )$& s# 5#Q$[#:$:#e#,# 7#& k$ 7#& k$ 5#Q$[#:$:#e#,# 5#Q$[#:$:#e#,# &#T#~#& S$ b#7#f#U# ",
" ", " ($& |# F$& h$ ",
" ", " z$& 7$ v$f#*# ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,12 +0,0 @@
[Desktop Entry]
Name=nanodesk
Comment=nanodesk configuration for jwm - Minimalistic pure X11 window manager with menu/tray support
Type=Application
Terminal=False
Exec=/usr/bin/nanodesk
TryExec=nanodesk
Icon=/usr/share/nanodesk/images/linux_button.svg
Keywords=X11;floating;windowmanager;
[Window Manager]
SessionManaged=true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB