ocelot: "ocelot" is a minimal tiling window manager bundle forked from "monsterwm" with a customized "config_scale1.h"/"config_scale2.h" with HiDPI-support and a side-panel instead of a top-panel. Furthermore it has extra features for Gentoo-users.
- X11-header files to compile ocelot
Following dependencies are required to get the intended look and feel:
ocelot-dzen
for side-panel, see ocelot-dzenslock
to lock your screen (see “tweaks“ for color-customizations)xsri
to set default background color or custom imagedmenu
to run stuffurxvt
to have a terminalxss-lock
andxset
to lock screen after some idle time and on hibernate/sleepxbacklight
to control backlight of your notebook screenamixer
from alsa to control volumexrandr
to guess display heightxsetroot
to set a different default xcursorjq
if you want to use the suspended particulate matter open sense map side-panel element (see “config/.ocelotrc“ for further configuration)eix
andglsa-check
to check for Gentoo world and security updatesbattery.sh
if you want to check battery on a PocketChip (see below)
Following is optional:
- font recommendations: Monoid L 12px/9pt for terminal and side-panel; Gidole 11pt for everything else
Things to come (order is priority):
- take screenshot, using
scrot
Things NOT to come:
- Powermanagement: please use your existing setup; ocelot should have no impact on it.
- save session and restore open application, etc: please use hibernate (suspend to disk) or standby (suspend).
cd /home/$USER
mkdir gits
cd gits
git clone https://gitlab.com/poinck/ocelot.git
cd ocelot
SCALE=2 make # omit SCALE-var if ocelot-wm should not scale for HiDPI; has
# no effect if ~/.ocelot.h already exists
vim config.h # look, (change) and :wq (config.h is a symlink to ~/.ocelot.h)
make # if you have changed config.h
- it is recommended to NOT install ocelot system-wide because every user might want to have their own configuration
- in the future Gentoo-users may get "savedconfig"-useflag support
make local_install
"ocelot" has one user config-file; create it if you want to change default behavior:
~/.ocelotrc
for general settings:
See "config/.ocelotrc" for help adjusting the variables.
- set
ocelot_path
to /home/$USER/gits/ocelot (location of the git-repository) - set
scale=2
if you compiled ocelot with "SCALE=2 make
"
Check for Gentoo world and security updates with ochup
(check updates)
ochup
handles syncing the portage tree using eix
. It comes with systemd.timer and .unit for daily checks. Furthermore it uses glsa-check
to report important security updates. Follow these steps to install as root (this is not yet part of the Makefile):
ln -s ${OCELOT_PATH}bin/chup /root/bin/chup
ln -s ${OCELOT_PATH}bin/ochup /root/bin/ochup
cp ${OCELOT_PATH}config/systemd/system/chup.* /etc/systemd/system/
systemctl daemon-reload
systemctl enable chup.timer
- first start (as root):
systemctl start chup.service
chup
- check only (as root) after some updates were applied to refresh side-panel elements:
chup checkonly
check battery on a PocketChip
Checking the battery status on this arm device is different, so ochipbattery
is used as root instead of obattery
. Install as root:
# backup and override existing version of "battery.sh"
cp /usr/bin/battery.sh /usr/bin/battery_bak.sh
cd ${OCELOT_PATH}
cp config/bin/battery.sh /usr/bin/
ln -s ${OCELOT_PATH}bin/ochipbattery /root/bin/ochipbattery
ln -s ${OCELOT_PATH}bin/ochipbattery /root/bin/ochipbattery
cp config/systemd/system/chipbattery.service /etc/systemd/system/
vim /etc/systemd/system/chipbattery.service # adjust OCELOT_PATH here
systemctl daemon-reload
systemctl enable chipbattery
systemctl start chipbattery
The preferred method to start ocelot is to use "~/.xinitrc".
~/.xinitrc
, start with startx
:
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
exec startocelot
This section will describe configurations to enhance security of ocelot.
autostart with login from tty; ~/.bashrc
:
See X without display manager. exec
will make sure, that the shell cannot be used after ocelot quit or crashed:
if [[ ! ${DISPLAY} && ${XDG_VTNR} == 1 ]]; then
exec startx
fi
Many thanks go to the Gentoo- and Arch-wiki:
tweaks you can put in ~/.xinitrc
:
Copy paste from "tweaks/.xinitrc" for following:
- improve keyboard rate
- set different X-cursor and size
- GDK/GTK HiDPI-scaling
- load different ICC-profile from colord
- natural scrolling (for synaptics and libxinput),
- disable right-click on touchpad (for synaptics and libxinput)
better reading with ~/.Xresources
:
Copy paste from "tweaks/.Xresources": This will lighten font colors in the terminal and adds hinting and antialiasing to all applications.
adjust and preserve keyrate in ~/.bashrc
:
use exec startx -- -ardelay 300 -arinterval 50
to start X, see this question at UNIX-stackexchange
still using gtk-apps and want ocelot-colors? this is for you Copy "tweaks/gtk-3.0/gtk.css" to "~/.config/gtk-3.0/" or add it's content to your existing theme style-sheet.
slock colors If you want a ocelot color theme for your lock screen, you can use the config from “tweaks/slock-1.4_config.h“.
sxiv config If you want a ocelot theme for your sxiv, you can use the config from “tweaks/sxiv-24_config.h“ as a template or inspiration.
How to use ocelot
? All keyboard-shortcuts can be changed in config.h
(needs recompile and restart):
- open dark terminal SUPER+SHIFT+ENTER
- open light terminal SUPER+CONTROL+ENTER
- open menu ALT+F2, SUPER+MOUSE_RIGHT
- switch desktop SUPER+LEFT|RIGHT, SUPER+UP|DOWN, SUPER+1|2|3|4|5|6|7|8|9|0
- switch desktop with windows SUPER+SHIFT+LEFT|RIGHT, SUPER+SHIFT+UP|DOWN
- switch to last desktop SUPER+TAB
- lock screen SUPER+l
- disable screen locker SUPER+CTRL+l
- enable screen locker SUPER+SHIFT+l
- move window SUPER+w|a|s|d
- resize window SUPER+SHIFT+w|a|s|d, ALT+MOUSE_RIGHT+MOUSE_MOVE
- choose as new primary window SUPER+ENTER
- resize primary window SUPER+u|i
- resize first secondary window SUPER+o|p
- select window on current desktop SUPER+j|k, ALT+TAB (last), MOUSE_RIGHT
- move window on current desktop SUPER+SHIFT+j|k, SUPER+MOUSE_LEFT+MOUSE_MOVE
- move selected window to another desktop SUPER+SHIFT+1|2|3|4|5|6|7|8|9
- change window-mode SUPER+SHIFT+f|t|b|g|m
- close window SUPER+SHIFT+s
- change display brightness XF86MonBrightnessUp|XF86MonBrightnessDown (FN-Keys)
- change speaker volume (FN-Keys)
- quit ocelot SUPER+SHIFT+r|q
Does ocelot
support multiple monitors?
No, and it is not planned as long as Xorg is being used. Here is an example on how to use xrandr
for mirroring screen output:
- if output does not support native resolution of LVDS1
xrandr --output HDMI2 --mode 1280x720 --fb 1366x768 --panning 1366x768 --same-as LVDS1 # --dryrun
- if output supports the native resolution of LVDS1
xrandr --output HDMI2 --mode 1366x768 --same-as LVDS1 # --dryrun
All new files added after the fork are licensed under CC0. Changed and unchanged files are still licensed under the MIT/X Consortium License, see LICENSE file for more copyright and license information.
^ ^
+-------+
| o_O |
| >.< |__/
+-------+