Giter Club home page Giter Club logo

rumai's Introduction

== DESCRIPTION

Rumai is a pure <<Ruby>> interface to the <<wmii>> window manager.  Its name
is a portmanteau of "**Ru**by" and "w**mi**i", which I pronounce as "vim eye".

=== Features

* Provides an interactive shell for live experimentation.

* Arranges clients, columns, views, and tags dynamically.

* Talks directly to wmii's <<libixp, IXP filesystem interface>>.

* Includes a pure Ruby client for the <<p9p, 9P2000 protocol>>.

* Powers http://github.com/sunaku/wmiirc[my personal] wmiirc and
  http://github.com/sunaku/wmiirc/network[many others] like it.

=== Resources

Project website::
<%= @proj_home_url = Rumai::WEBSITE %>

Announcements feed::
<%= @ann_feed_url = File.join(@proj_home_url, 'ann.xml') %>

API documentation::
<%= @api_docs_url = File.join(@proj_home_url, 'api/') %>

Source code (browse online, download, or checkout)::
<%= @code_repo_url = 'http://github.com/sunaku/rumai' %>

Issue tracker (report bugs, request features, get help)::
<%= @bug_track_url = File.join(@code_repo_url, 'issues') %>

rumai's People

Contributors

sunaku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

niklas dncc

rumai's Issues

FreeBSD: illegal fcall type: 0

Following exception occurs from time to time with libixp from hg and rumai 3.2.3
type number is not constant (I've seen 0 and 128)

E, [2010-05-23T20:24:52.216068 #3401] ERROR -- : illegal fcall type: 0 -- in reply to #, #], @values={:tag=>8, :fid=>18}> (Rumai::IXP::Error)
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/message.rb:421:in `from_9p'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:140:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `loop'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:176:in `talk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:481:in `clunk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:269:in `close'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:226:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:83:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:101:in `each_line'
/home/quasar/.wmii/wmiirc:71

create Button class

To encapsulate the new dual colors and label attributes introduced in wmii-hg2743.

  • Button.new(:side => :left, :colors => 'red', :label => 'foobar')
  • Button#side
  • Button#side= (:left or :right)
  • Button#colors
  • Button#colors=
  • Button#label
  • Button#label=
  • Button should create itself upon label or color assignment.
  • Button should move to correct bar when #side= is sent.

client order not preserved by view arrangements

On Thu, Nov 5, 2009 at 9:47 AM, Nathan Neff wrote:

I would like a way place the windows back to their original positions.

Actually, I intended for these arranging methods to preserve the
relative (top-down) order of clients in a column. So ideally, you can
switch between arrangements and still have the same relative client
ordering.

I played around with arranging 10 terminals on an empty view:

  • Going from tiling mode to grid mode, the top two clients in the
    second column are swapped. Repeating this again, the same
    transformation is applied and the order fixes itself.
  • Going from tiling mode to diamond mode, the top two clients and the
    bottom client in the middle column are swapped. After repeating this
    four times, the same transformation is applied and the order fixes
    itself.

I'll try to fix this bug in Rumai itself. Thanks.

FreeBSD: thread 0x800f65358 tried to join itself>

Following exception occurs on FreeBSD 8.0 using libixp from hg and rumai 3.2.3:

#
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `loop'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:178:in `talk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:483:in `clunk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:271:in `close'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:228:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:83:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:101:in `each_line'
/home/quasar/.wmii-hg/wmiirc:71

Multibyte unicode characters

Hi all,

If I write a string containing multibyte characters to the IXP fs, I get the following error:

irb(Rumai):002:0> Node.new("/rbar/0-mpd").write("\u{2019}")
Errno::ECONNRESET: Connection reset by peer
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/message.rb:32:in `read'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/message.rb:32:in `read_9p'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/message.rb:417:in `from_9p'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:140:in `block (2 levels) in recv'
        from :10:in `synchronize'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:122:in `block in recv'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:121:in `loop'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:121:in `recv'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:176:in `talk'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:471:in `clunk'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:265:in `close'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:222:in `open'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/ixp/transport.rb:376:in `write'
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/lib/rumai/fs.rb:116:in `write'
        from (irb):2
        from /usr/lib/ruby/gems/1.9.1/gems/rumai-3.3.1/bin/rumai:16:in `'
        from /usr/bin/rumai:19:in `load'
        from /usr/bin/rumai:19:in `'irb(Rumai):003:0> 

I'm using ruby 1.9.2. My current workaround is to not use unicode characters :)

Illegal fcall type

Hi sunaku,

from time to time I get the following error:

#<Rumai::IXP::Error: illegal fcall type: 0 -- in reply to #<Rumai::IXP::Tclunk:0x0000000259ff68             @fields=[#<Rumai::IXP::Struct::Field:0x00000001f7a480 @name=:tag, @format=2, @countee=nil, @counter=nil>, #<Rumai::IXP::Struct::Field:0x00000001dc1440 @name=:fid, @format=4, @countee=nil, @counter=nil>], @values={:fid=>26, :tag=>0}>>
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/message.rb:421:in `from_9p'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:140:in `block (2 levels) in recv'
<internal:prelude>:8:in `synchronize'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:122:in `block in recv'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:121:in `loop'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:121:in `recv'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:176:in `talk'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:481:in `clunk'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:269:in `close'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:226:in `ensure in open'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/ixp/transport.rb:226:in `open'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/fs.rb:83:in `open'
/home/tom/.gem/ruby/1.9.0/gems/rumai-3.2.4/lib/rumai/fs.rb:101:in `each_line'
/home/tom/.wmii-hg/lib/wmiirc/loader.rb:89:in `enter_event_loop'
/home/tom/.wmii-hg/lib/wmiirc/loader.rb:15:in `run'
/home/tom/.wmii-hg/wmiirc:5:in `<main>'

Do you have an idea if that is a bug or did I do sth. wrong?

Edit: Sorry, I just read http://github.com/sunaku/rumai/issues/unreads#issue/4 and look for the patch/fix.

Edit: So I tried the patch suggested in the other thread. It did not fix the issue (unfortunately). I would be happy if you could suggest something different.

Cheers,
Tom

add nudge() and grow() to Rumai::Client

On Fri, May 21, 2010 at 7:33 AM, Nathan Neff wrote:

I'd like to have a keyboard shortcut to widen/narrow the current client.

What rumai object(s) would have the "nudge"/"grow" functionality that's
described in the wmii man page?

Rumai::Client in wm.rb --- see:
http://github.com/sunaku/rumai/blob/master/lib/rumai/wm.rb#L101

I would add nudge() and grow() instance methods in this section:
http://github.com/sunaku/rumai/blob/master/lib/rumai/wm.rb#L126

Anyway, I did a quick search through the rumai code and don't really
have the time to dig into the object model

Go to http://snk.tuxfamily.org/lib/rumai/api/ and click on the "Class list" tab.

Layouts not working?

Hi sunaku! it's always me :)

I moved to another machine @ work..
and as usual i've installed your fantastic wmiirc :)

thus i'm having a few issues that i would like to share...

wmii version: wmii-hg with libixp-hg

rumai version: 3.3.1

wmiirc. my own fork.. but i've rebased yesterday

PROBLEM:
trying to use one of the predefined layouts
ie. diamond

gives this error

<TypeError: can't convert Rumai::Client to Array (Rumai::Client#to_ary gives Rumai::Node)>

probably this is caused by some error in my conf..

if you have any hint I would appreciate your help :)

Ghedamat

FreeBSD: can't convert String into Integer (TypeError) in transport.rb

Following exception occurs on FreeBSD 8.0 with libixp from hg and rumai 3.2.3

[2010-05-24T07:06:11.114120 #24927] ERROR -- : can't convert String into Integer (TypeError)
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:135:in `ungetc'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:135:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:122:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `loop'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:121:in `recv'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:178:in `talk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:483:in `clunk'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:271:in `close'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/ixp/transport.rb:228:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:83:in `open'
/usr/local/lib/ruby/gems/1.8/gems/rumai-3.2.3/lib/rumai/fs.rb:101:in `each_line'
/home/quasar/.wmii-hg/wmiirc:71

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.