Sponsored Content
Top Forums Programming [LUA] WindowManager: Awesome - Checking OS and assign different icon Post 302952039 by sea on Wednesday 12th of August 2015 08:53:56 PM
Old 08-12-2015
[LUA] WindowManager: Awesome - Checking OS and assign different icon

Heyas

I'm having a bad time to fix this.
Code is just related samples, paths are edited, take: ~/.config/awesome as 'base/config' (dot) dir.

Situation:
Recently i actualy started to have 2 different kinds of gnu/linux installed, with this, the abition raised, to get a distro specific icon displayed in the shared WM configuration because of the shared /home partition.

After some tweakings i've managed to get the WM reloaded without issues, but still, no icon is displayed, in neither of the OS'.

rc.lua
Code:
-- Functions
	-- Its just a workaround for an 'unstable' 'hwmon/hwmon[12]' definition of Fedora21 - Rawhide
	-- Function (only) from: http://stackoverflow.com/questions/4990990/lua-check-if-a-file-exists
	function file_exists(name)
		local f=io.open(name,"r")
		if f~=nil then io.close(f) return true else return false end
	end

-- Themes define colours, icons, and wallpapers
	beautiful.init(awful.util.getdir("config") .. "/themes/sea/theme.lua")

	os_icon = wibox.widget.imagebox()
	if file_exists("/etc/favicon.png")
	then	-- Its either fedora or provides same functionality
		os_icon:set_image(beautiful.icon_fedora)
		naughty.notify({ preset = naughty.config.presets.critical, title = "Its fedora", text = err })
	else	-- Probably Arch
		os_icon:set_image( beautiful.icon_arch )
		naughty.notify({ preset = naughty.config.presets.critical, title = "Its arch", text = err })
	end

-- Show the menu entry with icon
	mylauncher = awful.widget.launcher({ image = beautiful.os_icon,
		                             menu = mymainmenu })

And within the ./themes/sea/theme.lua there is:
Code:
theme.icon_fedora 	= "/etc/favicon.png"
theme.icon_arch 	= themes .. "/sea/arch_icon_16.png"

I do get a msgbox saying "Its arch", but i dont get an icon.

Any ideas or hints please?
Thank you

EDIT:
Note that 'beautiful' is the class providing the items of the active theme.

Last edited by sea; 08-13-2015 at 12:17 AM..
 

6 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

WindowManager

I Have Installed GARNOME but i don't know how i can start it in RedHat 7.3...it is very confusion to change WindowManagers in RedHat 7.3...in slackware i just changed in /etc/X11/xinit/xinitrc and it was it...but in RedHat 7.3 it is very diferent...please help (2 Replies)
Discussion started by: CreamHarry
2 Replies

2. UNIX for Dummies Questions & Answers

Installing PECL LUA on Centos for PHP

I'm kinda new to Linux, I'm mostly run websites, and it's rather easy to do everything... except install this PECL LUA plugin. :wall: I start by running this command: pecl install lua-0.9.4 downloading lua-0.9.4.tgz ... Starting to download lua-0.9.4.tgz (12,617 bytes) .....done: 12,617... (0 Replies)
Discussion started by: blackstar
0 Replies

3. Shell Programming and Scripting

[LUA-Awesome] Can i use $XDG_XY_DIR inside a lua script?

Heyas I'm a fan of AwesomeWM, but i had failed to learn lua, though, i'm quite satisfied with the cofniguration i have by now. Either way, i'd like to know if i could 'call' those XDG_XY_DIR variables which are located on my linux ~/.config/user-dirs.dirs. While to call scripts i use... (0 Replies)
Discussion started by: sea
0 Replies

4. UNIX Desktop Questions & Answers

[LUA / DE] AwesomeWM & Vicious Widgets

Hello Allthough i dont know LUA, despite its name, i do love the window manager that was created using that language. By now, I'm enough familiar with LUA so i could adapt (most of) the recent changes so i have vicous widgets working again - by the means of no error messages on start up. I... (1 Reply)
Discussion started by: sea
1 Replies

5. Programming

[LUA] Set variables according to if file exists

Heya I'm using Awesome WM with the Vicious widget library. As i'm using multi boot, Win8, Fedora and Arch, i have my WM-Config shared accross my GNU/Linux installations. The regarding snippet: -- Functions -- Its just a workaround for an 'unstable' 'hwmon/hwmon' definition of Fedora21 -... (0 Replies)
Discussion started by: sea
0 Replies

6. Programming

A make-like build utility based on Lua

xmake is a make-like build utility based on lua. (Link to project site: xmake) The project focuses on making development and building easier and provides many features (.e.g package, install, plugin, macro, action, option, task ...), so that any developer can quickly pick it up and enjoy the... (1 Reply)
Discussion started by: waruqi
1 Replies
Data::Dumper::Concise::Sugar(3) 			User Contributed Perl Documentation			   Data::Dumper::Concise::Sugar(3)

NAME
Data::Dumper::Concise::Sugar - return Dwarn @return_value SYNOPSIS
use Data::Dumper::Concise::Sugar; return Dwarn some_call(...) is equivalent to: use Data::Dumper::Concise; if (wantarray) { my @return = some_call(...); warn Dumper(@return); return @return; } else { my $return = some_call(...); warn Dumper($return); return $return; } but shorter. If you need to force scalar context on the value, use Data::Dumper::Concise::Sugar; return DwarnS some_call(...) is equivalent to: use Data::Dumper::Concise; my $return = some_call(...); warn Dumper($return); return $return; If you need to force list context on the value, use Data::Dumper::Concise::Sugar; return DwarnL some_call(...) is equivalent to: use Data::Dumper::Concise; my @return = some_call(...); warn Dumper(@return); return @return; If you want to label your output, try DwarnN use Data::Dumper::Concise::Sugar; return DwarnN $foo is equivalent to: use Data::Dumper::Concise; my @return = some_call(...); warn '$foo => ' . Dumper(@return); return @return; If you want to output a reference returned by a method easily, try $Dwarn $foo->bar->{baz}->$Dwarn is equivalent to: my $return = $foo->bar->{baz}; warn Dumper($return); return $return; If you want to format the output of your data structures, try DwarnF my ($a, $c) = DwarnF { "awesome: $_[0] not awesome: $_[1]" } $awesome, $cheesy; is equivalent to: my @return = ($awesome, $cheesy); warn DumperF { "awesome: $_[0] not awesome: $_[1]" } $awesome, $cheesy; return @return; If you want to immediately die after outputting the data structure, every Dwarn subroutine has a paired Ddie version, so just replace the warn with die. For example: DdieL 'foo', { bar => 'baz' }; DESCRIPTION
use Data::Dumper::Concise::Sugar; will import Dwarn, $Dwarn, DwarnL, DwarnN, and DwarnS into your namespace. Using Exporter, so see its docs for ways to make it do something else. Dwarn sub Dwarn { return DwarnL(@_) if wantarray; DwarnS($_[0]) } $Dwarn $Dwarn = &Dwarn $DwarnN $DwarnN = &DwarnN DwarnL sub Dwarn { warn Data::Dumper::Concise::Dumper @_; @_ } DwarnS sub DwarnS ($) { warn Data::Dumper::Concise::Dumper $_[0]; $_[0] } DwarnN sub DwarnN { warn '$argname => ' . Data::Dumper::Concise::Dumper $_[0]; $_[0] } Note: this requires Devel::ArgNames to be installed. DwarnF sub DwarnF (&@) { my $c = shift; warn &Data::Dumper::Concise::DumperF($c, @_); @_ } TIPS AND TRICKS
global usage Instead of always just doing: use Data::Dumper::Concise::Sugar; Dwarn ... We tend to do: perl -MData::Dumper::Concise::Sugar foo.pl (and then in the perl code:) ::Dwarn ... That way, if you leave them in and run without the "use Data::Dumper::Concise::Sugar" the program will fail to compile and you are less likely to check it in by accident. Furthmore it allows that much less friction to add debug messages. method chaining One trick which is useful when doing method chaining is the following: my $foo = Bar->new; $foo->bar->baz->Data::Dumper::Concise::Sugar::DwarnS->biff; which is the same as: my $foo = Bar->new; (DwarnS $foo->bar->baz)->biff; SEE ALSO
You probably want Devel::Dwarn, it's the shorter name for this module. perl v5.18.2 2013-12-31 Data::Dumper::Concise::Sugar(3)
All times are GMT -4. The time now is 03:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy