listpager 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/README.md +4 -1
- data/doc/netcat-example.gif +0 -0
- data/doc/screenshot.png +0 -0
- data/lib/listpager/client_terminal.rb +16 -7
- data/lib/listpager/list.rb +1 -1
- data/lib/listpager/version.rb +1 -1
- metadata +2 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 1a76d00d0defcb6f0059184e756d5e6c7b1c68e0
         | 
| 4 | 
            +
              data.tar.gz: 12a88ebbf65da53305230e555d156533b1608b2d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: aacf79209dc13dd433bc76df5465062f9791766dcf7a15c12270f8236d6c8721f08d03dc1b7d1e70ae910baf0e115becba852e38896ac26ea9afe684d9015647
         | 
| 7 | 
            +
              data.tar.gz: 02efcac4125245b0c0b8f2330af64e6ff50058aea957ac7e48858d12af9eec9c1bc05c8029e51c950e10007addd6bb1a166e6bf0f93935fe9674515500711ada
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -16,7 +16,10 @@ interactive mode is a specially-crafted tmux session consisting of tools that | |
| 16 16 | 
             
            talk to each other.  listpager is the node selection widget.
         | 
| 17 17 |  | 
| 18 18 | 
             
            So basically, you may want to `popen` listpager, print a list of somethings to
         | 
| 19 | 
            -
            its `stdin`, and listen on its `stdout`.
         | 
| 19 | 
            +
            its `stdin`, and listen on its `stdout`.  It'll go something like this:
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            
         | 
| 22 | 
            +
             | 
| 20 23 |  | 
| 21 24 | 
             
            ```ruby
         | 
| 22 25 | 
             
            listpager = IO.popen('listpager', 'r+')
         | 
| Binary file | 
    
        data/doc/screenshot.png
    ADDED
    
    | Binary file | 
| @@ -2,6 +2,7 @@ require 'ncursesw' | |
| 2 2 | 
             
            require 'shellwords'
         | 
| 3 3 | 
             
            require 'optparse'
         | 
| 4 4 | 
             
            require 'io/console'
         | 
| 5 | 
            +
            require 'io/nonblock'
         | 
| 5 6 |  | 
| 6 7 | 
             
            require 'listpager/color'
         | 
| 7 8 | 
             
            require 'listpager/list'
         | 
| @@ -48,7 +49,7 @@ module Listpager | |
| 48 49 | 
             
                def connect_list
         | 
| 49 50 | 
             
                  cterm = self
         | 
| 50 51 | 
             
                  list.define_singleton_method :on_select_change do
         | 
| 51 | 
            -
                    cterm.cmd!('is | 
| 52 | 
            +
                    cterm.cmd!('selected-is', selected, selected_value, observe_lock: true)
         | 
| 52 53 | 
             
                  end
         | 
| 53 54 |  | 
| 54 55 | 
             
                  list.define_singleton_method :on_key_press do |k|
         | 
| @@ -104,6 +105,7 @@ module Listpager | |
| 104 105 | 
             
                      list.values = []
         | 
| 105 106 | 
             
                      list.selected = 0
         | 
| 106 107 | 
             
                      list.dirty!
         | 
| 108 | 
            +
                      wake_up
         | 
| 107 109 |  | 
| 108 110 | 
             
                    when 'append'
         | 
| 109 111 | 
             
                      list.values.push(args.fetch(0))
         | 
| @@ -131,12 +133,22 @@ module Listpager | |
| 131 133 | 
             
                      cmd! 'selected-is', list.selected, list.selected_value
         | 
| 132 134 | 
             
                    when 'set-selected'
         | 
| 133 135 | 
             
                      list.selected = args.fetch(0).to_i
         | 
| 134 | 
            -
                      cmd! 'seleted-is', list.selected, list.selected_value
         | 
| 135 136 |  | 
| 136 137 | 
             
                    when 'get-item'
         | 
| 137 138 | 
             
                      cmd! 'item-is', args.fetch(0), list.values[args.fetch(0).to_i]
         | 
| 138 139 | 
             
                    when 'set-item'
         | 
| 139 | 
            -
                       | 
| 140 | 
            +
                      list.values[args.fetch(0).to_i] = args.fetch(1)
         | 
| 141 | 
            +
                      list.dirty!
         | 
| 142 | 
            +
                      cmd! 'item-is', args.fetch(0), list.values[args.fetch(0).to_i]
         | 
| 143 | 
            +
                  end
         | 
| 144 | 
            +
                end
         | 
| 145 | 
            +
             | 
| 146 | 
            +
                def wake_up
         | 
| 147 | 
            +
                  self_pipe[1].tap do |fd|
         | 
| 148 | 
            +
                    fd.nonblock do
         | 
| 149 | 
            +
                      fd.write('R')
         | 
| 150 | 
            +
                      fd.flush
         | 
| 151 | 
            +
                    end
         | 
| 140 152 | 
             
                  end
         | 
| 141 153 | 
             
                end
         | 
| 142 154 |  | 
| @@ -226,10 +238,7 @@ module Listpager | |
| 226 238 |  | 
| 227 239 | 
             
                def run
         | 
| 228 240 | 
             
                  trap 'WINCH' do
         | 
| 229 | 
            -
                     | 
| 230 | 
            -
                      fd.write 'R'
         | 
| 231 | 
            -
                      fd.flush
         | 
| 232 | 
            -
                    end
         | 
| 241 | 
            +
                    wake_up
         | 
| 233 242 | 
             
                  end
         | 
| 234 243 |  | 
| 235 244 | 
             
                  begin
         | 
    
        data/lib/listpager/list.rb
    CHANGED
    
    
    
        data/lib/listpager/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: listpager
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mike Owens
         | 
| @@ -67,6 +67,7 @@ files: | |
| 67 67 | 
             
            - Rakefile
         | 
| 68 68 | 
             
            - bin/console
         | 
| 69 69 | 
             
            - bin/setup
         | 
| 70 | 
            +
            - doc/netcat-example.gif
         | 
| 70 71 | 
             
            - doc/screenshot.png
         | 
| 71 72 | 
             
            - exe/listpager
         | 
| 72 73 | 
             
            - lib/listpager.rb
         |