colszowka-window_resizer 0.0.2 → 0.1.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.
- data/README.textile +54 -1
- data/bin/resize_current_window +3 -4
- metadata +1 -1
data/README.textile
CHANGED
@@ -1 +1,54 @@
|
|
1
|
-
|
1
|
+
h1. Window Resizer
|
2
|
+
|
3
|
+
This is a tool for resizing and positioning the active window in the X window system.
|
4
|
+
|
5
|
+
h2. Usage
|
6
|
+
<code>$ sudo gem install colszowka-window_resizer</code>
|
7
|
+
|
8
|
+
Please note that you need to have the <code>wmctrl</code> package installed. On Debian-based systems, installing can be done with <code>sudo apt-get install wmctrl</code>
|
9
|
+
|
10
|
+
For a list of available commands, type:
|
11
|
+
<code>$ resize_current_window --help</code>
|
12
|
+
|
13
|
+
h2. Examples
|
14
|
+
|
15
|
+
Place window in the center of the screen, using 85% of available height and width (a.k.a. defaults):
|
16
|
+
<code>resize_current_window</code>
|
17
|
+
|
18
|
+
Place window at the left screen border, make it use full height and half width:
|
19
|
+
<code>resize_current_window --left -x 0.5 -y 1.0</code>
|
20
|
+
|
21
|
+
Place window in the upper right corner, make it use 50% height and width:
|
22
|
+
<code>resize_current_window --top -x 0.5 -y 0.5</code>
|
23
|
+
|
24
|
+
Place window in the upper right corner, make it use 50% height and width:
|
25
|
+
<code>resize_current_window --top -x 0.5 -y 0.5</code>
|
26
|
+
|
27
|
+
Place window in the lower right corner, make it use 50% height and width:
|
28
|
+
<code>resize_current_window --bottom -x 0.5 -y 0.5</code>
|
29
|
+
|
30
|
+
Place window centered at the bottom of the screen, make it use 50% height and 100% width:
|
31
|
+
<code>resize_current_window --bottom -x 1.0 -y 0.5</code>
|
32
|
+
|
33
|
+
h2. Keybindings in Gnome
|
34
|
+
|
35
|
+
On my machines, I have the following key bindings set up:
|
36
|
+
<pre>
|
37
|
+
# Window resizer keybindings
|
38
|
+
gconftool-2 --set /apps/metacity/keybinding_commands/command_9 --type string "/usr/bin/resize_current_window"
|
39
|
+
gconftool-2 --set /apps/metacity/global_keybindings/run_command_9 --type string "<Alt><Shift>Down"
|
40
|
+
gconftool-2 --set /apps/metacity/keybinding_commands/command_10 --type string "/usr/bin/resize_current_window --left -x 0.55 -y 1.0"
|
41
|
+
gconftool-2 --set /apps/metacity/global_keybindings/run_command_10 --type string "<Alt><Shift>Left"
|
42
|
+
gconftool-2 --set /apps/metacity/keybinding_commands/command_11 --type string "/usr/bin/resize_current_window --right --top -x 0.44 -y 0.45"
|
43
|
+
gconftool-2 --set /apps/metacity/global_keybindings/run_command_11 --type string "<Alt><Shift>Up"
|
44
|
+
gconftool-2 --set /apps/metacity/keybinding_commands/command_12 --type string "/usr/bin/resize_current_window --right --bottom -x 0.44 -y 0.45"
|
45
|
+
gconftool-2 --set /apps/metacity/global_keybindings/run_command_12 --type string "<Alt><Shift>Right"
|
46
|
+
</pre>
|
47
|
+
|
48
|
+
You can run this set of commands in your command line (CAUTION: this will overwrite existing keybindings for the named commands!), and afterwards will be able to "tile" your current screen using <code><Alt><Shift>(Down|Left|Up|Right)</code>. Feel free to customize the settings to your needs :)
|
49
|
+
|
50
|
+
To learn about keybindings in Gnome with <code>gconf-editor</code>, you can also have a look at: http://www.linuxformat.co.uk/wiki/index.php/Setting_Key_Bindings_in_GNOME
|
51
|
+
|
52
|
+
h2. Copyright
|
53
|
+
|
54
|
+
window_resizer is Copyright © 2009 Christoph Olszowka, It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
|
data/bin/resize_current_window
CHANGED
@@ -11,8 +11,6 @@ opt_parser = OptionParser.new do |opts|
|
|
11
11
|
|
12
12
|
opts.on("-x X", "--width-ratio X", Float, "Resize ratio for window width relative to screen resolution. Defaults to 0.85") do |x|
|
13
13
|
options[:resize_factors][:x] = x
|
14
|
-
# Fall back to default
|
15
|
-
options[:resize_factors][:x] ||= 0.85
|
16
14
|
# Show error if resize ratio is invalid
|
17
15
|
if options[:resize_factors][:x] < 0.1 or options[:resize_factors][:x] > 1.0
|
18
16
|
raise OptionParser::InvalidArgument, "Width resize ratio must be > 0.1 and <= 1.0"
|
@@ -21,8 +19,6 @@ opt_parser = OptionParser.new do |opts|
|
|
21
19
|
|
22
20
|
opts.on("-y X", "--height-ratio X", Float, "Resize ratio for window height relative to screen resolution. Defaults to 0.85") do |y|
|
23
21
|
options[:resize_factors][:y] = y
|
24
|
-
# Fall back to default
|
25
|
-
options[:resize_factors][:y] ||= 0.85
|
26
22
|
# Show error if resize ratio is invalid
|
27
23
|
if options[:resize_factors][:y] < 0.1 or options[:resize_factors][:y] > 1.0
|
28
24
|
raise OptionParser::InvalidArgument, "Height resize ratio must be > 0.1 and <= 1.0"
|
@@ -45,6 +41,9 @@ opt_parser = OptionParser.new do |opts|
|
|
45
41
|
# Fall back to centered positions of none given
|
46
42
|
options[:positions][:x] ||= :center
|
47
43
|
options[:positions][:y] ||= :center
|
44
|
+
# Fall back to defaults for resize factors if none given
|
45
|
+
options[:resize_factors][:x] ||= 0.85
|
46
|
+
options[:resize_factors][:y] ||= 0.85
|
48
47
|
end
|
49
48
|
|
50
49
|
# Parse options and exit on failure
|