Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

As Compiz Grid is not supported in ubuntu-2d, I am looking for alternative to tile windows.

This video shows that xfce4 and xfwm4 can snap windows to a part of the screen. I would like to do that by keyboard shortcuts.

I have already installed xfce4and xfwm4, but I don't see which one in the following list does the job:

enter image description here

Could anyone help?

share|improve this question
    
It's easy enough to run Awesome wm in XFCE, by the way :-) –  Chan-Ho Suh Apr 17 '12 at 0:10
    
I think Awesome is another wm which does not depend on xfce. We can choose one of them as session while logging in, no? –  SoftTimur Apr 17 '12 at 22:58
    
Hm, I'm not sure why I would randomly suggestion Awesome... I think someone else suggested (and then deleted) that you can use a tiling wm in XFCE. Anyway, answer to your question is yes. If you install awesome in Ubuntu, it will add a session to lightdm. Then you can add various things from XFCE like xfce-power-managerand xfsettingsd if you rely on those things. –  Chan-Ho Suh Apr 17 '12 at 23:02
    
Sorry, I just installed xfce-power-manager, but launching it or xfsettingsd in a terminal (in a xfce session) does not have any effect... –  SoftTimur Apr 17 '12 at 23:09
    
Hi. I thought you were asking about using Awesome in its own session in lightdm (the graphical login manager to your system). You would probably want to add those xfce applications I mentioned if you run Awesome separately, since it does not handle power management or display settings. It sounds like you are launching them in XFCE, which is pointless as they should already be running (xfce-power-manager should already be installed and running...) –  Chan-Ho Suh Apr 17 '12 at 23:14
show 1 more comment

3 Answers

up vote 8 down vote accepted

Out of the box, most non-tiling managers and desktop environments such as XFCE/Xubuntu does not have tiling support.

A notable exception in Compiz which can be used with the majority of Desktop environments such as Xubuntu/Unity but not Gnome-Shell.

Specifically for Xubuntu, to get mouse tiling support you will need to either compile or install a modified window manager such as this Q&A:

Automatically size windows using Xfce like in gnome

To get keyboard tiling support without compiz and a non-tiling window manager, you will need to be more inventive and control the window position and sizing yourself - this answer gives you this solution.

However, for the best tiling support you should use a dedicated tiling-window manager such as Awesome.

Keyboard Tiling

A basic python script on launchpad allows you to control windows such as moving them to the left or right.

I've slightly modified this to work with XFCE/Xubuntu and to allow you to install in either 11.10 or 12.04. This can easily be tailored for other DEs such as unity-2d

Create keyboard shortcuts - an example is below:

enter image description here

You call the script stiler.py with the following parameters:

  • left - tile the current window to the left side of the screen.
  • right - tile the current window to the right side of the screen.
  • vertical - tile all windows vertically
  • horizontal - tile all windows horizontally
  • cycle - tile windows in a cyclical manner and rotate between those windows
  • prev - move the focus to the previous window
  • next - move the focus to the next window
  • maximize - maximise the current window

Some examples:

cycle windows

enter image description here

tile vertically

enter image description here

to install

sudo add-apt-repository ppa:fossfreedom/xfwm4
sudo apt-get update
sudo apt-get install stiler
share|improve this answer
    
Thanks for the comment, I think that will solve my problem... I try to install, and do sudo add-apt-repository ppa:fossfreedom/xfwm4. But I got an error: Traceback (most recent call last): File "/usr/bin/add-apt-repository", line 88, in <module> ppa_info = get_ppa_info_from_lp(user, ppa_name) File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 80, in get_ppa_info_from_lp curl.perform() pycurl.error: (7, "couldn't connect to host"), is it my problem or the problem of your code? –  SoftTimur Apr 19 '12 at 12:01
    
that sounds like you are behind a proxy - are you? I think there are similar questions & answers somewhere on this site. –  fossfreedom Apr 19 '12 at 12:04
    
Yes, I am behind a proxy... –  SoftTimur Apr 19 '12 at 13:01
    
here is the Q&A, do you think I can solve it on my side? –  SoftTimur Apr 19 '12 at 13:03
1  
This is great! Bookmarking... –  Chan-Ho Suh Apr 20 '12 at 10:24
show 6 more comments

In that video, the description says xfwm4-tiling. So it's not just XFCE (and xfwm) doing that. It's an additional package. apt-cache search doesn't find it, so it's not in the Ubuntu repositories. Video description also says s/he's using Arch Linux and refers to AUR, which is the Arch repositories.

Unless you want to figure out how to compile and use it in Ubuntu, or find someone that's done that already (maybe there's a PPA), if you want that tiling behavior, you'll probably have to switch from xfwm to another window manager that supports tiling.

Above in the comments, someone mentioned you could look into using Awesome (but later deleted that comment). I mentioned you can use Awesome inside XFCE. It's actually probably easier to use XFCE apps inside Awesome than the other way around. If you install awesome using apt-get, you will find an awesome session installed in the graphical login manager (lightdm).

You can then configure awesome to autostart various XFCE apps, such as xfce4-power-manager (important for power management functions like suspend and shutdown on low battery), xfsettingsd (daemon which makes sure some, but not all, XFCE settings are executed, such as display settings and gtk theming), xfce4-panel (so you can use the panel you are accustomed to), xfce4-volumed (xfce volume daemon), etc. Awesome doesn't support compositing, but you can get that by autostarting xcompmgr. There's a lot of info online on how to run this stuff in Awesome, including elsewhere on this site.

Here's a basic tutorial for using Awesome.

If you want to run Awesome in XFCE, that's not difficult, but Awesome needs to be reconfigured to work properly with the XFCE panel; I don't know how easy that is (my guess is it's not hard, but it's a time investment in any case).

share|improve this answer
1  
the xfwm4 tiling is described in my answer here: askubuntu.com/questions/41566/… –  fossfreedom Apr 18 '12 at 9:00
    
Your own PPA, eh? Nice :-) Does it also avoid overlapping? –  Chan-Ho Suh Apr 18 '12 at 9:13
    
yes - its quite a nice patch from the Arch developers that tiles windows without overlapping. I note the patch has now been incorporated into xfce v4.10 that should (hopefully) find its way into Xubuntu 12.10. –  fossfreedom Apr 18 '12 at 10:24
    
Rather than continuing to give the correct answer in this comment thread, why not put it into an actual answer? :-) –  Chan-Ho Suh Apr 18 '12 at 10:28
    
... I've already pointed the OP to that answer in a previous question he raised. In this case he is after a "keyboard" tiling solution - xfce-tiling is a mouse only solution so adding this will not actually answer his question :( –  fossfreedom Apr 18 '12 at 10:34
add comment

I've had better luck with quicktile. Use it the same way, create shortcuts to the command.

http://ssokolow.github.com/quicktile/

share|improve this answer
    
...or, for snappier response, avoid forcing it to start and shutdown every time you trigger it by using the internal keybinder. Just install python-xlib and run it with the --daemonize option. (Details in the README) –  ssokolow Nov 12 '12 at 16:00
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.