Benny Siegert wrote in <CAN+FjHMob6Z7LgHpUW=dPOMY8WAPTUe9ug_bGATvO4eGnKz\ m...@mail.gmail.com>: |On Mon, Sep 10, 2018 at 5:17 PM Steffen Nurpmeso <stef...@sdaoden.eu> \ |wrote: |> |> Nothing to continue in my eyes; you can always have more and |> iterate over the code of course. No drag'n drop, of course. But |> copy&paste, that is enough for me. It used to use GNU autoconf; |> i have patches and last i compiled it (a few months ago) it |> compiled smoothly (with default CC flags). I can give you the |> patch if you want, just ask. | |Might be worth throwing the code with your patches onto github and |become the new upstream. Then we can also add it to pkgsrc.
Well Alex Hioreanu is himself on github now (hioreanu), and offers ahwm in a slightly adjusted version. He offered me maintainership once i wanted to create an OpenBSD package for ahwm (must have been 2011, then), but i am no way classified for being the "upstream" of a X11 window manager. Nonetheless i have spent some time to get the thing done with -W -Wall -pedantic -O2 with gcc(1) 6.4.0, and applied some more fixes that i seem to have applied manually whenever i compiled it in the last six years, but which did not happen all too often. It is browsable [1] and cloneable[2] at my VM (for) now. It would benefit from some love, as can be seen from looking at the code, but luckily i have never done that for real. So if you want to test it, a snapshot of the master branch[3] should be usable. [1] https://git.sdaoden.eu/cgit/ahwm.git [2] https://git.sdaoden.eu/scm/ahwm.git [3] https://git.sdaoden.eu/cgit/ahwm.git/snapshot/ahwm-master.tar.xz I can even append a shortened version of my ~/.ahwmrc to make it even easier. Ciao. # ~/.ahwmrc # ... # CapsLock, ScrollLock, etc. are ignored when reading keystrokes. BindKey "Control | Alt | Shift | t" Launch("$_TSMALL"); BindKey "Control | Alt | Shift | b" Launch("HOME=$HOME/traffic; opera </dev/null >/dev/null 2>&1"); BindKey "Control | Alt | Escape" KillNicely(); # While moving or resizing, you can use the arrow keys and the keys w, # a, s, d. Use Shift with one of those keys to move to an edge or # resize in larger increments. Hit Enter to accept the move/resize, # hit Escape to cancel it, hit Control to toggle between a move and a # resize, and hit Space during a resize to constrain the direction. BindKey "Control | Alt | Shift | m" MoveInteractively(); BindKey "Control | Alt | Shift | r" ResizeInteractively(); # Sun X server doesn't grok this key combination, throws me off BindKey "Control | Alt | BackSpace" Quit(); BindKey "Control | Alt | Shift | q" Quit(); BindKey "Control | Alt | Shift | r" Restart(); BindKey "Alt | Tab" CycleNext(); BindKey "Alt | Shift | Tab" CyclePrevious(); BindKey "Shift | Alt | F4" SendToWorkspace(4); BindKey "Shift | Alt | F3" SendToWorkspace(3); BindKey "Shift | Alt | F2" SendToWorkspace(2); BindKey "Shift | Alt | F1" SendToWorkspace(1); # Binding to button clicks is similar to binding to keys, but you have # to specify the location for the click. The location is one of # "Titlebar" or "Frame". You can use the same modifiers as # with BindKey and the buttons are Button1 through Button5: # Button1 = left button, Button2 = middle button, Button3 = right # button, Button4 = wheel up, Button5 = wheel down BindButton Titlebar "Button3" Maximize(); BindDrag Frame "Alt | Button1" MoveInteractively(); BindDrag Titlebar "Alt | Button1" MoveInteractively(); BindDrag Frame "Alt | Button3" ResizeInteractively(); BindDrag Titlebar "Alt | Button3" ResizeInteractively(); # Sometimes you may want to bind more than one function # to the same action. To do this, you need to define # your own function and use the "Invoke()" function. # Here's an example: Define "Focus-and-Move" { Focus(); MoveInteractively(); } BindDrag Titlebar "Button1" Invoke("Focus-and-Move"); Define "f1" { GotoWorkspace(1); } BindKey "Alt | F1" Invoke("f1"); Define "f2" { GotoWorkspace(2); } BindKey "Alt | F2" Invoke("f2"); Define "f3" { GotoWorkspace(3); } BindKey "Alt | F3" Invoke("f3"); Define "f4" { GotoWorkspace(4); } BindKey "Alt | F4" Invoke("f4"); DisplayTitlebar = True; FocusPolicy = ClickToFocus; #SloppyFocus; RaiseDelay = 750; PassFocusClick = True; TitlePosition = DisplayLeft; KeepTransientsOnTop = True; TitlebarFont = "-*-helvetica-*-r-*-*-9-*-*-*-*-*-*-*"; NumberOfWorkspaces = 4; ColorTitlebarText = "#D8D8D8"; ColorTitlebarTextFocused = "#E0E0E0"; InWorkspace 1 { ColorTitlebar = "#282828"; ColorTitlebarFocused = "#404040"; } InWorkspace 2 { ColorTitlebar = "#193939"; ColorTitlebarFocused = "#2F4F4F"; } InWorkspace 3 { ColorTitlebar = "#000049"; ColorTitlebarFocused = "#000064"; } InWorkspace 4 { ColorTitlebar = "#490000"; ColorTitlebarFocused = "#640000"; } IsShaped True { DisplayTitlebar = False; } WindowName "clock" { #DisplayTitlebar = False; /* not needed, above applies */ #FocusPolicy = DontFocus; #PassFocusClick = True; Omnipresent = True; #AlwaysOnBottom = True; AlwaysOnTop = True; } WindowName "Ed" { DefaultWorkspace = 1; Sticky = True; } WindowName "Land" { DefaultWorkspace = 1; Sticky = True; } WindowName "Plex" { DefaultWorkspace = 1; Sticky = True; } WindowName "Con1" { DefaultWorkspace = 2; Sticky = True; } WindowName "Con2" { DefaultWorkspace = 2; Sticky = True; } WindowName "Doc" { DefaultWorkspace = 3; Sticky = True; } WindowName "ROOT" { DefaultWorkspace = 4; Sticky = True; } # s-it-mode --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)