epitools 0.5.5 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/epitools.gemspec +1 -1
- data/lib/epitools/wm.rb +5 -5
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.6
|
data/epitools.gemspec
CHANGED
data/lib/epitools/wm.rb
CHANGED
@@ -5,7 +5,8 @@ module WM
|
|
5
5
|
def self.windows; @windows ||= Window.all; end
|
6
6
|
def self.desktops; @desktops ||= Desktop.all; end
|
7
7
|
def self.processes; @processes ||= Hash[ Sys.ps.map { |process| [process.pid, process] } ] ; end
|
8
|
-
def self.current_desktop; @current
|
8
|
+
def self.current_desktop; @current ||= desktops.find { |d| d.current? }; end
|
9
|
+
def self.sticky; @sticky ||= windows.select { |w| w.sticky? }; end
|
9
10
|
|
10
11
|
class Desktop < TypedStruct["num:int current:bool resolution viewport desktop_geometry name"]
|
11
12
|
def self.all
|
@@ -21,8 +22,8 @@ module WM
|
|
21
22
|
|
22
23
|
def self.from_line(line)
|
23
24
|
fields = line.split
|
24
|
-
fields[1] = (fields[1] == "*")
|
25
|
-
fields[5] = nil if fields[5] == "N/A"
|
25
|
+
fields[1] = (fields[1] == "*") # cast to boolean
|
26
|
+
fields[5] = nil if fields[5] == "N/A" # N/A becomes nil
|
26
27
|
|
27
28
|
name = fields[9..-1].join(" ")
|
28
29
|
|
@@ -34,7 +35,6 @@ module WM
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def windows
|
37
|
-
#binding.pry
|
38
38
|
@windows ||= WM.windows.select { |w| w.desktop_id == num }
|
39
39
|
end
|
40
40
|
end
|
@@ -66,7 +66,7 @@ module WM
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def sticky?
|
69
|
-
|
69
|
+
desktop_id == -1
|
70
70
|
end
|
71
71
|
|
72
72
|
alias_method :name, :title
|