Welcome!

The kernel problem with recent updates has been solved. Find the solution here

Important information
-- Required MX 15/16 Repository Changes
-- Information on torrent hosting changes
-- Information on MX15/16 GPG Keys
-- Spectre and Meltdown vulnerabilities

News
-- Introducing our new Website
-- MX Linux on social media: here

Current releases
-- MX-18.3 Point Release release info here
-- Migration Information to MX-18 here
-- antiX-17.4.1 release info here

New users
-- Please read this first, and don't forget to add system and hardware information to posts!
-- Here are the Forum Rules

Tweaking antiX Fluxbox to look more "modern"

Post Reply
PPC
Forum Regular
Forum Regular
Posts: 133
Joined: Tue Sep 11, 2018 8:22 am

Tweaking antiX Fluxbox to look more "modern"

#1

Post by PPC » Wed Jan 16, 2019 11:31 am

Hi everyone.
The point of this "tutorial" is to easily tweak antiX Fluxbox Desktop in order to achieve a more modern look. I was inspired by MX Linux default look. My test desktop looks like this:

Image

It's possible to achieve a very close look and feel to MX Linux using only antiX and the Fluxbox Desktop, without installing extra software that will drain your precious system resources (if RAM is not a problem for you, you can install Tint2- a very good toolbar, that allows quick launch icons, also you have Fbmenu, Plank, or install XFCE etc, etc). My goal was to have the best looking Desktop I could without using extra resources, only using themes and icons and font packages (optionaly).
(Why do it and not install MX if I like it so much? I do have MX installed on a Desktop PC but my Netbook and home Desktop don’t have enough resources to run MX well, they are antics with 1 gig of RAM… so antiX its is :-)... and also, I just like how light antiX runs)

[Note: most changes to Fluxbox will only become effective after you restart Fluxbox- either by rebooting or using the menu Exit → restart session. This last option takes only a couple of seconds and does not even close any applications you have running...]

A- Changing FluxBox theme to a more “modern” one - Arc Dark, just like MX linux.
What this means: the windows decorations will look like MX linux’s, and similar to other more used distros: with the icon of the application on the left of the title bar and the shade, minimize, maximize and close buttons on the right, just like MX’s)
There’s a Fluxbox theme called "Arc dark", available on-line. (I knew nothing about themes when I started doing this and, in my spare time, used trial and error to tweak it to achieve window decorations and a toolbar that used similar colours to the default MX theme).
You can, of course, use the default theme or any other theme you like.
How to steps:
1-download the theme you like, in my case Arc Dark (see link below), (I adapted it from the one created by Alfonso Saavedra "Son Link" <sonlink.dourden@gmail.com>, adapted from Arc Dark theme: https://github.com/horst3180/Arc-theme).
2- extract the theme file to the folder you want it in (ex: home)
3- Open antiX Control Centre - Desktop tab - edit Fluxbox definitions. This opens the default text editor Geany with several Fluxbox configuration files open on several tabs (unfortunatly most tweaks you can do on Fluxbox have to be made via text configuration files- it scared me a bit, but when I got it mechanics it feels like a good way to tweak a system. I don't like editing text configuration files, but, then again, I only have to do it once, and then have a system that looks like I want).
4- Edit the file "init" changing the line that sets the "session.styleFile" option, pointing it to the full path of the folder where your theme files are.
In my case that line now reads:
session.styleFile: /home/demo/Live-usb-storage/Arc-Dark
5- Restart Fluxbox


Tip: Adding your most used applications to the desktop can be easily done, if you are using rox or spacefm to manage your desktop: open your file browser and navigate to /usr/share/aplications and you'll see the links (.desktop files) to all your installed applications. Just drag and drop the ones you want to your desktop... You can then right click that icon and edit or even remove the icon's text.

Optional-1: Adding a "start menu" to the toolbar
In case you don’t want any more hard work and are happy with just a cooler looking Fluxbox DE there’s nothing more I can advise you to do, except adding a “start menu”, which is always handy for people that, like me, are used to that almost universal feature. In order to achieve this add “RootMenu” to the “session.screen0.toolbar.tools:” line in your Fluxbox's "init" file.
Be aware that the menu is simply a triangle pointing right, not an icon you can change or edit (more on that below).
My toolbar was simple looking without showing the different desktops I don’t use. My line used to read something simple like:
session.screen0.toolbar.tools: RootMenu, iconbar, systemtray, clock

Another pretty good tip is configuring "windows" key to fire up the RootMenu: in Geany click in the "keys" tab and add a new line, anywhere, that reads as:
Super_L : RootMenu

Optional-2: changing the icons the system uses (and make them look like MX Linux's)
Install a gtk theme you like. In my case I read that MX uses Papirus. So I downloaded the file papirus-icon-theme-20181007.tar.gz (I don’t recall where I got it, but there is a deb file in packages.debian.org called “papirus-icon-theme” it should be a easier way to install this theme: Download the theme .deb file and install it (ex: via terminal navigate to the file’s location and do “sudo gdebi name_of_the_file.deb”). You can then choose the icons you want antiX to use to use via antiX Control Center- desktop tab- Look and Feel icon- Icon tab.

Warning: The next tweaks are a bit more complex than installing a theme and doing this simple editions to Fluxbox config files, but nothing particularly hard (I'm not a pro at tweaking OS's and I figured out how to do all this, reading from several on-line sources and asking the right people. I simply tried to put all the info I gathered on a single place)...

B- Adding buttons to the Fluxbox tool bar:
Note: the Fluxbox version that comes with antiX 17.X does not allow the creation of any buttons (like quick launch buttons) on it’s toolbar. Fortunately I stand in the shoulders of giants :-)... This is where Skidoo comes in (Thanks a lot for your hard work, Skidoo!).
Skidoo altered Fluxbox back in the dark ages of 2017 in order to make antiX's Fluxbox able to have a start menu (that said "menu") and even a show desktop button, and making it possible to create quick launch buttons- but without icon, only “text” labels (sorry it’s a DE limitation).
You can install that Fluxbox version available from https://github.com/antix-skidoo/fluxbox

1- if you are using Fluxbox, it’s better to switch to another Desktop (Menu- desktop- other desktops- IceWM, for example)
2-compile Fluxbox version personalized by Skidoo or simply read the available files list from the site and get the .deb file that installs without any problem or the need for any dependencies in antiX 17.X
3-after getting the deb file I installed it with via the terminal with sudo gdebi name_of_the_file.deb. Note: You are prompted to enter "y" in order to install it.
4- switch Desktop back to Fluxbox (Menu- desktop- other desktops- Fluxbox). In my case, it looked the same as before, that's because we have to edit the init file in order to use the now available buttons...
This is the longest part, because it involves a good number of text lines:
Once again, edit Fluxbox’s "init" file in Geany. You have to add at least a couple of lines for each button you want to create and then add that button to the “session.screen0.toolbar.tools:” line in order for it to show up in your toolbar. Sounds complex, I know, but it really is not, after you get the hang of it.
Adding a launcher for a program (except the "Rootmenu" and "Show desktop" button's particular cases- for these I use as example the buttons created by Skidoo) implies at least 2 lines (a third line, about the font is optional):
session.screen0.toolbar.button.[name_of_button].commands: exec [command you want the button to execute]
session.screen0.toolbar.button.[name_of_button].font: [font_name]-[font_size]
session.screen0.toolbar.button.[name_of_button].label: [what you want to be displayed on this button- name or a glyph]

Examples (just so you understand how creating a “button” works):
#creating a start menu that appears as "Menu" on the toolbar:
session.screen0.toolbar.button.homenu.font: sans-8
session.screen0.toolbar.button.homenu.label: Menu
session.screen0.toolbar.button.homenu.commands: RootMenu
#creating a Show Desktop button that reads "ShowDesktop"- Skidoo's orginal "button" displayed 2 arrows
session.screen0.toolbar.button.togshowdesk.commands: ToggleCmd {ShowDesktop Matches (Title!=conky)} {DeIconify all}
session.screen0.toolbar.button.togshowdesk.label: ShowDesktop
#creating a Firefox button:
session.screen0.toolbar.button.ff.commands: exec firefox
session.screen0.toolbar.button.ff.label: Firefox
# creating a File Manager button that displays as FM
session.screen0.toolbar.button.pc.commands: exec spacefm
session.screen0.toolbar.button.pc.label: FM
#last example: creating a button to execute the terminal, that displays as Terminal
session.screen0.toolbar.button.terminal.commands: exec lxterminal
session.screen0.toolbar.button.terminal.label: Terminal


You can then place the quick launch "buttons" you created anywhere you want in the toolbar, editing the line “session.screen0.toolbar.tools”...
Example: to add Menu, show desktop. Firefox and Spacefm buttons to your toolbar, after entering the "label" lines as shown above in the init file, without leaving any empty lines:
session.screen0.toolbar.tools: button.homenu, button.togshowdesk, button.ff, button.pc, iconbar, systemtray, clock

Do a Menu- Log Out- Restart Session and there you go: You now have quick launch buttons on Fluxbox.
But using text labels is not what people are used to these days, it wastes toolbar space and people are used to clicking icons. You can’t really, for now, at least, have icons of Fluxbox buttons (you have icons on the menu, on the windows bar, but, for some reason, not the buttons)… But there’s a way around that... you can use glyphs (symbols that are available in the fonts installed to the system).

Instead of text, your button labels can display glyphs, like this: \117, ••• , ℱℱ, ▄ , ██ , □ , ⋁⋁, ҉ ם , ԍ ,
Δ ,Χ , χ , ֩ , ⌧ 🐭 ✘✉✌✍✎✒✖✪❏𝕏 (and many more)
Like Skidoo says in a post in the antiX Forum (https://www.antixforum.com/forums/topic ... labeltext/), some glyphs work but some just don’t work. Geany may even show the correct glyph but a ugly “tofu” character shows up on your toolbar when you refresh it. Edit the labels for each button as you like, using “glyphs” that work for you (this may take some trial and error if you try other glyphs than the ones I show above).
Examples: In my case I used “𝕏” for the RootMenu (yeah, similar to MX’s start menu icon, I also liked “•••” that I saw some distro I don’t recall uses as start menu icon), □ for the show desktop, ℱℱ for Firefox… Or it’s a good idea to simply use single letters as labels: F for Firefox, T for the terminal…
I belive most non technical minded people probably don’t need any more toolbar buttons other than Start Menu, Show Desktop and Web Browser. If you don’t want to navigate the menu to run software, you can always create a desktop icon to run it (as long as you use Fluxbox desktop managed by rox or spacefm). If that’s your case, you are set: If you can’t see your desktop, click the show desktop button, click the icon for the application you want… In two clicks you are able to start the program you want. Or you can edit the Fluxbox menu file to show in the first place the apps you need the most (take a look the menu file in Geany, it's mechanics are easy to grasp once you made it this far). Once again, they start in two clicks… But having a button on the taskbar enables you to start a program with only one click (yeah, saves you a second of your life :-) ).

FINAL EDIT (18/1/2019):
NOTE: It may be a problem in my system (I run antiX 17.3.1 live USB) but I noticed the line that specifies the font for each button in the Fluxbox init file (ex: session.screen0.toolbar.button.homenu.font: sans-8) does not work for me. I can try changing font sizes, adding bold, changing fonts, but the toolbar always displays the same default font… As far as I know the only way I can change the fonts that are shown on the Fluxbox toolbar buttons is editing the style that is being used in the theme's "theme.cfg" file, adding a line that sets the font to be used in all toolbar buttons. Ex: how to use "ubuntu" font:
toolbar.button.*.font: ubuntu

C- Using “Icons” on Fluxbox toolbar buttons:
You can’t really have icons on the toolbar buttons, but the way I found around that happened by chance, when I found out that there were fonts with characters that looked like application icons (for example, Firefox or Chrome icons)... That, you can use on your Fluxbox buttons!
How to:
1-download the font you want to use. In my case "font100icons” (from https://www.fontspace.com/elharrak/font-100-icons). Note that this font is free for non commercial use only, it’s not “free” or opensource, so even if I wanted to, I can’t provide it for you. There are some other very nice fonts you can use over at fontspace.com, but I liked this one. If needed, extract it to the folder you want it in.
2- install the font: there are several ways to install fonts... I use a mix of User Interface and terminal:
Open the file browser SpaceFM, click the File menu and select "root window". Open a tab and use it to navigate to the icon file location. Open a second tab and navigate to "usr/local/share/fonts" and copy the font file there.
Then you can reboot or simply (and faster) open the terminal and enter this command, so the system can access the font without rebooting:
fc-cache -f -v
3-You can then open a font viewer or simply use LibreOffice Writer- Menu-Insert –Special character and navigate to the new available font and explore the font and find out which character is assigned to each glyph/icon. Copy and Paste the desired glyph to the label of your toolbar button in the init file.
You can copy/paste the characters you want from the insert character in LibreOffice Writer (or any other way) directly in your button label in the init file in Geany. It will display as the character that corresponds to the glyph you want on Geany, not the glyph itself, but, as soon as you restart Fluxbox, you’ll see the glyph you want on the button label…
I used the Penguin glyph as “start menu”, Firefox glyph for “firefox” and so on… I created two new glyphs, for “show desktop” and the file explorer (using fontforge appimage- feel free to create fonts with "icons" and post if to be used without restrictions, I no longer have the time for tweaking my OS any further).
4- Force Fluxbox to use this font (or any other you want) in the toolbar buttons, by editing the theme's "theme.cfg" file and adding one last line that reads something like this:
toolbar.button.*.font: font100icons
5- Restart Fluxbox and you'r done, enjoy your very customized User Interface…

Further Ideas for adventurous folks:
You can find more glyphs in .svg format over at fontawesome.com
They have a Creative Commons Attribution 4.0 International licence, even for free users. If you have the time and skill, you can use a font editor (like fontforge, that's available via Appimage) to copy the svg "icons" you want to see displayed in you toolbar buttons, import them as glyphs and paste them at a character you don't want to use in a particular font. If you do this, you can still have "normal" charters (like abc... 123...) and the icons you want in you buttons... so you can have, for example a menu button that just says "Menu", and Firefox's icon on the corresponding button and so on...
Edit the font as you like then install it to your system, and you're done. It's hard work... I know, on the most used operating system in the world we have to just click and drag a application to the toolbar and pin it there, but hey, we are linux users :p

Note: if anyone can tell me why I can’t set the font directly on the Fluxbox init file, for each individual button, please, drop me a line, that would make everything way easier...


My theme: https://ufile.io/5x10z (available for 30 days). It's a file with less than 8 kb...
Last edited by PPC on Thu May 23, 2019 7:01 am, edited 27 times in total.

IAMSOANGRY
Forum Novice
Forum  Novice
Posts: 10
Joined: Wed Oct 19, 2016 8:43 am

Re: Tweaking antiX Fluxbox to look more "modern"

#2

Post by IAMSOANGRY » Wed Jan 16, 2019 12:02 pm

Thanks PPC, I have downloaded your .gz file and will give this a go.
Here's to many happy hours fiddling! :happy:

skidoo
Forum Guide
Forum Guide
Posts: 1442
Joined: Tue Sep 22, 2015 6:56 pm

Re: Tweaking antiX Fluxbox to look more "modern"

#3

Post by skidoo » Wed Jan 16, 2019 7:34 pm

PPC, in case you haven't found it, in the antixforum topic I've posted a reply to the "why... can't set the font" question.
Here, after reading your more detailed description, I'm grabbing at a couple other possible straws.
toolbar.*.font:font100icons
I'm surprised to read this (b/c I tend to read things pedantically, er, "literally")
Did you really locate a "font100icons" ttf filename or fontname?

The ttf I had downloaded and had tested after you sent me a link, it had spaces in both its filename and its labelname.
As shown in my screencap posted to antixforum, my init line used "spaces in the font name" (whereas yours, posted here, does not).

Also, I'm surprised to hear that an init directive "use font1000icon fontface for all toolbar elements" would have a desirable outcome.
In my test, I had targeted only one specific item ~~ e.g. "toolbar..button.button1"
If your "target all toolbar elements" directive worked (didn't wreck the toolbar clock display),
I'm left guessing that later lines within your init are superceding/overshadowing the toolbar.*.font declaration.

If no later line specifies otherwise, and fluxbox tries to apply that font to the labeltext of other toolbar elements... WHOOPS, the font1000icon fontset doesn't contain a full complement of [0-9][a-z][A-Z] characters.

PPC
Forum Regular
Forum Regular
Posts: 133
Joined: Tue Sep 11, 2018 8:22 am

Re: Tweaking antiX Fluxbox to look more "modern"

#4

Post by PPC » Wed Jan 16, 2019 10:32 pm

skidoo wrote:
Wed Jan 16, 2019 7:34 pm
PPC, in case you haven't found it, in the antixforum topic I've posted a reply to the "why... can't set the font" question.
Here, after reading your more detailed description, I'm grabbing at a couple other possible straws.
toolbar.*.font:font100icons
I'm surprised to read this (b/c I tend to read things pedantically, er, "literally")
Did you really locate a "font100icons" ttf filename or fontname?

The ttf I had downloaded and had tested after you sent me a link, it had spaces in both its filename and its labelname.
As shown in my screencap posted to antixforum, my init line used "spaces in the font name" (whereas yours, posted here, does not).

Also, I'm surprised to hear that an init directive "use font1000icon fontface for all toolbar elements" would have a desirable outcome.
In my test, I had targeted only one specific item ~~ e.g. "toolbar..button.button1"
If your "target all toolbar elements" directive worked (didn't wreck the toolbar clock display),
I'm left guessing that later lines within your init are superceding/overshadowing the toolbar.*.font declaration.

If no later line specifies otherwise, and fluxbox tries to apply that font to the labeltext of other toolbar elements... WHOOPS, the font1000icon fontset doesn't contain a full complement of [0-9][a-z][A-Z] characters.
Thanks for the replies, skidoo!
Trying to address all questions In chronological order:

1- When I try changing a button font in Fluxbox init file nothing happens... Even if I use a font provided ootb, like I initially tried. I can't even change a label font to Ubuntu (a font name without spaces), I tried that, in your original "Menu" button font's line ... I also tried changing fonts while using the default Fluxbox theme, before trying it in my theme, no result, the displayed font always looks the same, even trying to change it's size does not work...
Does it work for you, may I ask (selecting another font or changing it's size)? Could it be something in my system or the fact I'm running antiX live??? something in the way the Fb deb file was compiled? Some basic error I'm making?

2- "Did you really locate a "font100icons" ttf filename or fontname?"
- yes. Before using the font I opened it in fontforge, checked the it's name, and that was the correct name. I copied that line from my config file, it's not a mere example. And it works, as seen in the picture of my test desktop, if "forced" in the theme configuration file...

3- " your "target all toolbar elements" directive worked (didn't wreck the toolbar clock display),
I'm left guessing that later lines within your init are superceding/overshadowing the toolbar.*.font declaration" -That is correct. Using only the directive wrecks everything, forcing the use of a font that has no normal characters (Ex: abc... 123... - only "icons" are displayed instead of letters). I believe everything displayed in the toolbar was wrecked, except the clock, that I think had a particular font selected... So I added the other lines to go around that...

skidoo
Forum Guide
Forum Guide
Posts: 1442
Joined: Tue Sep 22, 2015 6:56 pm

Re: Tweaking antiX Fluxbox to look more "modern"

#5

Post by skidoo » Thu Jan 17, 2019 6:24 pm

When I tested & setup for that screencapture by creating the "meld button", I tested several fonts & found that (only) if a character glyph for a given font displayed correctly when pasted into geany, only then did I attempt to also try using it within the button's labeltext. Yes, each glyph which was correctly displayed in geany wound up also correctly displayed when assigned to button text. The only "basic error" I can imagine creeping is: assumption. In my testing, I didn't assume anything. Instead, I tested every blasted glyph by first pasting to geany (and discovered a LOT were in fact undisplayable). My testing was also performed on antiX live, and I have no reason to suspect any aspect of my testbed is broken//corrupt.

We know (by that I mean we can expect, it's a "given") fluxbox toolbar labeltext should be able to render any UTF-8 character (er "codepoint?) supplied by an installed ttf font. So, IwereU... I would peek under the hood to ensure the installed Ubuntu fontset does provide a ttf variant. Variant? Like I mentioned earlier, I'm not up-to-speed, don't know the all the correct fontmongering terminology.

if "forced" in the theme configuration file
^---- I have never previously used "gnome-fonts" utility. On screenshot day, I grabbed that because copying glyphs from gucharmap and pasting into geany was yielding ascii strings like "U\+0932" instead of a displayed instance of the desired actual glyph. Unsure whether I'm clearly conveying my point: In my testing, I quickly ruled out gucharmap as a suitable copy/paste source. I did not test fontforge but based on the results of your testing, sounds like we cannot recommend "pasting from" fontforge either.

BTW, welcome to the "clever solutions to non-existent problems" club :killcomputer:

PPC
Forum Regular
Forum Regular
Posts: 133
Joined: Tue Sep 11, 2018 8:22 am

Re: Tweaking antiX Fluxbox to look more "modern"

#6

Post by PPC » Fri Jan 18, 2019 6:52 am

Hi! I'm ending my days tweaking my OS looks, I already managed to do what I set for and fortunatly I no longer have spare time to dedicate to this... But I wanted to let you folks know that I edited my original post, because I found a more elegant way to force the use of any kind of font on Fluxbox toolbar buttons (I should have thought of doing that initially but I was learning by trial and error. I just force the use of the font on all toolbar buttons, not the entire toolbar :-)
If someone (of the hand full of people that use antiX Fluxbox) manages to create some interesting desktop, please, do share, with detailed tips on how to do it!
I'm also cloning this topic in antiX forum, probably the best place for it...
P.

User avatar
manyroads
Forum Guide
Forum Guide
Posts: 1630
Joined: Sat Jun 30, 2018 6:33 pm

Re: Tweaking antiX Fluxbox to look more "modern"

#7

Post by manyroads » Sun Jun 02, 2019 6:44 pm

I know this is an old post... however, here are some screenshots (below) of the HD-Numix setup I'm working on for antiX19 fluxbox.

Attached is my most recent version of the theme... the infra-structure is still in process. It includes tint2, xcompmgr, and sundry other items. I have some issues with missing icons (but fluxbox doen't seem to like 'my' icons very much. I re-wrote the windows theme to be HD and color matched to the desktop conky. This baby uses a whopping 220+/- MB RAM at idle. :turtle:
I added the base manjaro fluxbox themes from which I modified and created the HD-Numix theme you see in the images.

manjaro-themes-fluxbox-master.zip
Numix-HD.tar.gz
Screenshots:
https://ibb.co/V2Dgc0h
https://ibb.co/71HvbQ3
You do not have the required permissions to view the files attached to this post.
"Don't believe everything you think."
Pax vobiscum,
Mark Rabideau - http://many-roads.com - Reg. Linux User #449130
bspwm MX-18.3 kernel: 5.1.11-antix.1-amd64-smp
Dell Latitude E5470
Intel i5-6300U~24GB RAM ~ SSD: 1TB
Coding since 1974

PPC
Forum Regular
Forum Regular
Posts: 133
Joined: Tue Sep 11, 2018 8:22 am

Re: Tweaking antiX Fluxbox to look more "modern"

#8

Post by PPC » Tue Jun 04, 2019 6:01 am

Hi Manyroads!

Your Fluxbox desktop looks great, much better than the version I ended up with... that's the "pro" side, the "con" side is that your version ended up being almost 100 Mb heavier on idle RAM :-( (and my version already was not the lightest possible). That was the reason I didn't use Tint or any other instalable bar or dock... True that my version of FB ran in antiX 17.X, without desktop icons, and your runs in antiX 19A2 (a tiny bit heavier on the RAM). My aim was: a user friendly, modern looking and light on resources desktop. I admit having to type several lines of text and going though a font, looking for gyph to use, and having only a limited set of "icons" available is not user friendly... But it's user friendly as is (I mean, if you don't want to add a icon to the bar). You can solve this simply by using rox-fluxbox and create icons in the desktop, arranging them almost like they are a "dock"- even removing the icon's "name"...
On the "pro" side of your desktop, again- using tint or a dock makes it much easier to do small customizations a normal user would want to, like adding a new quick start icon to the bar...
You created a light desktop (for all accounts, but "lightish" considering the normal antiX RAM use) , great looking, good for users with over a 1 gig of RAM (that's most of computer users, right?)
Remark 1: NoClue has posted some screenshots about having great looking distros with very low RAM use- ever considered picking his brain?
Remark 2: on antiX 19 A2 I tend to stop wpa_supplicant from running. In my experience that does not affect connman from managing my network connection and shaves some 3 Mb of RAM... If you already don't, you can try doing that... 3 Mb is a bit over 10% of your idle RAM consumption!
Also thanks for making the themes available...
Great work, on both accounts!

P.

Post Reply

Return to “antiX”