deskshot 0.0.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 +7 -0
- data/lib/deskshot/capture_icon.png +0 -0
- data/lib/deskshot/screenshot.rb +24 -0
- data/lib/deskshot/tray.rb +33 -0
- data/lib/deskshot/tray_app.rb +8 -0
- data/lib/deskshot.rb +51 -0
- metadata +48 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 959684b9ca1b7add19715f4e9032453e64b1e82e
|
4
|
+
data.tar.gz: 504b5e7f6112a983e473e628022ac0627b99366d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f39f37c3712244ddffe2eb47df99279400ea814ffc9c7c1ea68b7f7a6788e45ea765efede85334649afe14f9c836316f8431c695bd8cf8789fb170e9673fd44d
|
7
|
+
data.tar.gz: 1289e8f0cab520d06c1aa62b11113697863cbfd951cb29832f47174a2bd8cf90702a9d226e3b1b45d0cc81cb89fadc6cbe019bb909cc1b44815ef3fc67a2b2e2
|
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class Screenshot
|
2
|
+
include Java
|
3
|
+
|
4
|
+
import java.awt.Desktop
|
5
|
+
import java.awt.Robot
|
6
|
+
import java.awt.Toolkit
|
7
|
+
import java.awt.Rectangle
|
8
|
+
import javax.imageio.ImageIO
|
9
|
+
|
10
|
+
def self.capture(filename = 'screenshot.png')
|
11
|
+
sleep 1
|
12
|
+
robot = Robot.new
|
13
|
+
toolkit = Toolkit.get_default_toolkit
|
14
|
+
dim = toolkit.get_screen_size
|
15
|
+
rectangle = Rectangle.new(0, 0, dim.get_width, dim.get_height)
|
16
|
+
image = robot.create_screen_capture(rectangle)
|
17
|
+
file = java::io::File.new(filename)
|
18
|
+
ImageIO::write(image, "png", file)
|
19
|
+
|
20
|
+
desktop = Desktop.get_desktop
|
21
|
+
desktop.open(file)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class TrayApplication
|
2
|
+
include Java
|
3
|
+
import java.awt.TrayIcon
|
4
|
+
import java.awt.Toolkit
|
5
|
+
|
6
|
+
attr_accessor :icon_filename
|
7
|
+
attr_accessor :menu_items
|
8
|
+
|
9
|
+
def initialize(name= 'Tray Application')
|
10
|
+
@menu_items = []
|
11
|
+
@name = name
|
12
|
+
puts "Application is started successfully!! click on Tray Icon"
|
13
|
+
end
|
14
|
+
|
15
|
+
def item(label, &block)
|
16
|
+
item = java.awt.MenuItem.new(label)
|
17
|
+
item.add_action_listener(block)
|
18
|
+
|
19
|
+
@menu_items << item
|
20
|
+
end
|
21
|
+
|
22
|
+
def run
|
23
|
+
popup = java.awt.PopupMenu.new
|
24
|
+
@menu_items.each { |i| popup.add(i)}
|
25
|
+
|
26
|
+
image = java.awt.Toolkit::default_toolkit.get_image(@icon_filename)
|
27
|
+
tray_icon = TrayIcon.new(image, @name, popup)
|
28
|
+
tray_icon.image_auto_size = true
|
29
|
+
|
30
|
+
tray = java.awt.SystemTray::system_tray
|
31
|
+
tray.add(tray_icon)
|
32
|
+
end
|
33
|
+
end
|
data/lib/deskshot.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'deskshot/tray_app'
|
2
|
+
require 'deskshot/screenshot'
|
3
|
+
|
4
|
+
include Java
|
5
|
+
|
6
|
+
import java.awt.event.KeyEvent
|
7
|
+
import java.awt.event.ActionEvent
|
8
|
+
import javax.swing.JFrame
|
9
|
+
import javax.swing.JMenuBar
|
10
|
+
import javax.swing.JMenu
|
11
|
+
import javax.swing.JMenuItem
|
12
|
+
import javax.swing.KeyStroke
|
13
|
+
import java.lang.System
|
14
|
+
|
15
|
+
|
16
|
+
class DeskShot < JFrame
|
17
|
+
def initialize
|
18
|
+
super "Deskshot"
|
19
|
+
self.initUI
|
20
|
+
end
|
21
|
+
|
22
|
+
def initUI
|
23
|
+
menubar = JMenuBar.new
|
24
|
+
|
25
|
+
fileMenu = JMenu.new "File"
|
26
|
+
fileMenu.setMnemonic KeyEvent::VK_F
|
27
|
+
|
28
|
+
fileNew = JMenuItem.new "Take Screenshot!"
|
29
|
+
fileNew.addActionListener { Screenshot.capture }
|
30
|
+
fileNew.setAccelerator KeyStroke.getKeyStroke KeyEvent::VK_S, 10
|
31
|
+
#10 is a combination of 8 + 2, 8 is ALT, 2 is CTRL
|
32
|
+
|
33
|
+
fileExit = JMenuItem.new "Exit"
|
34
|
+
fileExit.addActionListener { System.exit 0 }
|
35
|
+
fileExit.setAccelerator KeyStroke.getKeyStroke KeyEvent::VK_W, 2
|
36
|
+
|
37
|
+
fileMenu.add fileNew
|
38
|
+
fileMenu.add fileExit
|
39
|
+
|
40
|
+
menubar.add fileMenu
|
41
|
+
|
42
|
+
self.setJMenuBar menubar
|
43
|
+
|
44
|
+
self.setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
|
45
|
+
self.setSize 230, 110
|
46
|
+
self.setLocationRelativeTo nil
|
47
|
+
self.setVisible true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
DeskShot.new
|
metadata
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: deskshot
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Parth Bharadiya
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-02-07 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: This gem is for taking screenshot of your desktop. It has system tray application also along with.
|
14
|
+
email: parthbharadiya007@gmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/deskshot.rb
|
20
|
+
- lib/deskshot/screenshot.rb
|
21
|
+
- lib/deskshot/tray.rb
|
22
|
+
- lib/deskshot/tray_app.rb
|
23
|
+
- lib/deskshot/capture_icon.png
|
24
|
+
homepage: http://rubygems.org/gems/deskshot
|
25
|
+
licenses:
|
26
|
+
- MIT
|
27
|
+
metadata: {}
|
28
|
+
post_install_message:
|
29
|
+
rdoc_options: []
|
30
|
+
require_paths:
|
31
|
+
- lib
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - '>='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
requirements: []
|
43
|
+
rubyforge_project:
|
44
|
+
rubygems_version: 2.1.9
|
45
|
+
signing_key:
|
46
|
+
specification_version: 4
|
47
|
+
summary: deskshot!
|
48
|
+
test_files: []
|