Neurowm - dynamic tiling window manager based on Xmonad

Hi,
I started to write my own window manager last year so that it fits exactly my needs. The project was paused due to a lack of time but last month I could start coding again and make it stable. It was my very first step into the X protocol so I decided to use C language and Xlib rather than XCB because of the documentation. I might plan to port it to XCB in the near future though.
neurowm is a dynamic tiling window manager based on Xmonad, where you must write your own configuration using C language instead of Haskell language. If you are familiar with Xmonad, you should be able to understand the configuration easily.
Some features:
- Compile and reload the comfiguration file on the fly withour restarting X
- Support of float layout
- Support of toggled layouts
- Border width, color and gaps can be configured at window level
- Mirror, Reflect X and Reflect Y support on every layout
- Support of fixed windows on every layout
- Support if free window on every layout
- Dzen support
- Xinerama support (TODO)
- Java support (TODO)
Screenshots:
Website: https://github.com/nnoell/neurowm
There is no PKGBUILD at the moment and please, bear in mind that the window manager is under heavy development, so the configuration file might change a lot. Feel free to try it and leave some feedbacks.

i enjoy all the neuromancer references (wintermute). and your avatar from the cover of the c64 game. gibson would be proud ;D
I am not really good at names, that is why I take all of them from things I love. Next one won't be from neuromancer, I promisse
the wm looks very nice in your scrots. can i make some feature suggestions based on my wm experiences?
i've recently switched from awesomewm to herbsluftwm, and really like it.
- the binary tree division makes so much sense. you split a frame, then split that frame, and so on into infinity. and all those frames are movable via key-binding as well. as opposed to pre-defined layouts in awesome (and as far as i can tell, neurowm too).
- having a command line tool that you use to dynamically set properties is amazing. border colors, gaps, displays, etc. e.g. you configure you monitor settings via a command v.s. you config file, this makes it more flexible for on the fly changes.
Yes, you are right, command line tools are very useful, I might think of adding that. Regarding the binary tree division, I think it would be good to create another "special" layout (as the floated one) with its own bindings. I think I will try herbsluftwm and compare it to Xmonad so I can get to the point.
I decided to create an Xmonad-like window manager using C language because many people don't know Haskell and GHC is quite heavy. The configuration file might be difficult to understand at first (specially if you are not familiar with C language) but if you guys have any problem, don't hesitate to contact me
PD: Ninja gaiden is also an amazing franchise, specially the 3 games from the NES, played a lot when I was a kid.

Similar Messages

  • Subtle - another tiling window manager

    It's been a while since the first subtle AUR package came up and there was never neither an introduction nor a thread here in the forum. Time to get this started and to hopefully get opinions/feedback of the of users who already gave/want to give subtle a try.
    For all of you who never heared about subtle - here comes the intro:
    subtle is another tiling window manager on the field with a grid-based manual tiling window manager with a strong focus on easy but customizable look and feel. In comparison to other tiling windows managers, subtle has no automatic tiling of the screen size in any way, instead windows are arranged according to positions inside of a grid - these positions are called gravities - which can completely be controlled with key bindings.
    subtle also has a Ruby based config with support for lambdas as key bind actions, a wmctrl-like commandline tool (subtler) to interact with subtle and an extension (subtlext) for Ruby that is capable of doing the same and even more!
    There are also small Ruby applets (sublets) that can show various stuff like system load and the time. The management of these scripts can be done with sur (Subtle User Repository) - a small command line script similar to gem which makes installing of a subtlet a piece of cake e.g.:
    sur install clock
    Windows placement and window properties are determined by a complete tagging system for clients and views and can be manipulated in the config and/or per runtime with subtler/subtlext.
    Features
    - Ruby integration for config/key actions and hooks
    - Flexible panels with loadable Ruby scripts (sublets)
    - Integrated System tray
    - Complete tagging system
    - ICCM/EWMH-compliant
    - Lightweight
    Screenshots
    Install
    The AUR packages: subtle subtle-hg sur-hg
    I would suggest to pick the subtle-hg package to get the latest changes.
    Contact
    If you have problems, suggestions or just want to talk about subtle feel free to join #subtle on irc.freenode.org or drop a mail to unexist at dorfelite dot net.
    Last edited by unexist (2010-04-24 15:40:02)

    dcurtis wrote:
    I love this gravity idea but the WM in it's current state would not allow me to be productive (no offense) and I have a distaste for ruby ( love python ) but I'm willing to grow.  However, here are my comments:
    1) being able to tweak the gravity settings would be nice, and per-tag.  I like to have a big left window (stacked) and a column of two windows on the right.  I use wmii and this does this OK by dividing the right column.  My one grip is the I could stack on the right, but I couldn't divide AND stack.  I see the potential for that w/ subtle.  Here is my current ss: http://static.milkbox.net/ss/ss-2009-05-06.png
    2) it would be nice if you could have movement between gravities.  I'd like to move between columns.  And my gripe about like, musca and ratpoison is that when i do move between columns it doesn't keep track of the previous vertical position.  Starting with the bottom right focused, moving to the left, and then moving back to the right focuses me in the top right.  I think it would be _REALLY_ cool if you had some sort of column based movement (left gravity, center gravity, right gravity) that would cycle, and also movement up through the stack.  Not sure how this would work.
    3) I prefer that new windows are created with the same gravity as the windows already open.  I would guess this is fairly easy to do.
    4) switch to python... I AM KIDDING.  but seriously, i know it'll never happen but that's cool.  I just wanted to post this #4!...
    anyways, keep up the good work.
    1 + 2) What do you mean with 'per tag'? You can assign gravity tags to clients witht he config so that any layout is possible and you can freely create your own movement stuff with the grabs. Subtlext gives you control over gravities of the clients. Yes, it's Ruby and I won't argue about like you did in 4) - it's a matter of taste and I really like Ruby.
    3) So just to understand this: If you set the top left gravity to a client, you would prefer that the next client also gets top left gravity?
    Wra!th wrote:Floating windows need to be stackable (egbe able to bring one infront of another using the mouse)
    Well, actually this was in subtle but was removed in favor for the WindowRaise and WindowLower grab that allows e.g. to cycle through windows with center gravity.
    milomouse wrote:A smaller complaint, which may or may not be due to my own ignorance, is that switching views (jump) with the shortcut seems to be a little picky. Sometimes I can use the shortcut to switch views and sometimes it refuses to work. Seems to happen mostly when I'm on an empty view and try to switch (with the shortcut) to another . I don't know if it loses focus or what. Anyway, these are minor compared to my enjoyment with Subtle so far. Thanks again.
    Oh, yes. I will fix it shortly tomorrow - you may write a ticket for it so that you can see when it's fixed.
    Last edited by unexist (2009-05-10 09:57:51)

  • Question(s) about tiling window manager

    Hello fellow Arch-users.
    I'm looking for a new WM and need some help/advise from the community.
    Currently I run Xfce. However, I have found over the past couple of month that I usually use terminals to get tasks done, such as starting programs, editing files or browse my computer and that my graphical WM stands more in my way than it is any good to me.
    I do still use graphical programs, for example Icecat as my browser and Claws-mail as my e-mail client among others and will continue to do so. But for editing files or browsing my computer I already use vim and mc (midnight commander).
    So, I thought I may be better off with a tiling WM. However, I'm not so sure if I have the right idea of a tiling window manager. My idea of a tiling WM is that I can place many terminals on my desktop and my graphical programs on top of them. Is that correct? Also I hope that the WM is able to open these terminals without interfering with each other, meaning that they don't overlap or something. I don't want to have to always move them around with the mouse. Does a tiling window manager do that?
    If I make the change, I'd like to have WM that is easy to set up and configure. I don't want to spent too much time configuring and tweaking the program. I was looking into Subtle or Awesome. Would that be a good idea?
    Again, maybe my idea of such kind of window manager is totally wrong. Therefore, I'm seeking support from the people who already use them.
    Thanks in advance!
    Last edited by Janusz11 (2011-01-24 18:35:47)

    Janusz11 wrote:So, I thought I may be better off with a tiling WM. However, I'm not so sure if I have the right idea of a tiling window manager. My idea of a tiling WM is that I can place many terminals on my desktop and my graphical programs on top of them. Is that correct? Also I hope that the WM is able to open these terminals without interfering with each other, meaning that they don't overlap or something. I don't want to have to always move them around with the mouse. Does a tiling window manager do that?
    Yes, exactly. Tiling window manager arrange your windows dependent on their alignment strategy, there are many WMs that do that according to a preset layouts like wmfs, awesome, xmonad and other that offer a more flexible (manual) approach like wmii and i3 to name a few. There is also subtle, which offers a unique layout among the tiling windows managers. As far as I know all of them offer a floating mode, where windows can float loosely above the other tiled windows.
    Generally you can say,  the more flexible the whole thing is, the more you need to configure initially. Also some of the named WMs do more than just managing windows like providing a panel or tray on their own.
    As far as I know all of them offer a floating mode, where windows can float loosely above the other tiled windows.
    Janusz11 wrote:If I make the change, I'd like to have WM that is easy to set up and configure. I don't want to spent too much time configuring and tweaking the program. I was looking into Subtle or Awesome. Would that be a good idea?
    subtle and awesome are very flexible and you need to/can do lots of things in your config. Personally I use and develop subtle and my opinion is quite biased.

  • Pwm - a simplistic tiling window manager in python3

    Hello,
    I want to announce a project which I have been working on in the last couple of weeks to learn about python.
    PWM - A simplistic tiling window manager written in python3
    AUR package pwm-git
    github repo
    As already said, pwm tries to be relatively simplistic, both in functionality as well as in code.
    pwm includes:
    Multiple workspaces.
    A column-based layout, every window can be resized freely.
    Windows can also float or be fullscreen.
    A bar, similiar to i3bar.
    A menu like dmenu but with fuzzy search.
    Everything is configured in python.
    There is no multimonitor support because I only have a laptop now with no additional screens.
    For more information please check the github repo
    Last edited by mibitzi (2013-08-10 02:16:16)

    Yes, here are two of my screenshots from the August Screenshots Thread

  • Musca (Tiling Window Manager)

    I've just come across this tiling window manager which seems to be very new, I've seen no mentions of it anywhere other than wikipedia, so I thought I'd download it and try it out. You can find it here, along with source and probably all the info you could possibly need.
    "A simple tiling window manager for X, with features nicked from ratpoison and dwm"
    http://aerosuidae.net/musca.html
    It looks to be alot like dwm in the configuring aspect, (ie. edit config.h and compile), although it also has a start file which can be used to run some internal commands.
    Anyway I've only been using it for literally the time it took me to write this post, but I thought I'd suggest that others give it a shot! I'm certainly enjoying it so far

    aerosuidae wrote:Thanks.  I've never even looked at the process for creating a package for AUR.  If you are volunteering to maintain this (? ), get on the mailing list to hear about new releases: http://mail.aerosuidae.net/mailman/list … suidae.net
    Joined
    aerosuidae wrote:No idea.  Out of interest: Why do you think it better it gets run from $HOME?
    The PKGBUILD becomes easier. Also if its in $HOME, you can make as many changes as you want and run it. You can even change the path of the executable, if you want. One disadvantage is that if you have multiple users on the computer, you will have to install for each user.
    aerosuidae wrote:Oh.  I rather like dates as they're IMHO more informative and useful than a number.  Still, I can live with that.
    Well if you use the dates, I will change the build method for every release. No big deal. Let me know which way you prefer.
    aerosuidae wrote:
    Inxsible wrote:The trouble with your shortcuts is, that I use most of those shortcuts in my Openbox setup --and in my dwm. like Mod4+r - to start rTorrent etc. I guess, I will just have to relearn all my shortcuts and not use Mod4 in the shortcuts for starting apps.
    No, don't let Musca dictate to you how to work. Customize the combinations that clash using .musca_start or config.h
    Is there a limit to how many keybindings you can add?
    I currently have all of these.
    struct keymap keymaps[] = {
    { "Mod4+Shift+h", "hsplit 1/2" },
    { "Mod4+Shift+v", "vsplit 1/2" },
    { "Mod4+Shift+r", "remove" },
    { "Mod4+Shift+o", "only" },
    { "Mod4+Shift+k", "kill" },
    { "Mod4+Shift+c", "cycle" },
    { "Mod4+Left", "focus left" },
    { "Mod4+Right", "focus right" },
    { "Mod4+Up", "focus up" },
    { "Mod4+Down", "focus down" },
    { "Mod4+Next", "use (next)" },
    { "Mod4+Prior", "use (prev)" },
    { "Mod4+Tab", "screen (next)" },
    { "Mod4+Shift+w", "switch window" },
    { "Mod4+Shift+g", "switch group" },
    { "Mod4+x", "shell" },
    { "Mod4+Shift+m", "command" },
    { "Mod4+Shift+d", "dedicate flip" },
    { "Mod4+Shift+a", "catchall flip" },
    { "Mod4+Shift+u", "undo" },
    { "Mod4+Shift+s", "stack flip" },
    { "Mod4+Control+Left", "resize left" },
    { "Mod4+Control+Right", "resize right" },
    { "Mod4+Control+Up", "resize up" },
    { "Mod4+Control+Down", "resize down" },
    { "Mod4+a", "exec lxappearance" },
    { "Mod4+b", "exec recorder" },
    { "Mod4+c", "exec conky" },
    { "Mod4+e", "exec easytag" },
    { "Mod4+f", "exec pcmanfm" },
    { "Mod4+g", "exec geany" },
    { "Mod4+t", "exec urxvt -bg black -fg white" },
    If I add one more, the pkg builds fine, installs too...but when I log in, X starts for a microsecond and bombs. Here's dmesg | tail and it says that musca segfaults.
    agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
    nvidia 0000:01:00.0: putting AGP V2 device into 4x mode
    musca[10748]: segfault at 41 ip b7eb2aa8 sp bfcb5d6c error 4 in libc-2.9.so[b7e40000+140000]
    agpgart-intel 0000:00:00.0: AGP 2.0 bridge
    agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
    nvidia 0000:01:00.0: putting AGP V2 device into 4x mode
    musca[11554]: segfault at 41 ip b7e7faa8 sp bfc82d2c error 4 in libc-2.9.so[b7e0d000+140000]
    agpgart-intel 0000:00:00.0: AGP 2.0 bridge
    agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
    nvidia 0000:01:00.0: putting AGP V2 device into 4x mode
    Just wanted to let you know. If its a bug, I will open it on your launchpad bugtracker.
    Last edited by Inxsible (2009-03-13 06:28:52)

  • Wingo: floating and tiling window manager with per-monitor workspaces

    More screenshots.
    Wingo has two features which, when combined, set it apart from other window managers (maybe):
    1) Support for both floating and tiling placement policies. Wingo can be used as a regular floating (stacking) window manager, complete with decorations, maximization, sticky windows, and most other things you might find in a window manager. Wingo can also be switched into a tiling mode where window decorations disappear, and windows are automatically managed via tiling.
    2) Workspaces per monitor. In a multi-head setup, each monitor can display its own workspace---independent of the other monitors. This makes changing your view of windows in multi-head setups much easier than in most other window managers, which will only allow you to see one workspace stretched across all of your monitors. Also, since placement policies like floating and tiling affect workspaces, this makes it possible for one monitor to be tiling while another is floating!
    Inspiration
    Wingo is heavily inspired by Openbox and Xmonad (and of course, pytyle). Basically, Openbox's floating semantics (although most window managers are the same in this regard) and Xmonad's automatic tiling style plus its workspace model (workspaces per monitor). I've also adopted Xmonad's "greedy" workspace switching and embedded the concepts from the "DynamicWorkspaces" contrib library into the Gribble command system.
    Configuration
    Wingo is extremely configurable. This includes binding any of a vast number of commands to key or mouse presses, theming your window decorations and setting up hooks that will fire depending upon a set of match conditions.
    All configuration is done using an INI like file format with support for simple variable substitution (which makes theming a bit simpler). No XML. No recompiling. No scripting.
    Configuring key/mouse bindings and hooks uses a central command system called Gribble. For example, one can add a workspace named "cromulent" with this command while Wingo is running:
    AddWorkspace "cromulent"
    But that's not very flexible, right? It'd be nice if you could specify the name of workspace on the fly... For this, simply use the "Input" command as an argument to AddWorkspace, which shows a graphical prompt and allows you to type in a name:
    AddWorkspace (Input "Enter your workspace name:")
    The text entered into the input box will be passed to the AddWorkspace command.
    Please see the HOWTO-COMMANDS file for more info. We've barely scratched the surface.
    Scripting Wingo
    So I lied earlier. You can kind of script Wingo by using its IPC mechanism. While Wingo is running, you can send any command you like:
    wingo-cmd 'AddWorkspace "embiggen"'
    Or perhaps you can't remember how to use the AddWorkspace command:
    wingo-cmd --usage AddWorkspace
    Which will print the parameters, their types and a description of the command.
    Want to pipe some information to another program? No problem, since commands can return stuff!
    wingo-cmd GetWorkspace
    And you can even make commands repeat themselves every X milliseconds, which is ideal for use with something like dzen to show the name of the currently active window:
    wingo-cmd --poll 500 'GetClientName (GetActive)' | dzen2
    Finally, you can see a list of all commands, their parameters and their usage: (even if Wingo isn't running)
    wingo-cmd --list-usage
    (Wingo actually can provide enough information (or will soon) for ambitious hackers to script their own layouts in whatever programming language they like without ever having to deal with X at all. Assuming it has support for connecting to unix domain sockets. Or you could just use a shell with 'wingo-cmd' if you're into that kind of tomfoolery.)
    Dynamic Workspaces
    Having some set number of workspaces labeled 1, 2, 3, 4, ... is a thing of the past. While Wingo won't stop you from using such a simplistic model, it will egg you on to try something else: dynamic workspaces.
    Dynamic workspaces takes advantage of two things: workspace names and adding/removing workspaces as you need them.
    This is something that I find useful since I'm typically working on multiple projects, and my needs change as I work on them. For example, when working on Wingo, I might add the "wingo" workspace, along with the "xephyr" workspace and the "gribble" workspace. When I'm done, I can remove those and add other workspaces for my next project. Or I can leave those workspaces intact for when I come back to them later.
    With Wingo, such a workflow is natural because you're no longer confined to "removing only the last workspace" or some other such nonsense. Plus, adding a workspace requires that you name it---so workspaces always carry some semantic meaning.
    (N.B. I don't mean to imply that this model is new, just uncommon; particularly among floating window managers. I've personally taken the model from xmonad-contrib's DynamicWorkspaces module.)
    Tiling layouts
    Right now, only simple tiling layouts are available. (Vertical and Horizontal.) Mostly because those are the layouts that I primarily use. I'll be adding more as they are demanded.
    Dependencies
    Wingo is written in pure Go (including all of its dependencies). As such, Go (and git) is the only package necessary to build and install Wingo. Once Wingo is installed, Go can be removed. (No Xlib/xcb, no cairo, no gui toolkits.)
    Installation
    Wingo is in the AUR. Alternatively, if you have a Go environment set up, you can download, build and install Wingo and all of its necessary dependencies with:
    go get github.com/BurntSushi/wingo
    go get github.com/BurntSushi/wingo/wingo-cmd
    (Yes, Go's build system is really that awesome.)
    There's a lot more at Wingo's github.
    Please note that Wingo should be considered in a very alpha state. I've been using it for a little bit myself, but beyond that, Wingo is untested.
    Last edited by BurntSushi (2012-10-22 06:02:16)

    netfun81 wrote:wow, nice wm.  Install was a breeze, love having floating layout on one screen and tiling on another.   In the past, for certain apps that wouldn't play well with a tiling wm, I would have to kill X, change my .xinitrc to start openbox and startx again.   This seems like the perfect solution.
    Thanks :-)
    netfun81 wrote:Does "go get github.com/BurntSushi/wingo"  always pull the latest from git?   Can i just delete the wingo executable from go/bin and run command to upgrade to latest or do I need to delete config files each time to remain compatible?
    Yes, `go get ...` always pulls from the latest git. I make sure that Wingo builds before pushing to `master`. I'll use a different branch for any longer term experiments.
    You could use `wingo-git` in the AUR, but `go get` is just as good. (Indeed, the PKGBUILD uses `go get`!)
    One note those, use this to update to instead:
    go get -u github.com/BurntSushi/wingo
    go get -u github.com/BurntSushi/wingo/wingo-cmd
    You shouldn't have to delete any executables.
    As far as configuration files go... I'm not sure. I haven't figured out how I'm going to handle them yet. I don't think any well-formed configuration file will break Wingo, but it's certainly possible that old configuration files will miss out on new features/options. (For example, I just added some new focus follows mouse options.) Wingo will always maintain an in-memory default configuration, so missing configuration options will also never break Wingo.
    You can always check out the new configuration files by running `wingo --write-config`. You'll have to move `~/.config/wingo` to a temporary location first though.
    If you're installing from the AUR, I'll try to add post installation messages for any big changes.
    FYI, I should say that installation is so easy because of Go. :-) /plug
    Last edited by BurntSushi (2012-10-26 21:07:44)

  • Is there a tiling window manager with anti-aliased fonts?

    Hi,
    Is there a tiling window manger with anti-aliased fonts?
    Thanks.
    Last edited by 9mqks5hn (2009-07-14 18:50:45)

    pauldonnelly wrote:
    cinan wrote:your font configuration has nothing to do with window manager. Hope this helps you http://wiki.archlinux.org/index.php/Xor … figuration
    Any text the window manager displays is rather affected.
    None come to mind here, but that doesn't mean much.
    You can use any panel/pager with XMonad if you use the ewmh hooks (these panels usually support anti-aliased fonts). There is a dzen2-xft version floating around the net somewhere if I'm not mistaken...

  • Best tiling window manager for two monitors

    I am looking for a window manager, that will work thus, my main window on my main left monitor, and my stack (my unfocused windows) on my right monitor.  Is there a WM that can do this or anyone know one that comes close.
    Thanks

    skottish wrote:
    If it helps at all, this is a useful way to look at awesome vs. xmonad:
    awesome is pretty much a complete WM/DE (it's close to being a full DE) with a task bar, system tray, run dialog, something like nine preconfigured window management algorithms, right-click menus, etc. Through lua scripting it can be fully extended. There's a lot to awesome by default and more often than not users are going to start to tear it down because there's just so much of it.
    xmonad out of the box is about 5% WM and 95% toolkit to build your own. It has no DE features upon first start and few layouts. If your objective is to build up your WM and not to tear it down, this is a good place to start. The GHC dependency is irrelevant if this is your goal (assuming you can afford the hard drive space) in my opinion.
    One thing that's pretty cool about xmonad that a lot people may not realize is that some of it's developers are involved with Arch. Arch-haskell (the bazillion packages in AUR), Real World Haskell (the book), and GHC are all tied nicely together by some of these people.
    What is cool about XMonad too that you can integrate Gnome and KDE easily in XMonad and bluetile is really cool for starters

  • Looking for a light weight tiled window manager.

    Hello everyone,
    I am looking for a light weight window manager with tile support.  I am a programmer by hobby and I like to be able to maximize my screen real estate.
    I love hot key and terminal use it just speeds up the process.  I don't however want it to have a huge scripting learning curve.  Currently I am in the process of learning Android development so having to learn a new scripting language on top of it won't make matters better.
    Currently I am comfortable with bash, and python.  I can also do some work in perl but not super fluent with it yet.
    It would also help if it has dual monitor support.  My main monitor is a 23" LCD max res 1920x1080 and my second monitor is a 17" LCD max res 1440x900 until I get around to picking up another 23".

    Runiq wrote:
    Search first, post later:
    http://wiki.archlinux.org/index.php/Lig … plications
    another good wiki page is the tiler comparison, the chart shows vitals, like what they are configured in
    http://wiki.archlinux.org/index.php/Com … w_Managers
    Last edited by hume's doona (2010-10-08 12:17:51)

  • Poor man's Tiling Window manager

    Basically a simple python script which does tiling on any windowmanager (Perfectly on pekwm and openbox. Partly on compiz due to the fact that compiz says it has a single desktop even if there are 4 virtual desktops, which means all the windows you have will be tiled).
    It uses wmctrl to get the info and manage the windows. Bind it to a key or to autowhatever-on-window-creation-hook.
    Currently options are
    left,right   - Does the new windows7 ish style of sticking to the sides.
    swap     -   Basic tiling layout on first call, then swaps the active window to main pane on subsequent calls
    cycle     - Cycle all the windows in the master pane
    vertical   - Simple vertical tiling
    horizontal   - Simple horizontal tiling
    maximize   - Maximize the active window/ for openbox which doesn't permit resizing of max windows
    max_all     - Maximize all windows
    simple( obsolete, swap works better )     - The basic tiling layout . 1 Main + all other at the side.
    If you need other layouts modify get_simple_tile
    On first run it will create a config file ~/.managerc. Modify the values to suit your window decorations/Desktop padding
    Github
    Clone usrl: git://github.com/TheWanderer/stiler.git
    Aur http://aur.archlinux.org/packages.php?ID=25038
    soulfx's fork of the grid branch with dualmonitor support and grid layout
    http://github.com/soulfx/stiler/tree/grid
    Last edited by u_no_hu (2009-05-12 11:35:22)

    @u_no_hu
    Ah, i see. My bad, i'm not familiar with Windows 7.
    Not sure what to check for in xprop, so here you go:
    > xprop
    _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
    WM_STATE(WM_STATE):
    window state: Normal
    icon window: 0x0
    _NET_WM_DESKTOP(CARDINAL) = 0
    _KDE_NET_WM_FRAME_STRUT(CARDINAL) = 1, 1, 16, 1
    _NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 16, 1
    _NET_WM_STATE(ATOM) =
    _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _OB_WM_ACTION_UNDECORATE
    _NET_WM_ICON(CARDINAL) = 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    _NET_WM_VISIBLE_ICON_NAME(UTF8_STRING) = 0x6f, 0x65, 0x77, 0x3a, 0x20, 0x7e
    _NET_WM_VISIBLE_NAME(UTF8_STRING) = 0x6f, 0x65, 0x77, 0x3a, 0x20, 0x7e
    _NET_WM_PID(CARDINAL) = 9652
    WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING
    WM_LOCALE_NAME(STRING) = "en_US.utf8"
    WM_CLASS(STRING) = "urxvt", "URxvt"
    WM_HINTS(WM_HINTS):
    Client accepts input or input focus: True
    Initial state is Normal State.
    window id # of group leader: 0x1e00015
    WM_NORMAL_HINTS(WM_SIZE_HINTS):
    program specified minimum size: 10 by 28
    program specified resize increment: 6 by 12
    program specified base size: 4 by 16
    window gravity: NorthWest
    WM_CLIENT_MACHINE(STRING) = "grus"
    WM_COMMAND(STRING) = { "urxvt", "-embed", "31457289" }
    _NET_WM_ICON_NAME(UTF8_STRING) = 0x6f, 0x65, 0x77, 0x3a, 0x20, 0x7e
    WM_ICON_NAME(STRING) = "oew: ~"
    _NET_WM_NAME(UTF8_STRING) = 0x6f, 0x65, 0x77, 0x3a, 0x20, 0x7e
    WM_NAME(STRING) = "oew: ~"
    Edit:
    I noticed that Firefox also isn't detected by wmctrl -l. When I testet simple in previous post I only had Firefox and urxvt on that desktop, that's the reason it didn't do anything
    Did a test with all applications recognized by wmctrl -l on the same desktop, and it worked perfectly.
    swap works fine aswell.
    There must be something funky with my setup.
    oew
    Last edited by oew (2009-01-30 15:54:34)

  • Wm-experiments: pytiler - Tiling/window management for floating WMs

    I've created a few little tools and things to experiment with WMs recently and I'm slowly putting them into this git repository:
    http://github.com/iphitus/wm-experiment … er/pytiler
    The first one is pytiler. It's a usable proof of concept window tiler for any standards compliant floating (or tiling) WM. It runs as a daemon, continually managing/arranging windows. This gives the same behaviour as if you're running a tiling WM - in your floating WM. If you think about it, floating WM's do very little arrangement/positioning, so they don't mind if an external tool does it for them. Alternatively it can be called to just tidy up/layout windows without the daemon.
    I realise there is already the "Poor Man's Window Tiler" however it has a few pitfalls
    - Can only be called once off
    - Parses and executes external commands for it's window control.
    pytiler uses libwnck, which can either be found in gnome-python-desktop (gnome dep) or libwnck-python (AUR, no gnome dep).
    I no longer use pytiler and don't have the time to develop/maintain it so I'm hoping someone here will find it useful or wish to extend it further.
    Last edited by iphitus (2009-07-25 01:26:27)

    sand_man wrote:
    Tyriel wrote:I really love the idea of this.  Nice work
    Search the forums for stiler
    I have mentioned stiler above, however this implementation does more than a few things differently, ie, 'continual' management of windows and not parsing the output of externally called programs.
    Last edited by iphitus (2009-07-29 12:13:29)

  • Simple Dynamic Tiling WM using XCB

    I came to the party late with catwm but I liked it's simplicity so I kept using it, fixing a couple of bugs that crashed the wm and generally adding options to config it how I like. There was talk in the catwm thread about porting it to XCB but it seemed to fizzle out so after I was comfortable enough with the code I gave it a shot
       Keyboard support in xcb isn't so great at this stage so the keyboard shortcuts use the numbers for the keys instead of the keysyms, apart from that it is just your average minimal dynamic tiling window manager but a little bit quicker everywhere on average. It's early in its' life so there are a couple of anomalies which I'm sure I'll iron out in time.
       Here's a pic :
       If you want to try a light window manager using xcb you can get it from github
       Comments, suggestions and/or questions are always welcome
    Last edited by moetunes (2011-08-28 02:32:48)

    I have run this on two comps without an issue but the third gave me a little grief...
    The reason I use numerical values for the keyboard modifiers is that XCB_MOD_MASK_1 doesn't map to the alt key here(took me ages to figure that out!) < important
    To run this on the third comp which I haven't used in six months I did:
    pacman -Ss xcb
    there is four entries I had the first three already installed but don't recall doing anything xcb related on this comp so (?)
    mkdir -v build/luckywm && cd build/luckywm
    git init
    git pull git://github.com/moetunes/Be_Lucky_Window_Manager
    edit the bluckywm.c file to uncomment the first run line in grabkeys() (around about line 550) and uncomment the fprintf line in keypress()
    copy the config.def.h file to config.h
    and out of habit I ran
    make clean && make
    then I edited .xinitrc so the exec line pointed to the binary I just made.
    changed to tty2 and ran
    startx -- :1
    With the wm up and running I pressed
    Alt + h
    Super + h
    Shift + Alt + h
    Ctrl + Alt + h
    then switched to tty2 to get the numerical values for the modifiers and then killed the wm, switched to tty7 and edited the config.h file to suit and recommented the first run line in grabkeys() so the apps I open get keyboard focus and rebuilt the wm. All works fine now. Let me know if anyone has issues. Eventually I'll get keysyms working in this.
    Cheers to mhertz for giving it a shot
    edit : updated the method for the first run
    Last edited by moetunes (2011-08-29 00:21:56)

  • [Solved] Tiling window managers and on-screen keyboards

    I've got a small, old tablet pc with a 10" touchscreen, and was hoping to use a tiling window manager so that I could have an on-screen keyboard (onboard, cellwriter etc) stuck to the bottom third of the screen, and other applications 'fullscreened' in the rest of it, preferably in tabs.
    I've tried a few tabbed tiling wm's (i3, xmonad, wmii, ion3) and while I can get the layout I want, I'm unable to use the onscreen keyboard due to focus switching - clicking on the 'keys' of the keyboard (or in fact, moving the cursor into it's frame/window/whatever) moves the focus to the keyboard, so it sends the typed text to itself.
    Since tiling wm's are usually targeted at keyboard users, I'm having trouble finding which wm's listen to the onscreen keyboard's 'nofocus' properties. Does anyone know of any tiling wm's that respect that property and work with onscreen keyboards? Or even if there are simple config changes I can do to stop the keyboard from getting focus?
    Failing that, any other window managers I could try? fwiw, I really liked twindy (http://www.niallmoody.com/twindy/about.htm) but it suffered from the same problem (and wasted a fair amount of space with its sidebar).
    Thanks!
    Last edited by mjc506 (2010-12-10 00:41:01)

    Ah, thanks, that got me looking for and finding an xmonad patch that should make it not focus on onboard and cellwriter, amongst others: http://code.google.com/p/xmonad/issues/detail?id=177 Its a shame that the patch still isn't in the darcs repo, but I guess a working open office is more important that the few people using onscreen keyboards!
    ...time to compile from source... ugh - only got a single core running at 900kHz...

  • Tiling Window Managers; where to start?

    I'm looking for a wm for my laptop. It is relatively fast, 4gb of ram, dual core processor, etc. I don't like dealing with some of the bloat that is gnome/kde. On my desktop I've used openbox for quite some time, but what I really miss on my laptop is the expose function to quickly view all open windows, since a laptop monitor can get a bit cramped. I tried to work with skippy and the xautolock but it wasn't nearly the same. It seems like the only solutions are either going back to gnome/xfce + compiz, or compiz standalone (how is this?), or to try out a tiling window manager. What would you recommend? Where does one start? Will this solve my problem?

    When it comes to a wm, people can get rabid about them;  almost as bad as when it comes to distro of choice!
    Anyway, I have used a few tiling window managers myself, and liked every one that I have used, which includes awesome and xmonad.
    I'm not plugging any of them, just wanting to let you know that there is a wiki page comparing the different tiling window managers, that should give you a good start on which one(s) you want to try.
    https://wiki.archlinux.org/index.php/Co … w_Managers
    If there are certain things that you find useful in a window manager, the table can be helpful.
    HTH

  • Window manager - pros and cons

    Hi!
    I do like the discussion about the file managers in the forum and just want to start one about window managers.
    Which window managers did you try or work with? What do you like or dislike with those window managers?
    Which feature is important for you, which "feature" don't you like? And finally: Which one are you using now?
    Please, don't write things like "xyz is the best!", we know that everyone has the best wm - for him or her...
    It is more interesting to see the reasons behind your decision ;-)
    I'll write some of my experiences, too, but I have not enough time at the moment.
    Greetings from good ol' germany,
    Thomas

    Murray_B wrote:XFCE:Cons: Well, yes, there are some things I am missing. A menu-editor, display the properties of multiple folders and files in thunar, that only the background of a panel is getting transparent and maybe a nice login manager (slim is no real replacement for kdm/gdm, these ones are just the best.)
    1.) A menu editor is supposedly in the next release, and possibly proper transparent panels and xfwm4 window decorations.
    2.) For a transparent xfce4-panel right now you can try the cairo-patch: http://www.cooptel.qc.ca/~pggervais/xfc … tch.tar.gz
    You can use the old PKGBUILD from the AUR to build it using the new patch and the new 4.6.1 source: http://aur.archlinux.org/packages.php?ID=22081
    Then to change panel colors and transparency levels, edit the patch before you build the xfce4-panel (takes one minute to edit the patch, one minute to build the panel).
    change these 4 ALPHAs part of the patch to anything from 0.1 to 0.9 for different transparency levels:
    +#define ALPHA 0.2
    and, for different RGBA color change this part:
    cairo_set_source_rgba (cr, r, g, b, ALPHA);
    to something like this (makes it a clear black color that is best with ALPHA = 0.7):
    cairo_set_source_rgba (cr, 0, 0, 0, ALPHA);
    3.) Slim can be made to look nice, but I prefer starting xfce4 from my inittab with this:
    x:5:once:/bin/su "YOUR_USERNAME" -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
    One of the reasons I stick with xfce4 is because I'm on a notebook and it would seem like a waist to install a nice tiling window manager like xmonad. I would really want to use xmonad if I had a nice desktop with a few monitors, and if I used a few more console apps other than nano, vim (learning), mc, mpd + ncmpcpp, rtorrent.
    Right now I'm using "terminator" for a tiling console (along with devilspie to embed it into my wallpaper), so all of my console apps can run on my wallpaper, and my gui apps like firefox take up the whole screen.
    Last edited by methuselah (2009-08-17 22:49:43)

Maybe you are looking for

  • Issue with SSIS Custom Components - 64 bit SQL 2012

    Hello All, Our SSIS packages built on SQL 2008 R2 make use of some custom components. These custom components are installed as part of an MSI. The dll's are copied over to the Windows/assemble [GAC Folder] and also to the Program Files(x86)/SQL Serve

  • What's the best way to animate a photo on top of a clip?

    If any Shake users consistently and easily keyframe-animate either the Move2D node or the Pan node, I would be most grateful to hear how you do it. I am trying to get a small photograph to move in various places on top of a video clip playing in the

  • Automatic deletion of workitem once the action is done.

    Hi Team. I have a small concern in Workflow,When the employee submits the Expense to admin for approval,the Admin has got 3 options 1.Approve 2.Review/Change 3.Reject. When he selects the Approve or Review/Change and approves the Workitem its getting

  • Disk Utility:Restore backup option

    Regarding Kappy's suggestion: (http://discussions.apple.com/thread.jspa?messageID=1327363&#1327363) To do just a full backup you can use the Restore option of Disk Utility: 1. Open Disk Utility from the Utilities folder. 2. Select the startup volume

  • Access OID Groups in Portal

    I've setup item access privileges on a page. I have created a new OID group and attempted to give this group access to this item. I can choose the group, but when it's added, it does not show the group name, rather a number, i.e., (D8F909F2393035B7E0