OpenBox – eirenicon llc https://eirenicon.org Working together for success! Mon, 11 Dec 2023 15:00:22 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://i0.wp.com/eirenicon.org/wp-content/uploads/2019/03/cropped-eirenicon-1.png?fit=32%2C32&ssl=1 OpenBox – eirenicon llc https://eirenicon.org 32 32 61586100 labwc- A journal, a tutorial? https://eirenicon.org/2023/12/08/labwc-a-tutorial/ Fri, 08 Dec 2023 15:58:07 +0000 https://eirenicon.org/?p=3640 8 Dec 2023- Original Rough DRAFT
9 Dec 2023- Revision 1 of the Draft
11 Dec 2023 – Revision 2 of the Draft

This is a work-in-progress (updates will occur, as I remember to write them). Be AWARE, labwc is fragile. It breaks quite seriously and without much warning and few error detection assists (that I can find or understand) are provided. Use it at your own Risk.

None of this is to say that you should avoid trying to make labwc function, please do; such is the opensource community. Without us, no one will know what ‘needs doing’. By all means jump in and help find the problem areas. Now… on with the show.

There are two pretty ‘straight forward’ method for installing labwc on Debian (sid). I am only testing on sid; thus, you may need to run the meson install method if you are on Debian Stable or some other distro altogether.. Here is a link to the labwc Github page for Build & Install instructions/ guidance. If you are using Debian Sid, here’s a link to the Debian labwc package page. I personally use the following from my terminal (foot) on my SwayWM desktop.

sudo apt install labwc

Next you should make certain that you have the appropriate labwc config files. These seem to mirror those from Openbox. Instructions on how-to get these setup are available from Github. Further clarification and explanation is available on the “Getting Started” page. Reading the aforementioned page provides invaluable insight(s).

Either of the Debian based options work quite smoothly. After you have the Config setup (in basic form) I recommend you reboot. Once your reboot is complete and you login, you even get something akin to a Desktop. Pretty skinny, granted. But it is a good point to build from.

Next, you can begin playing with your favorite Openbox config and try deploying them on labwc. I do this in a step-wise fashion. Below is a current screenshot.

Themes especially for stacking window manager style Desktops are nice to have. Here is a recommended collection. To review and learn about all labwc theme options, see labwc-theme(5) or the themerc example file. Caveat: I have NOT tried using all these themes.

Now for a treasure trove of pre-built themes:

No matter the theme(s) you choose, place them in ~/.local/share/themes/

On Github, johanmalm provides a listing of suggested apps for use with labwc. I have annotated his list with the tools I use (my choice of tool(s) appears in parens.):

Additional tools I use include:

  • file manager: thunar (for root functions I use sudo -E thunar )
  • email: (Thunderbird)
  • software: ( I use synaptic called from terminal via sudo -E synaptic or nala/ apt used normally)
  • browser(s): (Firefox, Microsoft-Edge-Beta)
  • terminal: ( foot )
  • wallpaper changer: ( setwall )
  • I have changed from wofi to a rofi-wayland fork (which runs on both x11 and Wayland), “almost” accurately. Where it has difficulty is in showing all active Wayland/ Xwayland running applications under to command rofi -show window. It is better than nothing (since wofi doesn’t work at this task either), but not by much.

Sad (troublesome) items

Here are some features that are not yet ready and these omissions may make your move from Openbox disappointing. They make mine difficult.

  • Debugging Problems. I find it very difficult to debug errors. When errors occur they are often catastrophic and debug tools are not obvious, to me.
  • Workspaces. They simply are not handled in the same manner as they are on Sway nor do they function like they did using ewmh on Openbox. Here’s the thread highlighting the issue. More posts are available on the web, should you need them. I have found what might eventually be a useful tool, sfwbar. Perhaps, you can make it work better than I am able.
  • Keybinding tools sxhkd/swhkd. Neither seems to be described anywhere I have looked. Thus defining keybindings is a unique and time consuming event, manually needing to built and codified in rc.xml.
  • It is probably worth noting that keybindings are, also, different from Openbox, albeit only slightly.

A word of Caution (because I have now been caught twice unprepared): Be extremely cautious of any updates you might make. Be absolutely certain you are able to roll back to a previous state. Even little (tiny) mistakes can be a cause for a complete rebuild.

More to come as I progress and gather my notes…

Contact me directly with ideas, questions, comments.

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!
]]>
3640
Openbox, simple tiling and other tweaks https://eirenicon.org/openbox-simple-tiling-and-other-tweaks/ Fri, 27 May 2022 17:19:13 +0000 https://eirenicon.org/?page_id=3215 If you enjoy Openbox but are looking to implement a few ‘non-standard’ functions, here are some I find useful. The work below has been tested and runs successfully on PeppermintOS (version 11- systemd) as well as MX Linux 21 (non-systemd). I believe the rc.xml scripts will function ‘pretty much’ anywhere you might install OpenBox.

Simple Tiling Functions

Send Active Window to a designated Workspace (Keybind)

I find it easier to use my keyboard to move an active window to new workspace (rather than using my mouse).  I have created/modified the following function within my rc.xml file to perform the task, as I prefer:

 <!-- OpenBox Simple SendToDesktop (Workspace)-->
   <keybind key="W-S-1">
  <action name="SendToDesktop"><to>1</to></action>
    </keybind>
    <keybind key="W-S-2">
  <action name="SendToDesktop"><to>2</to></action>
    </keybind>
    <keybind key="W-S-3">
  <action name="SendToDesktop"><to>3</to></action>
    </keybind>
    <keybind key="W-S-4">
  <action name="SendToDesktop"><to>4</to></action>
    </keybind>
   <keybind key="W-S-5">
  <action name="SendToDesktop"><to>5</to></action>
    </keybind>
    <keybind key="W-S-6">
  <action name="SendToDesktop"><to>6</to></action>
    </keybind>
    <keybind key="W-S-7">
  <action name="SendToDesktop"><to>7</to></action>
    </keybind>
    <keybind key="W-S-8">
  <action name="SendToDesktop"><to>8</to></action>
    </keybind>
    <keybind key="W-S-9">
  <action name="SendToDesktop"><to>9</to></action>
    </keybind>

Resize a Window to 100%

    <!-- OpenBox 100% Window Resize --> 
 <keybind key="W-Escape">
  <action name="Unmaximize" />
  <action name="MoveResizeTo">
    <x>0</x>
    <y>0</y>
    <width>100%</width>
    <height>100%</height>
  </action>
</keybind>

Jump to desired Workspace (Keybind)

I tweaked (simplified?) the standard rc.xml code to my preference (non-function key use). Note: I use 9 Workspaces.

  <!-- OpenBox Simple SendToDesktop (Workspace)-->
 <keybind key="W-S-1">
<action name="SendToDesktop"><to>1</to></action>
  </keybind>
  <keybind key="W-S-2">
<action name="SendToDesktop"><to>2</to></action>
  </keybind>
  <keybind key="W-S-3">
<action name="SendToDesktop"><to>3</to></action>
  </keybind>
  <keybind key="W-S-4">
<action name="SendToDesktop"><to>4</to></action>
  </keybind>
 <keybind key="W-S-5">
<action name="SendToDesktop"><to>5</to></action>
  </keybind>
  <keybind key="W-S-6">
<action name="SendToDesktop"><to>6</to></action>
  </keybind>
  <keybind key="W-S-7">
<action name="SendToDesktop"><to>7</to></action>
  </keybind>
  <keybind key="W-S-8">
<action name="SendToDesktop"><to>8</to></action>
  </keybind>
  <keybind key="W-S-9">
<action name="SendToDesktop"><to>9</to></action>
  </keybind>

Tile Window (Keybinds):

  • Top/Bottom Half (Keybind): split a Window to 50% screen size a place on either top or bottom half.
 <!-- OpenBox Split Window (Top-Bottom Half)-->     
<keybind key="S-A-Up">
  <action name="SendToDesktop">
    <to>up</to>
    <wrap>no</wrap>
  </action>
</keybind>
<keybind key="S-A-Down">
  <action name="SendToDesktop">
    <to>down</to>
    <wrap>no</wrap>
  </action>
</keybind>
  • Left/Right Side (Keybind): split a Window to 50% screen size a place on either left or right half.
 <!-- OpenBox Split Window (L-R Half)-->   
<keybind key="S-A-Left">
  <action name="SendToDesktop">
    <to>left</to>
    <wrap>no</wrap>
  </action>
</keybind>
<keybind key="S-A-Right">
  <action name="SendToDesktop">
    <to>right</to>
    <wrap>no</wrap>
  </action>
</keybind>

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!

 

]]>
3215
Getting BunsenLabs (Lithium) to run on MX19 & antiX19 (a tutorial) https://eirenicon.org/getting-bunsenlabs-lithium-to-run-on-mx19-antix19-a-journey/ Wed, 09 Oct 2019 14:05:38 +0000 http://eirenicon.org/?page_id=1546 For those who are interested in having a version of BunsenLabs (Lithium) running on MX19 and/or antiX19, I have begun work on that task. Right now I have no plans to build a full respin (where I have to maintain and manage keeping everything current). However, I will provide build instructions so you can roll your own setup.

Below are images of what I have installed and implemented- a basic version of the BunsenLabs Lithium materials (per BL guidance) on MX19. Click on the images to get a bigger view:

If you want to try this (please don’t do it on your daily platform just yet) you may begin the install by installing a copy of MXLinux19 on your test platform. Once you have installed MX19, to create a version on your BL-Lithium on your new MX19 installation, add the following line to your apt sources (/etc/apt/sources.list.d/various.list) :

##BunsenLabs Experimental
deb https://asia.pkg.bunsenlabs.org/~johnraff/debian lithium main

Next, to build a version of BunsenLabs (Lithium- experimental) on MX19 you simply need to enter the following commands in terminal mode:

wget https://kelaino.bunsenlabs.org/~johnraff/helium-dev.asc
sudo cp helium-dev.asc /etc/apt/trusted.gpg.d/
sudo apt-get update
sudo apt-get install --no-install-recommends bunsen-meta-all

Some necessary post-install tweaks, courtesy of @hhh and @johnraff BunsenLabs developers

network ***This does not appear to be required on MX. ****

Since iwconfig sets up the internet connection during the installation, editing of /etc/network/interfaces is necessary after the BL desktop is installed to allow Network Manager to handle connections.

Comment out anything except for the first eight lines as so…

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enp9s0
#iface enp9s0 inet dhcp

wireless ** You may find this necessary if you have the misfortune of using Broadcom WiFi **

Since b43 drivers for Broadcom WiFi are not available in buster, you can download the packages from sid and install them with dpkg -i:

volume icon **Note, this is very likely a temporary item**

pnmixer has a GUI update that hasn’t been configured yet in our [BL] repo.
Fix the panel volume icon via right-click>Preferences>View>Icon Theme, select Use System Theme and click Apply.

— end of @johnraff notes —

Once BunsenLabs is installed, reboot (restart) your system. When you arrive at the LightDM login screen, login to BunsenLabs (not xfce).

After you enter the BunsenLabs desktop, respond to the BL questionnaire.

Notes on the BL questionnaire:

  • I have found adding PAE kernel to be problematic (especially in VirtualBox installs.) You are on your own with that choice.
  • I recommend you avoid the addition of all Backports.

Next, open a terminal window to remove xfce4 (which should cleanup any potential conflicts between BL & MX xfce4 installs). To do that enter

sudo apt remove xfce4*

Caution!! Do not omit, leave off, or quit at the above step. Once it is complete enter the following into your terminal in order to establish a re-baseline (fresh baseline) of BunsenLabs Lithium:

sudo apt-get update &amp;&amp; sudo apt-get install --no-install-recommends bunsen-meta-all

Once BL is updated/ reinstalled install the following in terminal by entering:

sudo apt install compton compton-conf xfce4-terminal

Note: leave xfce4-terminal in the above install items if you like transparent background terminal screens. lxterminal won’t do that.

The next activity will repair your Logout functions. (Remember you can always use Ctl-Alt-Bckspc to Logout if you need to.)

First download the following little file and place it in .config/yad (you’ll need to create that directory manually).

Here’s the file to download: logout.sh

(This file will need to be extracted once it is safely nestled in your nice, new, fresh yad directory.)

Next for tint2 (the menu bar at the top, button on the far right) open your terminal and edit the following file from terminal with the following command:

geany .config/tint2/tintrc

Once open, search tintrc for bl-exit and replace bl-exit with .config/yad/logout.sh. Save & Close tint2rc.

You need to do the same sort of thing to repair the Exit function in jgmenu (the little flame menu and desktop menu). Edit the following file from terminal with the following command:

geany .config/jgmenu/prepend.csv

Once open, search prepend.csv for bl-exit and replace bl-exit with .config/yad/logout.sh. Save & Close prepend.csv

Lastly, I recommend that you download and install obmenu-generator. To get the latest copy, go here and download the copy for Debian 10 (Buster).

Once you have installed obmenu-generator open your terminal and enter:

obmenu-generator -s -c

Then remember to do this after every additional or removal of software to keep your menu ‘current’.

Do you hear the trumpets? See the fire works? You are done. You now have MXLinux19 with the very cool BunsenLabs Lithium Desktop,

Here is an image of Lithium on running on mx19, with yad logout and new background.

antiX19 with Lithium Experimental:

(this section will be updated when antiX19 reaches RC phase).

The following fairly simple process accomplishes the transition of antiX from a standard setup to one using BunsenLabs (Lithium experimental release- Openbox):

  1. Install the current beta version of antiX19b3
  2. Add the following line to your apt sources (/etc/apt/sources.list.d/various.list) :
     ##BunsenLabs Experimental 
    deb https://kelaino.bunsenlabs.org/~johnraff/debian lithium main 
  3. To build a version of BunsenLabs (Lithium- experimental) on antiX19b3 you simply need to enter the following commands in terminal mode:
    1.  
      wget https://kelaino.bunsenlabs.org/~johnraff/helium-dev.asc 
      sudo cp helium-dev.asc /etc/apt/trusted.gpg.d/
      sudo apt-get update
      sudo apt-get install --no-install-recommends bunsen-meta-all
       
  4. Next remove the following standard antiX components, if you desire a more standard Bunsenlabs-like OpenBox installation (you may do this using the antiX Control Centre or via terminal mode):
    1. SLIM
    2. fluxbox
    3. icewm
    4. jwm
    5. herbstluftwm
  5. Because Display Managers are crucial and sometimes disappear (on me anyway), I recommend you use terminal mode to install lightdm. BunsenLabs does not seem to work well otherwise.
  6. That should do it. Reboot and enjoy.

 

]]>
1546
antiX Openbox & Xfce Respin https://eirenicon.org/knowledge-base/antix-openbox-xfce-respin/ Thu, 13 Jun 2019 17:18:43 +0000 http://eirenicon.org/?page_id=1192 I recently created a variant (respin, draft release) snapshot of antiX19-alpha2. It contains two non-antiX standard desktops:

  1. Openbox
  2. Xfce.

Things I did not worry about in this initial version include:

  1. Wallpapers: I provided a bunch. Pick something you like. I’m agnostic in that realm. I like what I like; and, I am happy to admit you should enjoy what you like.
  2. Themes: I have not really dug into that area very much for this version. Openbox uses Numix with Greybird & Xfce uses Flat-Remix with Greybird
  3. Icons: I have used the flat-remix icons on both Desktops.
  4. Fonts: I used Roboto.

Openbox screenshot

Xfce Desktop Screenshot

Here is what and how I added to the base antiX19-alpha:

  1. I added xfce minimal (via package installer).
    sudo apt install xcompmgr tint2 xcompmgr gnome-disk-utility fonts-roboto-hinted baobab fonts-roboto-hinted tumbler tumbler-plugins-extra gvfs gvfs-backends light-locker lightdm-gtk-greeter-settings greybird-gtk-theme xfce4-whiskermenu-plugin obconf obmenu openbox
    
  2. I build obmenu-generator using:
    sudo apt-get install build-essential cpanminus git &amp;&amp; git clone git://github.com/trizen/obmenu-generator &amp;&amp; sudo cp obmenu-generator/obmenu-generator /usr/bin &amp;&amp; mkdir .config/obmenu-generator &amp;&amp; sudo cp -r obmenu-generator/schema.pl ~/.config/obmenu-generator/ &amp;&amp; sudo cpanm Linux::DesktopFiles &amp;&amp; sudo cpanm Data::Dump &amp;&amp; sudo chmod +x /usr/bin/obmenu-generator &amp;&amp; obmenu-generator -p -i
    

Code & changes to the base includes:

  1. I built a new tint2 taskbar for use on Openbox. (basic script included in the installation).
  2. I turned off and removed the four native antiX window managers (iceWM, fluxbox, jwm, herbstluftwm).
  3. Openbox uses tint2 as its taskbar.
  4. Openbox uses xdesktop as its Desktop & wallpaper manager (it shares a common desktop with Xfce).
  5. Tint2 in Openbox uses obmenu (obmenu-generator)
  6. I used 5.0.9 antiX kernel (because I could, I guess.)
  7. I removed spaceFM & rox-filer.
  8. Conky has s few fancy (for me) tweaks. It should magically report any active network connects via eth0, wlan0, tun0, usb0. If you have a different network connection (name) you will need to modify conky to allow yours to be reported.
  9. As for where to find each conky:
    — Xfce uses $Home/.conkyrc
    — Openbox uses $Home/.conky/.conky-startup.sh
  10. I removed Slim (Display Manager) and replaced it with LightDM

All standard antiX tools/scripts have been maintained and the antiX control centre etc. remains intact (so far as I can tell). Although, I ‘may’ have introduced a few new bugs/ or perhaps uncovered a couple of latent bugs.

Known Open Issues/ Bugs:

  1. I messed up and lost the install icon. Please use terminal with the following command for installation. (user: demo/ pwd: demo)
    sudo minstall
    

Here is the location for the download/ snapshot:

Please report bugs, problems, concerns as you find them. Here’s a place to reports issues, hopes, desires (for this respin). I greatly appreciate your using my Ticket Tracking System (osTracker) if you don’t mind–  eirenicon Help.

Thanks & have fun.

 

]]>
1192
To install Openbox on antiX https://eirenicon.org/knowledge-base/to-install-openbox-on-antix/ Thu, 13 Jun 2019 17:07:28 +0000 http://eirenicon.org/?page_id=1178 Install the following for Openbox & obmenu-generator:

sudo apt-get install cpanminus git && git clone git://github.com/trizen/obmenu-generator && sudo cp obmenu-generator/obmenu-generator /usr/bin && mkdir .config/obmenu-generator && sudo cp -r obmenu-generator/schema.pl ~/.config/obmenu-generator/ && sudo cpanm Linux::DesktopFiles && sudo cpanm Data::Dump && sudo chmod +x /usr/bin/obmenu-generator && obmenu-generator -p -i

]]>
1178
xdotool use in Openbox https://eirenicon.org/knowledge-base/xdotool-use-in-openbox/ Thu, 13 Jun 2019 14:02:41 +0000 http://eirenicon.org/?page_id=1140 Once XDoTool has been installed – if not already present – it will be necessary to create a keybind to access the root menu in ~/.config/openbox/rc.xml, and again below the <!– Keybindings for running aplications –> heading. For example, the following code will bring up the menu by pressing CTRL + m:

<keybind key=”C-m”> <action name=”ShowMenu”> <menu>root-menu</menu> </action> </keybind>

Place this command on tint2 execute Button. xdotool key control+m If you prefer to use jgmenu the above is not required. Simply install jgmenu and use this command on an execute button: jgmenu_run

]]>
1140