DaemonForums  

Go Back   DaemonForums > OpenBSD > OpenBSD Packages and Ports

OpenBSD Packages and Ports Installation and upgrading of packages and ports on OpenBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 27th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default PekWM

Hello,

I am still a beginner and need some advice regarding the window manager PekWM. On a fresh OpenBSD 5.4 (release) installation I am trying make PekWM work.
While I don't have any problems with Fluxbox, PekWM just gives me a grey screen with a cursor but no context menu.
I added "exec pekwm" to my .xinitrc and then I enter startx.
What might be the problem?

On another note I wonder if it is correct to add "/usr/local/bin/slim" to /etc/rc.conf.local in order to start that display manager?

Thank you in advance!
Reply With Quote
  #2   (View Single Post)  
Old 27th November 2013
shep shep is offline
Real Name: Scott
Arp Constable
 
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,503
Default

Usually if a window manager fails you will be returned to the console prompt. I am not a PekWM user but I wonder if it actually started and you have a bare bones configuration.

If you right click does a menu pop up? Have you set up any user configuration files? I found some online documentation here.

Slim has an rc.d daemon so it should start from the pkg_scripts entry in /etc/rc.conf.local
Reply With Quote
  #3   (View Single Post)  
Old 27th November 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Hello, and welcome!

Disclaimer: I've never run pekwm. Until reading your post, I'd never heard of it.
Quote:
I added "exec pekwm" to my .xinitrc and then I enter startx.
That is the correct procedure, according to the documentation at pekwm.org. You should of course remove any other window manager in your .xinitrc file, such as fluxbox; you cannot have two window managers at the same time.

The documentation states that this window manager creates files in your ~/.pekwm directory; if you do not have this directory and these configuration files it is possible that pekwm did not ever run.
Quote:
On another note I wonder if it is correct to add "/usr/local/bin/slim" to /etc/rc.conf.local in order to start that display manager?
You should use /etc/rc.d/slim to start/stop the daemon, and automate this through adding "slim" to the pkg_scripts variable in /etc/rc.conf.local, as described in rc.conf(8) and rc.d(8). The rc.conf.* files only set variables that are used by the rc(8) infrastructure. If you wanted to script startup commands -- which you would not need for this -- you would use rc.local, rather than rc.conf.local.
Reply With Quote
  #4   (View Single Post)  
Old 27th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Thank you both. I got slim fixed now.
I got some experience with pekwm on Linux and FreeBSD. Never had any trouble there.
PekWM creates those configuration files automatically when it is first started. To be on the safe side I copied the example files from /usr/local/share/examples/pekwm into ~/.pekwm. But to no avail. I only see a grey (not a solid grey - it is kind of dotted and quite unpleasant to the eye) with the cursor. And there is no menu available when I right click. I am forced to press ctrl+alt+backspace to get back to the console. Once I am back I got error messages about failures in opening files in /etc/pekwm/*** (will post them tomorrow if necessary) as well as a "xauth: bad display name" error.
And yes in my .xinitrc file I commented out fluxbox when I want to start pekwm.
Reply With Quote
  #5   (View Single Post)  
Old 27th November 2013
shep shep is offline
Real Name: Scott
Arp Constable
 
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,503
Default

Quote:
you cannot have two window managers at the same time.
In a recent review of OpenBSD 5.4, the reviewer demonstrated his disdain for reading documentation and posted a screenshot of the base fvwm with xfce4.

I think carpetsmoker has used PekWM so hopefully he will weigh in. Also, if you get the Slim Display manager working and start an .xsession you should get some error messages in .xsession-errors.

Lastly, in OpenBSD, .xinitrc/.xsession need to be executable, ie $ chmod +x .xsession

Last edited by shep; 27th November 2013 at 11:35 PM.
Reply With Quote
  #6   (View Single Post)  
Old 28th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Quote:
Originally Posted by shep View Post
I think carpetsmoker has used PekWM so hopefully he will weigh in. Also, if you get the Slim Display manager working and start an .xsession you should get some error messages in .xsession-errors.
You are right about the .xsession-errors file. It does contain error messages. Is it supposed to be like that?

Quote:
Originally Posted by shep View Post
Lastly, in OpenBSD, .xinitrc/.xsession need to be executable, ie $ chmod +x .xsession
Since Fluxbox runs just fine (with and without Slim) I believe that there is something wrong with pekwm itself...
Reply With Quote
  #7   (View Single Post)  
Old 28th November 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

We haven't seen your error messages, we only have symptoms you have described to us.

The "dotted and unpleasant to the eye" screen you describe could indicate a problem with pekwm or a problem with X Windows. Along with sharing those error messages from .xsession-errors, you might look for error messages in /var/log/Xorg.0.log as well, as that is where X stores information, warning, and error messages.
Reply With Quote
  #8   (View Single Post)  
Old 28th November 2013
IdOp's Avatar
IdOp IdOp is offline
Too dumb for a smartphone
 
Join Date: May 2008
Location: twisting on the daemon's fork(2)
Posts: 1,027
Default

Sounds like maybe the X server is starting with the -retro "stippled" pattern? ( ... and no WM)
Reply With Quote
  #9   (View Single Post)  
Old 28th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Quote:
Originally Posted by jggimi View Post
We haven't seen your error messages, we only have symptoms you have described to us.

The "dotted and unpleasant to the eye" screen you describe could indicate a problem with pekwm or a problem with X Windows. Along with sharing those error messages from .xsession-errors, you might look for error messages in /var/log/Xorg.0.log as well, as that is where X stores information, warning, and error messages.
Will post my error messages tomorrow.

Quote:
Sounds like maybe the X server is starting with the -retro "stippled" pattern? ( ... and no WM)
Yes that's it. That background can be also admired here: http://distrowatch.com/images/screen....4-firefox.png

Last edited by nasser; 29th November 2013 at 11:53 AM. Reason: Changed the URL for more convenience.
Reply With Quote
Old 28th November 2013
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by nasser View Post
(I am not yet allowed to post links.)
You are now.
Reply With Quote
Old 29th November 2013
shep shep is offline
Real Name: Scott
Arp Constable
 
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,503
Default

Quote:
Yes that's it. That background can be also admired here: h**p://distrowatch.com/images/screenshots/openbsd-5.4-firefox.png
That is the default background that can be carried over into some of the lighter window managers (fvwm. twm, etc.). I run OpenBox and in either your .xsession or the ~/.config/openbox/autostart an entry like
Code:
# Set Background color
xsetroot -solid "#172636"
will give you something more pleasant. Color codes are here. The OpenBox source code does generate default entries in /etc/xdg but I did not see anything like that for PekWM in the package plist.

Last edited by shep; 29th November 2013 at 03:38 AM.
Reply With Quote
Old 29th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Here is my .xsession-errors:

Code:
Failed to read: session.ignoreBorder
Setting default value
Failed to read: session.forcePseudoTransparency
Setting default value
Failed to read: session.colorsPerChannel
Setting default value
Failed to read: session.doubleClickInterval
Setting default value
Failed to read: session.tabPadding
Setting default value
Failed to read: session.styleOverlay
Setting default value
Failed to read: session.slitlistFile
Setting default value
Failed to read: session.appsFile
Setting default value
Failed to read: session.tabsAttachArea
Setting default value
Failed to read: session.cacheLife
Setting default value
Failed to read: session.cacheMax
Setting default value
Failed to read: session.autoRaiseDelay
Setting default value
Failed to read: session.ignoreBorder
Setting default value
Failed to read: session.forcePseudoTransparency
Setting default value
Failed to read: session.colorsPerChannel
Setting default value
Failed to read: session.doubleClickInterval
Setting default value
Failed to read: session.tabPadding
Setting default value
Failed to read: session.styleOverlay
Setting default value
Failed to read: session.slitlistFile
Setting default value
Failed to read: session.appsFile
Setting default value
Failed to read: session.tabsAttachArea
Setting default value
Failed to read: session.cacheLife
Setting default value
Failed to read: session.cacheMax
Setting default value
Failed to read: session.autoRaiseDelay
Setting default value
Failed to read: session.screen0.opaqueMove
Setting default value
Failed to read: session.screen0.fullMaximization
Setting default value
Failed to read: session.screen0.maxIgnoreIncrement
Setting default value
Failed to read: session.screen0.maxDisableMove
Setting default value
Failed to read: session.screen0.maxDisableResize
Setting default value
Failed to read: session.screen0.workspacewarping
Setting default value
Failed to read: session.screen0.showwindowposition
Setting default value
Failed to read: session.screen0.autoRaise
Setting default value
Failed to read: session.screen0.clickRaises
Setting default value
Failed to read: session.screen0.defaultDeco
Setting default value
Failed to read: session.screen0.tab.placement
Setting default value
Failed to read: session.screen0.windowMenu
Setting default value
Failed to read: session.screen0.noFocusWhileTypingDelay
Setting default value
Failed to read: session.screen0.workspaces
Setting default value
Failed to read: session.screen0.edgeSnapThreshold
Setting default value
Failed to read: session.screen0.window.focus.alpha
Setting default value
Failed to read: session.screen0.window.unfocus.alpha
Setting default value
Failed to read: session.screen0.menu.alpha
Setting default value
Failed to read: session.screen0.menuDelay
Setting default value
Failed to read: session.screen0.tab.width
Setting default value
Failed to read: session.screen0.tooltipDelay
Setting default value
Failed to read: session.screen0.allowRemoteActions
Setting default value
Failed to read: session.screen0.clientMenu.usePixmap
Setting default value
Failed to read: session.screen0.tabs.usePixmap
Setting default value
Failed to read: session.screen0.tabs.maxOver
Setting default value
Failed to read: session.screen0.tabs.intitlebar
Setting default value
Failed to read: session.screen0.focusModel
Setting default value
Failed to read: session.screen0.tabFocusModel
Setting default value
Failed to read: session.screen0.focusNewWindows
Setting default value
Failed to read: session.screen0.focusSameHead
Setting default value
Failed to read: session.screen0.rowPlacementDirection
Setting default value
Failed to read: session.screen0.colPlacementDirection
Setting default value
Failed to read: session.screen0.windowPlacement
Setting default value
Failed to read: session.ignoreBorder
Setting default value
Failed to read: session.forcePseudoTransparency
Setting default value
Failed to read: session.colorsPerChannel
Setting default value
Failed to read: session.doubleClickInterval
Setting default value
Failed to read: session.tabPadding
Setting default value
Failed to read: session.styleOverlay
Setting default value
Failed to read: session.slitlistFile
Setting default value
Failed to read: session.appsFile
Setting default value
Failed to read: session.tabsAttachArea
Setting default value
Failed to read: session.cacheLife
Setting default value
Failed to read: session.cacheMax
Setting default value
Failed to read: session.autoRaiseDelay
Setting default value
Failed to read: session.screen0.opaqueMove
Setting default value
Failed to read: session.screen0.fullMaximization
Setting default value
Failed to read: session.screen0.maxIgnoreIncrement
Setting default value
Failed to read: session.screen0.maxDisableMove
Setting default value
Failed to read: session.screen0.maxDisableResize
Setting default value
Failed to read: session.screen0.workspacewarping
Setting default value
Failed to read: session.screen0.showwindowposition
Setting default value
Failed to read: session.screen0.autoRaise
Setting default value
Failed to read: session.screen0.clickRaises
Setting default value
Failed to read: session.screen0.defaultDeco
Setting default value
Failed to read: session.screen0.tab.placement
Setting default value
Failed to read: session.screen0.windowMenu
Setting default value
Failed to read: session.screen0.noFocusWhileTypingDelay
Setting default value
Failed to read: session.screen0.workspaces
Setting default value
Failed to read: session.screen0.edgeSnapThreshold
Setting default value
Failed to read: session.screen0.window.focus.alpha
Setting default value
Failed to read: session.screen0.window.unfocus.alpha
Setting default value
Failed to read: session.screen0.menu.alpha
Setting default value
Failed to read: session.screen0.menuDelay
Setting default value
Failed to read: session.screen0.tab.width
Setting default value
Failed to read: session.screen0.tooltipDelay
Setting default value
Failed to read: session.screen0.allowRemoteActions
Setting default value
Failed to read: session.screen0.clientMenu.usePixmap
Setting default value
Failed to read: session.screen0.tabs.usePixmap
Setting default value
Failed to read: session.screen0.tabs.maxOver
Setting default value
Failed to read: session.screen0.tabs.intitlebar
Setting default value
Failed to read: session.screen0.focusModel
Setting default value
Failed to read: session.screen0.tabFocusModel
Setting default value
Failed to read: session.screen0.focusNewWindows
Setting default value
Failed to read: session.screen0.focusSameHead
Setting default value
Failed to read: session.screen0.rowPlacementDirection
Setting default value
Failed to read: session.screen0.colPlacementDirection
Setting default value
Failed to read: session.screen0.windowPlacement
Setting default value
Failed to read: session.screen0.slit.acceptKdeDockapps
Setting default value
Failed to read: session.screen0.slit.autoHide
Setting default value
Failed to read: session.screen0.slit.maxOver
Setting default value
Failed to read: session.screen0.slit.placement
Setting default value
Failed to read: session.screen0.slit.alpha
Setting default value
Failed to read: session.screen0.slit.onhead
Setting default value
Failed to read: session.screen0.slit.layer
Setting default value
Failed to read: session.screen0.toolbar.autoHide
Setting default value
Failed to read: session.screen0.toolbar.maxOver
Setting default value
Failed to read: session.screen0.toolbar.visible
Setting default value
Failed to read: session.screen0.toolbar.widthPercent
Setting default value
Failed to read: session.screen0.toolbar.alpha
Setting default value
Failed to read: session.screen0.toolbar.layer
Setting default value
Failed to read: session.screen0.toolbar.onhead
Setting default value
Failed to read: session.screen0.toolbar.placement
Setting default value
Failed to read: session.screen0.toolbar.height
Setting default value
Failed to read: session.screen0.toolbar.tools
Setting default value
Failed to read: session.screen0.iconbar.mode
Setting default value
Failed to read: session.screen0.iconbar.alignment
Setting default value
Failed to read: session.screen0.iconbar.iconWidth
Setting default value
Failed to read: session.screen0.iconbar.iconTextPadding
Setting default value
Failed to read: session.screen0.iconbar.usePixmap
Setting default value
Failed to read: session.screen0.strftimeFormat
Setting default value
Failed to read: session.screen0.titlebar.left
Setting default value
Failed to read: session.screen0.titlebar.right
Setting default value
Terminated 
XIO:  fatal IO error 10 (No child processes) on X server ":0"
      after 115033 requests (115033 known processed) with 0 events remaining.
Quote:
will give you something more pleasant. Color codes are here. The OpenBox source code does generate default entries in /etc/xdg but I did not see anything like that for PekWM in the package plist.
Thanks for the hint but I'd prefer to have pekwm working instead of merely changing the background colour. Would be interesting if somebody can reproduce my problem. PekWM is a very small package.
Reply With Quote
Old 29th November 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default

Hi nasser !
I've just tried pekwm .. it looks cool & similar to my favorite cwm .. I first run into a similar issue on -current .. but when I used defaults ~/.pekwm configuration dating back to OpenBSD 5.2 :-) , I got it working .. I can use the menu and lauch applications etc ..

$ cat ~/.pekwm/menu
Code:
# Menu config for pekwm

# Variables
INCLUDE = "vars"

RootMenu = "Pekwm" {
	Entry = "Terminal" { Actions = "Exec $TERM &" }
	Entry = "Run.." { Actions = "ShowCmdDialog" }

	Separator {}

	Submenu = "Editors" {
		Entry = "vi" { Actions = "Exec $TERM -title vi -e vi &" }
		Entry = "vim" { Actions = "Exec $TERM -title vim -e vim &" }
		Entry = "gvim" { Actions = "Exec gvim &" }
		Entry = "Emacs" { Actions = "Exec emacs &" }
		Entry = "Emacs Terminal" { Actions = "Exec $TERM -title emacs -e emacs -nw &" }
		Entry = "Kate" { Actions = "Exec kate &" }
	}
	Submenu = "Graphics" {
		Entry = "display" { Actions = "Exec display &" }
		Entry = "Gimp" { Actions = "Exec gimp &" }
		Entry = "Gv" { Actions = "Exec gv &" }
		Entry = "Xpdf" { Actions = "Exec xpdf &" }
		Entry = "gqview" { Actions = "Exec gqview &" }
	}
	Submenu = "Multimedia" {
		Entry = "Amarok" { Actions = "Exec amarok &" }
		Entry = "Quod Libet" { Actions = "Exec quodlibet &" }
		Entry = "Xmms" { Actions = "Exec xmms &" }
		Entry = "MPlayer" { Actions = "Exec gmplayer &" }
		Entry = "Xine" { Actions = "Exec xine &" }
		Entry = "xawtv" { Actions = "Exec xawtv &" }
		Entry = "Ogle" { actions = "exec ogle &" }
		Entry = "alsamixer" { Actions = "Exec $TERM -title alsamixer -e alsamixer &" }
	}
	Submenu = "Utils" {
		Entry = "XCalc" { Actions = "Exec xcalc &" }
		Entry = "XMan" { Actions = "Exec xman &" }
		Entry = "Xpdf" { Actions = "Exec xpdf &" }
		Entry = "GGv" { Actions = "Exec ggv &" }
		Entry = "Evince" { Actions = "Exec evince &" }
		Entry = "gucharmap" { Actions = "Exec gucharmap &" }
		Entry = "Gkrellm" { Actions = "Exec gkrellm &" }
		Entry = "Gkrellm2" { Actions = "Exec gkrellm2 &" }
		Entry = "ROX Filer" { Actions = "Exec rox &" }
	}
	Submenu = "WWW" {
		Entry = "Dillo" { Actions = "Exec dillo &" }
		Entry = "Konqueror" { Actions = "Exec konqueror &" }
		Entry = "Mozilla" { Actions = "Exec mozilla &" }
		Entry = "Firefox" { Actions = "Exec firefox &" }
		Entry = "Mozilla Firefox" { Actions = "Exec mozilla-firefox &" }
	}
	Submenu = "FTP" {
		Entry = "gftp" { Actions = "Exec gftp &" }
		Entry = "lftp" { Actions = "Exec $TERM -title lftp -e lftp &" }
	}
	Submenu = "Communication" {
		Entry = "Mutt" { Actions = "Exec $TERM -title mutt -e mutt &" }
		Entry = "Pine" { Actions = "Exec $TERM -title pine -e pine &" }
		Entry = "Thunderbird" { Actions = "Exec thunderbird &" }
		Entry = "Mozilla Thunderbird" { Actions = "Exec mozilla-thunderbird &" }
		Entry = "Evolution" { Actions = "Exec evolution &" }
		Entry = "KMail" { Actions = "Exec kmail &" }
		Entry = "Gaim" { Actions = "Exec gaim &" }
		Entry = "Irssi" { Actions = "Exec $TERM -title irssi -e irssi &" }
		Entry = "Kopete" { Actions = "Exec kopete &" }
	}
	Submenu = "Office" {
		Entry = "KOffice Workspace" { Actions = "Exec koshell &" }
		Entry = "OpenOffice" { Actions = "Exec ooffice &" }
		Entry = "StarOffice" { Actions = "Exec soffice &" }
	}
	Submenu = "Development" {
		Entry = "Anjuta" { Actions = "Exec anjuta &" }
		Entry = "Eclipse" { Actions = "Exec eclipse &" }
		Entry = "KDevelop" { Actions = "Exec kdevelop &" }
	}

	Separator {}

	Submenu = "Go to" {
		SubMenu = "Workspace" {
			# Create goto menu once per pekwm config reload. The fast way that
			# will work for most if not all users.
			COMMAND = "/usr/local/share/pekwm/scripts/pekwm_ws_menu.sh goto"
			# Create goto menu every time the menu is opened. The slow way.
			# This is what you want if you are using external tools to make
			# the amount of workspaces something else than what you define in
			# ~/.pekwm/config. You will know if you want this.
			# Entry = "" { Actions = "Dynamic /usr/local/share/pekwm/scripts/pekwm_ws_menu.sh goto dynamic" }
		}
		Entry = "Window.." { Actions = "ShowMenu GotoClient True" }
	}
	Submenu = "Pekwm" {
		Submenu = "Themes" {
			Entry { Actions = "Dynamic /usr/local/share/pekwm/scripts/pekwm_themeset.sh /usr/local/share/pekwm/themes" }
			Entry { Actions = "Dynamic /usr/local/share/pekwm/scripts/pekwm_themeset.sh ~/.pekwm/themes" }
		}
		Entry = "Reload" { Actions = "Reload" }
		Entry = "Restart" { Actions = "Restart" }
		Entry = "Exit" { Actions = "Exit" }
		Submenu = "Exit to" {
			Entry = "Xterm" { Actions = "RestartOther xterm" }
			Entry = "TWM" { Actions = "RestartOther twm" }
		}
	}
}

WindowMenu = "Window Menu" {
	Entry = "(Un)Stick" { Actions = "Toggle Sticky" }
	Entry = "(Un)Shade" { Actions = "Toggle Shaded" }
	Entry = "Iconify" { Actions = "Set Iconified" }
	Entry = "Command.." { Actions = "ShowCmdDialog" }

	Submenu = "Maximize" {
		Entry = "Toggle Full" { Actions = "Toggle Maximized True True" }
		Entry = "Toggle Horizontal" { Actions = "Toggle Maximized True False" }
		Entry = "Toggle Vertical" { Actions = "Toggle Maximized False True" }
	}
	Submenu = "Fill" {
		Entry = "Full" { Actions = "MaxFill True True" }
		Entry = "Horizontal" { Actions = "MaxFill True False" }
		Entry = "Vertical" { Actions = "MaxFill False True" }
	}
	Submenu = "Stacking" {
		Entry = "Raise" { Actions = "Raise" }
		Entry = "Lower" { Actions = "Lower" }
		Entry = "Toggle Always On Top" { Actions = "Toggle AlwaysOnTop" }
		Entry = "Toggle Always Below" { Actions = "Toggle AlwaysBelow" }
	}
	Submenu = "Decorations" {
		Entry = "Toggle Decorations" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
		Entry = "Toggle Borders" { Actions = "Toggle DecorBorder" }
		Entry = "Toggle Titlebar" { Actions = "Toggle DecorTitlebar" }
	}
	Submenu = "Skip" {
		Entry = "Toggle showing this frame in menus" { Actions = "Toggle Skip Menus" }
		Entry = "Toggle including this frame in focus toggle" { Actions = "Toggle Skip FocusToggle" }
		Entry = "Toggle if this frame snaps to other windows" { Actions = "Toggle Skip Snap" }
	}
	SubMenu = "Send To" {
		# Create sendto menu once per pekwm config reload. The fast way that
		# will work for most if not all users.
		COMMAND = "/usr/local/share/pekwm/scripts/pekwm_ws_menu.sh send"
		# Create sendto menu every time the menu is opened. The slow way.
		# This is what you want if you are using external tools to make
		# the amount of workspaces something else than what you define in
		# ~/.pekwm/config. You will know if you want this.
		# Entry = "" { Actions = "Dynamic /usr/local/share/pekwm/scripts/pekwm_ws_menu.sh send dynamic" }
	}
	Separator {}
	Entry = "Close" { Actions = "Close" }
	Submenu = "Kill" { Entry = "Kill application" { Actions = "Kill" } }
}
$ cat ~/.pekwm/mouse
Code:
FrameTitle {
	ButtonRelease = "1" { Actions = "Raise; Focus; ActivateClient" }
	ButtonRelease = "Mod1 1" { Actions = "Focus; Raise" }
	ButtonRelease = "Mod4 1" { Actions = "Focus; Raise" }
	ButtonRelease = "2" { Actions = "ActivateClient" }
	ButtonRelease = "Mod4 3" { Actions = "Close" }
	ButtonRelease = "3" { Actions = "ShowMenu Window" }
	ButtonRelease = "4" { Actions = "ActivateClientRel 1" }
	ButtonRelease = "5" { Actions = "ActivateClientRel -1" }
	ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
	ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
	ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
	ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
	ButtonRelease = "Ctrl 4" { Actions = "MoveClientRel 1" }
	ButtonRelease = "Ctrl 5" { Actions = "MoveClientRel -1" }
	ButtonRelease = "Ctrl Mod1 1" { Actions = "Focus; Raise True" }
	DoubleClick = "2" { Actions = "Toggle Shaded" }
	DoubleClick = "Mod1 2" { Actions = "Toggle Shaded" }
	DoubleClick = "1" { Actions = "MaxFill True True" }
	DoubleClick = "Mod1 1" { Actions = "Toggle Maximized True True" }
	Motion = "1" { Threshold = "4"; Actions = "Raise; Move" }
	Motion = "Mod1 1" { Threshold = "4"; Actions = "Raise; Move" }
	Motion = "Mod4 1" { Threshold = "4"; Actions = "Raise; Move" }
	Motion = "2" { Threshold = "4"; Actions = "GroupingDrag True" }
	Motion = "Mod1 3" { Actions = "Resize" }
	# Remove the following line if you want to use click to focus.
	Enter = "Any Any" { Actions = "Focus" }
}

OtherTitle {
	ButtonRelease = "1" { Actions = "Raise; Focus" }
	ButtonRelease = "2" { Actions = "Focus" }
	ButtonRelease = "3" { Actions = "Close" }
	ButtonRelease = "Mod4 3" { Actions = "ShowMenu Window" }
	ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
	ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
	ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
	ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
	Motion = "1" { Threshold = "4"; Actions = "Raise; Move" }
	Motion = "Mod1 1" { Threshold = "4"; Actions = "Raise; Move" }
	Motion = "Mod4 1" { Threshold = "4"; Actions = "Raise; Move" }
	# Remove the following line if you want to use click to focus.
	Enter = "Any Any" { Actions = "Focus" }
}

Border {
	TopLeft {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize TopLeft" } }
	Top {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize Top" } }
	TopRight {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize TopRight" } }
	Left {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize Left" } }
	Right {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize Right" } }
	BottomLeft {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize BottomLeft" } }
	Bottom {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize Bottom" } }
	BottomRight {
		# Remove the following line if you want to use click to focus.
		Enter = "Any Any" { Actions = "Focus" }
		ButtonPress = "1" { Actions = "Focus; Resize BottomRight" } }
}

ScreenEdge {
	Down {
		Enter = "Mod1 Any" { Actions = "GoToWorkspace Down" }
		ButtonRelease = "3" { Actions = "ShowMenu Root" }
		ButtonRelease = "2" { Actions = "ShowMenu Goto" }
		ButtonRelease = "1" { Actions = "GoToWorkspace Down" }
		ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
		ButtonRelease = "4" { Actions = "GoToWorkspace Up" }
		ButtonRelease = "5" { Actions = "GoToWorkspace Down" }
		ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace PrevV" }
		ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace NextV" }
		EnterMoving = "Any Any" { Actions = "WarpToWorkspace Down" }
	}
	Up {
		Enter = "Mod1 Any" { Actions = "GoToWorkspace Up" }
		ButtonRelease = "3" { Actions = "ShowMenu Root" }
		ButtonRelease = "2" { Actions = "ShowMenu Goto" }
		ButtonRelease = "1" { Actions = "GoToWorkspace Up" }
		ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
		ButtonRelease = "4" { Actions = "GoToWorkspace Up" }
		ButtonRelease = "5" { Actions = "GoToWorkspace Down" }
		ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace PrevV" }
		ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace NextV" }
		EnterMoving = "Any Any" { Actions = "WarpToWorkspace Up" }
	}
	Left {
		Enter = "Mod1 Any" { Actions = "GoToWorkspace Left" }
		ButtonRelease = "3" { Actions = "ShowMenu Root" }
		ButtonRelease = "1" { Actions = "GoToWorkspace Left" }
		DoubleClick = "1" { Actions = "GoToWorkspace Left" }
		ButtonRelease = "2" { Actions = "ShowMenu Goto" }
		ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
		ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
		ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
		ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
		ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
		EnterMoving = "Any Any" { Actions = "WarpToWorkspace Left" }
	}
	Right {
		Enter = "Mod1 Any" { Actions = "GoToWorkspace Right" }
		ButtonRelease = "3" { Actions = "ShowMenu Root" }
		ButtonRelease = "1" { Actions = "GoToWorkspace Right" }
		DoubleClick = "1" { Actions = "GoToWorkspace Right" }
		ButtonRelease = "2" { Actions = "ShowMenu Goto" }
		ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
		ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
		ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
		ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
		ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
		EnterMoving = "Any Any" { Actions = "WarpToWorkspace Right" }
	}
}

Client {
	# Remove the following line and uncomment the alternative if windows should raise when clicked.
	ButtonPress = "1" { Actions = "Focus" }
	# Uncomment the following line if windows should raise when clicked.
	# ButtonPress = "1" { Actions = "Focus; Raise" }

	ButtonRelease = "Mod1 1" { Actions = "Focus; Raise" }
	ButtonRelease = "Mod4 1" { Actions = "Lower" }
	ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
	ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
	ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
	ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
	ButtonRelease = "Ctrl Mod1 1" { Actions = "Focus; Raise True" }
	Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
	Motion = "Mod4 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
	Motion = "Mod1 2" { Threshold = "4"; Actions = "GroupingDrag True" }
	Motion = "Mod1 3" { Actions = "Resize" }
	# Remove the following line if you want to use click to focus.
	Enter = "Any Any" { Actions = "Focus" }
}

Root {
	ButtonRelease = "3" { Actions = "ShowMenu Root" }
	ButtonRelease = "2" { Actions = "ShowMenu Goto" }
	ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
	# Horizontal movement
	ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
	ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
	ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
	ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
	# Vertical movement
	ButtonRelease = "Shift 4" { Actions = "GoToWorkspace Up" }
	ButtonRelease = "Shift 5" { Actions = "GoToWorkspace Down" }
	ButtonRelease = "Mod1 Shift 4" { Actions = "GoToWorkspace NextV" }
	ButtonRelease = "Mod1 Shift 5" { Actions = "GoToWorkspace PrevV" }
	ButtonRelease = "1" { Actions = "HideAllMenus" }
}

Menu {
	Enter = "Any Any" { Actions = "Focus" }
	Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
}

Other {
	Enter = "Any Any" { Actions = "Focus" }
	ButtonRelease = "3" { Actions = "Close" }
	Motion = "1" { Actions = "Focus; Raise; Move" }
	Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
}
$ cat ~/.pekwm/config
Code:
Files {
    Keys = "~/.pekwm/keys"
    Mouse = "~/.pekwm/mouse"
    Menu = "~/.pekwm/menu"
    Start = "~/.pekwm/start"
    AutoProps = "~/.pekwm/autoproperties"
    Theme = "/usr/local/share/pekwm/themes/default"
    Icons = "~/.pekwm/icons/"
}

MoveResize {
    EdgeAttract = "10"
    EdgeResist = "10"
    WindowAttract = "5"
    WindowResist = "5"
    OpaqueMove = "True"
    OpaqueResize = "False"
}

Screen {
    Workspaces = "9"
    WorkspacesPerRow = "3"
    WorkspaceNames = "Main;Web;E-mail;Music;Work 05;Work 06;Work 07;Work 08;Work 09"
    ShowFrameList = "True"
    ShowStatusWindow = "True"
    ShowStatusWindowCenteredOnRoot = "False"
    ShowClientID = "False"
    ShowWorkspaceIndicator = "500"
    PlaceNew = "True"
    FocusNew = "True"

    TrimTitle = "..."
    FullscreenAbove = "True"
    FullscreenDetect = "True"
    HonourRandr = "True"
    HonourAspectRatio = "True"
    EdgeSize = "1 1 1 1"
    EdgeIndent = "False"
    PixmapCacheSize = "20"
    DoubleClickTime = "250"

    Placement {
        Model = "CenteredOnParent Smart MouseNotUnder"
        Smart {
            Row = "True"
            TopToBottom = "True"
            LeftToRight = "True"
            OffsetX = "0"
            OffsetY = "0"
        }
    }

    UniqueNames  {
        SetUnique = "False"
        Pre = " #"
        Post = ""
    }
}

Menu {
    DisplayIcons = "True"

    Icons = "DEFAULT" {
        Minimum = "16x16"
        Maximum = "16x16"
    }

    # To enable make separate window have other icon size restrictions,
    # for example wallpaper menu found in pekwm_menu_tools, set the following
    # for each menu you want to "free".

    # Icons = "Wallpaper" {
    #     Minimum = "64x64"
    #     Maximum = "64x64"
    # }

    # Defines how menus act on mouse input.
    # Possible values are: "ButtonPress ButtonRelease DoubleClick Motion"
    # To make submenus open on mouse over, comment the default Enter,
    # uncomment the alternative, and reload pekwm.
    
    Select = "Motion MotionPressed"
    Enter = "MotionPressed ButtonPress"
    # Enter = "Motion"
    Exec = "ButtonRelease"
}

CmdDialog {
    HistoryUnique = "True"
    HistorySize = "1024"
    HistoryFile = "~/.pekwm/history"
    HistorySaveInterval = "16"
}

Harbour {
    OnTop = "True"
    MaximizeOver = "False"
    Placement = "Right"
    Orientation = "TopToBottom"
    Head = "0"

    DockApp {
        SideMin = "64"
        SideMax = "0"
    }
}
..
Reply With Quote
Old 29th November 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default

$ cat ~/.pekwm/autoproperties
Code:
/*
 Autoproperties. The default template and simple course of autopropping
 to help you add your own autoproperties. See the documentation for
 more keywords and the rest of what is possible through this file.

 First, it's good to note that you can't just make up the property
 string, you need to use a program called 'xprop' to show it. Please
 conduct the documentation.

 Another good tip is to make sure you have an ApplyOn entry. The
 autoproperties you define won't do any good if you don't tell pekwm
 when to apply them!

 Third tip. You can't match a window with more than one property. The
 first one that matches will be used, the rest ignored (see the gimp
 example).

 Note that the default entries are commented out, don't comment out your
 own autoproperties. :)
*/

Require {
	Templates = "True"
}

/*
 Group terminal applications
 */
# Property = "(term|rxvt),(erm|xvt)" {
# 	ApplyOn = "New"
# 	Group = "term" {
# 		Size = "5"
# 		FocusedFirst = "True"
# 		Raise = "True"
# 	}
# }

/*
 Remove decor of customize toolbar window of mozilla firefox.
 */
Property = "^(gecko|Gecko|firefox-bin),^Firefox-bin,,^Customize Toolbar\$" {
	ApplyOn = "Start New TransientOnly"
	Border = "False"
	Titlebar = "False"
}

/*
 Auto-group up to 10 mozilla download windows to group you call "moz-dl",
 using a WM_CLASS and specifying the the download window using the
 begining of its title. Make the windows go to the top-left corner of
 your workspace and place them under other windows. Do this when new
 windows show up, also to so called transient windows.
*/
# Property = "^mozilla-bin,^Mozilla-bin,,^Saving" {
# 	ApplyOn = "New Transient"
# 	Group = "moz-dl" { Size = "10" }
# 	FrameGeometry = "+0+0"
# 	Layer = "Below"
# }


/*
 Group together up to two windows that have a WM_CLASS that matches the
 property. Start these windows on workspace two.
*/
# Property = "^Mozilla,^navigator:browser" {
# 	ApplyOn = "Start New Workspace"
# 	Workspace = "2"
# }


/*
 Group together an infinite number of windows that match the property.
 When new windows are opened to this group, never make them the active
 window of the group, but open them in the background. Make these
 autoproperties apply on every pekwm start or when a new window is opened.
*/
# Property = "^dillo,^Dillo" {
# 	ApplyOn = "Start New"
# 	Group = "dillo" { Size = "0"; Behind = "True" }
# }


/*
 Put property matching windows under other windows and make the window
 appear on every workspace. Do not show matching windows on the pekwm
 goto menus, do not include them in frame switching (mod1+tab) and do
 not let other windows snap to them. Do this on pekwm start or when new
 window is opened, also include transient windows (in the example,
 xmms playlist and equalizer are transients).
*/
# Property = ".*,^xmms" {
# 	ApplyOn = "Start New Transient"
# 	Layer = "Desktop"
# 	Sticky = "True"
# 	Skip = "Menus FocusToggle Snap"
# }


/*
 Remove Gimp windows from the menus, only show the main toolbox window.
 Use the WM_WINDOW_ROLE to tell the difference between gimp windows.
 
 First make sure the toolbox window doesn't get confused with the rest
 of the windows. This just tells pekwm to ignore any matches for the
 toolbox later on. Without this, the toolbox would match with "the rest
 of the windows" and get ignored from the pekwm menus! We don't want that.
*/
# Property = "^gimp,^Gimp,gimp-toolbox" {
#  ApplyOn = "Start New"
# }
/*
 The Crop dialog always gets in the way, put it in the corner but place
 it above other windows anyways. Don't show the window in pekwm menus.
*/
# Property = "^gimp,^Gimp,gimp-crop-tool" {
# 	ApplyOn = "Start New"
# 	Layer = "OnTop"
# 	FrameGeometry = "+0+0"
# 	Skip = "Menus"
# }
/*
 The rest of the gimp windows should not show in pekwm menus eather.
*/
# Property = ".gimp,^Gimp" {
# 	ApplyOn = "Start New"
# 	Skip = "Menus";
# }


/*
 This should start making sense to you by now.
*/
# Property = "^gkrellm,^Gkrellm" {
# 	ApplyOn = "Start New"
# 	Sticky = "True"
# 	Skip = "Menus FocusToggle"
# 	Layer = "Desktop"
# }


/*
 Some useful standard application xclock xload and xbiff. This should
 be fairly clear to you. In addition to what you've allready learned,
 we make the windows appear without titlebars and borders. We are also
 using the geometry in all its glory, defining the windows size in
 addition to its position.
*/
# Property = "^xclock,^XClock" {
# 	ApplyOn = "Start New"
# 	ClientGeometry = "120x137+0-137"
# 	Border = "False"; Titlebar = "False"
# 	Sticky = "True"
# 	Layer = "Desktop"
# 	Skip = "Menus FocusToggle Snap"
# }
# 
# Property = "^xload,^XLoad" {
# 	ApplyOn = "Start New"
# 	ClientGeometry = "560x137+120-137"
# 	Border = "False"; Titlebar = "False"
# 	Sticky = "True"
# 	Layer = "Desktop"
# 	Skip = "Menus FocusToggle Snap"
# }
# 
# Property = "^xbiff,^XBiff" {
# 	ApplyOn = "Start New"
# 	ClientGeometry = "120x137-120-137"
# 	Border = "False"; Titlebar = "False"
# 	Sticky = "True"
# 	Layer = "Desktop"
# 	Skip = "Menus FocusToggle Snap"
# }


// End of autoproperties. -------------------------

TypeRules {
	/*
	 Desktop windows such as nautilus window in gnome. These should
	 cover the root window and be below all other windows. Also they
	 should not be included in the menu and in snapping.
	 */
 	Property = "DESKTOP" {
		FrameGeometry = "0x0+0+0"
		Titlebar = "False"
		Border = "False"
		Sticky = "True"
		Skip = "FocusToggle Menus Snap"
		Layer = "Desktop"
		Focusable = "False"
	}
	Property = "DOCK" {
		Titlebar = "False"
		Border = "False"
		Sticky = "True"
		Layer = "Dock"
		Skip = "FocusToggle Menus"
		Focusable = "False"
	}
	Property = "TOOLBAR"  {
		Skip = "FocusToggle Menus Snap"
	}
	Property = "MENU"  {
		Titlebar = "False"
		Border = "False"
		Skip = "FocusToggle Menus Snap"
	}
	Property = "UTILITY"  {
	}
	Property = "SPLASH"  {
		Titlebar = "False"
		Border = "False"
		Layer = "OnTop"
	}
	Property = "DIALOG"  {
		Layer = "OnTop"
	}
	Property = "NORMAL"  {
	}
}

/*
 Next, we do some siple window title rewriting.
 To make it simple, you can automatically make some windows get their
 title edited. Cut out an annoying piece, add text, replace text.
 This all happens in it's own section "TitleRules {}".

 I don't like the way dillo uses its titlebar, it says "Dillo: webpage".
 I want that "Dillo:" part to not show in the beginning, instead I want
 to make it show as "webpage - dillo".

 Then again, the "webpage - Mozilla Firefox" is too long for my taste.
 I shorten it in the second titlerule. And I'll place the shortened text
 in the beginning of the title just as a show how.
*/
# TitleRules {
# 	Property = "^dillo,^Dillo" {
# 		Rule = "/Dillo: (.*)/\\1 - dillo/"
# 	}
# 	Property = "^firefox-bin,^Firefox-bin" {
# 		Rule = "/(.*) - Mozilla Firefox/MF: \\1/"
# 	}
# }


// End of titlerules. -----------------------------


/*
 Then for some harbour ordering done in it's own "Harbour {}" section.
 This is simple really, but you might want to check the documentation on
 how the positions work.

 Obpager is allways the last dockapp, the cpuload application is the
 first, and wmnd will get placed in the centre.
*/
# Harbour {
# 	Property = "^obpager,^obpager" {
# 		Position = "-1"
# 	}
# 	Property = ".*,.*cpuload" {
# 		Position = "1"
# 	}
# 	Property = ".*,^wmnd" {
# 		Position = "0"
# 	}
# }


// End of harbour order rules. --------------------


/*
 Last, if you have a theme that supports it, or you have hacked one up
 yourself, you can use the "DecorRules {}" section to make windows show
 up with independent decorations.

 Here we tell our terminal windows to use the special TERM decoration
 section found from your theme. Note that this _needs_ a theme that
 supports it.
*/
# DecorRules {
# 	Property = "^term,^xterm" {
# 		Decor = "TERM"
# 	}
# }

$ cat ~/.pekwm/keys
Code:
[INCLUDE = "vars"

Global {
# - - ----------------------------------------------- - -
# Simple bindings to most frequently used actions.
#
# Adding your own frequently used actions is easy -
# just copy it over from CHAINS and edit the keypress!
	# Moving in frames
	KeyPress = "Mod1 Tab" { Actions = "NextFrame EndRaise" }
	KeyPress = "Mod1 Shift Tab" { Actions = "PrevFrame EndRaise" }
	KeyPress = "Mod1 Ctrl Tab" { Actions = "NextFrameMRU EndRaise" }
	KeyPress = "Mod1 Ctrl Shift Tab" { Actions = "PrevFrameMRU EndRaise" }
	KeyPress = "Mod4 Tab" { Actions = "ActivateClientRel 1" }
	KeyPress = "Mod4 Shift Tab" { Actions = "ActivateClientRel -1" }
	KeyPress = "Mod4 Ctrl Right" { Actions = "MoveClientRel 1" }
	KeyPress = "Mod4 Ctrl Left" { Actions = "MoveClientRel -1" }
	KeyPress = "Mod4 Left" { Actions = "FocusDirectional Left" }
	KeyPress = "Mod4 Right" { Actions = "FocusDirectional Right" }
	KeyPress = "Mod4 Up" { Actions = "FocusDirectional Up" }
	KeyPress = "Mod4 Down" { Actions = "FocusDirectional Down" }
	# Moving in workspaces
	KeyPress = "Ctrl Mod1 Left" { Actions = "GotoWorkspace Left" }
	KeyPress = "Ctrl Mod1 Right" { Actions = "GotoWorkspace Right" }
	KeyPress = "Ctrl Mod1 Up" { Actions = "GotoWorkspace Up" }
	KeyPress = "Ctrl Mod1 Down" { Actions = "GotoWorkspace Down" }
	KeyPress = "Mod4 1" { Actions = "GotoWorkspace 1" }
	KeyPress = "Mod4 2" { Actions = "GotoWorkspace 2" }
	KeyPress = "Mod4 3" { Actions = "GotoWorkspace 3" }
	KeyPress = "Mod4 4" { Actions = "GotoWorkspace 4" }
	KeyPress = "Mod4 5" { Actions = "GotoWorkspace 5" }
	KeyPress = "Mod4 6" { Actions = "GotoWorkspace 6" }
	KeyPress = "Mod4 7" { Actions = "GotoWorkspace 7" }
	KeyPress = "Mod4 8" { Actions = "GotoWorkspace 8" }
	KeyPress = "Mod4 9" { Actions = "GotoWorkspace 9" }
	KeyPress = "Ctrl Mod1 Shift Left" { Actions = "SendToWorkspace Next; GoToWorkspace Next" }
	KeyPress = "Ctrl Mod1 Shift Right" { Actions = "SendToWorkspace Prev; GoToWorkspace Prev" }
	KeyPress = "Ctrl Mod1 Shift Up" { Actions = "SendToWorkspace NextV; GoToWorkspace NextV" }
	KeyPress = "Ctrl Mod1 Shift Down" { Actions = "SendToWorkspace PrevV; GoToWorkspace PrevV" }
	KeyPress = "Mod4 F1" { Actions = "SendToWorkspace 1" }
	KeyPress = "Mod4 F2" { Actions = "SendToWorkspace 2" }
	KeyPress = "Mod4 F3" { Actions = "SendToWorkspace 3" }
	KeyPress = "Mod4 F4" { Actions = "SendToWorkspace 4" }
	KeyPress = "Mod4 F5" { Actions = "SendToWorkspace 5" }
	KeyPress = "Mod4 F6" { Actions = "SendToWorkspace 6" }
	KeyPress = "Mod4 F7" { Actions = "SendToWorkspace 7" }
	KeyPress = "Mod4 F8" { Actions = "SendToWorkspace 8" }
	KeyPress = "Mod4 F9" { Actions = "SendToWorkspace 9" }
	# Simple window management
	KeyPress = "Mod4 M" { Actions = "Toggle Maximized True True" }
	KeyPress = "Mod4 G" { Actions = "Maxfill True True" }
	KeyPress = "Mod4 F" { Actions = "Toggle FullScreen" }
	KeyPress = "Mod4 Return" { Actions = "MoveResize" }
	KeyPress = "Mod4 Q" { Actions = "Close" }
	KeyPress = "Mod4 S" { Actions = "Toggle Shaded" }
	KeyPress = "Mod4 I" { Actions = "Toggle Iconified" }
	# Marking
	KeyPress = "Mod4 Z" { Actions = "Toggle Marked" }
	KeyPress = "Mod4 A" { Actions = "AttachMarked" }
	# Tagging
	KeyPress = "Mod4 T" { Actions = "Toggle Tagged False" }
	# Menus
	KeyPress = "Mod4 R" { Actions = "ShowMenu Root" }
	KeyPress = "Mod4 W" { Actions = "ShowMenu Window" }
	KeyPress = "Mod4 L" { Actions = "ShowMenu Goto" }
	KeyPress = "Mod4 C" { Actions = "ShowMenu GotoClient" }
	KeyPress = "Mod4 Shift I" { Actions = "ShowMenu Icon" }
	KeyPress = "Mod4 X" { Actions = "HideAllMenus" }
	# External Commands
	KeyPress = "Mod4 E" { Actions = "Exec $TERM" }
	# Pekwm control
	KeyPress = "Ctrl Mod1 Delete" { Actions = "Reload" }
	KeyPress = "Mod4 D" { Actions = "ShowCmdDialog" }
	KeyPress = "Mod4 V" { Actions = "ShowSearchDialog" }
	KeyPress = "Mod4 H" { Actions = "Toggle HarbourHidden" }

# - - ----------------------------------------------- - -
# CHAINS. These give you access to just about everything.
	# Move to Corner
	Chain = "Ctrl Mod1 C" {
		KeyPress = "Q" { Actions = "MoveToEdge TopLeft" }
		KeyPress = "Y" { Actions = "MoveToEdge TopCenterEdge" }
		KeyPress = "W" { Actions = "MoveToEdge TopCenterEdge" }
		KeyPress = "Shift Y" { Actions = "MoveToEdge TopEdge" }
		KeyPress = "Shift W" { Actions = "MoveToEdge TopEdge" }
		KeyPress = "P" { Actions = "MoveToEdge TopRight" }
		KeyPress = "E" { Actions = "MoveToEdge TopRight" }
		KeyPress = "A" { Actions = "MoveToEdge LeftCenterEdge" }
		KeyPress = "Shift A" { Actions = "MoveToEdge LeftEdge" }
		KeyPress = "L" { Actions = "MoveToEdge RightCenterEdge" }
		KeyPress = "D" { Actions = "MoveToEdge RightCenterEdge" }
		KeyPress = "Shift L" { Actions = "MoveToEdge RightEdge" }
		KeyPress = "Shift D" { Actions = "MoveToEdge RightEdge" }
		KeyPress = "Z" { Actions = "MoveToEdge BottomLeft" }
		KeyPress = "B" { Actions = "MoveToEdge BottomCenterEdge" }
		KeyPress = "X" { Actions = "MoveToEdge BottomCenterEdge" }
		KeyPress = "Shift B" { Actions = "MoveToEdge BottomEdge" }
		KeyPress = "Shift X" { Actions = "MoveToEdge BottomEdge" }
		KeyPress = "M" { Actions = "MoveToEdge BottomRight" }
		KeyPress = "C" { Actions = "MoveToEdge BottomRight" }
		KeyPress = "H" { Actions = "MoveToEdge Center" }
		KeyPress = "S" { Actions = "MoveToEdge Center" }
	}
	# Menus
	Chain = "Ctrl Mod1 M" {
		KeyPress = "R" { Actions = "ShowMenu Root" }
		KeyPress = "W" { Actions = "ShowMenu Window" }
		KeyPress = "I" { Actions = "ShowMenu Icon" }
		KeyPress = "G" { Actions = "ShowMenu Goto" }
		KeyPress = "C" { Actions = "ShowMenu GotoClient" }
		KeyPress = "D" { Actions = "ShowMenu Decor" }
		KeyPress = "A" { Actions = "ShowMenu AttachClientInFrame" }
		KeyPress = "F" { Actions = "ShowMenu AttachFrameInFrame" }
		Keypress = "Shift A" { Actions = "ShowMenu AttachClient" }
		Keypress = "Shift F" { Actions = "ShowMenu AttachFrame" }
		KeyPress = "X" { Actions = "HideAllMenus" }
	}
	# Grouping
	Chain = "Ctrl Mod1 T" {
		KeyPress = "T" { Actions = "Toggle Tagged False" }
		KeyPress = "B" { Actions = "Toggle Tagged True" }
		KeyPress = "C" { Actions = "Unset Tagged" }
		KeyPress = "G" { Actions = "Toggle GlobalGrouping" }
		KeyPress = "M" { Actions = "Toggle Marked" }
		KeyPress = "A" { Actions = "AttachMarked" }
		KeyPress = "D" { Actions = "Detach" }
		Keypress = "P" { Actions = "AttachClientInNextFrame" }
		KeyPress = "O" { Actions = "AttachClientInPrevFrame" }
		Keypress = "I" { Actions = "AttachFrameInNextFrame" }
		KeyPress = "U" { Actions = "AttachFrameInPrevFrame" }
	}
	# Decor Toggles
	Chain = "Ctrl Mod1 D" {
		KeyPress = "B" { Actions = "Toggle DecorBorder" }
		KeyPress = "T" { Actions = "Toggle DecorTitlebar" }
		KeyPress = "D" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
	}
	# Window Actions
	Chain = "Ctrl Mod1 A" {
		Chain = "G" {
			KeyPress = "G" { Actions = "MaxFill True True" }
			KeyPress = "V" { Actions = "MaxFill False True" }
			KeyPress = "H" { Actions = "MaxFill True False" }
		}
		Chain = "M" {
			KeyPress = "M" { Actions = "Toggle Maximized True True" }
			KeyPress = "V" { Actions = "Toggle Maximized False True" }
			KeyPress = "H" { Actions = "Toggle Maximized True False" }
		}
		Chain = "Q" {
			KeyPress = "Q" { Actions = "Close" }
			KeyPress = "F" { Actions = "CloseFrame" }
			KeyPress = "K" { Actions = "Kill" }
		}
		KeyPress = "S" { Actions = "Toggle Shaded" }
		KeyPress = "A" { Actions = "Toggle Sticky" }
		KeyPress = "O" { Actions = "Toggle AlwaysOnTop" }
		KeyPress = "B" { Actions = "Toggle AlwaysBelow" }
		KeyPress = "I" { Actions = "Set Iconified" }
		KeyPress = "R" { Actions = "Raise" }
		KeyPress = "Shift R" { Actions = "Raise True" }
		KeyPress = "L" { Actions = "Lower" }
		KeyPress = "Shift L" { Actions = "Lower True" }
		KeyPress = "X" { Actions = "ActivateOrRaise" }
		KeyPress = "Return" { Actions = "MoveResize" }
		KeyPress = "F" { Actions = "Toggle Fullscreen" }
		KeyPress = "Left" { Actions = "GrowDirection Left" }
		KeyPress = "Right" { Actions = "GrowDirection Right" }
		KeyPress = "Up" { Actions = "GrowDirection Up" }
		KeyPress = "Down" { Actions = "GrowDirection Down" }
	}
	# Moving in Frames
	Chain = "Ctrl Mod1 F" {
		KeyPress = "P" { Actions = "NextFrame AlwaysRaise" }
		KeyPress = "O" { Actions = "PrevFrame AlwaysRaise" }
		KeyPress = "Shift P" { Actions = "NextFrameMRU EndRaise" }
		KeyPress = "Shift O" { Actions = "PrevFrameMRU EndRaise" }
		KeyPress = "I" { Actions = "ActivateClientRel 1" }
		KeyPress = "U" { Actions = "ActivateClientRel -1" }
		KeyPress = "Shift I" { Actions = "MoveClientRel 1" }
		KeyPress = "Shift U" { Actions = "MoveClientRel -1" }
		KeyPress = "Up" { Actions = "FocusDirectional Up" }
		KeyPress = "Down" { Actions = "FocusDirectional Down" }
		KeyPress = "Left" { Actions = "FocusDirectional Left" }
		Keypress = "Right" { Actions = "FocusDirectional Right" }
		KeyPress = "1" { Actions = "ActivateClientNum 1" }
		KeyPress = "2" { Actions = "ActivateClientNum 2" }
		KeyPress = "3" { Actions = "ActivateClientNum 3" }
		KeyPress = "4" { Actions = "ActivateClientNum 4" }
		KeyPress = "5" { Actions = "ActivateClientNum 5" }
		KeyPress = "6" { Actions = "ActivateClientNum 6" }
		KeyPress = "7" { Actions = "ActivateClientNum 7" }
		KeyPress = "8" { Actions = "ActivateClientNum 8" }
		KeyPress = "9" { Actions = "ActivateClientNum 9" }
		KeyPress = "0" { Actions = "ActivateClientNum 10" }
		KeyPress = "C" { Actions = "ShowCmdDialog GotoClientID " }
	}
	# Workspaces
	Chain = "Ctrl Mod1 W" {
		KeyPress = "Right" { Actions = "GoToWorkspace Right" }
		KeyPress = "Left" { Actions = "GoToWorkspace Left" }
		KeyPress = "N" { Actions = "GoToWorkspace Next" }
		KeyPress = "P" { Actions = "GoToWorkspace Prev" }
		KeyPress = "1" { Actions = "GoToWorkspace 1" }
		KeyPress = "2" { Actions = "GoToWorkspace 2" }
		KeyPress = "3" { Actions = "GoToWorkspace 3" }
		KeyPress = "4" { Actions = "GoToWorkspace 4" }
		KeyPress = "5" { Actions = "GoToWorkspace 5" }
		KeyPress = "6" { Actions = "GoToWorkspace 6" }
		KeyPress = "7" { Actions = "GoToWorkspace 7" }
		KeyPress = "8" { Actions = "GoToWorkspace 8" }
		KeyPress = "9" { Actions = "GoToWorkspace 9" }
		KeyPress = "Up" { Actions = "SendToWorkspace Next; GoToWorkspace Next" }
		KeyPress = "Down" { Actions = "SendToWorkspace Prev; GoToWorkspace Prev" }
		KeyPress = "F1" { Actions = "SendToWorkspace 1" }
		KeyPress = "F2" { Actions = "SendToWorkspace 2" }
		KeyPress = "F3" { Actions = "SendToWorkspace 3" }
		KeyPress = "F4" { Actions = "SendToWorkspace 4" }
		KeyPress = "F5" { Actions = "SendToWorkspace 5" }
		KeyPress = "F6" { Actions = "SendToWorkspace 6" }
		KeyPress = "F7" { Actions = "SendToWorkspace 7" }
		KeyPress = "F8" { Actions = "SendToWorkspace 8" }
		KeyPress = "F9" { Actions = "SendToWorkspace 9" }
	}
	# External commands
	Chain = "Ctrl Mod1 E" {
		KeyPress = "E" { Actions = "Exec $TERM" }
		KeyPress = "L" { Actions = "Exec xlock -mode blank &" }
		KeyPress = "S" { Actions = "Exec scrot &" }
		KeyPress = "C" { Actions = "ShowCmdDialog" }
	}
	# Wm actions
	Chain = "Ctrl Mod1 P" {
		KeyPress = "Delete" { Actions = "Reload" }
		KeyPress = "Next" { Actions = "Restart" }
		KeyPress = "End" { Actions = "Exit" }
		KeyPress = "Prior" { Actions = "RestartOther twm" }
		KeyPress = "D" { Actions = "ShowCmdDialog" }
		KeyPress = "H" { Actions = "Toggle HarbourHidden" }
	}
	# Skipping
	Chain = "Ctrl Mod1 S" {
		Keypress = "M" { Actions = "Toggle Skip Menus" }
		Keypress = "F" { Actions = "Toggle Skip FocusToggle" }
		Keypress = "S" { Actions = "Toggle Skip Snap" }
	}
}

# Keys when MoveResize is active
MoveResize {
	KeyPress = "Left" { Actions = "MoveHorizontal -10" }
	KeyPress = "Right" { Actions = "MoveHorizontal 10" }
	KeyPress = "Up" { Actions = "MoveVertical -10" }
	KeyPress = "Down" { Actions = "MoveVertical 10" }
	Keypress = "Shift Left" { Actions = "MoveHorizontal -1" }
	Keypress = "Shift Right" { Actions = "MoveHorizontal 1" }
	Keypress = "Shift Up" { Actions = "MoveVertical -1" }
	Keypress = "Shift Down" { Actions = "MoveVertical 1" }
	Keypress = "Mod4 Left" { Actions = "ResizeHorizontal -10" }
	Keypress = "Mod4 Right" { Actions = "ResizeHorizontal 10" }
	Keypress = "Mod4 Up" { Actions = "ResizeVertical -10" }
	Keypress = "Mod4 Down" { Actions = "ResizeVertical 10" }
	Keypress = "Mod1 Left" { Actions = "ResizeHorizontal -10" }
	Keypress = "Mod1 Right" { Actions = "ResizeHorizontal 10" }
	Keypress = "Mod1 Up" { Actions = "ResizeVertical -10" }
	Keypress = "Mod1 Down" { Actions = "ResizeVertical 10" }
	Keypress = "Shift Mod4 Left" { Actions = "ResizeHorizontal -1" }
	Keypress = "Shift Mod4 Right" { Actions = "ResizeHorizontal 1" }
	Keypress = "Shift Mod4 Up" { Actions = "ResizeVertical -1" }
	Keypress = "Shift Mod4 Down" { Actions = "ResizeVertical 1" }
	Keypress = "Shift Mod1 Left" { Actions = "ResizeHorizontal -1" }
	Keypress = "Shift Mod1 Right" { Actions = "ResizeHorizontal 1" }
	Keypress = "Shift Mod1 Up" { Actions = "ResizeVertical -1" }
	Keypress = "Shift Mod1 Down" { Actions = "ResizeVertical 1" }
	Keypress = "s" { Actions = "MoveSnap" }
	Keypress = "Escape" { Actions = "Cancel" }
	Keypress = "q" { Actions = "Cancel" }
	Keypress = "Return" { Actions = "End" }
}

# Keys for CmdDialog editing
InputDialog {
	KeyPress = "Left" { Actions = "CursPrev" }
	KeyPress = "Right" { Actions = "CursNext" }
	KeyPress = "Ctrl A" { Actions = "CursBegin" }
	KeyPress = "Ctrl E" { Actions = "CursEnd" }
	KeyPress = "BackSpace" { Actions = "Erase;CompleteAbort" }
	KeyPress = "Ctrl K" { Actions = "ClearFromCursor" }
	KeyPress = "Ctrl C" { Actions = "Clear" }
	KeyPress = "Return" { Actions = "Exec" }
	KeyPress = "Escape" { Actions = "Close" }
	KeyPress = "Up" { Actions = "HistPrev" }
	KeyPress = "Down" { Actions = "HistNext" }
	KeyPress = "Ctrl P" { Actions = "HistPrev" }
	KeyPress = "Ctrl N" { Actions = "HistNext" }
        KeyPress = "Ctrl B" { Actions = "CursPrev" }
        KeyPress = "Ctrl F" { Actions = "CursNext" }
        KeyPress = "Tab" { Actions = "Complete" }
	KeyPress = "Any Any" { Actions = "Insert" }
}

# Keys working in menus
Menu {
	KeyPress = "Down" { Actions = "NextItem" }
	KeyPress = "Up" { Actions = "PrevItem" }
	KeyPress = "Ctrl N" { Actions = "NextItem" }
	KeyPress = "Ctrl P" { Actions = "PrevItem" }
	KeyPress = "Left" { Actions = "LeaveSubmenu" }
	KeyPress = "Right" { Actions = "EnterSubmenu" }
	KeyPress = "Return" { Actions = "Select" }
	KeyPress = "space" { Actions = "Select" }
	KeyPress = "Escape" { Actions = "Close" }
	KeyPress = "Q" { Actions = "Close" }
}
Reply With Quote
Old 29th November 2013
shep shep is offline
Real Name: Scott
Arp Constable
 
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,503
Default

The fact that you have the default background and the pointer means that something is starting be it fvwm, twm, cwm or pekwm.

One way to check would be to switch terminals and either run $ top or $ ps aux

Last edited by shep; 29th November 2013 at 04:19 PM.
Reply With Quote
Old 29th November 2013
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Many thanks to everyone!
I could solve it by copying daemonfowl's configuration files.
Reply With Quote
Old 3rd December 2013
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is offline
Real Name: Martin
Tcpdump Spy
 
Join Date: Apr 2008
Location: Netherlands
Posts: 2,243
Default

I see this problem is solved, but just to add some extra information:

Quote:
Once I am back I got error messages about failures in opening files in /etc/pekwm/***
That's your problem, you don't have your own config files (which should be fine), but either /etc/pekwm doesn't exist, or it contains invalid or incomplete configuration files. This also explains why copying the files from daemonfowl solved your problem.
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
Reply

Tags
openbsd 5.4, pekwm, window manager

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:58 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick