Solved Windows manager recommendation

Greetings all,

as the tile says. The primary criterion is compatibility with FreeBSD in the sense of minimal dependence on the Linux framework, i.e., hald, ConsoleKit, PolicyKit, D-Bus, systemd, and the like.

Secondary criteria is good support for add-ons, e.g., file manager, terminal, and the like, again without a lot of dependencies or being part of a desktop environment with its (unnecessary) functionality.

All other, i.e., ease/complexity of configuration, memory footprint, tiling, etc. are tertiary.

My reasoning is that the above will ensure stability and future support.

I am aware of Lumina, however, I have read rather contradictory statements regarding its stability and usefulness. I am also unsure how it supports add-ons, which are not part of its plugin environment.

Kindest regards,

M
 
I use a base of freebsd and then install xorg, jwm and pcmanfm

https://forums.freebsd.org/threads/8877/page-38#post-359947

Joe's window manager is still being developed/maintained and can all be configured in a single XML file or as separate 'included' files. Personally I like having it all in the one file ... StartupCommands, decorations ...etc. The downside is having to use xml rather than gui type configuration tools.

pcmanfm serves as both the filemanager and when started in .jwmrc with the --desktop parameter provides desktop icons.

On top of that core I prefer firefox-esr and under freebsd apache-openoffice works best for me.

I use packages (no ports at all) and that takes minutes to install.

So in short, my recommendation ... jwm

My current ~/.jwmrc that I've been changing to have everything more or less everything I use (file manager, browser, terminal, leafpad, calculator, image editor on the left hand side of the tasklist, with office launcher, volume control, calendar/notes/tasks launcher (osmo) on the right hand side) in the panel for quick/easy launch purposes contains
Code:
<?xml version="1.0"?>
<JWM>


 <!--------------------- Startup --------------------->


    <StartupCommand>sleep 10;openoffice-4.1.3 -quickstart -nologo -nodefault</StartupCommand>
    <StartupCommand>pcmanfm --desktop</StartupCommand>
    <StartupCommand>sleep 7;osmo</StartupCommand>
    <StartupCommand>sleep 9;volumeicon</StartupCommand>
    <!--    <StartupCommand>setxkbmap -option terminate:ctrl_alt_bksp</StartupCommand> -->


 <!---------------------- Icons  --------------------->

    <IconPath>/usr/local/share/pixmaps</IconPath>
    <IconPath>/usr/local/share/icons/Adwaita/48x48/apps/</IconPath>
    <IconPath>/usr/local/share/icons/hicolor/48x48/apps</IconPath>
    <IconPath>/usr/local/share/icons/Adwaita/48x48/actions</IconPath>
    <IconPath>/usr/local/share/icons/Adwaita/48x48/devices</IconPath>
    <IconPath>/usr/local/share/icons/Adwaita/48x48/places</IconPath>


 <!--------------------- The root menu. --------------------->


    <RootMenu onroot="12">
        <Program label="Power Off" icon="process-stop.png">shutdown -p now</Program>
        <Program label="Reboot" icon="view-refresh.png">shutdown -r now</Program>
        <Separator/>
        <Program label="Exit jwm" icon="/usr/local/share/icons/Adwaita/48x48/actions/application-exit.png">/home/user/bin/cleanclosejwm</Program>
        <Program label="Edit .jwmrc" icon="/usr/local/share/icons/Adwaita/48x48/actions/edit-select-all.png">leafpad /home/user/.jwmrc;jwm -restart</Program>
        <Separator/>
        <Program icon="/usr/local/share/icons/Adwaita/48x48/actions/folder-new.png" label="Apps">pcmanfm /usr/local/share/applications</Program>
    </RootMenu>




 <!--------------------- Tray at the bottom. --------------------->


    <Tray x="0" y="-1" height="36" autohide="off"> <!-- y -1 for bottom, 0 for top -->
<!--        <Spacer width="2"/>
        <TrayButton label="__">showdesktop</TrayButton>
        <Spacer width="2"/>
-->
        <TrayButton icon="user-home.png">exec:pcmanfm /home/user</TrayButton>
        <TrayButton icon="firefox.png">exec:firefox</TrayButton>
        <TrayButton icon="utilities-terminal.png">exec:urxvt -geometry 88x22+0+0</TrayButton>
        <TrayButton icon="accessories-text-editor.png">exec:leafpad</TrayButton>
        <TrayButton icon="galculator.png">exec:galculator</TrayButton>
        <TrayButton icon="mtpaint.png">exec:mtpaint</TrayButton>
<!--       <TrayButton icon="htop.png">exec:xterm -e htop</TrayButton> -->


        <TaskList maxwidth="2560"/>
        <Swallow name="xload" width="32">xload -nolabel -bg black -fg red -hl white</Swallow>
        <Dock/>
        <!-- with no clock button action and no TrayButton icon, makes clock a root:1 menu launch -->
        <Clock format="%a %d %b %I:%M %p"><Button mask="123"></Button></Clock>
        <TrayButton>root:1</TrayButton>
        <!-- <TrayButton icon="/usr/local/share/icons/Adwaita/48x48/actions/edit-delete.png">root:1</TrayButton> -->
    </Tray>



 <!--------------------- Visual Styles --------------------->


   <WindowStyle>
        <Font>Sans-12:bold</Font>
        <Width>8</Width>
        <Height>30</Height>
        <Corner>0</Corner>
        <Foreground>#FFFFFF</Foreground>
        <Background>gray60:gray10</Background>
        <Outline>#000000</Outline>
        <Opacity>0.5</Opacity>
        <Active>
            <Foreground>white</Foreground>
            <Background>blue:#0077CC</Background>
            <Outline>blue</Outline>
            <Opacity>1.0</Opacity>
        </Active>
   </WindowStyle>
   <TaskListStyle>
      <Font>Sans-12</Font>
      <Active>
             <Foreground>white</Foreground>
             <Background>#0077CC:blue</Background>
      </Active>
      <Foreground>white</Foreground>
      <Background>gray60:gray10</Background>
    </TaskListStyle>
    <TrayStyle group="false" list="all">
        <Font>Sans-12</Font>
        <Background>#333333</Background>
        <Foreground>#FFFFFF</Foreground>
        <Outline>#000000</Outline>
        <Opacity>0.75</Opacity>
    </TrayStyle>
    <PagerStyle> <!-- Using brightside hot corner to show desktop so not used -->
        <Outline>#000000</Outline>
        <Foreground>#555555</Foreground>
        <Background>#333333</Background>
        <Text>#FFFFFF</Text>
        <Active>
            <Foreground>#0077CC</Foreground>
            <Background>#004488</Background>
        </Active>
    </PagerStyle>
    <MenuStyle>
        <Font>Sans-12</Font>
        <Foreground>#000000</Foreground>
        <Background>#DCDAD5</Background>
        <Outline>#000000</Outline>
        <Active>
            <Foreground>#FFFFFF</Foreground>
            <Background>#4B6983</Background>
        </Active>
        <Opacity>0.85</Opacity>
    </MenuStyle>
    <PopupStyle>
        <Font>Sans-12</Font>
        <Foreground>#000000</Foreground>
        <Background>#999999</Background>
    </PopupStyle>
    <ClockStyle>
        <Font>Sans-12</Font>
        <Foreground>#FFFFFF</Foreground>
        <!-- <Background>#000000</Background> -->
    </ClockStyle>

<!--
<Group>
    <Name>xterm</Name>
    <Option>nolist</Option>
    <Option>noborder</Option>
    <Option>notitle</Option>
    <Option>sticky</Option>
</Group>
-->

 
 <!--------------------- Behaviour --------------------->


    <Desktops width="2" height="1">
        <Background type="solid">#0A0D2D</Background>
    </Desktops>

    <!-- Double click speed (in milliseconds) -->
    <DoubleClickSpeed>400</DoubleClickSpeed>

    <!-- Double click delta (in pixels) -->
    <DoubleClickDelta>2</DoubleClickDelta>

    <!-- The focus model (sloppy or click) -->
    <FocusModel>click</FocusModel>

    <!-- The snap mode (none, screen, or border) -->
    <SnapMode distance="10">border</SnapMode>

    <!-- The move mode (outline or opaque) -->
    <MoveMode coordinates="off">opaque</MoveMode>

    <!-- The resize mode (outline or opaque) -->
    <ResizeMode coordinates="off">opaque</ResizeMode>



 <!--------------------- Key bindings --------------------->


    <Key key="Up">up</Key>
    <Key key="Down">down</Key>
    <Key key="Right">right</Key>
    <Key key="Left">left</Key>
    <Key key="h">left</Key>
    <Key key="j">down</Key>
    <Key key="k">up</Key>
    <Key key="l">right</Key>
    <Key key="Return">select</Key>
    <Key key="Escape">escape</Key>

    <Key mask="" key="Print">exec:scrot -d 3</Key>
    <Key mask="" key="Menu">root:1</Key>
    <Key mask="" key="Super_R">exec:gmrun</Key>

    <Key mask="A" key="Tab">nextstacked</Key>
    <Key mask="A" key="F4">close</Key>
    <Key mask="A" key="#">desktop#</Key>
    <Key mask="A" key="F1">root:1</Key>
    <Key mask="A" key="F2">window</Key>
    <Key mask="A" key="F10">maximize</Key>
    <Key mask="A" key="Right">rdesktop</Key>
    <Key mask="A" key="Left">ldesktop</Key>
    <Key mask="A" key="Up">udesktop</Key>
    <Key mask="A" key="Down">ddesktop</Key>

</JWM>



Busy desktop
 
Hi rufwoof,

thank you for your answer and the generous inclusion of the ~/.jwmrc. One more question though, does it need any of the Linux framework - hal, D-Bus?

Kindest regards,

M
 
Greetings all,

as the tile says. The primary criterion is compatibility with FreeBSD in the sense of minimal dependence on the Linux framework, i.e., hald, ConsoleKit, PolicyKit, D-Bus, systemd, and the like.

Secondary criteria is good support for add-ons, e.g., file manager, terminal, and the like, again without a lot of dependencies or being part of a desktop environment with its (unnecessary) functionality.

All other, i.e., ease/complexity of configuration, memory footprint, tiling, etc. are tertiary.

My reasoning is that the above will ensure stability and future support.

I am aware of Lumina, however, I have read rather contradictory statements regarding its stability and usefulness. I am also unsure how it supports add-ons, which are not part of its plugin environment.

Kindest regards,

M
Try x11-wm/cwm. It has only dependencies on Xorg stuff (x11/libXrandr, x11/libXinerama, x11/libX11, x11-fonts/libXft, x11-fonts/fontconfig), it's easy to configure and has a small print on memory. I don't know what you mean as support for addons, however.
 
Hi Maxnix,

thank you for the reply. Maybe the term "add-on" is incorrect, but I tried to explain its meaning by giving examples, i.e., file manager, terminal, and the like.

Kindest regards,

M
 
If you like tiling window managers there are a few:
_ i3 (low on resources, does not depend on that cancer systemd, config it's a plain text file.)
_ awesome ( depends on lua and sometimes he breaks when moving from one version to another)
_ dwm ( if you don't know C, configure him it's a pain in a**).

eg i3wm: i3+i3status+dmenu urxvt+ranger+conky

 
thank you for your answer and the generous inclusion of the ~/.jwmrc. One more question though, does it need any of the Linux framework - hal, D-Bus?
I don't know. I install nvidia-driver-340 for my nvidia 8600GT ... which I believe does require dbus and hal. I think LibreOffice (OpenOffice) would also require dbus (???). I've been intending to wipe my sda4 OpenBSD and install a second freebsd for admin purposes, so when I get around to that I'll give it a go without dbus or hal and see how far I can get with that.

Quick references I've found so far

http://www.freshports.org/x11-wm/jwm/
https://forums.freebsd.org/threads/24589/

and looks like firefox might get away without dbus

https://www.reddit.com/r/freebsd/comments/2t74jw/how_to_use_firefox_and_thunderbird_without_dbus/
 
Booted boot only freebsd 11.1 CD
Ran the Install
Selected uk ISO8859-1 keyboard
Set hostname to localhost
For sys components just selected the lib32 set (all others unchecked)
For the network settings just selected the defaults (DHCP ...etc).
Didn't install IPV6
... as a boot only CD I selected the UK mirror ftp site to retrieve things from
Clicked the AutoUFS install choice for filesytem
Selected the Partition choice (not full disk as I installed to sda4)
Entered a root password (twice)
Selected appropriate timezone for me (Europe/UK)
Only opted for powerd and ntpd at the System Config screen
Left all Hardening options unchecked
Added a user and its password ...etc. adding it to operator and wheel groups (so it can run shutdown -r now to reboot or shutdown -p now to shutdown) at the Invite to Other Groups prompt
... etc (can't recall all of the exact steps but the above is near enough)
Exited and rebooted
At login I logged in as root using the password I set earlier
Ran pkg install xorg jwm scrot (scrot so I could screen capture)
mounted my sda3 freebsd partition and copied across ~/.Xdefaults, .jwmrc and .xinit
Rebooted and logged in as user
Ran startx
... and ... started up OK. The icons in the panel were missing due to not being installed so I edited .jwmrc to add a xterm label and opened two xterms ...etc.



So in short, yes it looks like jwm runs ok without dbus or hald (screenshot shows the content of /etc/rc.conf)
 
Took it a bit further. pkg install firefox pcmanfm
During that I saw dbus and dbus-glib dependencies being installed. Without enabling dbus in /etc/rc.conf however and not rebooting I startx and ran pcmanfm --desktop to provide desktop icon support and that worked fine. Tried running firefox however and it core dumped (crashed without even being seen). One of the links I posted earlier however suggested that it might be possible to build firefox without dbus (I used use pre-built binaries however, so I wont be investigating that further myself).

 
Added pkg install leafpad htop ... both they both worked. Also pkg install apache-openoffice ... and surprised to see that work as well



... well at least opens. Haven't tested any further beyond that.

So looks like you could have a modest 'desktop' (galculator, htop, leafpad, mtpaint, openoffice, xterm, desktop icons and filemanager, jwm panel, tray and windows management) all without dbus/hald ... and its just firefox/browser that might need a workaround/alternative.
 
Note that I don't bother installing any gtk2 or gtk3 themes myself. I just use the in-built defaults (Raleigh for gtk2, Adwaita for gtk3). Keeps things leaner, but not to everyone's liking.

I do some manual gtk2 tweaks i.e. create a ~/.gtkrc-2.0 file containing
Code:
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
gtk-xft-rgba="rgb"

style "user-font"
{
    font_name = "Sans 13"
}
widget_class "*" style "user-font"

gtk-font-name = "Sans 13"

style "scroll"
{
    GtkScrollbar::slider-width        = 22
}
class "*" style "scroll"
to set the antialias and hinting, together with widening the scroll bar width as otherwise OpenOffice spreadsheet sheet name text size can be too small (spreadsheet names share the same rows as the horizontal scrollbar, so by widening the scrollbar it increases the sheet name font size).

I also add
Code:
[Qt]
style=GTK+
font="Sans Serif,13,-1,5,50,0,0,0,0,0"
to ~/.config/Trolltech.conf ... which sets qt4 to use GTK+ (gtk3) theme.

Or you can install themes and pinch from LXDE and pkg install lxappearance and use that to pick the gtk2 theme and font size (and install qt4-config to set the qt4 theme ... etc.). I consider that as unnecessary/rarely used bloat however and I remain content to use the inbuilt default themes.
 
mpv plays videos fine (sound and volume controls ok). mtpaint works ok. Opera web browser also works to a degree ... loads, but wont display certain web pages such as this forum (looks like https a barrier, http fine i.e. needs something else perhaps also to be installed).

Did notice however that whilst dbus and hald aren't enabled in rc.conf dbus and dbus-glib are installed and attempts to remove dbus (pkg remove dbus) results in loads of the installed programs also being flagged to be removed (leafpad, openoffice, pcmanfm ...etc.).

Out of my depth. i.e. I don't know if dbus libs might be being used despite not having been loaded as a kernel module in rc.conf .... or what.
 
Greetings all,

as the tile says. The primary criterion is compatibility with FreeBSD in the sense of minimal dependence on the Linux framework, i.e., hald, ConsoleKit, PolicyKit, D-Bus, systemd, and the like.

Secondary criteria is good support for add-ons, e.g., file manager, terminal, and the like, again without a lot of dependencies or being part of a desktop environment with its (unnecessary) functionality.

All other, i.e., ease/complexity of configuration, memory footprint, tiling, etc. are tertiary.

My reasoning is that the above will ensure stability and future support.

Oh, you mean x11-wm/fluxbox.

fluxshot.png

Light on resources and dependencies it is minimization at its finest. With the exception of adding your programs to the menu through a text file all the configuration is done through the right-click menu shown in the screenshot.
 
Greetings gentlemen,

thank you all for your recommendations. I now have several to try and see, which one I like.

Hi rufwoof,

thank you separately for your amazing effort.

Kindest regards,

M
 
I suspect that dbus gets installed as a dependency by many desktop programs and even if not loaded as a module might still be loaded dynamically. If so you'll be limited if you wish to avoid it. xorg and using the inbuilt twm windows manager (or jwm/fluxbox) plus xfe file manager (that incorporates a integral text editor), mpv video player and sc-im spreadsheet can all be installed/used without dbus



Browsers other than textual types (lynx/whatever) and/or Office programs however will tend to install/require dbus, excepting perhaps if perhaps compiled otherwise (???).
 
Hi rufwoof,

I have done some more reading, and it appears that devel/dbus cannot quite be avoided as many applications use it. This means that it will probably be maintained.

Hi shepper,

I am actually using that thread; my question was directed to a specific component, i.e., windows manager.

Kindest regards,
 
mefizto:
What can I tell you, buddy? I know nothing about the intricacies of FreeBSD (dbus and hald).
But, for the last 20 years, I have been using window managers. Lumina is NOT a window manager.

I have used quite a few of them. They are ALL good, some use more RAM than others, some are complex to set up, some are simple, some are pretty...
All depends how you work, what you like, doubtlessly, keybindings are the core of the situation, if you have to think after using it for a day, get out of Dodge, what is good for me, is not necessarily good for you.

Mostly, I use IceWM and JWM, lately, I have been using Ratpoison.

I like RP, my reasons are (and they might not appeal to you), personal.

1. It's light, uses 1 mb ram...
2. It's simple, mostly keybindings (saving me time) and yet you can use the mouse, maximizes all screen by default.
3. It goes to the heart of the job at hand, does not waste space and resources, in looks.
4. It's fast, and does the job unobstrusively, it doesn't work well with the Gimp, but I don't use the Gimp.
5. Works fine with my other apps: lxterminal, xfe, mirage, scrot, nano, etc
6. It is not a humungus kde/gnome atrocity, my celeron box, flies on it.

So, try a few, make up your mind, don't listen to us, if you are not happy, nobody around you will be happy. :D

 
Hi macondo,

I do understand that there are many windows managers.

The reason for my inquiry is that I will use the machine for work and I need to be fairly efficient. Thus, I try to follow Oko's advice from another thread (paraphrased) - familiarize oneself with one. Due to my, perhaps paranoid, perception of higher dependency of many applications, including windows managers, on Linux-like structures, I worry that some will become unmanageable, and I will have to learn a new one. Hence my first criterion.

Kindest regards,

M
 
I worry that some will become unmanageable, and I will have to learn a new one. Hence my first criterion.

I've used nothing but x11-wm/fluxbox for over a decade and it is very manageable. For me seamless, as the only real interaction I notice from it is using the right-click menu to bring up the programs I use, and they're just on the desktop screen. Once you set it up after installation it's quiet and at your command with no demands or glitches to disturb your work.

It does have a taskbar but I set that to hide unless my cursor moves to the bottom of the screen and multiple workspaces if you require that in a WM.

I doubt I will ever use anything else as I see no reason to. It's well established and maintained and isn't going away.

http://fluxbox.org/

There are several styles to choose from, all edited from a text file, and range from the plain black and white style I prefer to using icons on the menu for your programs. I have 3 styles available on my site, the B&W, one red and one blue, all easily edited to suit your taste.
 
I use openbox and emacs dired for a file manager. I used to use rox-filer for a desktop icons but I found dired is much simpler so.. Command lines are easyer for most of the time in Unix like systems for me and faster so I am just staying with openbox
And for a taskmanager tint2 is very convenient and light and even pretty. I recommend that too.
 
If you like tiling window managers there are a few:
_ i3 (low on resources, does not depend on that cancer systemd, config it's a plain text file.)
_ awesome ( depends on lua and sometimes he breaks when moving from one version to another)
_ dwm ( if you don't know C, configure him it's a pain in a**).
They are dynamic tiling wms. If you (or somebody else) prefer manual tiling x11-wm/herbstluftwm is a good choice (can find my config at here).
 
Using dwm isn't too hard, actually. I have a page on it, which has a link to step by step on the Debian forums.
I don't know C, but I'm able to figure out the patterns.


http://srobb.net/dwm.html

One thing to watch on FreeBSD though, and probably various Linux distributions. I believe their default terminal is now the st terminal, so to be sure you can open a terminal after installation, if you're not editing config.h, be sure to install st. It's also a good idea to be sure you've installed dmenu.
 
Greetings all,

once more thank you all. I have found several great resources on Openbox, so that is what I am testing now.

Kindest regards,

M
 
Back
Top