Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
xfwm4_changes [2007/05/28 08:42] – Button actions patch vandry | xfwm4_changes [2010/10/02 17:26] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Patches for the window Manager (xfwm4) ====== | ||
+ | Note: I created this page to post some modifications (adjustments? | ||
+ | |||
+ | ===== Ability to resize windows by dragging the top of the frame ===== | ||
+ | |||
+ | With **xfwm4**, you can resize windows by dragging either side of the frame (left or right), the bottom, or any corner, but you cannot resize by dragging the top. Dragging the whole titlebar always moves the window only. I wanted to be able to resize by dragging the top. In themes where the title bar stretches across the width of the window, dragging the title bar should move the window (existing behaviour) if you aim in the " | ||
+ | |||
+ | As suggested, the exact behaviour of this feature depends on the theme, so it means that some extra information has to be included in the theme to take advantage of it. Unfortunately, | ||
+ | |||
+ | ==== HOWTO ==== | ||
+ | |||
+ | * Apply the [[http:// | ||
+ | * Create 10 new pixmaps for the theme to go with the 5 title pixmaps (in active and inactive states): | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | The " | ||
+ | |||
+ | The extra pixmaps I have created for the B5 theme are available as [[http:// | ||
+ | |||
+ | --vandry (2007-05-28) | ||
+ | |||
+ | ===== Button actions patch ===== | ||
+ | |||
+ | In **xfwm4**, the actions associated with the mouse buttons are: | ||
+ | |||
+ | * Button 1 on title: Raise the client. Move the window if dragged. Special action if double clicked. | ||
+ | * Button 1 on edge: Raise and resize. | ||
+ | * Button 2 on title: Lower the window. | ||
+ | * Button 2 on edge: Move the window if dragged. Lower the window if clicked. | ||
+ | * Button 3 on title: Move the window if dragged. Otherwise pop up the menu //but only when the button is released//! | ||
+ | * Button 3 on edge: Resize the window. | ||
+ | |||
+ | I found these conventions to be quite confusing and inconsistent. For example: to move the window you have to use button 3 if you drag the title but button 2 instead if you drag another edge -- or you can use button 1 but then the window will be unavoidably raised as a side effect. And the popup menu has just plain incorrect behaviour: it finally appears //after// you release the mouse button. | ||
+ | |||
+ | Unfortunately the mapping is not configurable, | ||
+ | |||
+ | * Button 1: [[http:// | ||
+ | * If you drag the title bar: move | ||
+ | * If you drag another part of the frame: resize | ||
+ | * If you click only: raise window | ||
+ | * Button 2 click: raise, or lower if already raised. | ||
+ | * Button 2 drag: Move Window | ||
+ | * Button 3 press: Popup menu (this is, after all, what Button 3 is used for in just about every application). | ||
+ | |||
+ | My proposed bindings will certainly not satisfy everyone any more than the default bindings suited me (in particular, I think many people do not care for the ability to easily move windows without raising them). That is why I would like to make the mouse bindings configurable. But for the moment I only wrote a [[http:// | ||
+ | |||
+ | --vandry (2007-05-28) |