ncursesw 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -5,6 +5,8 @@ library.
5
5
  (C) 2002, 2003, 2004 Tobias Peters <t-peters@users.berlios.de>
6
6
  (C) 2004 Simon Kaczor <skaczor@cox.net>
7
7
  (C) 2005 2006 Tobias Herzke <t-peters@users.berlios.de>
8
+ (C) 2013 2014 Gaute Hope <eg@gaute.vetsj.com>
9
+ (C) 2013 2014 Sup developers
8
10
 
9
11
  This module is free software; you can redistribute it and/or
10
12
  modify it under the terms of the GNU Lesser General Public
@@ -37,7 +39,7 @@ mapped to a Ruby Module named "Ncurses": Functions and external
37
39
  variables are implemented as singleton functions of the Module
38
40
  Ncurses.
39
41
 
40
- This README is organized into the following parts:
42
+ This README is organized into the following parts:
41
43
  - Overview
42
44
  - Installation and Usage
43
45
  - External Variables
@@ -100,7 +102,7 @@ One of these external variables, ESCDELAY, is also settable with a ruby method
100
102
  (Ncurses.ESCDELAY=).
101
103
 
102
104
  Another external variable, Ncurses.RESIZEDELAY is introduced by this wrapper.
103
- It contains the maximum milliseconds delay with which terminal resizesings are
105
+ It contains the maximum milliseconds delay with which terminal resizesings are
104
106
  recognized.
105
107
 
106
108
  Constants
@@ -143,7 +145,7 @@ changes to them.
143
145
  Attention: some macro-only functions like getsyx accept variables of type int,
144
146
  but, being macros, they write values to their arguments. Thus, they also need
145
147
  empty array arguments when called from ruby.
146
- Example:
148
+ Example:
147
149
  color_pair_number = 4
148
150
  foreground_color = []
149
151
  background_color = []
@@ -204,7 +206,7 @@ module Ncurses
204
206
  class WINDOW; end
205
207
  class SCREEN; end
206
208
  class MEVENT; end
207
- module Panel
209
+ module Panel
208
210
  class PANEL; end
209
211
  end
210
212
  module Form
@@ -267,7 +269,7 @@ The form Library
267
269
  The form library was wrapped inside the Ncurses:Form module. All
268
270
  form functions are implemented as module functions on the module
269
271
  Ncurses::Form. In addition, all function for which the first
270
- parameter is one of the objects are also implemented as an instance
272
+ parameter is one of the objects are also implemented as an instance
271
273
  method of the respective class. For example, instead of calling
272
274
  post_form(form), you can use form.post_form().
273
275
 
@@ -299,7 +301,7 @@ The menu Library
299
301
  The menu library was wrapped inside the Ncurses:Menu module. All
300
302
  menu functions are implemented as module functions in the module
301
303
  Ncurses::Menu. In addition, all functions for which the first
302
- parameter is one of the objects are also implemented as an instance
304
+ parameter is one of the objects are also implemented as an instance
303
305
  method of the respective class. For example, instead of calling
304
306
  post_menu(menu), you can use menu.post_menu().
305
307
 
@@ -330,7 +332,7 @@ However, it is used by many ncurses programs, and for this purpose,
330
332
  a wrapper for this function is also included in ncurses-ruby.
331
333
 
332
334
  The function is implemented as a module function Ncurses.ruby, and
333
- expects two arguments, an Integer and a String. It returns a string.
335
+ expects two arguments, an Integer and a String. It returns a string.
334
336
  The constants that can be used as the Integer argument are also wrapped
335
337
  as constants in the Ncurses module. See the manual page for setlocale
336
338
  for documentation of this function.
@@ -42,6 +42,10 @@ begin
42
42
 
43
43
  buf = ""
44
44
 
45
+ if not defined? Ncurses::Form.form_driver_w
46
+ raise NotImplementedError, "This example needs a ncurses version with the form_driver_w method"
47
+ end
48
+
45
49
  # Loop through to get user requests
46
50
  while(true) do
47
51
  ret = Ncurses.get_wch()
@@ -55,7 +59,7 @@ begin
55
59
  # If this is a normal character, it gets Printed
56
60
  #prbuf = fields[0].field_buffer 0
57
61
  ##buf = buf.force_encoding('utf-8') + [ch].pack('U')
58
- #buf = prbuf + [ch].pack('U')
62
+ #buf = prbuf + [ch].pack('U')
59
63
 
60
64
 
61
65
  ##buf = sbuf.force_encoding('utf-8') + [ch].pack('U')
data/examples/rain.rb CHANGED
@@ -166,7 +166,7 @@ class Rain
166
166
  num_ceil
167
167
  end
168
168
  end
169
-
169
+
170
170
  def fall(pause = 0.1)
171
171
  begin
172
172
  fall_for_a_moment
@@ -198,13 +198,13 @@ begin
198
198
 
199
199
  begin
200
200
  case(Ncurses.getch())
201
- when 'q'[0], 'Q'[0]
201
+ when 'q'.ord, 'Q'.ord
202
202
  Ncurses.curs_set(1)
203
203
  Ncurses.endwin()
204
204
  exit
205
- when 's'[0]
205
+ when 's'.ord
206
206
  Ncurses.stdscr.nodelay(false)
207
- when ' '[0]
207
+ when ' '.ord
208
208
  Ncurses.stdscr.nodelay(true)
209
209
  when Ncurses::KEY_RESIZE
210
210
  Rain.sigwinch_handler
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # Emacs: This is -*- ruby -*- code!
3
- #
3
+ #
4
4
  # Unfinished read_line function
5
5
  #
6
6
  # Written 2003, 2004 by Tobias Peters
@@ -33,7 +33,7 @@ def read_line(y, x,
33
33
  cursor_pos = [0, cursor_pos-1].max
34
34
  window.mvaddstr(y, x+string.length, " ")
35
35
  # when etc...
36
- when " "[0]..255 # remaining printables
36
+ when " ".ord..255 # remaining printables
37
37
  if (cursor_pos < max_len)
38
38
  string[cursor_pos,0] = ch.chr
39
39
  cursor_pos += 1
@@ -43,8 +43,8 @@ def read_line(y, x,
43
43
  else
44
44
  Ncurses.beep
45
45
  end
46
- end
47
- end
46
+ end
47
+ end
48
48
 
49
49
  if (__FILE__ == $0) then begin
50
50
  # demo mode
@@ -54,13 +54,13 @@ if (__FILE__ == $0) then begin
54
54
 
55
55
  # recognize KEY_ENTER, KEY_BACKSPACE etc
56
56
  Ncurses.keypad(Ncurses.stdscr, true)
57
-
57
+
58
58
  y = 10
59
59
  x = 2
60
60
  prompt = "Hallo > "
61
61
  Ncurses.mvaddstr(y,x, prompt)
62
62
  s = read_line(y, x + prompt.length)
63
-
63
+
64
64
  ensure
65
65
  Ncurses.endwin
66
66
  end end
data/examples/tclock.rb CHANGED
@@ -48,7 +48,7 @@ end
48
48
 
49
49
  # Plot a point
50
50
  def plot(x, y, c)
51
- Ncurses.mvaddch(y, x, c[0])
51
+ Ncurses.mvaddch(y, x, c.ord)
52
52
  end
53
53
 
54
54
  # Draw a diagonal(arbitrary) line using Bresenham's alogrithm.
@@ -56,43 +56,43 @@ def dline(pair, from_x, from_y, x2, y2, ch)
56
56
  if (Ncurses.has_colors?)
57
57
  Ncurses.attrset(Ncurses.COLOR_PAIR(pair))
58
58
  end
59
-
59
+
60
60
  dx = x2 - from_x;
61
61
  dy = y2 - from_y;
62
-
62
+
63
63
  ax = (dx * 2).abs
64
64
  ay = (dy * 2).abs
65
-
65
+
66
66
  sx = sign(dx);
67
67
  sy = sign(dy);
68
-
68
+
69
69
  x = from_x;
70
70
  y = from_y;
71
-
72
- if (ax > ay)
71
+
72
+ if (ax > ay)
73
73
  d = ay - (ax / 2);
74
-
74
+
75
75
  while (1)
76
76
  plot(x, y, ch);
77
77
  if (x == x2)
78
78
  return nil
79
79
  end
80
- if (d >= 0)
80
+ if (d >= 0)
81
81
  y += sy;
82
82
  d -= ax;
83
83
  end
84
84
  x += sx;
85
85
  d += ay;
86
86
  end
87
- else
87
+ else
88
88
  d = ax - (ay / 2);
89
-
90
- while (1)
89
+
90
+ while (1)
91
91
  plot(x, y, ch);
92
92
  if (y == y2)
93
93
  return nil;
94
94
  end
95
- if (d >= 0)
95
+ if (d >= 0)
96
96
  x += sx;
97
97
  d -= ay;
98
98
  end
@@ -110,20 +110,20 @@ begin
110
110
  # int mdx, mdy;
111
111
  # int sdx, sdy;
112
112
  # int ch;
113
-
113
+
114
114
 
115
115
  lastbeep = -1;
116
116
  my_bg = Ncurses::COLOR_BLACK;
117
-
117
+
118
118
  Ncurses::initscr();
119
119
  Ncurses::noecho();
120
120
  Ncurses::cbreak();
121
121
  Ncurses::nodelay(Ncurses::stdscr, TRUE);
122
122
  Ncurses::curs_set(0);
123
-
123
+
124
124
  if (Ncurses::has_colors?())
125
125
  Ncurses::start_color();
126
-
126
+
127
127
  Ncurses::init_pair(1, Ncurses::COLOR_RED, my_bg);
128
128
  Ncurses::init_pair(2, Ncurses::COLOR_MAGENTA, my_bg);
129
129
  Ncurses::init_pair(3, Ncurses::COLOR_GREEN, my_bg);
@@ -147,70 +147,70 @@ begin
147
147
 
148
148
  Ncurses::mvaddstr(cy - sdy, cx + sdx, szChar);
149
149
  end
150
-
150
+
151
151
  Ncurses::mvaddstr(0, 0,
152
152
  "ASCII Clock by Howard Jones (ha.jones@ic.ac.uk),1994");
153
-
153
+
154
154
  sradius -=2
155
155
  sradius = 1 if sradius < 1
156
156
  window_size_changed = false
157
157
  while (window_size_changed == false)
158
158
  sleep(0.100);
159
-
159
+
160
160
  hours = Time.now.hour + Time.now.min / 60.0;
161
161
  if (hours > 12.0)
162
162
  hours -= 12.0;
163
163
  end
164
-
164
+
165
165
  mangle = Time.now.min * (2 * PI) / 60.0;
166
166
  mdx = a2x(mangle, mradius);
167
167
  mdy = a2y(mangle, mradius);
168
-
168
+
169
169
  hangle = ((hours) * (2.0 * PI) / 12.0);
170
170
  hdx = a2x(hangle, hradius);
171
171
  hdy = a2y(hangle, hradius);
172
-
172
+
173
173
  sangle = ((Time.now.sec) * (2.0 * PI) / 60.0);
174
174
  sdx = a2x(sangle, sradius);
175
175
  sdy = a2y(sangle, sradius);
176
-
176
+
177
177
  dline(3, cx, cy, cx + mdx, cy - mdy, '#');
178
-
178
+
179
179
  Ncurses::attrset(Ncurses::A_REVERSE);
180
180
  dline(2, cx, cy, cx + hdx, cy - hdy, '.');
181
181
  Ncurses::attroff(Ncurses::A_REVERSE);
182
-
182
+
183
183
  if (Ncurses::has_colors?())
184
184
  Ncurses::attrset(Ncurses::COLOR_PAIR(1));
185
185
  end
186
186
  plot(cx + sdx, cy - sdy, 'O');
187
-
187
+
188
188
  if (Ncurses::has_colors?())
189
189
  Ncurses::attrset(Ncurses::COLOR_PAIR(0));
190
190
  end
191
191
  Ncurses::mvaddstr(Ncurses.LINES - 2, 0, Time.now.to_s);
192
192
  Ncurses::refresh();
193
193
  if ((Time.now.sec % 5) == 0 &&
194
- Time.now.sec != lastbeep)
194
+ Time.now.sec != lastbeep)
195
195
  lastbeep = Time.now.sec;
196
196
  Ncurses::beep();
197
197
  end
198
-
198
+
199
199
  if ((ch = Ncurses::getch()) != Ncurses::ERR)
200
- if (ch == Ncurses::KEY_RESIZE)
200
+ if (ch == Ncurses::KEY_RESIZE)
201
201
  Ncurses::erase();
202
202
  window_size_changed = true;
203
203
  else
204
204
  break;
205
205
  end
206
206
  end
207
-
207
+
208
208
  plot(cx + sdx, cy - sdy, ' ');
209
209
  dline(0, cx, cy, cx + hdx, cy - hdy, ' ');
210
210
  dline(0, cx, cy, cx + mdx, cy - mdy, ' ');
211
-
211
+
212
212
  end
213
-
213
+
214
214
  if ! window_size_changed
215
215
  $stderr.puts "! window_size_changed"
216
216
  break
@@ -220,7 +220,7 @@ ensure
220
220
  Ncurses::curs_set(1);
221
221
  Ncurses::endwin();
222
222
  end
223
-
223
+
224
224
 
225
225
 
226
226
 
data/lib/ncurses_sugar.rb CHANGED
@@ -57,20 +57,20 @@ module Ncurses
57
57
  module Destroy_checker; def destroyed?; @destroyed; end; end
58
58
  class WINDOW
59
59
  include Destroy_checker
60
- def method_missing(name, *args)
60
+ def method_missing(name, *args, &block)
61
61
  name = name.to_s
62
62
  if (name[0,2] == "mv")
63
63
  test_name = name.dup
64
64
  test_name[2,0] = "w" # insert "w" after"mv"
65
65
  if (Ncurses.respond_to?(test_name))
66
- return Ncurses.send(test_name, self, *args)
66
+ return Ncurses.send(test_name, self, *args, &block)
67
67
  end
68
68
  end
69
69
  test_name = "w" + name
70
70
  if (Ncurses.respond_to?(test_name))
71
- return Ncurses.send(test_name, self, *args)
71
+ return Ncurses.send(test_name, self, *args, &block)
72
72
  end
73
- Ncurses.send(name, self, *args)
73
+ Ncurses.send(name, self, *args, &block)
74
74
  end
75
75
  def respond_to?(name)
76
76
  name = name.to_s
@@ -323,11 +323,11 @@ module Ncurses
323
323
  unless target.respond_to?(:pre_Ncurses_method_missing)
324
324
  target.module_eval{
325
325
  alias pre_Ncurses_method_missing method_missing
326
- def method_missing(name, *args)
326
+ def method_missing(name, *args, &block)
327
327
  if Ncurses.respond_to?(name)
328
- Ncurses.send(name, *args)
328
+ Ncurses.send(name, *args, &block)
329
329
  else
330
- pre_Ncurses_method_missing(name, *args)
330
+ pre_Ncurses_method_missing(name, *args, &block)
331
331
  end
332
332
  end
333
333
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncursesw
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-01-14 00:00:00.000000000 Z
13
+ date: 2014-01-27 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Tweaked version of ncursesw from http://ncurses-ruby.berlios.de/.
16
16
  email: