Changeset d7ebb04002b10e3f35f2ea7459937c7f19c12942
- Timestamp:
- 08/05/08 16:22:09 (4 years ago)
- Author:
- Gabriel Falcão <gabriel@…>
- Children:
- ea35bd52bc71644dba1fac27bbff6289b7dcce05
- Parents:
- 25ef8a807d9296b650544eeed1f0c23f2601e41b
- git-committer:
- Gabriel Falcão <gabriel@…> (08/05/08 16:22:09)
- Message:
-
Adding easy resizing feature
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r25ef8a8
|
rd7ebb04
|
|
| | 1 | 2008-08-05 Gabriel Falcão <gabriel@nacaolivre.org> |
| | 2 | |
| | 3 | * src/guake.py: Now guake can be resized with a resizer :) |
| | 4 | * data/guake.glade: Adding a GtkHPaned as resizer for guake |
| | 5 | * data/guake.schemas: Adding two new boolean keys: show_toolbar and show_resizer |
| | 6 | |
| 1 | 7 | 2008-08-04 Lincoln de Sousa <lincoln@minaslivre.org> |
| 2 | 8 | |
-
|
rb71e795
|
rd7ebb04
|
|
| 30 | 30 | <widget class="GtkHBox" id="toolbar"> |
| 31 | 31 | <property name="visible">True</property> |
| | 32 | <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK</property> |
| | 33 | <property name="extension_events">GDK_EXTENSION_EVENTS_ALL</property> |
| 32 | 34 | <child> |
| 33 | 35 | <widget class="GtkImage" id="image1"> |
| … |
… |
|
| 78 | 80 | </packing> |
| 79 | 81 | </child> |
| | 82 | <child> |
| | 83 | <widget class="GtkVPaned" id="resizer"> |
| | 84 | <property name="visible">True</property> |
| | 85 | <property name="can_focus">True</property> |
| | 86 | <property name="no_show_all">True</property> |
| | 87 | <child> |
| | 88 | <widget class="GtkFixed" id="fixed1"> |
| | 89 | <property name="visible">True</property> |
| | 90 | </widget> |
| | 91 | <packing> |
| | 92 | <property name="resize">False</property> |
| | 93 | <property name="shrink">True</property> |
| | 94 | </packing> |
| | 95 | </child> |
| | 96 | <child> |
| | 97 | <widget class="GtkFixed" id="fixed2"> |
| | 98 | <property name="visible">True</property> |
| | 99 | </widget> |
| | 100 | <packing> |
| | 101 | <property name="resize">True</property> |
| | 102 | <property name="shrink">True</property> |
| | 103 | </packing> |
| | 104 | </child> |
| | 105 | </widget> |
| | 106 | <packing> |
| | 107 | <property name="expand">False</property> |
| | 108 | <property name="position">2</property> |
| | 109 | </packing> |
| | 110 | </child> |
| 80 | 111 | </widget> |
| 81 | 112 | </child> |
-
|
r570fd9b
|
rd7ebb04
|
|
| 317 | 317 | </schema> |
| 318 | 318 | |
| | 319 | <schema> |
| | 320 | <key>/schemas/apps/guake/general/show_resizer</key> |
| | 321 | <applyto>/apps/guake/general/show_resizer</applyto> |
| | 322 | <owner>guake</owner> |
| | 323 | <type>bool</type> |
| | 324 | <default>true</default> |
| | 325 | <locale name="C"> |
| | 326 | <short>If guake must show a control to make resizing more handful</short> |
| | 327 | <long>When true, guake shows a resizer on its bottom to allow user |
| | 328 | resize guake.</long> |
| | 329 | </locale> |
| | 330 | </schema> |
| | 331 | |
| | 332 | <schema> |
| | 333 | <key>/schemas/apps/guake/general/show_toolbar</key> |
| | 334 | <applyto>/apps/guake/general/show_toolbar</applyto> |
| | 335 | <owner>guake</owner> |
| | 336 | <type>bool</type> |
| | 337 | <default>true</default> |
| | 338 | <locale name="C"> |
| | 339 | <short>If the tabs bar must be visible</short> |
| | 340 | <long>When true, the tabs bar is visible</long> |
| | 341 | </locale> |
| | 342 | </schema> |
| 319 | 343 | </schemalist> |
| 320 | 344 | </gconfschemafile> |
-
|
rf2e67a5
|
rd7ebb04
|
|
| 623 | 623 | self.toolbar = self.get_widget('toolbar') |
| 624 | 624 | self.mainframe = self.get_widget('mainframe') |
| | 625 | self.resizer = self.get_widget('resizer') |
| 625 | 626 | |
| 626 | 627 | # List of vte.Terminal widgets, it will be useful when needed |
| … |
… |
|
| 653 | 654 | self.window.set_geometry_hints(min_width=1, min_height=1) |
| 654 | 655 | self.window.connect('focus-out-event', self.on_window_lostfocus) |
| | 656 | |
| | 657 | # resizer stuff |
| | 658 | self.resizer.connect('motion-notify-event', self.on_resizer_drag) |
| | 659 | |
| 655 | 660 | self.get_widget('context-menu').set_accel_group(self.accel_group) |
| 656 | 661 | |
| … |
… |
|
| 661 | 666 | self.add_tab() |
| 662 | 667 | self.toggle_ontop() |
| | 668 | |
| | 669 | def on_resizer_drag(self, widget, event): |
| | 670 | (x, y), mod = event.device.get_state(widget.window) |
| | 671 | |
| | 672 | max_height = self.window.get_screen().get_height() |
| | 673 | percent = y / (max_height / 100) |
| | 674 | |
| | 675 | if percent < 1: |
| | 676 | percent = 1 |
| | 677 | |
| | 678 | if int(mod) > 1: |
| | 679 | self.client.set_int(GCONF_PATH + 'general/window_size', int(percent)) |
| | 680 | self.resize(*self.get_final_window_size()) |
| 663 | 681 | |
| 664 | 682 | def on_window_lostfocus(self,window, event): |
| … |
… |
|
| 673 | 691 | self.window.show_all() |
| 674 | 692 | self.window.hide() |
| | 693 | show_resizer = self.client.get_bool(GCONF_PATH+'general/show_resizer') |
| | 694 | if not show_resizer: |
| | 695 | self.resizer.hide() |
| 675 | 696 | |
| 676 | 697 | def show_menu(self, *args): |
| … |
… |
|
| 749 | 770 | width = self.window.get_screen().get_width() |
| 750 | 771 | height = self.client.get_int(GCONF_PATH+'general/window_size') |
| | 772 | # avoiding X Window system error |
| | 773 | max_height = self.window.get_screen().get_height() |
| | 774 | |
| | 775 | if height > max_height: |
| | 776 | height = max_height |
| | 777 | |
| 751 | 778 | return width, height |
| 752 | 779 | |