sps_messenger 0.1.0 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20e824e597b3de3992e7c9ca4d3f36dc929d9b6e
4
- data.tar.gz: 504f751f8ebe22e4cca01219d39c9b0479cf2444
3
+ metadata.gz: 134322327d440891bcf7bfccf87822e02f03a0a5
4
+ data.tar.gz: 0fe0b79ddea6cb3fba3093313b3c9c38a46ae4d0
5
5
  SHA512:
6
- metadata.gz: f9419e46a7de4f8cef037cd751321d2050e58c6e3b7325b9a7a0596b1242fc955eebc44101a73995d051f29b89b4231704ea743c19e00b7d50bbd2210eeb2396
7
- data.tar.gz: 2d7f0cb48ee37e4533bc45b6843aa9f1a1dff6aeb08d484743c55efa3d056f0474f909e885fa9fe0cd892540ebfb659d5ee850d2cf27b7f7061529aa7525435d
6
+ metadata.gz: e99ddeee19c691d19570835b9e892ce22572418ba5215c8f5958805ff2b796b903a0ded3eae39839c24196683d69415d49b2eb1db541021828ffbe7a18ba1da1
7
+ data.tar.gz: 269847fad9def20f8e04860eae5ba0f8ad12353a5e88653d75ada3c662a867b490a281b117e3cddb4630dfb5e4f6ad0b037c40bc7c49e5b792082ac7f7f7fceb
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/sps_messenger.rb CHANGED
@@ -14,7 +14,9 @@
14
14
  # * price of Bitcoin
15
15
  # * latest RSS headlines etc.
16
16
 
17
+ require "socket"
17
18
  require 'sps-sub'
19
+ require 'sps-pub'
18
20
  require "curses"
19
21
  include Curses
20
22
 
@@ -22,12 +24,10 @@ include Curses
22
24
 
23
25
  class SPSMessenger < SPSSub
24
26
 
25
- def onmessage(msg)
26
- clear_screen()
27
- puts msg
28
- end
29
27
 
30
- def start()
28
+ def start(watchx: false, pub_host: 'sps', pub_port: '59000',
29
+ client_id: Socket.gethostname)
30
+
31
31
  Curses.init_screen
32
32
  #x = Curses.cols / 2 # We will center our text
33
33
  x = 0
@@ -39,8 +39,11 @@ class SPSMessenger < SPSSub
39
39
  init_pair(COLOR_YELLOW,COLOR_YELLOW,COLOR_BLACK)
40
40
  attron(color_pair(COLOR_GREEN)|A_NORMAL){ addstr('ready ') }
41
41
  refresh()
42
+
43
+ Thread.new { watch_xset(pub_host, pub_port, client_id) } if watchx
42
44
 
43
- subscribe()
45
+ subscribe(topic: 'messenger | ' + client_id + '/messenger')
46
+
44
47
  end
45
48
 
46
49
  private
@@ -69,6 +72,34 @@ class SPSMessenger < SPSSub
69
72
  end
70
73
 
71
74
  end
75
+
76
+ # Monitors the state of the monitor (either On or Off).
77
+ # To use this feature you must be using X Windows and have DPMS enabled.
78
+ # To enable DPMS, go to the screensaver settings, click on the *advanced*
79
+ # tab and enable power management. Note: This only enables the power
80
+ # management of the monitor.
81
+ #
82
+ def watch_xset(host, port, client_id)
83
+
84
+ pub = SPSPub.new host: host, port: port
85
+ pub.notice 'sps_messenger: publisher ready'
86
+ old_state = 'on'
87
+
88
+ loop do
89
+
90
+ state = `xset -q`[/(?<=Monitor is )\w+/].downcase
91
+
92
+ if state != old_state then
93
+ pub.notice "monitor/%s/%s: Display monitor for %s is now %s " % \
94
+ [state, client_id.downcase,client_id.downcase, state]
95
+ old_state = state
96
+ end
97
+
98
+ sleep 1
99
+
100
+ end
101
+
102
+ end
72
103
 
73
104
  end
74
105
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sps_messenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  w49j6lo3SYntBH8faZClS/o2IYpidKzYdUljN0rBk2csvAD/Xzhm5Sh6toNo7V7G
31
31
  fpc=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-02-02 00:00:00.000000000 Z
33
+ date: 2018-02-03 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sps-sub
metadata.gz.sig CHANGED
Binary file