You are not logged in.

#1 2009-10-25 21:41:59

LonelyStar
Member
Registered: 2007-12-09
Posts: 123

the perfect symbosios between tiling and stacking wm

Hi,

I have been using tiling wms for quite some time now (mainly awesome, musca and xmonad).
I happen to use them mainly in fullscreen mode - that I could also do with a stacking wm.

I realize, also a tiling wm as its advantages, sometimes a stacking wm would be better.
So I am thinking, could the advantages of a tiling wm be brought to a stacking wm (or did people already do that)?

First thing am thinking of: Grow current window to free area. That exist in many wms.
Than I could imagine:
- Shrink all windows under current so that there is no overlap (i.E. if I want to add a terminal in row at the bottom of the screen)
- Grow current window and shrink all other to make space.

Now to my question:
Anyone knows a WM with these features?
Anyone knows a WM with other features like this (I mean, I am sure other people thought about this and got better ideas)?

Give me your thought + knowledge/expirience

Thanks!
Nathan

Offline

#2 2009-10-25 22:57:03

martinsz
Member
Registered: 2009-07-24
Posts: 6

Re: the perfect symbosios between tiling and stacking wm

Search the forums for pytyle. It's a small python script that does pretty much what you have in mind - plus, it works with almost any WM!

Offline

#3 2009-10-26 10:14:33

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: the perfect symbosios between tiling and stacking wm

My suggestion would be openbox.

It is not tiling window manager but has actions like GrowToNorthEdge, GrowToSouthEdge ecc so it can emulate tiling features.

I use a lot these actions and I like very much how they work. I also configured the dual screen management similar to one used in xmonad.

Openbox is the best window manager I ever used. I'm stuck on it and I tried a lot of window managers.

You can check all the actions available here: http://icculus.org/openbox/index.php/Help:Actions

smile

Last edited by ArchArael (2009-10-26 10:20:51)

Offline

#4 2009-10-27 03:06:45

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: the perfect symbosios between tiling and stacking wm

one of the wms that you already use, musca, does do shrink and grow to size.


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#5 2009-10-27 05:51:59

Intrepid
Member
Registered: 2008-06-11
Posts: 254

Re: the perfect symbosios between tiling and stacking wm

I 100% agree that openbox is the best choice here.  It doesn't do all those features you asked for automagically, but it's very quick/easy to do those features with window switching and resize.  Really there's no need to use mouse, and also there are move features that will snap the window to another windows edge.  For example, right now I have a web browser open, chat window, file manager, buddy list, and terminal all on my rather average-resolution screen with no overlap.

The other window managers that do this include pekwm, e17, compiz (to an extent), and believe it or not, Metacity (resize/move holding shift key).  Also, set up correctly, Awesome kind of makes you forget you're "limited" by the tiling window manager.

Last edited by Intrepid (2009-10-27 05:52:53)


Intrepid (adj.): Resolutely courageous; fearless.

Offline

#6 2009-10-27 10:09:32

moljac024
Member
From: Serbia
Registered: 2008-01-29
Posts: 2,676

Re: the perfect symbosios between tiling and stacking wm

So how do you have these actions set up (which keybinds, what actions) ? I'm curious.


The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...

Offline

#7 2009-10-27 11:15:42

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: the perfect symbosios between tiling and stacking wm

moljac024 wrote:

So how do you have these actions set up (which keybinds, what actions) ? I'm curious.

Here is mine config:

As you can see I do everything with keyboard. I have shortcuts for moving windows on and betwen desktops and monitors. I can resize windows, hide them, make them sticky, minimize them, roll them up. I can access the menu. Ecc.

<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">
  <resistance>
    <strength>10</strength>
    <screen_edge_strength>20</screen_edge_strength>
  </resistance>
  <focus>
    <focusNew>yes</focusNew>
    <!-- always try to focus new windows when they appear. other rules do
       apply -->
    <followMouse>no</followMouse>
    <!-- move focus to a window when you move the mouse into it -->
    <focusLast>yes</focusLast>
    <!-- focus the last used window when changing desktops, instead of the one
       under the mouse pointer. when followMouse is enabled -->
    <underMouse>no</underMouse>
    <!-- move focus under the mouse, even when the mouse is not moving -->
    <focusDelay>200</focusDelay>
    <!-- when followMouse is enabled, the mouse must be inside the window for
       this many milliseconds (1000 = 1 sec) before moving focus to it -->
    <raiseOnFocus>no</raiseOnFocus>
    <!-- when followMouse is enabled, and a window is given focus by moving the
       mouse into it, also raise the window -->
  </focus>
  <placement>
    <policy>Smart</policy>
    <!-- 'Smart' or 'UnderMouse' -->
    <center>yes</center>
    <!-- whether to place windows in the center of the free area found or
       the top left corner -->
    <monitor>Any</monitor>
    <!-- with Smart placement on a multi-monitor system, try to place new windows
       on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
       the active window is -->
  </placement>
  <theme>
    <name>Crunchbox</name>
    <titleLayout>NLDSIC</titleLayout>
    <!--
      available characters are NDSLIMC, each can occur at most once.
      N: window icon
      L: window label (AKA title).
      I: iconify
      M: maximize
      C: close
      S: shade (roll up/down)
      D: omnipresent (on all desktops).
  -->
    <keepBorder>yes</keepBorder>
    <animateIconify>yes</animateIconify>
    <font place="ActiveWindow">
      <name>Sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>Bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="InactiveWindow">
      <name>sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuHeader">
      <name>Sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuItem">
      <name>Sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="OnScreenDisplay">
      <name>Sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>Bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
  </theme>
  <desktops>
    <!-- this stuff is only used at startup, pagers allow you to change them
       during a session

       these are default values to use when other ones are not already set
       by other applications, or saved in your session

       use obconf if you want to change these without having to log out
       and back in -->
    <number>5</number>
    <firstdesk>1</firstdesk>
    <names>
      <name>workspace 1</name>
      <name>workspace 2</name>
      <name>workspace 3</name>
      <name>workspace 4</name>
      <name>workspace 5</name>
    </names>
    <popupTime>0</popupTime>
    <!-- The number of milliseconds to show the popup for when switching
       desktops.  Set this to 0 to disable the popup. -->
  </desktops>
  <resize>
    <drawContents>yes</drawContents>
    <popupShow>Nonpixel</popupShow>
    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
    <popupPosition>Center</popupPosition>
    <!-- 'Center', 'Top', or 'Fixed' -->
    <popupFixedPosition>
      <!-- these are used if popupPosition is set to 'Fixed' -->
      <x>10</x>
      <!-- positive number for distance from left edge, negative number for
         distance from right edge, or 'Center' -->
      <y>10</y>
      <!-- positive number for distance from top edge, negative number for
         distance from bottom edge, or 'Center' -->
    </popupFixedPosition>
  </resize>
  <!-- You can reserve a portion of your screen where windows will not cover when
     they are maximized, or when they are initially placed.
     Many programs reserve space automatically, but you can use this in other
     cases. -->
  <margins>
    <top>0</top>
    <bottom>0</bottom>
    <left>0</left>
    <right>0</right>
  </margins>
  <dock>
    <position>Bottom</position>
    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
    <floatingX>0</floatingX>
    <floatingY>24</floatingY>
    <noStrut>yes</noStrut>
    <stacking>Below</stacking>
    <!-- 'Above', 'Normal', or 'Below' -->
    <direction>Horizontal</direction>
    <!-- 'Vertical' or 'Horizontal' -->
    <autoHide>no</autoHide>
    <hideDelay>300</hideDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
    <!-- 'Left', 'Middle', 'Right' -->
  </dock>
  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-h">
      <action name="DesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-l">
      <action name="DesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-k">
      <action name="DesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-j">
      <action name="DesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Left">
      <action name="DesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="DesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="DesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="DesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>

    <keybind key="C-W-h">
      <action name="SendToDesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-l">
      <action name="SendToDesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-k">
      <action name="SendToDesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-j">
      <action name="SendToDesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Left">
      <action name="SendToDesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Right">
      <action name="SendToDesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Up">
      <action name="SendToDesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Down">
      <action name="SendToDesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>

    <keybind key="W-1">
      <action name="Desktop">
        <desktop>1</desktop>
      </action>
    </keybind>
    <keybind key="W-2">
      <action name="Desktop">
        <desktop>2</desktop>
      </action>
    </keybind>
    <keybind key="W-3">
      <action name="Desktop">
        <desktop>3</desktop>
      </action>
    </keybind>
    <keybind key="W-4">
      <action name="Desktop">
        <desktop>4</desktop>
      </action>
    </keybind>
    <keybind key="W-5">
      <action name="Desktop">
        <desktop>5</desktop>
      </action>
    </keybind>
    <keybind key="W-0">
      <action name="DesktopLast">
      </action>
    </keybind>
    <keybind key="W-C-1">
      <action name="SendToDesktop">
        <desktop>1</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-2">
      <action name="SendToDesktop">
        <desktop>2</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-3">
      <action name="SendToDesktop">
        <desktop>3</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-4">
      <action name="SendToDesktop">
        <desktop>4</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-5">
      <action name="SendToDesktop">
        <desktop>5</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-0">
      <action name="SendToDesktopLast">
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="W-q">
      <action name="Close"/>
    </keybind>
    <keybind key="W-a">
      <action name="ToggleMaximizeFull"/>
    </keybind>
    <keybind key="W-s">
      <action name="ToggleShade"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
      </action>
    </keybind>

    <keybind key="W-h">
      <action name="MoveToEdgeWest"/>
    </keybind>
    <keybind key="W-l">
      <action name="MoveToEdgeEast"/>
    </keybind>
    <keybind key="W-k">
      <action name="MoveToEdgeNorth"/>
    </keybind>
    <keybind key="W-j">
      <action name="MoveToEdgeSouth"/>
    </keybind>
    <keybind key="W-Left">
      <action name="MoveToEdgeWest"/>
    </keybind>
    <keybind key="W-Right">
      <action name="MoveToEdgeEast"/>
    </keybind>
    <keybind key="W-Up">
      <action name="MoveToEdgeNorth"/>
    </keybind>
    <keybind key="W-Down">
      <action name="MoveToEdgeSouth"/>
    </keybind>

    <keybind key="W-S-k">
      <action name="ResizeRelative">
        <bottom>-20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-j">
      <action name="ResizeRelative">
        <bottom>20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-h">
      <action name="ResizeRelative">
        <right>-30</right>
      </action>
    </keybind>
    <keybind key="W-S-l">
      <action name="ResizeRelative">
        <right>30</right>
      </action>
    </keybind>
    <keybind key="W-S-Up">
      <action name="ResizeRelative">
        <bottom>-20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-Down">
      <action name="ResizeRelative">
        <bottom>20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-Right">
      <action name="ResizeRelative">
        <right>30</right>
      </action>
    </keybind>
    <keybind key="W-S-Left">
      <action name="ResizeRelative">
        <right>-30</right>
      </action>
    </keybind>

    <keybind key="W-A-k">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-A-j">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-A-l">
        <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-A-h">
        <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-c">
        <action name="MoveToCenter"/>
    </keybind>
    <keybind key="W-A-Up">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-A-Down">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-A-Left">
        <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-A-Right">
        <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-c">
        <action name="MoveToCenter"/>
    </keybind>

    <keybind key="W-w">
        <action name="MoveResizeTo">
            <!-- move the window to the first monitor -->
            <monitor>1</monitor>
        </action>
    </keybind>
    <keybind key="W-e">
        <action name="MoveResizeTo">
            <!-- move the window to the second monitor -->
            <monitor>2</monitor>
        </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-Return">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Terminal Emulator</name>
        </startupnotify>
        <command>terminal</command>
      </action>
    </keybind>
    <keybind key="W-f">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Thunar</name>
        </startupnotify>
        <command>thunar</command>
      </action>
    </keybind>
    <keybind key="W-b">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Browser</name>
        </startupnotify>
        <command>firefox</command>
      </action>
    </keybind>
    <keybind key="W-n">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Secondary Browser</name>
        </startupnotify>
        <command>epiphany</command>
      </action>
    </keybind>
    <keybind key="W-m">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Mail client</name>
        </startupnotify>
        <command>thunderbird</command>
      </action>
    </keybind>
    <keybind key="W-v">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Editor</name>
        </startupnotify>
        <command>gvim</command>
      </action>
    </keybind>
    <keybind key="W-p">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Run program</name>
        </startupnotify>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="W-space">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Run program</name>
        </startupnotify>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="W-x">
      <action name="Execute">
        <execute>gnome-screensaver-command -l</execute>
      </action>
    </keybind>
    <keybind key="W-Escape">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>XKill</name>
        </startupnotify>
        <command>xkill</command>
      </action>
    </keybind>
    <!-- HOTKEYS -->
    <keybind key="XF86Sleep">
      <action name="Execute">
        <execute>sudo pm-suspend</execute>
      </action>
    </keybind>
    <keybind key="XF86Standby">
      <action name="Execute">
        <execute>sudo pm-hibernate</execute>
      </action>
    </keybind>
    <keybind key="XF86AudioMute">
      <action name="Execute">
        <execute>amixer sset Master toggle</execute>
      </action>
      <action name="Execute">
        <execute>amixer sset Headphone toggle</execute>
      </action>
    </keybind>
    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <execute>amixer sset Master 5+</execute>
      </action>
      <action name="Execute">
        <execute>amixer sset Headphone 5+</execute>
      </action>
    </keybind>
    <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
        <execute>amixer sset Master 5-</execute>
      </action>
      <action name="Execute">
        <execute>amixer sset Headphone 5-</execute>
      </action>
    </keybind>
    <keybind key="C-W-t">
      <action name="ToggleAlwaysOnTop"/>
    </keybind>
    <keybind key="C-W-o">
      <action name="ToggleOmnipresent"/>
    </keybind>
    <keybind key="C-space">
      <action name="ShowMenu">
        <menu>client-list-combined-menu</menu>
      </action>
    </keybind>
    <keybind key="W-o">
      <action name="ShowMenu">
        <menu>root-menu</menu>
      </action>
    </keybind>
  </keyboard>
  <mouse>
    <dragThreshold>8</dragThreshold>
    <!-- number of pixels the mouse must move before a drag begins -->
    <doubleClickTime>200</doubleClickTime>
    <!-- in milliseconds (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Time before changing desktops when the pointer touches the edge of the
       screen while moving a window, in milliseconds (1000 = 1 second).
       Set this to 0 to disable warping -->
    <context name="Frame">
      <mousebind button="A-Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="A-Left" action="Click">
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="A-Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Right" action="Drag">
        <action name="Resize"/>
      </mousebind>
      <mousebind button="A-Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-S-Up" action="Click">
        <action name="SendToDesktopPrevious"/>
      </mousebind>
      <mousebind button="A-S-Down" action="Click">
        <action name="SendToDesktopNext"/>
      </mousebind>
    </context>
    <context name="Titlebar">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="Left" action="DoubleClick">
        <action name="ToggleMaximizeFull"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Up" action="Click">
        <action name="Shade"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
        <action name="Lower"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="Unshade"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="Top">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>top</edge>
        </action>
      </mousebind>
    </context>
    <context name="Left">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>left</edge>
        </action>
      </mousebind>
    </context>
    <context name="Right">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>right</edge>
        </action>
      </mousebind>
    </context>
    <context name="Bottom">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>bottom</edge>
        </action>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="BRCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="TLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="TRCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="Client">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Icon">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="AllDesktops">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleOmnipresent"/>
      </mousebind>
    </context>
    <context name="Shade">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleShade"/>
      </mousebind>
    </context>
    <context name="Iconify">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Iconify"/>
      </mousebind>
    </context>
    <context name="Maximize">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleMaximizeFull"/>
      </mousebind>
      <mousebind button="Middle" action="Click">
        <action name="ToggleMaximizeVert"/>
      </mousebind>
      <mousebind button="Right" action="Click">
        <action name="ToggleMaximizeHorz"/>
      </mousebind>
    </context>
    <context name="Close">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Close"/>
      </mousebind>
    </context>
    <context name="Desktop">
      <mousebind button="Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Root">
      <!-- Menus -->
      <mousebind button="Middle" action="Press">
        <action name="ShowMenu">
          <menu>client-list-combined-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="ShowMenu">
          <menu>root-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="MoveResize">
      <mousebind button="Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
    </context>
  </mouse>
  <menu>
    <!-- You can specify more than one menu file in here and they are all loaded,
       just don't make menu ids clash or, well, it'll be kind of pointless -->
    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
    <file>menu.xml</file>
    <hideDelay>200</hideDelay>
    <!-- if a press-release lasts longer than this setting (in milliseconds), the
       menu is hidden again -->
    <middle>no</middle>
    <!-- center submenus vertically about the parent entry -->
    <submenuShowDelay>100</submenuShowDelay>
    <!-- this one is easy, time to delay before showing a submenu after hovering
       over the parent entry -->
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
    <!-- show the manage desktops section in the client-list-(combined-)menu -->
  </menu>
  <applications>
    <!--
  # this is an example with comments through out. use these to make your
  # own rules, but without the comments of course.

  <application name="first element of window's WM_CLASS property (see xprop)"
              class="second element of window's WM_CLASS property (see xprop)"
               role="the window's WM_WINDOW_ROLE property (see xprop)"
               type="the window's _NET_WM_WINDOW_TYPE (if unspecified, then
                       it is dialog for child windows)">
  # the name or the class can be set, or both. this is used to match
  # windows when they appear. role can optionally be set as well, to
  # further restrict your matches.

  # the name, class, and role use simple wildcard matching such as those
  # used by a shell. you can use * to match any characters and ? to match
  # any single character.

  # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
  #    or desktop

  # when multiple rules match a window, they will all be applied, in the
  # order that they appear in this list


    # each element can be left out or set to 'default' to specify to not 
    # change that attribute of the window

    <decor>yes</decor>
    # enable or disable window decorations

    <shade>no</shade>
    # make the window shaded when it appears, or not

    <position force="no">
      # the position is only used if both an x and y coordinate are provided
      # (and not set to 'default')
      # when force is "yes", then the window will be placed here even if it
      # says you want it placed elsewhere.  this is to override buggy
      # applications who refuse to behave
      <x>center</x>
      # a number like 50, or 'center' to center on screen. use a negative number
      # to start from the right (otop for <y>), ie -50 is 50 pixels from the
      # right edge (or bottom).
      <y>200</y>
      <monitor>1</monitor>
      # specifies the monitor in a xinerama setup.
      # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>

    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to

    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops

    <layer>normal</layer>
    # 'above', 'normal', or 'below'

    <iconic>no</iconic>
    # make the window iconified when it appears, or not

    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers

    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows

    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears

    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
  </application>

  # end of the example
-->
    <!--application class="Thunderbird-bin">
          <desktop>4</desktop>
          <position force="yes">
                <x>0</x>    
                <y>0</y>    
            <monitor>0</monitor>
          </position>
        <maximized>Vertical</maximized>
    </application>

     <application class="Epiphany">
          <desktop>4</desktop>
          <position force="yes">
                <x>-0</x>    
                <y>0</y>    
            <monitor>0</monitor>
          </position>
        <maximized>Vertical</maximized>
    </application>

    <application role="Chats">
          <desktop>5</desktop>
          <position force="no"></position>
    </application>

    <application class="Skype">
          <desktop>5</desktop>
          <position force="yes">
                <x>-0</x>    
                <y>0</y>    
            <monitor>0</monitor>
          </position>
    </application>

    <application class="Sonata">
          <desktop>5</desktop>
          <position force="yes">
                <x>center</x>    
                <y>center</y>    
            <monitor>0</monitor>
          </position>
    </application>

    <application class="Transmission">
          <desktop>5</desktop>
          <position force="yes">
                <x>0</x>    
                <y>50</y>    
            <monitor>0</monitor>
          </position>
    </application -->
  </applications>
</openbox_config>

Here is just the key bindings section:

<keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-h">
      <action name="DesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-l">
      <action name="DesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-k">
      <action name="DesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-j">
      <action name="DesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Left">
      <action name="DesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="DesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="DesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="DesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>

    <keybind key="C-W-h">
      <action name="SendToDesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-l">
      <action name="SendToDesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-k">
      <action name="SendToDesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-j">
      <action name="SendToDesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Left">
      <action name="SendToDesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Right">
      <action name="SendToDesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Up">
      <action name="SendToDesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-W-Down">
      <action name="SendToDesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>

    <keybind key="W-1">
      <action name="Desktop">
        <desktop>1</desktop>
      </action>
    </keybind>
    <keybind key="W-2">
      <action name="Desktop">
        <desktop>2</desktop>
      </action>
    </keybind>
    <keybind key="W-3">
      <action name="Desktop">
        <desktop>3</desktop>
      </action>
    </keybind>
    <keybind key="W-4">
      <action name="Desktop">
        <desktop>4</desktop>
      </action>
    </keybind>
    <keybind key="W-5">
      <action name="Desktop">
        <desktop>5</desktop>
      </action>
    </keybind>
    <keybind key="W-0">
      <action name="DesktopLast">
      </action>
    </keybind>
    <keybind key="W-C-1">
      <action name="SendToDesktop">
        <desktop>1</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-2">
      <action name="SendToDesktop">
        <desktop>2</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-3">
      <action name="SendToDesktop">
        <desktop>3</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-4">
      <action name="SendToDesktop">
        <desktop>4</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-5">
      <action name="SendToDesktop">
        <desktop>5</desktop>
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-C-0">
      <action name="SendToDesktopLast">
        <follow>no</follow>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="W-q">
      <action name="Close"/>
    </keybind>
    <keybind key="W-a">
      <action name="ToggleMaximizeFull"/>
    </keybind>
    <keybind key="W-s">
      <action name="ToggleShade"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
      </action>
    </keybind>

    <keybind key="W-h">
      <action name="MoveToEdgeWest"/>
    </keybind>
    <keybind key="W-l">
      <action name="MoveToEdgeEast"/>
    </keybind>
    <keybind key="W-k">
      <action name="MoveToEdgeNorth"/>
    </keybind>
    <keybind key="W-j">
      <action name="MoveToEdgeSouth"/>
    </keybind>
    <keybind key="W-Left">
      <action name="MoveToEdgeWest"/>
    </keybind>
    <keybind key="W-Right">
      <action name="MoveToEdgeEast"/>
    </keybind>
    <keybind key="W-Up">
      <action name="MoveToEdgeNorth"/>
    </keybind>
    <keybind key="W-Down">
      <action name="MoveToEdgeSouth"/>
    </keybind>

    <keybind key="W-S-k">
      <action name="ResizeRelative">
        <bottom>-20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-j">
      <action name="ResizeRelative">
        <bottom>20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-h">
      <action name="ResizeRelative">
        <right>-30</right>
      </action>
    </keybind>
    <keybind key="W-S-l">
      <action name="ResizeRelative">
        <right>30</right>
      </action>
    </keybind>
    <keybind key="W-S-Up">
      <action name="ResizeRelative">
        <bottom>-20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-Down">
      <action name="ResizeRelative">
        <bottom>20</bottom>
      </action>
    </keybind>
    <keybind key="W-S-Right">
      <action name="ResizeRelative">
        <right>30</right>
      </action>
    </keybind>
    <keybind key="W-S-Left">
      <action name="ResizeRelative">
        <right>-30</right>
      </action>
    </keybind>

    <keybind key="W-A-k">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-A-j">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-A-l">
        <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-A-h">
        <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-c">
        <action name="MoveToCenter"/>
    </keybind>
    <keybind key="W-A-Up">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-A-Down">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-A-Left">
        <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-A-Right">
        <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-c">
        <action name="MoveToCenter"/>
    </keybind>

    <keybind key="W-w">
        <action name="MoveResizeTo">
            <!-- move the window to the first monitor -->
            <monitor>1</monitor>
        </action>
    </keybind>
    <keybind key="W-e">
        <action name="MoveResizeTo">
            <!-- move the window to the second monitor -->
            <monitor>2</monitor>
        </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-Return">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Terminal Emulator</name>
        </startupnotify>
        <command>terminal</command>
      </action>
    </keybind>
    <keybind key="W-f">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Thunar</name>
        </startupnotify>
        <command>thunar</command>
      </action>
    </keybind>
    <keybind key="W-b">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Browser</name>
        </startupnotify>
        <command>firefox</command>
      </action>
    </keybind>
    <keybind key="W-n">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Secondary Browser</name>
        </startupnotify>
        <command>epiphany</command>
      </action>
    </keybind>
    <keybind key="W-m">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Mail client</name>
        </startupnotify>
        <command>thunderbird</command>
      </action>
    </keybind>
    <keybind key="W-v">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Editor</name>
        </startupnotify>
        <command>gvim</command>
      </action>
    </keybind>
    <keybind key="W-p">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Run program</name>
        </startupnotify>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="W-space">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Run program</name>
        </startupnotify>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="W-x">
      <action name="Execute">
        <execute>gnome-screensaver-command -l</execute>
      </action>
    </keybind>
    <keybind key="W-Escape">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>XKill</name>
        </startupnotify>
        <command>xkill</command>
      </action>
    </keybind>

Last edited by ArchArael (2009-10-27 12:38:11)

Offline

#8 2009-10-27 18:02:36

Intrepid
Member
Registered: 2008-06-11
Posts: 254

Re: the perfect symbosios between tiling and stacking wm

In ArchArael's config, the MoveToEdge actions and the GrowToEdge actions are what initiate the "tiling" magic.  Combined with the W-PgDn/PgUp/Home/End mapped to MoveResizeTo to move the windows to the certain corners of the screen, once you've set up one window's size (e.g. firefox) it's easy to resize everything relative to that with the keyboard so there's no overlap.  Tiling effect, without the potential limitations of tiling.

Here is my code for MoveResizeTo (for the corners of the screen).

    <keybind key="W-KP_9">
      <action name="MoveResizeTo">
        <x>--0</x>
        <y>+-0</y>
      </action>
    </keybind>
    <keybind key="W-KP_3">
      <action name="MoveResizeTo">
        <x>--0</x>
        <y>--0</y>
      </action>
    </keybind>
    <keybind key="W-KP_1">
      <action name="MoveResizeTo">
        <x>+-0</x>
        <y>--0</y>
      </action>
    </keybind>
    <keybind key="W-KP_7">
      <action name="MoveResizeTo">
        <x>+-0</x>
        <y>+-0</y>
      </action>
    </keybind>
    <keybind key="W-KP_5">
      <action name="MoveToCenter"/>
    </keybind>

@ArchArael: I see a lot of similarities in your config to e.g. wmii or awesome (e.g keys for gmrun etc).  You're also a wmii/dwm derivative user?  Because your config is almost exactly like mine.

Last edited by Intrepid (2009-10-27 18:03:52)


Intrepid (adj.): Resolutely courageous; fearless.

Offline

#9 2009-10-27 19:12:22

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: the perfect symbosios between tiling and stacking wm

Intrepid wrote:

@ArchArael: I see a lot of similarities in your config to e.g. wmii or awesome (e.g keys for gmrun etc).  You're also a wmii/dwm derivative user?  Because your config is almost exactly like mine.

Yes, I am. I used all window managers you mentioned and I always returned to openbox after some time. I guess you also took the best ideas you found in the other window managers and integrated them in your openbox setup. smile

Last edited by ArchArael (2009-10-27 19:12:52)

Offline

#10 2009-12-30 22:44:16

NeOnsKuLL
Member
From: Havana, Cuba
Registered: 2005-03-29
Posts: 117

Re: the perfect symbosios between tiling and stacking wm

Openbox + PyTyle.

That's the kickass combination am using now.

My 2 cents.


Intel Core 2 Duo E8400 3.0 GHz | 2x1GB 667MHz | 250+750GB Seageate SATAII | Samsung 19" TFT 1440x900
Openbox + obmenugen + PyTyle | bmpanel2 | oblogout | conky | pyBgSetter (with Esetroot as backend)
Projects: obmenugen, pyBgSetter

Offline

#11 2009-12-31 01:12:50

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,356

Re: the perfect symbosios between tiling and stacking wm

Compiz smile.

You can do simple manual tiling, and that's all I've ever needed so far.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

Board footer

Powered by FluxBB