Results 1 to 4 of 4

Thread: Window Manager Replacement Script

  1. #1
    Join Date
    Jun 2008

    Lightbulb Window Manager Replacement Script

    So everyone, this is my first "howto" sort of post, and I have what I hope is a potentially useful script that I want to share.

    Basically, when I first switched to Ubuntu from Windows, I was always trying to get a higher framerate in games, and I noticed with a simple GLX Gears test that Metacity had a much higher result than Compiz. So, I wrote a script that simply takes a command you want to run (EG, a game program like vegastrike) and switches to Metacity and then when the game exits, it switches back to Compiz. This script can be edited to use your window managers of choice, or, if someone wants to help me, they can find a way to automatically detect the window managers and act accordingly but this is complicated and useless in my opinion. Basically, if you want metacity's higher framerates but dont want to do this:

    user@whatever:~# metacity --replace
    user@whatever:~# programname
    user@whatever:~# compiz --replace
    Then this script is a good idea.


    For all you more advanced people, the basic process is to download the text file, make it executable, and move it to somewhere in your $PATH to make it convenient. You don't have to but I personally like it that way.

    For all of you beginners out there, just download the file attached. Name the text file wmswitch (I would take off the .sh at the end) or you can feel free to name it anything you like and save it to your Desktop (I am assuming you named it wmswitch). Then, open a terminal by using Alt+F2 and typing "gnome-terminal" without the quotes. Then do this:

    sudo -s
    Enter your password to become root

    chmod +x wmswitch
    To make it executable

    mv wmswitch /usr/bin/wmswitch
    To make it easy to run the file

    Finally, exit the terminal. Then from now on, all you have to do is start a terminal and type wmswitch to run the script.


    It's fairly simple. It first asks you for the program you want to run, and you dont need exact paths (if you don't know what a path is don't worry). For example I want to run Vegastrike so all I do is type "vegastrike" without the quotes when it asks. Then the script does a simple test to see if the program you typed actually exists. If it does it switches WMs and runs the program. If it doesn't, the script restarts. It's that simple.

    Also, if you care to put this in a Desktop Shortcut or whatever, just type wmswitch -p "program name" (without the quotes) in the line that asks for command. This was recently added and is not available in older (pre 1.0) versions of the script


    UPDATE: Because the script is getting very large, I have decided to attach it as a text file for you to chmod +x blah blah blah, as I had described earlier. Also, I updated some bugs and added a few features like the Metacity test and also the -p flag for shortcut usage as well as some cosmetic/readability improvements.


    1. If you want to run a program that is not in your $PATH this will not work so you need to either put the program in your $PATH or forget the script and do it manually.

    2. Compiz and Metacity like to pony out and just stop working sometimes, but that is not the scripts fault. If you find that you are still in Metacity after you run your program, you will have to manually replace.

    Happy Gaming/Whatever!

    Attached Files Attached Files
    Last edited by finch127; July 21st, 2009 at 03:23 AM. Reason: Script too large

  2. #2
    Join Date
    Apr 2006
    Ubuntu Development Release

    Re: Window Manager Replacement Script

    Moved to Desktop Environments, since this is a script and not so much a tutorial.


  3. #3
    Join Date
    Jun 2008

    Re: Window Manager Replacement Script

    Oh, alright, I had problems deciding where this should go anyway! Thank you.

  4. #4
    Join Date
    Jun 2008

    Re: Window Manager Replacement Script

    Well I feel like an idiot:

    Looks like a much better way of doing this was already developed by someone else!

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts