Awesome desktop manager widgets - lua

I came upon this problem before, but only now it really renders awesome desktop manager useless.
I was searching how to connect to Wifi with awesome. Found Gigamo Wifi Widget. Cool, how do I eat it?
The awesome wiki entry on widgets does not really answer this question.
I know my question is very stupid and the answer is somewhere in the documentation but I have no idea how to read it. How and where do I add widgets I find on the Net to my awesome lua files?
EDIT:
when searching where is the rc.lua file henfiber mentioned, I came upon Archlinux wiki on Awesome, which put most important things in one page.

You can always use NetworkManager which is available for installation in most official repos. It contains an applet which creates an icon at your system tray. You can launch the applet at start-up, placing this line in your rc.lua file:
awful.util.spawn("nm-applet")
or you can start it manually from your terminal, writing:
$ nm-applet &
Then you can left-click at the NetworkManager Applet icon at the system tray and select from the list of available wifi access points. Additionally, the Network manager applet allows you to perform more advanced functions, like connecting to VPN.
Also, it is quite easy to use 3rd-party widgets you find in the wiki or in github. It requires these steps:
Download the widget .lua file - let's say it is called
cool_widget.lua
move it in ~/.config/awesome/ so it is :
~/.config/awesome/cool_widget.lua
An alternative is to use the structure
~/.config/awesome/cool_widget/init.lua
it is better when your widget requires more than one files.
Load the widget at the top of your rc.lua file:
cool_widget = require("cool_widget")
Add the widget in a wibox (toolbar) in the same way you add built-in
ones

Related

Can a (Delphi) desktop-bridge app be restarted via the windows.updateTasks Extension?

I have successfully packaged a Delphi app in an MSIX container, but I've run into a problem with one of my app's requirements: Upon updating the app from the Store, its background process (a console exe) is shut down (of course) and replaced with a new copy that is designated in AppxManifest.xml to run when the main app is first opened:
<Extensions>
<desktop:Extension Category="windows.startupTask" Executable="CwHelper.exe" EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask TaskId="CwHelper" Enabled="true" DisplayName="Capture Manager" />
</desktop:Extension>
</Extensions>
This all works fine, but it means that the background exe is left not running until the main app is opened subsequent to the update. This is highly undesirable.
My Internet spelunking of the MSFT docs leads me to think that I should be able to automatically restart the background app by inserting into the above <Extensions>...</Extensions> block a second Extension something like this:
<Extension Category="windows.updateTask" Executable="<some>.exe" EntryPoint="<some entrypoint>" >
</Extension>
So far, I have not been able to discover what should be my (Delphi-created) <some>.exe and its EntryPoint. Indeed, I have not found any example of this specific use of that Extension Category. Can it actually be used in this way by a desktop-bridge app? If so, can anyone give me pointers as to what I should put into those blanks?
Note added: I've tried repeating the exe's name and Windows.FullTrustApplication in the updateTask definition fields and that actually passed Certification, but it generates a fatal downloading error when the Store tries to install it.
Another note added: #StefanWick kindly pointed out that he has published an example of the very thing I need here using MSFT's toolset. Unfortunately, it is not clear to me how to translate his C# and Visual Studio labels into a Delphi app. Any advice on that would be greatly appreciated.
Answering my own question after about a month's research, I found out that the answer for now is "no" because the necessary IBackgroundTasks interface is not (yet?) available to Delphi according to Embarcadero Customer Support.
But the good news is that this is probably not needed because the "right" way to restart an app after a Store update is described in MSFT docs here.

How do I test my GtkPrintBackend?

I am trying to develop my own GtkPrintBackend ,
taking help from here:
https://mail.gnome.org/archives/desktop-devel-list/2006-December/msg00069.html
I want to test my print backend( by making the print dialog use my backend instead). How do I do that?
That is, how do I make the Print dialog use my backend instead?
Answering my own question here since I figured out a workaround:
I installed jhbuild and built the gtk+ module using jhbuild.
The source code of the corresponding module is downloaded in ~/jhbuild/checkout/<module-name> .
Modify the print backends under ~jhbuild/checkout/gtk+/gtk/modules/printbackends/ directory, and rebuild it (Find instructions to do that here).
Now when you launch a gtk application from the jhbuild shell, it will use the modified backend instead of the system default one.

Find features of a non Microsoft program

I'm not sure how to even ask this question, but let's say I have a program such as Google Chrome. How would I find out the "features" of it so I can use PowerShell to modify it.
For example, how would I have Chrome open a web page and click a button.
I know for IE, you can use $ie.document.getElementById("loginform").submit() to click a button.
Thank you,
Tony
You can't ever really get the same amount of control over non-Windows programs using Powershell.
In terms of Chrome, you could simply open the browser and go to a webpage with:
$Start-Process "chrome.exe" "www.google.com"
There is generally not that much more for further functionality, but with Chrome you may be able to do things like change settings and configuration. Check out the (large) JSON file Preferences and other config files, which you can find in Chrome's local appdata folder (Win+R, %localappdata%, Google/Chrome/User Data/Default). I'm not too sure but it may also be a bad idea to mess around with these files.
I also did a Google search and found this third party powershell tool for browsers, called Selenium. Here's the list of extensions.

Change help link in the Visual Editor of MediaWiki

Is there a way to change the help link in the toolbar dropdown in the new visual editor of MediaWiki?
I tried setting
"visualeditor-help-link":"mw:Help:VisualEditor/User guide/de"
in
"extentsions/VisualEditor/modules/ve-wmf/i18n/de.json"
as proposed here, but then my MediaWiki could not parse the JSON file. My goal is to link to the MediaWiki help page, that can be found here. The normal version:
"visualeditor-help-link":"[https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide/de]"
did not work, neither did this:
"[[{{MediaWiki:visualeditor-helppagelink}}|Hilfe]]"
You should never ever change the source code of MediaWiki core or any extension. It makes an upgrade process much more hard and complicated. There are other ways to achieve a high customization of the user interface language :)
For your problem, it should be enough to create the following page in your wiki (like any other page, but you need the editinterface user right, which is assigned to sysops by default):
MediaWiki:visualeditor-help-link
Put the link you want to use into the textarea (without any wikitext, e.g. "Help:VisualEditor" (without any ")) and save the page.
After reloading the VisualEditor (maybe you need to clear your browser's cache using Ctrl + F5) the link should point to the new target you specified in the message above. If you use a message cache, it is maybe needed to rebuilt it.

Adobe DTM header for a library download

Background: My company is starting a proof of concept for adobe DTM and I am starting to familiarize myself with it. We have many different domains and many different internal sections that all may want to use different libraries on different pages. We are using the library download setup in DTM. I've watched a lot of the tutorials the tool and have read all of the documentation that I could find on the headers.
Issue: I believe that the libraries are all created with the DTM tool. For instance, if we create a rule, or add 3rd party javascript to DTM, then that would be placed in the library. Because of the way that the team has generally thought about js libraries before, where we upload them ourselves, most of the team believes that we can physically place the 3rd party js libraries in the location designated by the header and that we can reference them with an include() call in the Javascript/Third Party Tags section of a rule. I don't believe this is possible. Is there anyone who can shed some light on this?
Thanks for your time,
Mike
(I already answered this at the Adobe Forums, but I thought I would include the reply here for others looking at stack exchange)
I could be wrong in my assumptions, but I have always understood this method as a way to simply host DTM functionality on your own servers for downtime/uptime/SLA reasons. :) Meaning, you would want to go with this option simply because you need to ensure that DTM embed urls/scripts never ever go down and that they are lightning fast and never give you issues. :) You would then use the script loading capabilities by configuring the DTM UI to load the 3rd party scripts or custom built scripts through rules. You would load them either on pageLoad top or bottom, domReady, or onLoad. There is more documentation on this option here and some reasons why you would use that option:
http://microsite.omniture.com/t2/help/en_US/dtm/hosting.html
http://microsite.omniture.com/t2/help/en_US/dtm/deployment_download.html
However, you can also include these scrips just like you would with any other javascript reference like you mentioned above. The trick would be just figuring out the url to include as your src attribute. DTM itself has an API that you can use to load scripts, and it also includes a "settings" property and "configurationSettings" property that you can use to find a lot of those scripts that you are interested in loading. See all _satellite object documentation here:
http://microsite.omniture.com/t2/help/en_US/dtm/object_reference.pdf
In more detail, you could do something like this to get your script path dynamically after DTM embed scripts have loaded:
var scriptSrc = "//domainOfHost.com/" + _satellite.settings.scriptDir + "scriptSrc.js";
Then you could use this function on the _satellite object to load the script you are interested in:
_satellite.loadScript: function (url, callback)
PARAMETERS:
url: the URL of the script
callback(optional): the function to be called after the script has loaded.
DESCRIPTION: Load an external script.
Thanks,
Ben

Resources