Custom session: Window does not capture full screen area by default. 12.04

This is a tricky one, I had a similar problem, when trying to have only a ncurses based interface on a time tracker pc, the problem for me was that when no window manager is present, normal X Window applications behave oddly. Here's my proposal:

  1. Install ratpoison window manager
    sudo apt-get install ratpoison
    
  2. Unbind keyboards that shows a menu or allows you to execute terminals or commands, putting this in $HOME/.ratpoisonrc the home being the user that will run the kiosk mode
    unbind c
    unbind C-c
    unbind exclam
    unbind C-exclam
    unbind period
    
  3. Instead of calling directly to google-chrome, put a script like instructables' link you mentioned
[Desktop Entry]
Encoding=UTF-8
Name=Kiosk Mode
Comment=Chromium Kiosk Mode
Exec=/usr/share/xsessions/chromeKiosk.sh
Type=Application
  1. On the script put this (remember to make it executable)
#!/bin/bash
ratpoison &
xscreensaver -nosplash &
while true; do chromium-browser --kiosk http://google.com; sleep 5s; done

Worked for me, with Ubuntu 12.04 and chromium.


case1

You need to tell chromium what your screen resolution is by rewriting its preferences file (bottom and right values). The link you posted includes that part.

#!/bin/bash

prefs=~/.config/chromium/Default/Preferences

cat $prefs |\
perl -pe "s/\"bottom.*/\"bottom\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f2),/" \
> $prefs

cat $prefs |\
perl -pe "s/\"right.*/\"right\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f1),/" \
> $prefs

chromium-browser

(tested in Ubuntu 12.04)

case2

I would say you have to somehow tell your pyGTK app what the bottom and right values are, respectively what the screen resolution is. Then the fullscreen command should make your app cover all of the screen i.e. not leave any borders.

Edit: it looks like the window.fullscreen() method should in general make it really fullscreen. So no need to define the resolution first. More info here, but I'm sure you already know this: http://www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow--fullscreen