NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Recommended desktop environment?



Benny Siegert wrote in <CAN+FjHMob6Z7LgHpUW=dPOMY8WAPTUe9ug_bGATvO4eGnKz\
m8w%mail.gmail.com@localhost>:
 |On Mon, Sep 10, 2018 at 5:17 PM Steffen Nurpmeso <steffen%sdaoden.eu@localhost> \
 |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)


Home | Main Index | Thread Index | Old Index