desktopen 0.5.0 → 0.5.1
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/README.md +32 -0
- data/VERSION +1 -1
- data/bin/desktopen +1 -17
- data/desktopen.gemspec +54 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1308955b11c9bbbb36fb6467749bf6c1db9a157
|
4
|
+
data.tar.gz: a564b6584014aafdc54b5930a975699db71d26c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b0edfc387e61a97d15d918a2b47fa58d6ab03a6318b42aa98af65063ba4e362960301c42e05d193fb984c159e7e44a841f8c4b4fec79bdba84c3823bc322e48
|
7
|
+
data.tar.gz: 642f2331d59b4ab681938422ab5653564478eaed8ea8de85b75ec3685224daf482c471a39ab591176b6c61aa1be067d4b2b5db22bb1d1348c27123c569fa3250
|
data/README.md
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# desktopen
|
2
|
+
A simple CLI util to open and position X windows.
|
3
|
+
|
4
|
+
Everytime a start a computer I had to manually open all my windows: terminal, text editor, browser -
|
5
|
+
then put them in proper viewports/displayes and position them. This is tedious work to be avoided.
|
6
|
+
Now I just use the following script made possible by `desktopen`:
|
7
|
+
|
8
|
+
A rather simple script that opens and places various X windows on different viewports and desktops for you.
|
9
|
+
|
10
|
+
# Chats and email
|
11
|
+
desktopen "google-chrome --new-window https://gmail.com" -v 1 --fullscreen
|
12
|
+
desktopen "google-chrome --new-window https://web.telegram.org" -v 1 -d 2 -x 447 -y 50 -w 1569 -h 1256
|
13
|
+
|
14
|
+
# Corporate chats and issue tracking
|
15
|
+
desktopen "google-chrome --new-window https://workflowy.com" -v 2 -d 1 -x 3 -y 10 -w 1238 -h 1336
|
16
|
+
desktopen "google-chrome --new-window https://mycompany.slack.com/messages/general/" -v 2 -d 1 -x 1269 -y 10 -w 1247 -h 1348
|
17
|
+
desktopen "google-chrome --new-window https://mycompany.atlassian.net/issues/" -v 2 -d 2 -x 3 -y 10 -w 1238 -h 1336
|
18
|
+
|
19
|
+
# Coding
|
20
|
+
desktopen 'terminator -m -l "project 1"' -v 6 -d 2 --fullscreen
|
21
|
+
desktopen 'gvim -c "cd ~/Work/project-1"' -v 6 -d 1 --fullscreen
|
22
|
+
desktopen 'terminator -m -l "project 2"' -v 6 -d 2 --fullscreen
|
23
|
+
desktopen 'gvim -c "cd ~/Work/project-2"' -v 6 -d 1 --fullscreen
|
24
|
+
|
25
|
+
To get a detailed breadkdown of all CLI options, just type `desktopen --help` once you installed it.
|
26
|
+
|
27
|
+
## Installation
|
28
|
+
`gem install dekstopen`
|
29
|
+
|
30
|
+
## Known issues
|
31
|
+
* It currently only supports up to 2 displays. Ideally, I'd want it to work with more than 2 monitors, but because I have 2,
|
32
|
+
I didn't bother to properly adjust the script.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
data/bin/desktopen
CHANGED
@@ -1,21 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
# This program opens windows and places them in the correct
|
4
|
-
# positions on correct viewports.
|
5
|
-
#
|
6
|
-
# Usage:
|
7
|
-
#
|
8
|
-
# owin ["command name --with --all --the args"] [viewport] [ fullscreen | [Width] [Height] [X-pos] [Y-pos] [screen number] ]
|
9
|
-
#
|
10
|
-
# How it works:
|
11
|
-
#
|
12
|
-
# 1. Gets screen resolution (xrandr)
|
13
|
-
# 2. Gets the number of viewports
|
14
|
-
# 3. Calculates 0,0 coordinates for each viewport
|
15
|
-
#
|
16
|
-
# 4. Opens the window, get its ID
|
17
|
-
# 5. Uses wmctrl to set window position
|
18
|
-
|
19
3
|
require 'optparse'
|
20
4
|
require_relative '../lib/desktopen'
|
21
5
|
|
@@ -67,7 +51,7 @@ pid = spawn("#{ARGV[0]}")
|
|
67
51
|
# Give the process some time to load, otherwise we can start moving the window before
|
68
52
|
# it's properly opened and this may result in mispositioning.
|
69
53
|
# The sleep time obviously depends on the system, for slower PCs it should be set to a larger number.
|
70
|
-
sleep options[:repos_timeout] || 1
|
54
|
+
sleep options[:repos_timeout].to_i || 1
|
71
55
|
|
72
56
|
position_and_resize_active_window(
|
73
57
|
window_id: find_opened_window(old_window_ids_list),
|
data/desktopen.gemspec
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: desktopen 0.5.1 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "desktopen"
|
9
|
+
s.version = "0.5.1"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.authors = ["Roman Snitko"]
|
14
|
+
s.date = "2016-04-23"
|
15
|
+
s.description = "A simple CLI util to open and position X windows."
|
16
|
+
s.email = "roman.snitko@gmail.com"
|
17
|
+
s.executables = ["desktopen"]
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"LICENSE.txt",
|
20
|
+
"README.md"
|
21
|
+
]
|
22
|
+
s.files = [
|
23
|
+
".document",
|
24
|
+
"Gemfile",
|
25
|
+
"Gemfile.lock",
|
26
|
+
"LICENSE.txt",
|
27
|
+
"README.md",
|
28
|
+
"Rakefile",
|
29
|
+
"VERSION",
|
30
|
+
"bin/desktopen",
|
31
|
+
"desktopen.gemspec",
|
32
|
+
"lib/desktopen.rb"
|
33
|
+
]
|
34
|
+
s.homepage = "http://github.com/snitko/desktopen"
|
35
|
+
s.licenses = ["MIT"]
|
36
|
+
s.rubygems_version = "2.4.5"
|
37
|
+
s.summary = "A simple CLI util to open and position X windows"
|
38
|
+
|
39
|
+
if s.respond_to? :specification_version then
|
40
|
+
s.specification_version = 4
|
41
|
+
|
42
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
43
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
44
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
45
|
+
else
|
46
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
47
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
48
|
+
end
|
49
|
+
else
|
50
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
51
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: desktopen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Snitko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -45,14 +45,17 @@ executables:
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files:
|
47
47
|
- LICENSE.txt
|
48
|
+
- README.md
|
48
49
|
files:
|
49
50
|
- ".document"
|
50
51
|
- Gemfile
|
51
52
|
- Gemfile.lock
|
52
53
|
- LICENSE.txt
|
54
|
+
- README.md
|
53
55
|
- Rakefile
|
54
56
|
- VERSION
|
55
57
|
- bin/desktopen
|
58
|
+
- desktopen.gemspec
|
56
59
|
- lib/desktopen.rb
|
57
60
|
homepage: http://github.com/snitko/desktopen
|
58
61
|
licenses:
|