Other Recommendations for small, low memory WM?

It has been a while since I last messed with FreeBSD as a desktop system, so I'm a bit out of the loop when it comes to choice of window managers.

I'm currently looking for a window manager to use on my rather dated notebook, so it should be fast, efficient and come with a low memory footprint and not have lots of dependencies. With that in mind, I guess desktop environments like Gnome or KDE are out of question.

I was thinking about XFCE or FVWM2 (although this is really old stuff), but I have no idea what other workable alternatives there are. So any recommendations on that matter are highly welcome.
 
XFCE is becoming more like Gnome everyday so I wouldn't want to call it "small" any more. A popular low-power VM is probably LXDE. Alternatively there are "real" window managers instead of Desktop Environments, like x11-wm/i3 or x11-wm/awesome.
 
There are lots and lots of window managers out there, and the only way to pick one is to try a bunch that sound appealing and find the one that works for you. I recommend checking out this gem of a thread for some ideas about what to try.

By the way, FVWM2 may be "old," but it's the standard window manager on a graphical OpenBSD install, so it's actively developed/maintained and won't suddenly disappear or break on you. If you're comfortable with it, it's still an option. ;)
 
Thanks for your suggestions. I will have a closer look at each one of these to see what best fits my needs. I guess I wont need much fancy stuff, other than windows having a minimize, maximize and close button and maybe some sort of quick launch bar/buttons for opening a shell or browser window.

As for FVWM2: I have been using it more or less happily in the early 90's. It was nice but I also remember it involved much hand tuning your .fvwm2rc file. Not sure I wanna go down that road again now. Like a SUN employee once told me, being asked about why SUN went from BSD-style Solaris to SysV:
The customer doesn't want to hand-edit config files, the customer wants an admin-tool

:p
 
While xfce is bigger than minimalist desktop managers like IceWM, I still say it is pretty small. It also runs very well on slow systems. BlackBox and FluxBox are extremely small, too, and I've used them both. But the features of xfce keep bringing me back.
 
I like the manual tiling window manger x11-wm/stumpwm. It bundles itself with a common lisp interpreter, which provides some nifty functionality, but also means it's heavier on memory than some of the other simple window mangers. If it's too heavy for your use case, its lighter cousin, x11-wm/ratpoison, could be considered a similar alternative.
 
So I did some reading on the suggested WMs. Some seem to be tiling WMs, which I don't think I can get accustomed to. LXDE and XFCE seem to be desktop environments, which probably means I get a lot of stuff that I will probably never use (File Manager, Terminal, Calculator, Notepad, etc). Still both look quite nice and seem to be lightweight, so that would still be an option. From my understanding, LXDE uses openbox as it's WM, so using only openbox could also be an alternative. I will also take another look at the other WMs that have been suggested.

For a start I have installed FVWM2, as it did not require any dependencies that were not already installed anyway. It's a step forward from twm, but as was to be expected, it would require quite some tuning to become halfway useable for me. Maybe I give openbox a shot next.

One other thing I came across: Some WMs notion their use of the more modern xcb API instead of Xlib. What difference does this really make?

As for the hardware this runs on: 300 MHz PII, 288 Mb memory :D
 
If you don't want to go with a tiling window manager or configure your window manager with XML, I second the other recommendations for x11-wm/fluxbox. It's a good alternative to x11-wm/openbox without the XML configuration. I installed it on my friend's laptop and it's been rock solid and snappy for years.
 
As for FVWM2: I have been using it more or less happily in the early 90's. It was nice but I also remember it involved much hand tuning your .fvwm2rc file. Not sure I wanna go down that road again now. Like a SUN employee once told me, being asked about why SUN went from BSD-style Solaris to SysV:...
I've been using Fvwm(2) since the mid 90's I suppose, switched to Blackbox for a few months back in 98 or 99, and gave Xfce a shot when DE's became all the rage... but honestly couldn't 'catch on'. Maybe I'm too stubborn. But I was impressed with Xfce, I'll give it that.

I've been using pretty much the same .fvwm2rc for... oh, 18 years. It's under 250 lines long and that's with some pretty good commenting and a few FvwmForms (no other Fvwm modules are used). Simple theme, simple behavior, simple me.
In my opinion, it's a GREAT .fvwm2rc for someone to use to start on their own:
Sloppy Focus
Multiple Desktops
Window Snap Attraction
Window Shading
Bindings for mouse free (mostly) use
And a few handy Forms

I'll gladly give you a screenshot and my .fvwm2rc to start from if interested.
 
If you don't want to go with a tiling window manager or configure your window manager with XML, I second the other recommendations for x11-wm/fluxbox. It's a good alternative to x11-wm/openbox without the XML configuration.
I never really liked tiling window managers. For the better part of the last years I have been using Windows 2k/7/10 as my desktop exclusively. Given that I only use my notebook ocassionally, I think a tiling window manager is too much of a change in behaviour to get comfortable with. Setting up XML configuration files is probably not a problem, yet I think XML is a bad choice for configuration files in general, as I presume parsing XML requires more processing power and/or memory than parsing simpler text files. But maybe that's just me.

Seems fluxbox does not require any dependencies that are not already there, so I will start compiling it from ports and give it a try.
I've been using Fvwm(2) since the mid 90's I suppose, switched to Blackbox for a few months back in 98 or 99, and gave Xfce a shot when DE's became all the rage... but honestly couldn't 'catch on'. Maybe I'm too stubborn. But I was impressed with Xfce, I'll give it that.
Not a bad choice. It was my window manager for nearly a decade some years ago.
I was also a long time user of FVWM2, later I switched to Gnome2 and somehow managed to live with it, although I never really got rid of the feeling that I got way more than I ever needed or asked for. And that is one big problem I am still facing with DEs. I don't want windows from my last session to be restored upon logging in. I don't need any bundled browser, mail reader, calendar with group features or else, as I will install Firefox/Thunderbird anyway for these tasks. And most other tasks like file handling and such I do in a shell window, cause that's what I am used to. And for sure I don't need no HAL or similar trying to automount/autoconfigure everything.

My last FreeBSD desktop a couple of years ago was Mate with Compiz/Fusion as WM, which was quite nice, although much stuff in Mate was still broken at that time in one way or the other.
I've been using pretty much the same .fvwm2rc for... oh, 18 years.
...
I'll gladly give you a screenshot and my .fvwm2rc to start from if interested.
Yes please. Not sure I still have my old .fvwm2rc around somewhere.
 
As requested, a screenshot showing my very basic configuration for x11-wm/fvwm2.
Can't remember when it was changed, but the "official" location is now ~/.fvwm/.fvwm2rc. No pixmaps, no icons.... like I said, very basic. I think the only change I've made in the last decade aside from adding/removing menu entries is to change from a CDE(ish) pink window color to the current CornFlower Blue.
Yes, I'm a boring person. My son tells me I'm the most boring person on the island.

Code:
# .fvwm2rc
#
# Originally, a modified version of the system.fvwm2rc that was
# included in the 2.0.46 source from 1998 (I think).
# Other bits and pieces sourced and removed over the years as my
# tastes changed.
#

# Set some defaults.
#
EdgeScroll           100 100
EdgeResistance  250
EdgeThickness    1
ClickTime             750
IgnoreModifiers     L25
ColormapFocus    FollowsMouse
DeskTopSize         3x1

# Define the menu style.
#
Menustyle *    mwm, Font "Shadow=0 SE:xft:San:pixelsize=16:minspace=true"
MenuStyle *    Foreground "#000000", Background "#AEB2C3"


# Define styles for windows and desktop behavior.
#
Style *        Font "Shadow=0 SE:xft:Sans:pixelsize=16:minspace=true"
Style *        HilightFore "#FFFFFF", HilightBack "#6495ED"
Style *        BorderWidth 5, HandleWidth 5
Style *        MWMFunctions, MWMDecor, HintOverride
Style *        DecorateTransient, !UsePPosition, TileCascadePlacement
Style *        SloppyFocus, MouseFocusClickRaises
Style *        SnapAttraction 5 All
Style *        NoIcon
Style *        EdgeMoveDelay 250
Style *        EdgeMoveResistance 250


# Define styles for various Fvwm modules.
# I haven't used the fvwm modules since about 2001.
# Well, that's not 'entirely' true... (ie: FvwmForms).
#

# Key and mouse bindings are always useful.
# I used to get soooo carried away with these, now I'm much more
# conservative with them.
#
# Key/Mouse X Context Modifier Action
# X:       [Mouse 0=Any, 1=L, 2=M, 3=R] [Keyboard X=Key]
# Context:  (A)nywhere (R)oot (T)itle (S)ide (F)rame (W)indow
# Modifier: (C)ontrol, (S)hift, (M)eta, (N)othing
#

# Root window bindings for the mouse menus.
Mouse 1    R       A       Nop
Mouse 2    R       A       WindowList
Mouse 3    R       A       Menu Root.Menu Nop

# Title bar buttons.
Mouse 0    1       A         Menu Window.Ops.Menu Close
Mouse 0    2       A         Maximize.Func
Mouse 0    4       A         Iconify

# Title bar and frame/sides.
Mouse 1    FS    A    Resize.Raise.Lower
Mouse 1    T       A    Move.Raise.Lower.Shade
Mouse 1    I        A    Move.Iconify
Mouse 2    I        A    Iconify
Mouse 2    FST  A    Menu Window.Ops.Menu Nop
Mouse 3    TSIF A    RaiseLower

# Key bindings for programs and workflow.
Key r             A    M    Module FvwmForm RunDialog
Key space    A    M    WindowShade
Key o            A    M    Menu Root.Menu Nop
Key t             A    M    Exec exec xterm
Key w           A    M    Menu Window.Ops.Menu Nop
Key Right  A  CM  GoToPage wrapx +1p 0
Key Left  A  CM  GoToPage  wrapx -1p 0
Key m          A    CM    Move
Key r            A    CM    Resize
Key Up         A    CM    Raise
Key Down    A    CM    Lower
Key s            A    CM    Stick
Key c            A    CM    Close
Key i             A    CM    Iconify
Key Delete    A    CM    Module FvwmForm ShutDownReboot


# Initialization Function.
#

# This can be used for so much more.
# Now I just use it to set the background color.
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Test (Init) Exec exec xsetroot -solid '#2f426c'


# Construct the various menus.
#

# Root menu - main parent menu from mouse right-click.
# Gives me a few applications at the top and then sources the various
# other menus and such.
DestroyMenu Root.Menu
AddToMenu Root.Menu 
+    "Fvwm Menu"        Title
+    "Terminal Emulator"    Exec exec xterm
+    "Web Browser"        Exec exec firefox
+    "File Manager"        Exec exec thunar
+    "Run A Program"        Module FvwmForm RunDialog
+    ""            Nop
+    ""            Nop
+    "Applications"        Popup Applications.Submenu
+       "Utilities"         Popup Utilities.Submenu
+    "Games"            Popup Games.Submenu
+    ""            Nop
+       "Window Ops"       Popup Window.Ops.Menu
+       "Refresh"        Refresh
+    ""            Nop
+    "Exit Fvwm"        Popup Quit.Verify.Submenu

# All the rest of my applicationsgo in here somewhere.
DestroyMenu Applications.Submenu
AddToMenu Applications.Submenu
+    "Applications"    Title
+    "Firefox"    Exec exec firefox
+    "Chrome"    Exec exec chrome
+    "Libre Office"    Popup LibreOffice.Submenu
+     ""         Nop

# LibreOffice - Full suite or just individual apps
DestroyMenu LibreOffice.Submenu
AddToMenu LibreOffice.Submenu
+    "Libre Office"        Title
+    "Full Office Suite"    Exec exec libreoffice
+    "Writer  (Document)"    Exec exec libreoffice --writer
+    "Calc    (Spreadsheet)"    Exec exec libreoffice --calc
+    "Draw    (Drawing)"    Exec exec libreoffice --draw
+    "Impress (Presentation)" Exec exec libreoffice --impress
+    "Math    (Formula)"    Exec exec libreoffice --math
+    "Base    (Database)"    Exec exec libreoffice --base

# System utilities and the such.
DestroyMenu Utilities.Submenu
AddToMenu Utilities.Submenu
+    "Utilities"     Title
+    "Top"        Exec exec xterm -T Top -n Top -e top
+    "Calculator"    Exec exec xcalc
+    "Mixer"        Exec exec xmix
+    ""        Nop
+    "VirtualBox"    Exec exec virtualbox
+    "Editor    "    Exec exec gvim
+    ""        Nop
+    "Screenshot"    Exec exec import -window root screenshot.jpg
+    ""        Nop

# Sometimes I get bored and want to play.
DestroyMenu Games.Submenu
AddToMenu Games.Submenu
+    "Games"        Title
+     "Minecraft"    Exec exec java -jar ~/.bin/minecraft
+    "WarZone 2100"    Exec exec warzone2100

# Operations menu for windows.
DestroyMenu Window.Ops.Menu
AddToMenu Window.Ops.Menu
+    "Move"        Move
+    "Resize"    Resize
+    "Raise"        Raise
+    "Lower"        Lower
+    "(De)Iconify"    Iconify
+    "(Un)Stick"    Stick
+       "(Un)Maximize"    Maximize
+    ""        Nop
+    "Delete"    Delete
+    "Close"        Close
+    "Destroy"    Destroy

# Standard QV submenu for Fvwm, been around as long as I can remember
# ... with a few changes.
DestroyMenu Quit.Verify.Submenu
AddToMenu Quit.Verify.Submenu
+    "Really Quit Fvwm?" Title
+    "No, Just Restart"  Restart
+    ""           Nop
+    "No, Don't Quit"    Nop
+    "Yes, Really Quit"  Quit


# All the functions that have been called and referred to up above.
# Most of them are explained by their name.
#

# Moves, raises, lowers, or shades a window.
DestroyFunc Move.Raise.Lower.Shade
AddToFunc Move.Raise.Lower.Shade     
+    I Raise
+    M Move
+     D WindowShade

# Controls how to window is maximized and returned.
DestroyFunc Maximize.Func
AddToFunc Maximize.Func 
+    M Maximize    0 100
+    C Maximize    0 80
+    D Maximize    100 100

# Move or iconify the window.
DestroyFunc Move.Iconify
AddToFunc Move.Iconify 
+    I Raise
+    M Move
+    D Iconify

# Resize, raise, or lower (obviously).
DestroyFunc Resize.Raise.Lower
AddToFunc Resize.Raise.Lower 
+    I Raise
+    M Resize
+    D Lower


# FvwmForms is so useful.
# I used to have quite a bit of these too but have replaced them with
# full blown utilities and applications over the years.
# These are still my favorites though so I keep them.
#

# RunDialog (pretty much explains itself).
*RunDialog: WarpPointer
*RunDialog: Fore #000000
*RunDialog: Back #AEB2C3
*RunDialog: ItemFore #000000
*RunDialog: ItemBack #AEB2C3
*RunDialog: Line center
*RunDialog: Text "Run Program"
*RunDialog: Input Func 40 ""
*RunDialog: Line expand
*RunDialog: Button quit "Run" ^M
*RunDialog: Command Exec $(Func)
*RunDialog: Button quit "Cancel" ^C
*RunDialog: Command Nop

# ShutDown, Reboot, or Cancel dialog.
*ShutDownReboot: GrabServer
*ShutDownReboot: WarpPointer
*ShutDownReboot: Fore #000000
*ShutDownReboot: Back #AEB2C3
*ShutDownReboot: ItemFore #000000
*ShutDownReboot: ItemBack #AEB2C3
*ShutDownReboot: Line center
*ShutDownReboot: Text "Shutdown: Are you sure?"
*ShutDownReboot: Line expand
*ShutDownReboot: Button quit " Halt "
*ShutDownReboot: Command Exec (sudo /sbin/shutdown -p now)
*ShutDownReboot: Button quit " Reboot "
*ShutDownReboot: Command Exec (sudo /sbin/shutdown -r now)
*ShutDownReboot: Button quit "Cancel"
*ShutDownReboot: Command Nop
 

Attachments

  • screenshot.jpg
    screenshot.jpg
    199.1 KB · Views: 1,763
Last edited:
As requested, a screenshot showing my very basic configuration for x11-wm/fvwm2.
Can't remember when it was changed, but the "official" location is now ~/.fvwm/.fvwm2rc. No pixmaps, no icons.... like I said, very basic. I think the only change I've made in the last decade aside from adding/removing menu entries is to change from a CDE(ish) pink window color to the current CornFlower Blue.
Thanks for sharing this, I will give it a try. As for the icons: I just cleaned all my Windows desktops from ALL icons. That was something I wanted to do for a long time. Finally no more digging for icons buried under a stack of windows :)

In the meantime I have set up x11/slim on my notebook and also found some time to play around with x11-wm/fluxbox, which also looks promising. Only problem I was having with it was that some of the system themes seem to have a font-width display problem in the menus. Maybe I need to install some additional fonts?
 
Only problem I was having with it was that some of the system themes seem to have a font-width display problem in the menus. Maybe I need to install some additional fonts?
Asking me?
I honestly have no clue. Actually had never purposefully looked at x11-wm/fluxbox before. But now that I see it - it's a damn near clone of the x11-wm/blackbox that I used to run... which coincidental I just saw is still being developed. Maybe I'll make the time to test some of these other WMs out.... I have plenty of time.
 
Yes, x11-wm/fvwm2 is awesome, but x11-wm/awesome is very nice lightweight window manager too :D
fvwm is a x11-wm/twm derivative and awesome is a fork of x11-wm/dwm, so if you like twm or dwm, you should like fvwm or awesome :)
fvwm is a default window manager in OpenBSD by the way.
x11-wm/fvwm2 with x11/mate-panel and x11-wm/plank dock:
1111111.png

As a first steps to configure it... :) copy system.fvwm2rc-sample-95 to your fvwm config
cp /usr/local/share/fvwm/system.fvwm2rc-sample-95 ~/.fvwm2rc
and create fvwm autostart script touch ~/.xinitrc-fvwm
also be sure to enter man fvwm
Then edit, edit, edit... ;)
Easy tip:) : If you want to use "Style * ClickToFocus", then do not forget to add "IgnoreModifiers L25",
because windows won't get focused with activated Num Lock or Caps.
 
Last edited by a moderator:
awesome is a fork of x11-wm/dwm, so if you like ... dwm, you should like ... awesome :)

I hope I can be forgiven for nitpicking, but while the Awesome code was originally forked from dwm, they scarcely resemble each other in function or design now. They practically sit on opposite ends of a philosophical spectrum---ultra-minimal dynamic tiler on one end, everything-but-the-kitchen-sink desktop replacement on the other. Given the design goals and philosophies of each project, it's a safe bet that the developers (and probably many users) of dwm have a pretty low opinion of Awesome. :p
 
You nitpicker you! :)
However, although my co-worker, who loves to overcomplicate thing (and I say that envious of his ability to make things work that would have my head spinning), really likes awesome. I, on the other hand, use dwm. (Although at home, on a single monitor, I usually use openbox, but my workflow at home is a bit different.)

Seriously, I agree with ANOKNUSA, at this point, they are quite different, nothing wrong with either--I consider dwm easier to setup, but then, I've used it as my main WM for a long time and only used awesome experimentally. There's also spectrwm which, IMHO, is much closer to dwm but has a text based config file. I have a small page on it at https://srobb.net/spectrwm.html

Just adding this digression in because someone will, sooner or later, search for something like awesome vs dwm and this may be slightly useful. The OP, of course, has stated above that they're not that fond of tiling window managers.
 
I used to use x11-wm/awesome as a main WM, and x11-wm/dwm for only quite a bit, but imho these WMs got some similarity.
The point of my post was: if you like dwm, you can try awesome. May be I had to write "you could like", not "should", but it is related to my english knowledge. Also I do not pretend to be a WM expert :D (I'm a chronic GNOME 3 user by the way ;)) so it's only my opinion.

____________________________________________________
For now, x11-wm/fvwm2 with x11-wm/xcompmgr compositing manager (xcompmgr -Cf -D2) is a best choise for me, I got x11-wm/awesome installed, but I use it rarely. It is not easy to configure FVWM, (I've had much less difficulties with awesome config) but it is very fast and stable.
 
I think for the moment I will continue some further experimentation with x11-wm/fluxbox and/or x11-wm/fvwm2, as both seem to be pretty lightweight and perform well given the ancient hardware. I did not find much time to go into configuring those, but for now I can login via x11/slim, have setup a nice .Xresources and have xterm and firefox available. I also wanted to check on the slight chance, that there might still be one of my old (~1998) .fvwm2rc files on a backup CD somewhere. Perhaps someone who has used fvwm2 more recently knows if there is any such thing as a taskbar like thing with buttons to start applications from and switch virtual desktops? I know there were several modules for fvwm, but I did not use many of these back in the days. I had a quick look at x11/mate-panel, but it seems that would pull in quite a number of dependencies.
 
for now I can login via x11/slim
Do you need x11/slim really? If you're the only user I think you can skip it. Here is my method:
Part of /etc/ttys:
Code:
ttyv0  "/usr/libexec/getty autologin"  xterm  on  secure
Part of /etc/gettytab:
Code:
autologin:\
  :al=zsolt:tc=Pc:
So on ttyv0 zsolt (my user) will autologin.
Part of my ~/.login (I'm using tcsh so maybe you'll need modify a little):
Code:
if ($tty == "ttyv0") then
  setenv _JAVA_AWT_WM_NONREPARENTING 1
  echo Starting Xorg...
  startx
  echo "Halt (h) Reboot (r) Nothing (n) ?"
  set answer = $<
  if ($answer == "h") then
    /sbin/shutdown -p now
  else if ($answer == "r") then
    /sbin/shutdown -r now
  endif
else
...
endif

At end of boot my user will autologin on ttyv0 and start X (via startx). After X session prompts about the next step: halt, reboot or nothing.
 
Back
Top