Hello Joris ! I am very pleased to have wmaker running solo on my slow box here, and therefor tried to investigate the internal customizing. For a friend I I put some copied stuff together a few months ago, and I dare to post it here though I didn't check it for bugs now. Anyway, my configuration works alright here, and I could send you a home_user_GNUstep_Defaults.tar.gz if you like to have more examples. Some rather interesting points i already marked with an 'XXX', but you'll have to pick out what you need by yourself.
the stuff is: ================ Incomplete 'Site map' of WMaker-related Directories and files ================ /usr/share/doc/WindowMaker/Debian.README ================ My /etc/menu/local.windowmaker ================ /etc/X11/WindowMaker/menu Joris schrieb zu Re: shortcut: > On Sat, Nov 09, 2002 at 01:33:36AM +0100, Julien Mary wrote: > > I like to define shortcuts for some apps for wmaker. > > The problem is when i use update-menus, my shortcuts are erased. > > Where can i define them ? > > For example i want to launch aterm with ctrl+alt+w. > > ~/.menu/ > I don't know exactly what it means (since I just copied an example and > modified it), but there I have: > joris@kiwi:~/.menu$ cat rxvt > ?package(rxvt):needs=x11 section=Apps/Tools \ > hints="Clocks" \ > longtitle="Rclock: another clock for X" title=Rclock\ > command=rclock > ?package(rxvt):needs=x11 section=XShells \ > longtitle="Rxvt: terminal emulator for X" title=Rxvt\ > command="rxvt"\ > shortcut="Control+Shift+x" It's your locale-definition. See /usr/lib/menu/README ( or one XXX below ) If you put wmaker-shortcuts in /etc/menu/local.windowmaker they're valid for other users and root also. Good luck ! -- Michl. ===================== the stuff ========================== ====================== Site map of WMaker-related Directories and files: Structure is: Underlined ====== directories followed by subdirectories beginning with ./ XXX: Marker also for proposed changes of original configuration ( michl ) $HOME/ ======= ./GNUstep/Defaults : Contains all custom config-files about Windows, Appearence, Menus ... XXX: Make the file WMRootmenu a link pointing to /etc/x11/Windowmaker/menu.hook so it shows the version updated by Debian 'update-menus' ( this is quite easier than to replace it by hand, as proposed in the docs ) ( See: man update-menus and /usr/doc/menu.html ). ./GNUstep/Library ./.wmakerconf ./.xsession ....starts the Session ?./.xinitrc ( used by SuSE ? ) etc === ./X11/WindowMaker The defaults for the root-menu and its submenus, and language versions. Debian 'update-menus' creates the 'menu.hook' from the sources /etc/menu ( placed there by user ) or /usr/lib/menu ( by packages). ./GNUstep/Defaults/ XXX: Set the font in WMGlobal to something readable.... There occured some problem to choose a bigger font for the WMaker-menus. I miss that feature in 'wprefs'-configurator, but maybe i've just not found it ? It was possible to edit them with the 'wmakerconf' - program, that AFAICS did not support the debian-menu-system, however. ./GNUstep/Defaults/ /etc/menu ========= XXX: contains the 'locals' = user-customized additions or replacements to the root-menu ( = the main-menu you get with right mouse button ). The README there says: "In this directory, the system administrator can install menufiles to override the menu files provided by Debian in /usr/lib/menu and /usr/lib/menu/default. The filename should be the name of the package that it is overwriting, and may contain as many lines and menu entries as necessary. Please run 'update-menus' after changing or adding files. For more info, please read /usr/doc/menu/html." /usr/lib/menu/ ============ README: "In this directory, each individual package should install it's menu files. Although changing them in this directory to change the menus on your local system may work, the sysadmin (you?) is best advised to put the local menufiles in /etc/menu, as, otherwise your changes are deleted when you upgrade the corresponding packages. XXX: Users may override the system-wide defaults by putting their menuentry files in ~/.menu." ./wmaker The menu-definitions provided by Debian-packages. This is also updated or changed whith dpkg or apt events, so better do not use it for customizing. /usr/share/WindowMaker ====================== ./Defaults XXX: Make it a symlink pointing to -> etc/GNUstep/Defaults ./Backgrounds ./Icons XXX: Make it the _Only _One_ Icon-Archiv for all your desktops ( I use a link '/IconX' in the root-dir for quick access ) ================= /usr/share/doc/WindowMaker/Debian.README Sources for documentation ----------------------------------------- XXX : The Window Maker manual written by Alfredo Kojima ftp://ftp.windowmaker.org/pub/wmaker/docs/ Please note the manual documents version 0.10.x of Window Maker, and many features/changes have occured since then. To find out what has changed, please read file:/usr/doc/wmaker/NEWS.gz and file:/usr/doc/wmaker/changelog.gz. A new version of this manual is being developed. If you want to contribute to the manual please contact [EMAIL PROTECTED] * The Window Maker web site http://www.windowmaker.org/ You can find all sorts of information here. It's kept very up to date. * The Window Maker mailing list http://www.windowmaker.org/lists.html There's a Window Maker mailing list. There you can ask questions about Window Maker and *related* applications (s/n is _way_ low nowadays due to unrelated discussions). Please read the archives before asking! * The Window Maker FAQ http://www.dpo.uab.edu/~grapeape/wmfaq.html This is NOT file:/usr/doc/wmaker/FAQ.gz, but another document. It contains information about several aspects of Window Maker that are not covered on the FAQ included alongside with this Readme. * The Window Maker Configuration documents ftp://ftp.windowmaker.org/pub/wmaker/docs/WindowMaker-*-Config.txt.gz This documents the files found on ~/GNUstep/Defaults/. It's kept as up to date as possible. IF YOU ARE UPGRADING FROM 0.17.5 or earlier ------------------------------------------- PLEASE NOTE: WPrefs is a work in progress. SAVE YOUR CONFIGURATION. READ THE READMEs. XXX Please note that WPrefs' Menu Guru REQUIERES a menu in "Property List" format to work properly. It's very likely that you have an old format menu. There's a script called wm-oldmenu2new alongside this file that converts your menu to the new format. It's a hack, it won't be installed anywhere else. XXX Debian specific notes --------------------- Please note that the /usr/X11R6/include/X11/pixmaps is not going to be supported in future releases. Other Window Maker packages should put pixmaps in /usr/share/WindowMaker/Pixmaps and icons in /usr/share/WindowMaker/Icons, ONLY. The structure Window Maker tries to use is like this: GNUstep +.AppInfo +Defaults +Library +WindowMaker + Backgrounds [*] + IconSets [*] + Pixmaps + Sounds + Styles [*] + Themes [*] +Icons Please note Icons are not considered Window Maker-only resources. [*] these directories are OPEN_MENU'ed WITH the right application. That means you can put the *file* "Great Debian Theme" on Themes, it will show up in the menu, and will be opened using setstyle, which installs it, i.e., sets that theme as the current theme. If you don't like the arrangement of the Appearance menu, you can put a file "appearance.menu" in ~/GNUstep/Library/WindowMaker, and it will override the default one. Look at /etc/X11/WindowMaker/appearance.menu for an example. XXX Shortcuts ------------------------------------ Thanks to a suggestion, there's support for Shortcuts. If you want to have Shift F1 launch an XTerm, you can: $ cp /usr/lib/menu/xterm /etc/menu $ sensible-editor /etc/menu/xterm add: shortcut=Shift+F1 and run update-menus. Changing the menus (or "WPrefs segfaults when I click the cute menu icon") -------------------------------------------------------------------------- XXX: Very important ! First of all, I have this urge to say that it doesn't segfault for me. It gives me a nice warning about being unable to use my current menu. The problem is that wmaker now is capable of using a new type of menu, namely a PropList menu. It looks something like this: ( Applications, (Debian, OPEN_MENU, menu.hook), ( WorkSpace, (Appearance, OPEN_MENU, appearance.menu), (Workspaces, WORKSPACE_MENU), ("Arrange Icons", ARRANGE_ICONS), ("Hide Others", HIDE_OTHERS), ("Show All Windows", SHOW_ALL), ("Clear Session", CLEAR_SESSION), ("Save Session", EXEC, "") ), (About..., INFO_PANEL), (Exit, SHUTDOWN) ) That cute looking menu button (let's call it by its name: the Menu Guru) in WPrefs expects to find a menu in this format. I considered changing the menu-method to something that spits out a menu in this format (it's quite easy) but there's a little tiny problem: see that line that reads "OPEN_MENU" in the example above... well, it happens that appearance.menu has to be in the old format. That means that if I make the menu method produce a new style menu, that menu has to be the root menu. And that is not a good idea (the reason is left as an exercise to the reader, take into account the people that aren't using menu.hook as the root menu in the first place). Still want to use WPrefs to edit you menu? Cut and paste the example above into ~/GNUstep/Defaults/WMRootMenu, start WPrefs, click the Menu Guru (the 9th icon, left to right). Now go read the docs. That's the reason they are there. Marcelo E. Magallon <[EMAIL PROTECTED]>, Thr, 1 Apr 1999 18:47:30 -0600 ================ My /etc/menu/local.windowmaker ?package(local.wmaker): needs=wmaker \ section="AAA_local" title="Run..." sort=$ \ command="SHEXEC" arg="%a(Run,Type command to run:)"\ shortcut=Control+Mod1+R ?package(local.wmaker):needs=wmaker \ section="AAA_local" title="Preferences" \ command="EXEC" arg="WPrefs" ?package(local.wmaker):needs=wmaker \ section="AAA_local" title="Restart" sort=$ \ command="RESTART" ?package(local.wmaker):needs=wmaker \ section="AAA_local" title="Save Session" \ command="SAVE_SESSION" ?package(local.wmaker):needs=wmaker \ section="AAA_local" title="Exit" sort=$ \ command="EXIT"\ shortcut=Control+Mod1+Escape ======================= /etc/X11/WindowMaker/menu Look for 'XXX' I used as marker for interesting points :-) The root-menu is the main-menu you get with right mouse button /* * Root Menu definition for WindowMaker * * Syntax is: * * <Title> [SHORTCUT <Shortcut>] <Command> <Parameters> * * <Title> is any string to be used as title. Must be enclosed with " if it * has spaces XXX: * SHORTCUT specifies a shortcut for that item. <Shortcut> has the * same syntax of the shortcuts key options in the * $HOME/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey. * * You can't specify a shortcut for a MENU or OPEN_MENU entry. * * <Command> one of the valid commands: * MENU - starts (sub)menu definition * END - end (sub)menu definition * OPEN_MENU - opens a menu from a file, pipe or directory(ies) contents * and eventually precede each with a command. * WORKSPACE_MENU - adds a submenu for workspace operations. Only one * workspace_menu is allowed. * EXEC <program> - executes an external program * SHEXEC <command> - executes a shell command (like gimp > /dev/null) * EXIT - exits the window manager * RESTART [<window manager>] - restarts WindowMaker or start another * window manager * REFRESH - refreshes the desktop * ARRANGE_ICONS - rearranges the icons on the workspace * SHUTDOWN - kills all clients (and close the X window session) * SHOW_ALL - unhides all windows on workspace * HIDE_OTHERS - hides all windows on the workspace, except the * focused one (or the last one that received focus) * SAVE_SESSION - saves the current state of the desktop, which include * all running applications, all their hints (geometry, * position on screen, workspace they live on, the dock * or clip from where they were launched, and * if minimized, shaded or hidden. Also saves the current * workspace the user is on. All will be restored on every * start of windowmaker until another SAVE_SESSION or * CLEAR_SESSION is used. If SaveSessionOnExit = Yes; in * WindowMaker domain file, then saving is automatically * done on every windowmaker exit, overwriting any * SAVE_SESSION or CLEAR_SESSION (see below). * CLEAR_SESSION - clears any previous saved session. This will not have * any effect if SaveSessionOnExit is True. * INFO - shows the Info Panel * * OPEN_MENU syntax: * 1. File menu handling. * // opens file.menu which must contain a valid menu file and inserts * // it in current position * OPEN_MENU file.menu * 2. Pipe menu handling. * // opens command and uses it's stdout to construct menu. * // Command's output must be a valid menu description. * // The space between '|' and command itself is optional. * // Use '||' instead of '|' if you want the menu to always update * // when opened. It might be slow. * OPEN_MENU | command * OPEN_MENU || command * 3. Directory handling. * // Opens one or more directories and construct a menu with all * // the subdirectories and executable files in them sorted * // alphabetically. * OPEN_MENU /some/dir [/some/other/dir ...] * 4. Directory handling with command. * // Opens one or more directories and construct menu with all * // subdirectories and readable files in them sorted alphabetically, * // preceding each of them with command. * OPEN_MENU [options] /some/dir [/some/other/dir ...] WITH command -options * Options: * -noext strip whatever is after the last dot in the * file name * * <Parameters> is the program to execute. * * ** Options for command line in EXEC: * %s - substitute with current selection * %a(title[,prompt]) - opens a input box with the specified title and the * optional prompt and do substitution with what you typed * %w - substitute with XID for the current focused window * %W - substitute with the number of the current workspace * * You can override special characters (as % and ") with the \ character: * ex: xterm -T "\"Hello World\"" * * You can also use character escapes, like \n * * Each MENU statement must have one mathching END statement at the end. * * Example: * * "Test" MENU * "XTerm" EXEC xterm * // creates a submenu with the contents of /usr/openwin/bin * "XView apps" OPEN_MENU "/usr/openwin/bin" * // some X11 apps in different directories * "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11 * // set some background images * "Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t * // inserts the style.menu in this entry * "Style" OPEN_MENU style.menu * "Test" END */ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]