volume control and other weird buttons on newer keyboards. Does a command exists that controls these functions (and provides a nice osd indicator), that can just be assigned a keyboard shortcut?
Allowing more than one hotkey (key shortcut) for operations.
Add an option to treat similar modifier keys (left/right ctrl, shift, windows, etc.) the same way. E.g. when I bind my windows key to the root menu, only the left window key works. The right one does nothing. And vice versa.
Have a visual indicator for workspace switching.
I like to have certain programs on certain desktops so when I just boot up is is sometimes annoying to try and find what desktop I am on and if I switched. OpenBox has a great (albeit ugly) dialog.
With more than even just two desktops its easy to loose your orientation, especially when some desktops are blank as mentioned above. This feedback would both please the poweruser and give the casual user useful feedback
working on implmenting this, based on ochosi (simon)'s work on the alt-tab window improvemt. Working to make it themeable and pretty using cairo. I have a public branch on github. git:\/\/github.com\/lifeisafractal\/xfwm4\/ its in the mcampbell\/workspacewin branch. Currently compiles and only works well with compositing enabled.
Mouse
Don't give focus on mouse wheel.
Edge resistance of mouse cursor when it hits the edge of the screen on multimonitor systems. This will, among other things, make dragging scrollbars of maximized windows easier.
Customize mouse button actions. Add it to current keyboard shortcut ability.
Show the location of the cursor on the screen by doing Alt + Rightclick (some some customizable keyboard/mouse shortcut).
Shortcut to hide the cursor from the screen or move it to the bottom-left corner. Could be useful when you're typing and the cursor is in front of your text. (This could be provided as a program or script that moves the mouse cursor to some specified location, then assigned a keyboard shortcut.)
Raise window under mouse cursor on keypress.
Show/hide windows by clicking on active workspace.
Window Management
It would be nice, when using two screens (the computer's one and a video-projector) to be able to getting on the main screen (the computer one) an image of the desktop(s) including the two screens and opened windows, and, looking to this main screen, to be able to drag any window from one screen to another ; with the desktop applet of xfce, windows can only be moved from one desktop to another one but remains on the same screen ; with this new feature, no more need to twist head to see the projector neither to turn on the video-projector if, for any reason, a window is opened on the projector screen.
Intelligent placement is annoying. The configuration of more or less intelligence is also not intuitive in this respect. please, allow for turning that feature off and having windows always pop up at center or do it more intelligent, like not opening the window at all but only registering it as a taskbar-entry or a temporary desktop (tray) icon.
Placeable “guides” a'la inkscape/gimp, which act as window separators, for example if you place a guide in the middle of your screen, a window that is maximised is maximused to take up the area of the sash where the window's centre is.
XFWM should respect sloppy mode while DnD and give focus to the target window.
xfce's strength is it's simplicity. sometimes, however, it doesn't behave … whenever there are popup-panels (e.g. during an update process), those panels come up again and again. I'd like to focus (my brains) only on the window I'm currently focused (window-wise) on. (Please correct me, if you can toggle this in some setting already…)
Maybe it would be nice if the Windowmanager could snap to the corners of other windows, that, when I`m moving a window witch is already snapped to another would snap to the x or y position of the other one.
If a application doesn't close within <x> seconds after trying to close it, prompt the user if he wants to kill the app.
I think magical behaviour goes against usability and simplycity. it will also harm applications with long shutdown time, such as bittorrent clients. Maybe a better fix is a shortcut (ctl+alt+win+backspace) that calls `xkill` and you can click the window to kill it. no magic. user in full control. no annoying popups for long shutdown applications.
Option to exclude empty workspaces (empty as in: no non-pager, non-taskbar … application on the workspace) from the cycle list.
Show the size of a window when resizing. + also show screen location information (in pixels). Make both optional.
Hide also the window border when a window is shaded.
Add the ability to do automatic resize to feet/inches/cm on the screen (as done in Icewm). Press Alt-XX and all windows are resized to equal size vertically or horizontally.
Add a new placement style (as in Golem). If you move the mouse during placement, the window sticks to the mouse. When the mouse stops moving for <x> seconds the window is placed under the mouse.
Actually focus windows when switching between them with Alt+Tab.
Make this configurable/user selectable
Raise the window instead of showing the border.
Show all windows in a grid while using Alt+Tab, like Exposé does.
Allow selecting application with mouse, when Alt+Tab is pressed and list of running applicatin is shown.
Group windows, so you can close and resize an entire group or (similar) windows.
An option to hide window decorations behind other windows but not hide the windows themselves. Sounds a bit odd, but it would mean even less clutter where screen real-estate is an issue. Bringing the window decorations back could be done with alt+click.
Possibility to maximize a window in the “free” desktop space (so without covering other windows). This will be useful for applications like the Gimp.
Visual display of margins when editing them.
Allow alteration of transparency per window.
Add a slider to the “Window Manager Tweaks” dialog to control “Opacity of active window”
Add button 'always on top' to current buttons (minimize, maximize, stick, shade, close) in title panel.
Add Amiga
OS style z-order toggle button. (Logic: If the window is anywhere other than at the front of the z-order, bring it to the front, otherwise, send it to the back.)
Add buttons for 'maximize vertically' and 'maximize horizontally'
Add a possible 'maximize vertically' action to be executed when the window bar is clicked on.
Add “spacer” for the titlebar, so it is possible to, e.g., separate the close button from the rest without moving them to the opposite sides of the title (for example, like in KDE4)
when “minimising all” windows, I actually mean all windows within the current desktop …
Limited tiling window management. It can cost a lot of work, but I consider it as very useful thing. (check whether x-tile does what you want:
http://www.giuspen.com/x-tile)
Intelligent placement could behave differently:
Windows could be created not only on center, but e.g. on bottom (user defines).
If there is insufficient place to create new non-overlapping window, some small windows could be moved.
Keyboard shortcuts to place window in chosen corner, but with respect for other windows - after placement none windows overlap. (Use x-tile:
http://www.giuspen.com/x-tile)
User create WindowGroup - e.g. all GIMP windows would be one group. Group have main-window and only this window have visible decoration (windows within a group don't have it). All windows (subwindows?) within a group would be dockable. In group window subwindows would behave like in tiling window manager, but it would be great if some subwindows could overlap.
The “fill” feature, I guess, is all what you need. You can have a vertical maximized application on the right side of your screen, move a terminal on the left and maximize it only in the available space – it will be maximized against the borders of the neighbor windows, and the more you maximize (fill) the more it expands against other windows. The default keyboard shortcuts for maximize are Alt+F5/6/7
IIRC, I have set my keyboard shortcuts for filling to Shift+Alt+F5/6/7. – mike
Ability to keep windows in a specific workspace. For example, if I have my browser open in workspace #1 and I click a link inside my IM client (in workspace #2), i want the link to open in the running browser but I don't want the browser to move to the current workspace. This could either be a global setting or an option for each window (like Stick).
Dynamic workspaces.
Settings → Workspace type → %Toggle% Dynamic/Fixed → Dynamic → Grey out options (number of workspaces).
User starts with 1 workspace.
New workspaces get added when the user tries to place a window on a workspace which doesn't yet exist (using keyboard shortcuts for example).
Workspaces (except for workspace 1) 'collapse' when the user closes the last remaining app on a workspace.
New workspace can be created when user tries to change focus to a workspace that doesn't exist (useful for trying to access the desktop), if the current workspace is not already empty.
<Winkey>+'D' - Minimize/maximize all windows
One thing I liked about compiz was the scale plugin; I think it's expose on Mac
OS-X. For me it was just a flick of the mouse to the upper right corner and there was all my open windows from all workplaces. Don't need all that other stuff that compiz has, but something like scale is very handy, or even Shift Switcher.
How about skipping over empty workspaces when switching using the Ctrl-Alt-Arrow keys?
Themes
Allow for translucency in themes. This could allow both transparent window decorations as well as an easy way to make theme-specific effects such as drop shadows.
More flexible way to use current Gtk color scheme in decorations. For example, by using grayscale png images, tinted by specified color (by mapping white to this color, leaving black as is, or vice versa, as specified in themerc). Multiple png layers would bring full benefit.
Allow themes to have alternate decorations when maximized vs. not maximized. Ex. rounded window corners when not maximized, square when maximized. - this is implemented
Customizable position of the window buttons. Like with tabs (top, bottom, left, right).
Make a tool to import metacity themes.
Improved theme installation. Could be done by automatically install a theme when the tarball is dragged in the properties dialog or a special button.
Eye-candy and compositing effects
Disabling transparency for single windows would be great. It is very annoying if you are watching a video with mplayer for example while doing every day work so the mplayer window (video) looks pallid because of the transparency. To enable/disable this feature for every window there could maybe an option in the xfwm window menu (where you also can stick/hide/etc. the window).
OpenGL based window/compositing manager. Not for wobbly windows, but for speeding up the window manager.
Comment: This isn't something that should be hacked around in Xfwm4. Render needs to be speeded up in Xorg, benefiting all applications.
Forget wobbly windows and other useless eye-candy (if you want that rubbish, use Beryl). But there are several useful things that could be done, like blur-behind transparency
Make sure effects can be individually disabled (for people who are easily distracted or with slower computers)
Provide a visual representation of window being shaded/rolled-up. The current action of instantly shading is unintuitive to someone who doesn't know what that feature is.
Provide animated/mouseover images for minimize/close/etc buttons implemented in svn
Transparency should only apply to inactive (no focus) applications … now, when a new window pops up in the browser the main-browser-window gets transparent and thats a bit confusing . So don't make parent-widgets transparent when child-widget appears.
Provide miniature of windows when pressing <Alt-Tab> if compositing is active, like metacity now does. I know that something similar could be done using skippy-xd (if you manage to have it working) or kompose, but the result is not nice (fonts are different, etc,etc)
Posibility to use diferent shadows settings (radius,deltas,opacity,…) for maximized,minimized,tooltips,panel,…
A zoom feature would be nice.