You are here
Looking for a clean webmin theme and finding those available as looking new for the year 1999, i took the default stressfree theme and tuned it up a bit.
Here are some screenshots.
'To install the theme, unpack it to /usr/share/webmin or /usr/share/webmin-*current_version . then go to $hostname/webmin/edit_themes.cgi to select it.
I will update this theme from time to time (at least the icons), so if you have any sugestions feel free to express them. Should work on any 'decent new' browser but if you find someting let me know or fix it.
The icons are taken from the Gnome colors project and theyr (Carbonite) addon.
*05.09.2012 - Small update. Adapted some links to use $ENV{'SERVER_NAME'}; instead of $hostname, for external DNS use (FreeDNS for example)
For those who could not install the template you can try now again, even with webmin theme installer form.
The problem seemed to be the config file which got corrupted by no apparent reason.
*01.10.2012 - Also, here is a variant without the top shortcuts (shell, db, home, virtual servers)
*17.12.2012 - Changed / updated alternative download links.
*20.01.2013 - Virtual Servers links should be enabled only if virtualmin is enabled and available. Check.
*23.08.2013 - Added a mirror of this page and updated alternative download links.
On what distro?
What is the distribution that you use?
Fixes.
Try installing again.
Thank you,
Fixed the link also.
Those links can be found in
Those links can be found in theme.pl at around line 307.
As for the sidebar ? can you make a list ?
Thank you
Updated the links for downloads, thanks for reminding.
Minimal webmin.
I use it with a minimal Webmin configuration, custom menus and reassigned menus.. Default webmin comes with a lot of stuff many of us dont ever use. For me for example this is a feature, not a bug.
But i will take your comment seriously, and you will be able to set your max-height of menus in the config file of the theme.
Can me ___ ?
I have just lodged a feature request... :)
I have been watching this thread for sometime and I really like what I see, both the theme itself, but also Adrian's dedication to it (via updates and support here in this thread).
So I have just lodged a feature request to have this set as the default Webmin theme...
What do others think?
It would be nice, but ...
Hello Jeremy, Alon already came with this sugestion in january. He asked about licence (wich is GPL or whatever is needed) and maintenance. I sent him this:
I think my reply made him think twice before taking this decision (to make this theme the default).
He also asked for a git project wich i will bring in soon.
Ok cool
That's great that this has already been discussed... The ball is already rolling! :)
Personally I don't think the fact that you cannot guarantee security or new features is a big deal. It's open source all over - or more to the point it's programming all over, but less of an issue with open source because the code is out in the open. As Eric Raymond says (Linus' Law): "given enough eyeballs, all bugs are shallow". I think if your code were to be published somewhere that makes it easiliy accessable (such as GitHub) then you will get plenty of others looking over it.
And both Alon and Liraz are well versed in Perl (although I don't think either of them like it very much...) so they themselves would potentially be able to assist in that regard anyway...
I'll speak with Alon about it further...
It works
At least what i use (60% of webmin including virtualmin).
Here...
//edit .... sorry, i wanted to give you a hint but, that is core webmin, is not part of the theme. You change it and it will be available until next update.
Line 47 in index.cgi of webmin core.
// edit You can find some dynamic code in my theme in theme.pl at line 324 .
favicon.ico in images directory
There is a default favicon.ico in the theme directory *images*. Try replacing that.
You can buld an ico here http://www.favicon.cc/
I'll check that in a few moments.
Webmin 1.660 on my servers and it is ok. How did you install webmin ? Manually or deb ?
Logo.
theme.pl line 846, css property:
background: url($logo) center 12px no-repeat;
where $logo is defined at line 775 .
Change the filenames / paths to fit your needs.
I dont think this is on the theme side.
But on your cloned modules side.
For example by cloning your module you also cloned the info of the module.
name=Quota
desc=Disk Quotas
category=system
Go to your webmin path (usr/share/webmin) and search for your cloned modules, then edit the info file of each module by changing the name / desc / category parameters. (REMEMBER TO BACKUP FIRST)
Then refresh your modules list at server.url/webmin/index.cgi (on the bottom of the page).
Access your modules and check if changes have taken into effect.
You just answered yourself a question.
"you don't get additional module.info files. You just get a symlink"
Make a copy of the module and edit it.
and an amazing thing would be
and an amazing thing would be to display the CPU and memory graph from "Historic System Statis"-Module (RRDTool) inside the sidebar.. or is this even possible?
Hey Josh
I can't speak to a lot of your post. But "The DB Admin (port 12322) and Shell (port 12320) doesn't seem to go anywhere. Am I supposed to install some other modules?" is something I could have a stab at! :)
This theme is designed to run on Turnkey Linux and TKL servers all have Webshell (aka Shell-in-a-Box) preinstalled and configured to be available on port 12320. Most of the TKL appliances also include a DB which (where available - depends on the DB in question) have a DB web admin UI (e.g. phpMyAdmin for MySQL, phpPgAdmin for PostgreSql, etc) which is preconfigured to be available on port 12322.
So if you want to make use of these links then you will need to install the relevant software and configure it to listen on the relevant port. Alternatively you could just install TKL and have a go with that. Out of interest, it is built on Debian (Wheezy in the current build) and has quite a bit of useful software preinstalled (e.g. Webmin plus what is mentioned above). The only thing that might trip you up if you do have a go with TKL is that Webmin is configured to listen on port 12321 (rather than the default 10000).
No worries
TBH I've never used Bitnami but from my understanding yes they are somewhat similar. I think the approaches are a bit different but ultimately trying to address similar issues.
I think is hardcoded in the templating mechanism
It spits out a table with 25% width.
A fast hack would be to float the elements and overwrite all with css.
table.icons_table td, table#mods td
Hi Carlos
If he is, hopefully he'll post back soon.
Even if he isn't, as it's open source, you could always see if you could find a perl expert to fix it. If that happens, please let us know as then we can provide a link to the updated code for others who may be interested. Often good freelancers will give discounts for open source projects which will be publicly and freely distributed.
Bug
It seems there is a bug in webmin ui-lib.pl .
I saw a bug report addressing this some days ago but i cannot find it again.
The problem is some mixed code no being escaped js in perl. However, a quickfix:
in ui-lib.pl at line 1702, replace this block:
return <<EOF;
<style type='text/css'>
.opener_shown {display:inline}
.opener_hidden {display:none}
</style>
<script type='text/javascript'>
// Open or close a hidden section
function hidden_opener(divid, openerid)
{
var divobj = document.getElementById(divid);
var openerobj = document.getElementById(openerid);
if (divobj.className == 'opener_shown') {
divobj.className = 'opener_hidden';
openerobj.innerHTML = '<img border=0 src=$imgdir/closed.gif>';
}
else {
divobj.className = 'opener_shown';
openerobj.innerHTML = '<img border=0 src=$imgdir/open.gif>';
}
}
// Show a tab
function select_tab(name, tabname, form)
{
var tabnames = document[name+'_tabnames'];
var tabtitles = document[name+'_tabtitles'];
for(var i=0; i<tabnames.length; i++) {
var tabobj = document.getElementById('tab_'+tabnames[i]);
var divobj = document.getElementById('div_'+tabnames[i]);
var title = tabtitles[i];
if (tabnames[i] == tabname) {
// Selected table
tabobj.innerHTML = '<table cellpadding="0" cellspacing="0"><tr>'+
'<td valign=top $jscb>'+
'<img src="$imgdir/lc2.gif" alt=""></td>'+
'<td $jscb nowrap>'+
' <b>'+title+'</b> </td>'+
'<td valign=top $jscb>'+
'<img src="$imgdir/rc2.gif" alt=""></td>'+
'</tr></table>';
divobj.className = 'opener_shown';
}
else {
// Non-selected tab
tabobj.innerHTML = '<table cellpadding="0" cellspacing="0"><tr>'+
'<td valign="top" $jstb>'+
'<img src="$imgdir/lc1.gif" alt=""></td>'+
'<td $jstb nowrap>'+
' <a href=\\'\\' onClick=\\'return select_tab("'+
name+'", "'+tabnames[i]+'")\\'>'+title+'</a> </td>'+
'<td valign="top" $jstb>'+
'<img src="$imgdir/rc1.gif" alt=""></td>'+
'</tr></table>';
divobj.className = 'opener_hidden';
}
}
if (document.forms[0] && document.forms[0][name]) {
document.forms[0][name].value = tabname;
}
return false;
}
</script>
EOF
}
Add new comment