photo
Jordan Sissel
geek. sysadmin. blogger.

Fri, 09 May 2008

new keynav version available (20080509)

I got enough feature requests for grid support (in various layouts) that I decided it was time to add generic grid support. You can now use grid movement on grids of any configuration, 2x2, 3x3, 2x3, etc.

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

  Feature request: Grid support.
  * New command: 'grid NxM' N and M are row and columns, respectively.
    You can divide the screen into any number of rows and columns.
    The default is 2x2.
  * New command: 'cell-select N' or 'cell-select NxM'
    With this command you can select a specific cell to zoom to.
    Usage: cell-select N
      Selects the Nth cell, counting from top left to bottom right.
      The order of a 3x3 grid would be:
        1 2 3
        4 5 6
        7 8 9
    Usage: cell-select NxM
      Selects the specific cell at NxM. '2x2' will select row 2 column 2.

  Other important changes:
  - Whitespace before command names works now.
  - Added a pile of new examples in keynavrc.

Comments: 0 (view comments)
Tags: , ,
Permalink: /geekery/keynav-20080509
posted at: 04:52

Thu, 08 May 2008

new keynav version available (20080508)

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

  Bug fix:
    If you tried to override an existing key binding, it would add a 2nd
    binding for that key instead of actually overriding it.
  Reported by Tim Schumacher.

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/keynav-20080508
posted at: 12:50

Fri, 02 May 2008

new keynav version available (20080501)

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

20080501:
  Patches from Mark (20080501)
   * ~/.keynavrc extends defaults rather than replacing them
   * "clear" in ~/.keynavrc resets keybindings
   * comments can appear anywhere on a line

  Patches from Eric (20080501)
   * If the move or size value is greater than 1.0, then assume it is an absolute value.

  Patches from Lukas Mai (20080429)
   * Fixes a few minor bugs
   * Clean up to compile without most warnings when -pendantic and -Wall are enabled.

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/keynav-20080501
posted at: 13:44

Fri, 22 Feb 2008

Do we need another window manager?

I've been doing various Xlib projects off and on for a few years, but none of them have been window manager projects because I was using a WM that pleased me: Ion. Many years later, after following ion from ion 1, 2, and now 3, the author decided to apply some user unfriendly licensing terms to newer releases of ion-3. This license change combined with the author's efforts to require distributions to comply with this license has resulted in most platforms dropping the ion-3 package from its distribution because nobody wants to deal with assholes and drama.

I'm not going to get into a discussion about my opinions about the license. Just know that it inconveniences me, and if you know me, you know that I tend to solve problems of inconvenience with new software tools. That means I need a new window manager.

I've tested other window managers, but none fit me as well as ion did.

A few weeks ago I started on a window manager project tentatively called tsawm (tuomov sucks ass, the window manager) which implements features I like in ion but without the douchebaggery. I started working on it initially in C, since that's where I use xlib, but C has some drawbacks. A nontrivial percentage of what I perceive to be window manager behavior is basically managing some heirarchy of data (frames, client windows, titles, some state). I started looking at Perl's X11::Protocol and Python's xlib module. Python's xlib module is pretty neat, in that it's a pure-python implementation of the X11 protocol.

Somewhat arbitrarily, I started prototyping to see if writing a window manager in python was possible. Yes, it is. So that's where I'm at today.

I've mostly been hacking things together while learning more about window managing in X, but what I have so far is promising: screenshot.

It's not pretty, but finishing this will help me get past the drama and problems that ion and its author bring. Sorry tuomov, I still love ion, but any licenses that keep me (directly or indirectly) from getting shit done aren't acceptable.

Comments: 8 (view comments)
Tags: , , , , ,
Permalink: /geekery/tsawm-window-manager-project
posted at: 03:50

Tue, 23 Oct 2007

new keynav version available (20071023)

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

20071023:
  - Add support for {Super,Hyper}_{R,L} modifiers (aka Mod4Mask)

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/keynav-20071023
posted at: 03:24

Mon, 03 Sep 2007

new keynav version available (20070903)

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

20070903:
  - Drag is now working. Problem was KeyEvent.state contains masks such as
    | Button1Mask which is set when mouse button 1 is held, so keybindings stopped
    | working. Ignoring Button[1-5]Mask in this value fixes the problem.
  - Drag takes two optional arguments: a button followed by a keysequence to fire.
    | 'drag 1 alt' will do an alt+leftclick drag.
    | 'drag 2' will do a middleclick drag.
  - sync to xdotool@20070903
  - Fix a bug in parse_mods and parse_keysym where it was destructively changing the string.
  - Fix a bug where I was using the loop iterator 'i' inside another for loop. Oops.
  - Add to defaults my nethack-vi-style diagonal keybindings

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/keynav-20070903
posted at: 18:56

new xdotool version available (20070903)

Hop on over to the xdotool project page and download the new version.

The changelist from the previous announced release is as follows:

20070903:
  * Add xdo_mousemove_relative for relative mouse movements
  * Add xdolib.sh. This is a script library to help with features xdo does not
    explicitly implement, such as querying window attributes, or fetching the
    root window id. An example which uses this is: examples/move_window_away.sh

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/xdotool-20070903
posted at: 18:27

Wed, 15 Aug 2007

new keynav version available (20070814)

Hop on over to the keynav project page and download the new version.

The changelist from the previous announced release is as follows:

20070814:
  - Arguments for {move,cut}_{up,left,down,right} in form of percentage values.
    Default for cut is 0.5 (cut the window in half)
    Default for move is 1.0 (move the full width/height of the window)
  - sync to xdotool-20070812

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/keynav-20070814
posted at: 02:27

Sun, 12 Aug 2007

new xdotool version available (20070812)

Hop on over to the xdotool project page and download the new version.

The changelist from the previous announced release is as follows:

20070812:
  * Magnus Boman contributed keysequence_{up,down} adding new commands to
    xdotool: keyup and keydown. These take the same arguments as 'key' but only
    send keyup or keydown events.
  * Lee Pumphret contributed getwindowfocus, which tells you the window id of the window
    currently holding focus.
  * Removed 'Makefile.no-pkg-config' because the original Makefile now knows
    how to build for both cases: with and without pkg-config.

20070722:
  * Compiles without warnings when using gcc -Wall now
  * Fixed false error reporting due to some functions missing return statements

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/xdotool-20070812
posted at: 19:29

Fri, 13 Jul 2007

new xdotool version available (20070713)

Hop on over to the xdotool project page and download the new version.

The changelist from the previous announced release is as follows:

20070713:
  * Add flag SIZE_USEHINTS to xdo_window_setsize
  * Add flag --usehints to xdotool windowsize

  Increments are used often in terminals that say "my font is 5 by 7 pixels, so
  resize by that increment". So, you can use this to set a terminal to be 80x24
  characters instead of pixels. Verified by resizing xterm and gnome-terminal.

20070712:
  Added new search options to 'xdotool search'
    --onlyvisible shows only visible windows in the results
    --title causes only the window title to be matched
    --name causes the window name to be matched
    --class causes the window class to be matched

  For information on names and classes, check out the xprop tool.
    For example, for an xterm you will see this in the xprop output:
    WM_CLASS(STRING) = "xterm", "XTerm"
  "xterm" is the name, "XTerm" is the class. Don't ask me what the differences
  are supposed to be. ;)

Comments: 0 (view comments)
Tags: ,
Permalink: /geekery/xdotool-20070713
posted at: 04:00

Search this site

Navigation

Page 1 of 2  [next]

Metadata

Home About Resume My Code (SVN Web)

Articles

ARP Security Dynamic DNS with DHCP OpenLDAP+Kerberos+SASL PPP over SSH SSH Security: /bin/false Week of Unix Tools Work Efficiency

Projects

fex firefox tabsearch firefox urledit grok keynav liboverride newpsm (FreeBSD) nis2ldap pam_captcha poor man's backup Solaris audio utility xboxproxy xdotool xmlpresenter xpathtool misc scripts

Presentations

Yahoo! Hack Day '06 Unix Essentials Vi/Vim Essentials

Tag Cloud

Calendar

< May 2008
SuMoTuWeThFrSa
     1 2 3
4 5 6 7 8 910
11121314151617
18192021222324
25262728293031

Friends

BarCamp Kent Brewster Tantek Çelik John Resig Wesley Shields Tyler Shields

Technorati