Monday, July 31, 2017

diggin' some fluxbox!

After installing Fluxbox in Debian Stretch, it might look like the default setup isn't much to work with, and the first impulse might be to go online to look for help. However, I found that apt-get install fluxbox brought in most of what I needed to get going, including great documentation.

If you can't find the app you're looking for in the default Fluxbox menu, commands can be run by opening up fbrun with the Alt+F2 keystroke.

Fluxbox comes with a bunch of fairly easy text files that can be used to modify just about anything. The key to Fluxbox, I think, is reading the documentation that Fluxbox comes with -- examine the default Fluxbox files, and definitely read the man pages.

I found the default Fluxbox files in the /etc/X11/fluxbox directory. Default Fluxbox styles are at /usr/share/fluxbox/styles. The idea is to copy default files into the ~/.fluxbox directory, then edit as desired.

For a little help and info, run:

$ fluxbox -h
$ fluxbox -info

man pages:
See man fluxbox as well as these other man pages: fluxbox-apps(5) fluxbox-keys(5) fluxbox-style(5) fluxbox-menu(5) fluxbox-remote(1) fbsetroot(1) fbsetbg(1) fbrun(1) startfluxbox(1)

Users should be sure to check out the ~/.fluxbox/keys file, to see what can be done on the Fluxbox desktop with the keyboard and mouse. This is important! See man fluxbox-keys for more info about using the keys file. My current ~/.fluxbox/keys file (Mod1 = Alt; Mod4 = Super):

# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu

# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace

# scroll on the toolbar to change current window
OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)

#added by steve - middle click on the toolbar to open root menu
OnToolbar Mouse2 :RootMenu

# alt + left/right click to move/resize a window
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindowBorder Move1 :StartMoving

OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright

# alt + middle click to lower the window
OnWindow Mod1 Mouse2 :Lower

# control-click a window's titlebar and drag to attach windows
OnTitlebar Control Mouse1 :StartTabbing

# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Shade

# left click on the titlebar to move the window
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
OnTitlebar Move1  :StartMoving

# middle click on the titlebar to lower
OnTitlebar Mouse2 :Lower

# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu

# alt-tab
Mod1 Tab :NextWindow {groups} (workspace=[current])
Mod1 Shift Tab :PrevWindow {groups} (workspace=[current])

# cycle through tabs in the current window
Mod4 Tab :NextTab
Mod4 Shift Tab :PrevTab

# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9

# open a terminal
Mod1 F1 :Exec x-terminal-emulator

# open a dialog to run programs
Mod1 F2 :Exec fbrun

# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
176 :Exec amixer sset Master,0 1+
174 :Exec amixer sset Master,0 1-
160 :Exec amixer sset Master,0 toggle

# current window commands
Mod1 F4 :Close
Mod1 F5 :Kill
Mod1 F9 :Minimize
Mod1 F10 :Maximize
Mod1 F11 :Fullscreen

# open the window menu
Mod1 space :WindowMenu

# exit fluxbox
Control Mod1 Delete :Exit

# change to previous/next workspace
Control Mod1 Left :PrevWorkspace
Control Mod1 Right :NextWorkspace

# send the current window to previous/next workspace
Mod4 Left :SendToPrevWorkspace
Mod4 Right :SendToNextWorkspace

# send the current window and follow it to previous/next workspace
Control Mod4 Left :TakeToPrevWorkspace
Control Mod4 Right :TakeToNextWorkspace

# change to a specific workspace
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4
Control F5 :Workspace 5
Control F6 :Workspace 6
Control F7 :Workspace 7
Control F8 :Workspace 8
Control F9 :Workspace 9
Control F10 :Workspace 10
Control F11 :Workspace 11
Control F12 :Workspace 12

# send the current window to a specific workspace
Mod4 F1 :SendToWorkspace 1
Mod4 F2 :SendToWorkspace 2
Mod4 F3 :SendToWorkspace 3
Mod4 F4 :SendToWorkspace 4
Mod4 F5 :SendToWorkspace 5
Mod4 F6 :SendToWorkspace 6
Mod4 F7 :SendToWorkspace 7
Mod4 F8 :SendToWorkspace 8
Mod4 F9 :SendToWorkspace 9
Mod4 F10 :SendToWorkspace 10
Mod4 F11 :SendToWorkspace 11
Mod4 F12 :SendToWorkspace 12

# send the current window and change to a specific workspace
Control Mod4 F1 :TakeToWorkspace 1
Control Mod4 F2 :TakeToWorkspace 2
Control Mod4 F3 :TakeToWorkspace 3
Control Mod4 F4 :TakeToWorkspace 4
Control Mod4 F5 :TakeToWorkspace 5
Control Mod4 F6 :TakeToWorkspace 6
Control Mod4 F7 :TakeToWorkspace 7
Control Mod4 F8 :TakeToWorkspace 8
Control Mod4 F9 :TakeToWorkspace 9
Control Mod4 F10 :TakeToWorkspace 10
Control Mod4 F11 :TakeToWorkspace 11
Control Mod4 F12 :TakeToWorkspace 12



Lately, I've been much more interested in Openbox than in Fluxbox, but I've gained a new appreciation for Fluxbox after installing it in Stretch and getting it set up to suit my tastes. It's super-customizable, it includes lots of great features for navigating and manipulating the desktop, and it's a pleasure to use for just plain getting work done.

Fluxbox is at version 1.3.5 in Debian 9 ("Stretch"), but the latest version (currently 1.3.7) can be found at http://fluxbox.org/download/ or at https://sourceforge.net/projects/fluxbox/files/fluxbox/.

See:

https://wiki.debian.org/FluxBox
http://fluxbox.org/

Sunday, July 30, 2017

a tweak here, a tweak there

Another look at my Fluxbox setup in Debian Stretch, this time with a top panel -- "toolbar" in Fluxbox-speak -- set to 100% width, and a revised menu:


In the ~/.fluxbox/init file, I'm using the following line for the toolbar:

session.screen0.toolbar.tools:    RootMenu, workspacename, prevworkspace, nextworkspace, iconbar, systemtray, clock

The "RootMenu" part puts a right-arrow button on the toolbar; clicking on that opens the Fluxbox menu (which can also, of course, be opened with a right-click on the empty desktop).

Saturday, July 29, 2017

adding fluxbox in stretch

I installed Debian Stretch on an old notebook a few months ago; for this installation, I went with the Openbox window manager, but no desktop environment.

Later, I decided to add Fluxbox.

The default Fluxbox desktop in Stretch:


The default menu wasn't all that great, but it included an entry for gmrun, which was enough for me to get to work.

Here's how my Fluxbox desktop is looking right now:



Not too bad.

By the way, there's a project (still under development) called DebianFluxbox, which is "a Debian Pure Blend which aims to provide a fully configured installation of Fluxbox, a light weight windows manager, out of the box." Interesting; I'd like to check it out sometime.

Monday, July 10, 2017

time and date in plasma 5

KDE Plasma 5 (version 5.8.6 in Debian 9) is still kinda lacking when it comes to being able to customize the date and time formats, but the "Formats" window in the System Settings Module does help somewhat.


I prefer to have a 24-hour digital clock, and I like a mm-dd-yy date format. Or even something like  Jul 07 17 or Jul 07  -- either one would be fine with me. I can easily do these things in Xfce, but not in Plasma 5.

Getting the 24-hour digital clock was fairly simple; I marked the "Detailed Settings" box; then, changed the setting for "Time" to "Default (C)":


Then I clicked the "Apply" button. I had to log into a new session for the changes to take effect.

Note the "Examples" towards the bottom of the "Formats" window. The "short format" for the date is not exactly what I want. The "short format" is what shows up for the date on the panel; I saw no easy way to customize it to my liking, so in the end I decided to leave the date off the panel. I guess I can live with seeing the date when the cursor is hovering over the digital clock:


goodbye to the K, hello to the Swirl

Clicking on the big "K" icon on the KDE Plasma 5 panel brings up the Application Menu -- aka, at least in the old days, as "the KMenu." That icon is shown here, at the bottom of my left-side, vertical panel:


In Debian 9 ("Stretch"), I prefer a Debian logo icon. To change it, first I right-clicked on the "K" icon and selected "Application Menu Settings...":


In the Applications Menu Settings window, I marked the box to "Use custom image":


Then, over to the right of that, I clicked on the folder icon:


In the "Choose an image" window, I navigated to the /usr/share/pixmaps directory and selected debian-logo.png:


Then, back in the "Application Menu Settings" window, I clicked the "Apply" button:


All finished:


Wednesday, July 5, 2017

stretch, with kde and openbox

Debian 9 ("stretch") was officially released as the latest Debian Stable on June 18. A little over a week later, I downloaded the debian-9.0.0-amd64-netinst iso and did a network installation; I went with the KDE Plasma 5 desktop, and I also added Openbox.

Stretch ships with KDE Plasma 5.8.6. I've added the Double Commander file manager to use instead of Dolphin, along with several other apps that weren't provided by default, like Geany text editor, VLC media player, Geeqie image viewer, and Mirage image viewer. Stretch comes with Firefox ESR (version 52.2.0), but I installed Pale Moon web browser to use instead.

Some other packages I added included synaptic, inxi, rsync, localepurge, screenfetch, and some stuff to use in Openbox, like nitrogen, gmrun, the Debian menu package, compton (for Konsole transparency in Openbox), and gxmessage for my logout/shutdown script.

The default Plasma desktop in Stretch:


Note the absence of application launchers on the panel. Those can be added, of course, but I kinda like that the choice is left to the user.

Here's a shot of the empty desktop after I made some changes:


Clicking on the KMenu displays what, in my opinion, is a smart arrangement: a customizable "Favorites" bar, which I use instead of "traditional" panel launchers; below that, the Logout, Reboot, and Shut Down buttons; the Application Menu, which I use instead of Plasma 5's default Application Launcher; and below that, a search box:


From the Desktop Settings, I switched around the mouse actions so that a left-click on the open desktop reveals the Standard Menu and a right-click opens the "Application Launcher" menu:



I've turned off most of Plasma 5's desktop effects, but one I've kept is the Desktop Cube. In my case, it isn't really a "cube" since I use only three virtual desktops:


For my Openbox setup, I'm using a customized desktop right-click menu, and a left-side, vertical tint2 panel with a few application launchers at the bottom. KDE apps, and all other apps, are of course available from within the Openbox session:




While many people complain (quite loudly, in many cases) that Debian is still too time-consuming (and, at times, still to difficult) to install and set up, I rather enjoy the process. I feel the same way about installing Arch Linux. For users with less patience and less time on their hands, there are many other Linux distros out there that provide nicer out-of-the-box experiences than what you'll get from Debian (or Arch), but at the cost of fewer installation options. Also, those "easier distros" tend to include a lot more stuff that I don't want or need.

In any case, I'm now set with another nice Debian Stable installation, which I'll be using on my main computer for the next two or three years. Life is good.

Some options for getting Debian can be found here: https://www.debian.org/distrib/