[openbox] moving fullscreen windows

Anthony Thyssen A.Thyssen at griffith.edu.au
Thu Mar 18 19:28:32 EDT 2010


On Thu, 18 Mar 2010 13:36:07 +0200
Dmitry Baryshev <ksquirrel.iv at gmail.com> wrote:

| Hi. Is there a way to move fullscreen windows in openbox? Some window
| managers allow this through a special setting. Does openbox allow this?
| Thanks!
| 
| -- 
| Regards, Krasu

Typically a window manager would be setup to allow some special key
or key combination to 'do things' to windows. Typical 'Alt' or 'Windows'
key is used for this purpose.

I myself have
<mouse>
    <!--Set the actions I want for mouse controls of windows and clients.
        Generally...
          Left Button     Focus, RaiseLower, Move, (titlebar Shade/Unshade)
          Middle Button   Focus, Resize
          Right Button    Menu Popup
        With Alt the above within the client window itself.

        Note that OpenBox does not have a 'Release' action
    -->
    <!--  Main Client window, just focus on any mouse clicks, do not raise -->
    <context name="Client">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="Left" action="Release">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="Middle" action="Release">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="Right" action="Release">
        <action name="Focus"/>
      </mousebind>
    </context>
    <!--  Main Client window, Alt mouse do raise with window move/resize -->
    <context name="Frame">
      <mousebind button="A-Left" action="Press">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="A-Left" action="Click">
        <action name="RaiseLower"/>
      </mousebind>
      <mousebind button="A-Left" action="Drag">
        <action name="Raise"/>
        <action name="Move"/>
      </mousebind>
      <mousebind button="A-Left" action="DoubleClick">
        <action name="Raise"/>
        <action name="ToggleShade"/>
      </mousebind>
      <mousebind button="A-Middle" action="Press">
        <action name="Focus"/>
      </mousebind>
      <mousebind button="A-Middle" action="Drag">
        <action name="Raise"/>
        <action name="Resize"/>
      </mousebind>
      <mousebind button="A-Right" action="Press">
        <action name="Focus"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    ...

The final result is that 'alt' mouse buttons in the client window
(its frame) will let me move/resize etc. While normal mouse buttons
just focus, and do what ever the client would normally do.
I have similar actions for titlebar, and the surrounding border of the
window.


I also have a few keyboard controls for window management...

  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!--
        Keybindings for window switching
    -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow"/>
    </keybind>
    <!--
        Keybindings for desktop switching
     -->
    <keybind key="Print">
      <action name="DesktopNext">
        <wrap>yes</wrap>
      </action>
    </keybind>
    <keybind key="S-Print">
      <action name="DesktopPrevious">
        <wrap>yes</wrap>
      </action>
    </keybind>
    ...

the first lets you swicth window focus using Alt-Tab
while the second lets me go to next workspace using
the 'print' key.

For a full screen window a shift workspace as shown in another
email response will probably be what you want. I will be adding that
to my own window manager rc file/, though I would bind it to
Alt-Print in a similar way as above.


Other things I have include.
 * a keyboard key to 'paste selection' (as if typed),  and specific
   strings like my email address, home web page etc, makign it easier
   to type those strings into ANY text input box be it browser, text
   editor or email.

   For example...
    <keybind key="W-F1">
      <action name="Execute">
        <command>xte 'usleep 500000' \
                     'str A.Thyssen at griffith.edu.au'</command>
      </action>
    </keybind>

   The 'xte' program comes from the "xautomation" package
   alturnatives include "xmacroplay" for "xmacro" package

   The delay of 1/2 sec is to allow the user time to release the
   'window' key, or the string xte 'types' in will be shifted by
   the windows key and that 'not appear'.  A specific excentrecity
   of the X windows event handling.

   For details see
     http://www.cit.griffith.edu.au/~anthony/info/X/Event_Handling.txt
   and go down to "Generating X Events (Global Keyboard Macros)"

 * hotkeys to start and stop my music player (bind to special
   multi-media keys)

 * hotkey to take current selected text (a URL) and get my web
   browser (firefox) to open a new tab on that URL

 * same but do a 'google' search on the selected text.. very handy for
   fast information lookup.



  Anthony Thyssen ( System Programmer )    <A.Thyssen at griffith.edu.au>
 --------------------------------------------------------------------------
  Nitwit ideas are for emergencies.  You use them when you've got
  nothing else to try.  If they work, they go in the Book.  Otherwise
  you follow the Book, which is largely a collection of nitwit ideas
  that worked.                 -- Larry Niven, "The Mote in God's Eye"
 --------------------------------------------------------------------------
   Anthony's Castle     http://www.cit.griffith.edu.au/~anthony/


More information about the openbox mailing list