Turn a Calc window into a sticky

asked 2020-03-17 12:02:23 +0100

ChameleonScales gravatar image

updated 2020-04-05 18:44:19 +0100

I found this technique to turn a calc window into a "sticky", which means, to empty it of all interface and decorations, leaving only a movable and resizeable rectangle of cells, on an XFCE desktop. I don't know any other Linux desktop environment that can go this far with this but if you know one, give an answer.

This trick works pretty well. It takes 3 minutes to set it up for the first time but then it only takes a few seconds. Note that it currently has a minor regression bug, though it's not so problematic and easy to work around.

If you know a solution you think is better or more stable, please give an answer too.

End result :

image description

First time setup

1. Window decoration toggle script:

  1. sudo apt-get install python-gtk2
    
  2. cat > ~/hide-window-decoration
    
  3. (while 2. is still hanging):

    import gtk.gdk
    w = gtk.gdk.window_foreign_new( gtk.gdk.get_default_root_window().property_get("_NET_ACTIVE_WINDOW")[2][0] )
    w.set_decorations( (w.get_decorations()+1)%2 ) # toggle between 0 and 1
    gtk.gdk.window_process_all_updates()
    gtk.gdk.flush()
    
  4. Ctrl+D (validates previous command, creating the file)
  5. make created file executable
  6. assign a keyboard shortcut to that script (e.g. Super + H)

info source: https://forum.xfce.org/viewtopic.php?...

2. Disable Fullscreen popup button:

With all LibreOffice windows closed (imperative):

  1. open ~/.config/libreoffice/4/user/registrymodifications.xcu :
  2. Ctrl+F fullscreenbar']"><prop oor:name="Visible"
  3. Replace true by false on that line

3. set shortcut to access options while in "sticky" mode:

  • Tools > Customize > Keyboard:

    Col1 : Options > Col2 : Options > Col3 : Your shortcut of choice (e.g. Ctrl+Alt+U)

Usage

1. Remove some interface components:

  1. in View menu, disable Status Bar
  2. in Tools > options > LibreOffice Calc > View > Window, uncheck these :
    • ☐ headers
    • ☐ scroll bars
    • ☐ sheet tabs

2. Remove all the rest of the interface:

  1. Ctrl + Shift + J (Fullscreen)
  2. Alt + Space > Leave Fullscreen (it doesn't actually leave it within LibreOffice, because XFCE is awesome like that)

When you want to show the interface back again: Ctrl + Shift + J

3. Remove Window decoration:

  • Super + H (or whatever you assigned to the hide-window-decoration script): pressing the shortcut once initiates it, then each press switches the decoration on and off. So you have to press it twice to hide the decoration the first time you use it on any window.

4. Move and resize window:

Note: the modifier is the one set in XFCE's "Window Manager Tweaks", Accessibility tab.

  • Modifier + LMB drag : move window
  • Modifier + RMB drag : resize window

5. Keep window always on top and on all workspaces

  • Alt + space > Always on Top
  • Alt + space > Always on Visible Workspace: This is currently necessary because of the bug mentioned at the top.
edit retag flag offensive close merge delete