xfwm: support for 2d pagers
Paramjit Oberoi
param at cs.wisc.edu
Tue Sep 21 01:54:03 CEST 2004
> No new feature is being added to the 4.0 release and your patch doesn't
> apply on CVS HEAD.
Yeah, I'm not very familiar with CVS, and I wasn't sure I had the right
version. This is what I did to check out the code:
cvs -d:pserver:anonymous at cvs.xfce.sf.net:/cvsroot/xfce login
cvs -d:pserver:anonymous at cvs.xfce.sf.net:/cvsroot/xfce co xfce-devel/xfwm4
(got this from xfwm4-4.0.6 README)
How do I check out the latest code?
-param
>
> Cheers,
> Olivier.
>
> On Mon, 2004-09-20 at 08:50, Paramjit Oberoi wrote:
> > xfwm4 currently does not support 2d pagers very well: i.e., say that
> > your desktop pager/switcher displays 8 virtual desktops in 2 rows, 4
> > columns. It is natural in this situation to want to move the virtual
> > desktop up/down/left/right. However, xfwm only supports moving to the
> > next/previous desktop. (the xfce pager doesn't support multiple rows;
> > I am using xfwm with GNOME, as a replacement for metacity)
> >
> > According to the NetWM specification, pagers can communicate the layout
> > of the virtual desktops using the _NET_DESKTOP_LAYOUT property. This
> > property is described in detail here:
> > http://freedesktop.org/Standards/wm-spec/1.3/ar01s03.html#id2503159
> >
> > Attached to this email is a patch that adds support for this to xfwm.
> > The patch is against the current CVS head (I think). Here's a summary
> > of the changes:
> >
> > Additions to keythemerc:
> > up_workspace_key
> > down_workspace_key
> > left_workspace_key
> > right_workspace_key
> > move_window_up_workspace_key
> > move_window_down_workspace_key
> > move_window_left_workspace_key
> > move_window_right_workspace_key
> >
> > Eight new hotkeys for changing the virtual desktop, and for moving the
> > current window. You must add these to your keythemerc to try out this
> > patch.
> >
> > Adidtional setting in xfwm4.xml:
> > <option name="Xfwm/WrapLayout" type="int" value="0"/>
> >
> > Optionally, a "wrap_layout" parameter can be specified in the theme defaults.
> >
> > This setting controls if the up/down/left/right movement wraps around at
> > the boundaries of the pager. I have not (yet) modified the settings
> > manager plugins to allow this to be set via the GUI.
> >
> > Most of the additional code is self-explanatory - things like grabbing
> > hotkeys, reading settings, etc. Here is a list of the non-trivial bits:
> >
> > hints.c, getDesktopLayout()
> > Get the _NET_DESKTOP_LAYOUT property from the root window and update
> > internal data structures appropriately
> >
> > workspaces.c, workspaceGetPosition()
> > Translate the given workspace number to a X,Y position depending on
> > the layout of virtual workspaces
> >
> > workspaces.c, workspaceGetNumber()
> > Translate the given X,Y position to the workspace number
> >
> > workspaces.c, workspaceMove(int rowmod, int colmod, Client * c2)
> > just like workspaceSwitch (int new_ws, Client * c2), except that
> > instead of specifying the new workspace number you specify which
> > direction to move in (rowmod is +/- 1 for down/up movement; colmod
> > is +/- 1 for right/left movement).
> >
> > I've been using this with xfwm-4.0.6 for about a month. I just ported
> > it to the latest xfwm, and it seems to be working fine so far. I will
> > be glad if this can be included in future releases of xfwm.
> >
> > -param
> >
> >
> > ______________________________________________________________________
> > _______________________________________________
> > Xfce4-dev mailing list
> > Xfce4-dev at xfce.org
> > http://lunar-linux.org/mailman/listinfo/xfce4-dev
> --
> - Olivier Fourdan - fourdan at xfce.org - http://www.xfce.org -
>
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://lunar-linux.org/mailman/listinfo/xfce4-dev
More information about the Xfce4-dev
mailing list