summaryrefslogtreecommitdiff
path: root/content/blog/2024/fvwm-part-1.md
diff options
context:
space:
mode:
authormms <michal@sapka.me>2024-09-03 16:04:57 +0200
committermms <michal@sapka.me>2024-09-03 16:04:57 +0200
commit16ba47359aaf3df9b0ed133dc6f340020c81cbbe (patch)
treeec1807663e3234d4376aa1e72627f02ea92d2331 /content/blog/2024/fvwm-part-1.md
parentb111ae3706feea7a2d3fa79805240d2b469117e5 (diff)
feat: a lot
Diffstat (limited to 'content/blog/2024/fvwm-part-1.md')
-rw-r--r--content/blog/2024/fvwm-part-1.md117
1 files changed, 117 insertions, 0 deletions
diff --git a/content/blog/2024/fvwm-part-1.md b/content/blog/2024/fvwm-part-1.md
new file mode 100644
index 0000000..40905af
--- /dev/null
+++ b/content/blog/2024/fvwm-part-1.md
@@ -0,0 +1,117 @@
++++
+title = "Fvwm - part I"
+author = ["MichaƂ Sapka"]
+date = 2024-09-02T22:31:00+02:00
+categories = ["blog"]
+draft = false
+weight = 2002
+image_dir = "blog/images"
+image_max_width = 600
+abstract = "Descend into madness"
++++
+
+Ever since I moved back to Linux (and then FreeBSD) I've rocking near stock DWM.
+Well, for quite some time I've been eyeing this other gorgeous windows manager - Fvwm.
+Today, I stumbled upon [Carl Svensson's config](https://www.datagubbe.se/fvwm/)[^fn:1] and decided to finally pull the plug.
+
+I have a very short experience with Fvwm3, as it comes as the default Xorg WM on [OpenBSD.](https://man.openbsd.org/fvwm)
+
+But I'm on FreeBSD, so I had to install the package:
+
+```shell
+pkg install fvwm3
+```
+
+And 3 megs later I was rocking a spanking new wm.
+At first, it was confusing as I've been told that there should be some panel on the right, but there was none.
+
+{{< image class="centered" alt="Screenshot of Fvwm with panel in the middle." file="fvwm-240902-1.png" >}}
+What the hell?
+All screenshots made with Gimp.
+{{< /image >}}
+
+If you look at my [setup](https://michal.sapka.me/blog/uses/), you will notice that I have a laptop in permanently closed state.
+The docked laptop is the right screen, I just never see it.
+It was time to say goodbye to it and my `.xinit.rc` now has a
+
+```shell
+...
+xrandr --output DP-2 --off & \
+...
+```
+
+Which resolved the issue!
+
+{{< image class="centered" alt="Screenshot of Fvwm with panel on the right." file="fvwm-240902-2.png" >}}
+A very usable desktop.
+{{< /image >}}
+
+Time to explore!
+Fvwm may be old, but it rocks features I've never seen anywhere else.
+In this way, it is a bit like Emacs - it plays in a league of its own.
+
+{{< image class="pull-left" alt="A 2x2 grid" file="fvwm-desktops.png" >}}
+Desks and pages
+{{< /image >}}
+
+We are pretty used to having multiple virtual desktops, even Windows has them.
+Those are called `desks` here - a separate workspace.
+But each desk is separated into multiple `pages` you can move to by moving the pointer to the edge of screen.
+Kind of like RTS game, where you scroll the map the same way.
+Therefore, the virtual desktop is larger than the physical screen.
+The size here is 2x2.
+You can, of course, move windows between pages by dragging them.
+
+This will be difficult to adjust.
+First, by default there is no keyboard control.
+Second, when scrolling, the mouse pointer maintains its virtual position - so, you move the screen down to move below and the cursor moves to the top of the screen.
+Thirdly, a scroll is not always the same size - sometimes I move a full page down, sometimes I am in-between two.
+I have no idea how to use this feature.
+It is as cool as confusing.
+
+Mouse centrism doesn't end here.
+Click on wallpaper with any mouse button to see a dedicated menu.
+
+{{< image class="pull-left" alt="A 2x2 grid" file="fvwm-winops.png" >}}
+Windows operations
+{{< /image >}}
+
+Even though you can resize, move, and so on every window by interacting with it, it's also available from this menu.
+You first select what you want to achieve, then click the window and perform the action.
+Fvwm is a child of TWM, which is the default WM for Xorg and this how it was done it there.
+
+Note, the "(un)" prefix - those work as switches, not flags.
+
+Iconified is just like "hiding" windows in other WM.
+Shading hides the window, living only title bar.
+Sticky windows will be present on all pages.
+You can also move the window to given desktop/page, and define Y position relative to other windows.
+
+{{< image class="pull-right" alt="A 2x2 grid" file="fvwm-fvwm.png" >}}
+The Fvwm menu
+{{< /image >}}
+
+The second menu is more of what I would expect.
+You can run programs (list is loaded dynamically), open XTerm.
+In my case "Run Command" opened dmenu, which was a huge surprise.
+
+Then you've got the "Fvwm prompt" with is a command line way to interact with the window manager.
+You can change the wallpaper, open Fvwm related man pages and copy your config to clipboard.
+For now, I have no config, so this will come later.
+
+The last three options allow you to refresh (redraw all windows), restart Fvwm without killing running programs and quit Fvwm completely.
+
+{{< image class="centered" alt="A 2x2 grid" file="fvwm-appswitcher.png" >}}
+Application switcher
+{{< /image >}}
+
+Maybe the one straight-forward one: app switcher.
+Switching app will move you to page on desk with given application, and activate it
+
+So, this is out-of-the-box experience with Fvwm.
+It's different from anything I've used recently.
+From what I've been told, anything here can be adjusted, so I'll start working on my config file soon.
+As for now, I have to get used to paging as it's the one thing which I have no idea how to use.
+
+[^fn:1]: Datagubbe is one of the sites which inspired me to start my own.
+ It's outstanding!