Default protocol handlers in Openbox

Hi all!
I'm switching from KDE to my own openbox-based environment. I really love the idea of building a system that just suits my needs. Nevertheless, I have stepped into some minor issues while trying to configure it (all told, less than I expected). One of these issues is default protocol management. In KDE, I used to "xdg-mime default transmission-qt.desktop application/x-bittorrent x-scheme-handler/magnet" in order for Qtransmission to handle both torrent files and magnet links. "xdg-mime default thunderbird.desktop x-scheme-handler/mailto", and Thunderbird managed my mailtoes. However, these don't work now. If I issue both commands (using transmission-gtk instead of transmission-qt), my ~/.local/share/applications/mimeapps.list gets updated and Thunar launchs Transmission when I double-click a torrent file (didn't realize if it did it before), but neither Transmission handles magnet links nor Thunderbird manages mailtoes if I click them on Firefox. I have tried installing gnome-defaults-list from the AUR and copying it to ~/.usr/share/applications (as described in the wiki), but no luck. Installing libgnome or issuing "ln -s ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache" doesn't solve the problem.
Of course I could click a magnet/mailto link on Firefox and choose the correct application to open it with, but I wondered if there was a cli method. I have a huge magic-bash-script-to-configure-all-and-I-really-mean-all-my-system-yes-I'm-that-lazy, and the more I can delegate to this script, the better. Moreover, is there a way to completely integrate xdg-utils into openbox? I solved some problems adding "export DE=xfce" to my ~/.xinitrc, but not all my xdg-whatever commands work yet.
Thanks in advance for your help

Knut Harald Støre wrote:
Thanks for the info. I'm not so keen to get into programming unless it can be done in AppleScript.
I have an odd relationship with AppleScript. I have written software in just about every language, from Assembly to million-line C++ monsters. But I can't get an AppleScript to work the same way twice. If I need a scripting language, I'll use Perl. If it is something that Perl can't handle, I'll use Objective-C because it is almost as easy.
But I dug into the info.plist file. It contains no URL registrations but I opened up Safari's info.plist file, found its URL registrations, copied into Notes's info.plist file and modified it appropriately. I then restarted Notes and closed it again hoping that it would be registered but it still doesn't work. When I try to open a "notes://" url from Terminal nothing happens. Do I have to do anything else to make the system rescan the info.plist file and register the association? Here is what I added to info.plist:
I'm pretty sure it will be more complicated than that. As I already mentioned, I can't get "Hello, World" to work in AppleScript so I can't help with that. Here is what I was thinking:
1) Write a program that knows how to handle a "notes:" URL. Look at the Bwana source for an example. All you need at this point is a program that recognizes the URL and displays an alert with everything after "notes:" in the URL string. Test it by doing "open notes:yadayadayada" in the Terminal. I would do this in Objective-C. You may be able to do it in AppleScript. There is an AppleScript forum where anyone will know more than me.
2) Find out what Apple script command are needed to tell Notes to open a particular message, given the contents of a Notes "notes:" URL. Hopefully Lotus Notes is scriptable and hopefully it has such a command. This is not guaranteed, however.
3) Change your first program from displaying an alert to executing the Applescript commands in Step 2. You're done.

Similar Messages

  • Overriding Chromium's internal protocol handlers (mailto:, news:, etc)

    After reading many posts on different forums, I have found that overriding Chromium's internal protocol handlers is notoriously difficult. Some, like mailto:, use a hardcoded command name like xdg-email which doesn't work very well when not using one of the major desktops, while others don't work as expected for any number of reasons.
    Which is why I've come up with a way to add any user-defined protocol that Chromium doesn't already handle using xdg-open.
    The following example deals with adding an override for the mailto: protocol handler, to have it use xdg-open instead of xdg-email to start the email client.
    The process is in 3 steps:
    1. Add a .desktop file for the protocol handler override
    2. Tell the system to use the protocol handler override
    3. Tell Chromium to use the protocol handler override
    Step 1: Create the file $HOME/.local/share/applications/chromium-mailto.desktop with the following contents:
    [Desktop Entry]
    Version=1.0
    Name=Chromium mailto: override
    Comment=Override the Chromium mailto: protocol handler
    GenericName=Override the Chromium mailto: protocol handler
    Exec=xdg-open $(echo %u|perl -pe 's/^x-chromium-mailto://; tr/+/ /; s/%([a-fA-F0-9]{2,2})/chr(hex($1))/eg;')
    Terminal=false
    Type=Application
    MimeType=x-scheme-handler/x-chromium-mailto
    NoDisplay=true
    Step 2: Tell the system about the new MIME type
    In a terminal, execute the following command:
    $ xdg-mime default chromium-mailto.desktop x-scheme-handler/x-chromium-mailto
    Note: the path to the .desktop file must be relative to $HOME/.local/share/applications !
    Step 3: Tell Chromium to use the protocol handler override
    First, close all open Chromium windows. This is very important for the following changes to 'take'!
    Assuming you use the Default profile in Chromium, open the following file in an editor: $HOME/.config/chromium/Default/Preferences
    Within the curly braces, for example under the lines:
    "cloud_print": {
    "email": ""
    add the following:
    "custom_handlers": {
    "enabled": true,
    "registered_protocol_handlers": [ {
    "default": true,
    "protocol": "mailto",
    "title": "mailto: override",
    "url": "x-chromium-mailto:%s"
    Test that everything works by starting Chromium, then clicking on a mailto: link, for example the Contact link at the bottom of http://oswatershed.org.
    The first time you click the link, Chromium will ask for permission to run the command, so you can check that it is correct. Check the checkbox to have Chromium remember your choice.
    Comments and suggestions are very welcome.
    Last edited by ackalker (2012-12-04 04:08:32)

    The Preferences file has changed since Dec. 2012. The "cloud_print" input has changed. Adding your mod input to the Preferences file induced a Google warning--I undid. It seems that the previous mods prove sufficient. Thanks!
    Last edited by rbrband (2014-04-23 20:13:40)

  • Registering URL protocol handlers

    I'm having some trouble registering URL protocol handlers in WebLogic. The handler I wish to register is not an existing one (like http or https) so it should not conflict with any of the built in ones.
    <pre>
    // PROTOCOL_PACKAGE defined as java.protocol.handler.pkgs
    // HANDLER_PACKAGE is defined as com.xxxx.xxxx
    // In that package I have a yyy package with its Handler class.
    String handlers = System.getProperty(PROTOCOL_PACKAGE);
    if (handlers == null) {
    System.setProperty(PROTOCOL_PACKAGE, HANDLER_PACKAGE);
    else if (handlers.indexOf(HANDLER_PACKAGE) == -1) {
    System.setProperty(PROTOCOL_PACKAGE, handlers + "|" + HANDLER_PACKAGE);
    System.out.println(System.getProperty(PROTOCOL_PACKAGE));
    </pre>
    The output shows that the system property is properly set:
    weblogic.utils|weblogic.utils|weblogic.net|com.xxxx.xxxx
    If I try to create a URL I get the following error:
    java.net.MalformedURLException: unknown protocol: yyy
    This same code works for me on both JBoss and using Straight Java. I looked through the documentation and scoured the Internet trying to find an alternate way to register the protocol in WebLogic, but I found none.
    Is there some reason why this would not work in WebLogic?
    Thanks
    Chris

    It seems like it's having trouble talking to the registry; perhaps the user authenticated to Windows doesn't have permissions?
    You could check to see if you have access to these Windows Registry keys:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Call Integration
    HKEY_CLASSES_ROOT\CLSID\{8885370D-B33E-44B7-875D-28E403CF9270}
    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Common\PersonaMenu
    The error message included isn't really that useful.  Maybe if you can attach the entire logfile to this thread we can dig into it more.

  • Adfs/ls does not work while adfs/ls/idpinitiatedsignon works | There are no registered protocol handlers on path /adfs/ls/ to process the incoming request

    Hello Experts
    I am trying to configure ADFS 3.0 with Sharepoint 2013 and facing an issue with ADFS 3.0 url
    When I try to access url https://<ADFS.domain.com>/adfs/ls - I face following error 
    Encountered error during federation passive request. 
    Additional Data 
    Protocol Name: 
    Relying Party: 
    Exception details: 
    Microsoft.IdentityServer.RequestFailedException: MSIS7065: There are no registered protocol handlers on path /adfs/ls/ to process the incoming request.
       at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)
    But When I try to access ADFS url - https://<ADFS.domain.com>/adfs/ls/idpinitiatedsignon 
    It works.. 
    Is it normal behavior or something wrong here.
    Please suggest.
    Thanks

    /adfs/ls/ is the endpoint for all "passive" protocols. a Plain GET to /adfs/ls wil complain (correctly) that the plain GET is not a correct SAML or WS-Fed message. You should only send correct messages to that EndPoint........
    Paul Lemmers

  • Cannot use protocol handlers.

    Hello
    I read the protocol handlers in the Cisco Jabber for Windows Administration Guide. I use three protocol handlers "IM: , XMPP: and TEL:" into my html pages.
    But, It cannot work and I got the unknown protocol from the web browser.
    Also, I cannot find three protocol handlers in the Windows registry. It look like the Jabber is not defined as the registered protocol handler for IM: , XMPP: and TEL: .
    How can I fix the problem ?
    Thank you!
    Andy

    Hi Andy,
    Is Jabber for Windows running on a Windows 7 OS with UAC (User Access Control) enabled? Jabber writes to following registry locations to register protocol handlers.
    HKEY_CLASSES_ROOT\tel\shell\open\command
    HKEY_CLASSES_ROOT\xmpp\shell\open\command
    HKEY_CLASSES_ROOT\im\shell\open\command
    If you don't see these values then you are hitting known bugs. There are two defects opened around this.
    CSCua81724: tel protocol handler does not work when UAC is enabled
    CSCua81752: xmpp protocol handler does not work when UAC is enabled
    As a workaround you can try to "run jabber as administrator".
    Thanks,
    Maqsood

  • Customize the Default Protocol in Serialization?

    Going thru the serialization article at [http://java.sun.com/developer/technicalArticles/Programming/serialization/] . Topic is Customize the Default Protocol+
    As per my understanding when we try to read an serialized object(during desrialization) at server , new object will be created at serverside with same values of instance variables lying in serialized object. Right?
    But there is paharagraph under topic Customize the Default Protocol at shred link. it says
    All seems fine until we read the object back in with a call to the readObject() method. Remember, a constructor is called only when a new instance is created. We are not creating a new instance here, we are restoring a persisted object. The end result is the animation object will work only once, when it is first instantiated. Kind of makes it useless to persist it, huh?
    As per me here also new object of PersistentAnimation will be created during desrialization process with the same state as in serialized object. So whats the issue here in readObject() method? it says We are not creating a new instance here, we are restoring a persisted object. Yes we are creating the new instance here but with the same values of instance variable that is there in serialized object. where the statement coming from object will work only once, when it is first instantiated. Kind of makes it useless to persist it, huh?

    Note that the usual and recommended way of implementing clone() also does not invoke any constructor.
    public class C implements Cloneable {
      public static void main(String... args) throws Exception {
        C c1 = new C();
        C c2 = C.class.newInstance();
        C c3 = c1.clone();
      public C() {
        System.out.println("C'tor!");
      public C clone() throws CloneNotSupportedException {
        return (C)super.clone();
    }All this is generally fine, because a c'tor is not supposed to perform any business logic. It's only supposed to get a newly created object into a valid state. Cloning and serialization are not about creating new objects. They're about preserving and restoring or duplicating the state of an object that's already fully functional.
    Note also, that if you do end up needing to perform some other logic as part of deserialization or cloning, you can do so. These cases should be the exception, not the rule.

  • Protocol handlers not registered

    JFW
    In some cases the protocol handlers will not be registered...we did multiple installations...no success...we tried to post register some dlls...no success...
    Appreciate any hint
    Andreas
    a little more....
    Analyzed the logs a little deeper there is a difference between working and non working installations...some error conditions occurring:
    INFO  protocol handlers not registered protocol handlers not registered protocol handlers not registered protocol handlers not registered - Setting registry settings
    2012-06-05 09:36:02,897 ERROR protocol handlers not registered protocol handlers not registered protocol handlers not registered protocol handlers not registered - Failed to create Software\Policies\Microsoft\Office\14.0\Common\PersonaMenu in 80000001 use64Bit: 0
    2012-06-05 09:36:02,897 ERROR protocol handlers not registered protocol handlers not registered protocol handlers not registered protocol handlers not registered - Failed to create SOFTWARE\Microsoft\Office\Outlook\Call Integration in 80000002 use64Bit: 0
    2012-06-05 09:36:02,897 ERROR protocol handlers not registered protocol handlers not registered protocol handlers not registered protocol handlers not registered - Failed to create CLSID\{8885370D-B33E-44B7-875D-28E403CF9270}\TreatAs in 80000000 use64Bit: 0
    How to avoid this?
    Regards
    Andreas
    Sent from Cisco Technical Support iPad App

    It seems like it's having trouble talking to the registry; perhaps the user authenticated to Windows doesn't have permissions?
    You could check to see if you have access to these Windows Registry keys:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Call Integration
    HKEY_CLASSES_ROOT\CLSID\{8885370D-B33E-44B7-875D-28E403CF9270}
    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Common\PersonaMenu
    The error message included isn't really that useful.  Maybe if you can attach the entire logfile to this thread we can dig into it more.

  • How to make custom protocol handlers work on weblogic 10.3

    Hello, BEA and community!
    I have created a simple "bufferedreader" protocol handler as described in JDK documentation:
    http://java.sun.com/developer/onlineTraining/protocolhandlers/
    To activate the protocol I'm explicitly setting the system property before creating the URL:
    System.setProperty("java.protocol.handler.pkgs", "sun.net.www.protocol.bufferedreader");
    I have created a unit test that runs perfectly, but when putting the same logic inside web application deployed in Weblogic 10.3 I get MallformedUrlException saying that protocol "bufferedreader" is unknown.
    I have also tried to put -Djava.protocol.handler.pkgs=sun.net.www.protocol.bufferedreader in the server's start up script, but with the same effect.
    Any ideas what could be wrong? Or any information on how WebLogic's url protocol handling is working? Is it different from standard one?
    Best regards,
    Sameer Tiwari

    No, we went for another solution :(
    We needed new protocol to support inclusion of XSLTs, but we used UriResolver interface instead.

  • Wsdl host:port default values

    Hi,
    I've deployed a webservice in Weblogic 12.1.3, I expect that when I invoke the WSDL the binding address will be:
    http://host:port/contextPath/serviceUri?WSDL
    where host should be the host with which I've invoked the webservice and port the portnumber I've used in the webservice call. I mean if I call the webservice invoking directly a managed server instance with port 7103 the binding addres should be:
    <service name="ComplexService">
         <port binding="s0:ComplexServiceSoapBinding" name="ComplexServicePort">
           <s1:address location="http://myhost:7103/complex/ComplexService"/>
         </port>
       </service>
    The problem is that the WSDL is avoiding the managed server instance port 7103 and always is using the default protocol port 80 for http and 443 for https.
    <s1:address location="http://myhost:80/complex/ComplexService"/>
    Any ideas why is happening that?
    Thank you.

    Hi, I've checked what you said, but the configurations seems right:
    Frontend Host:
    Frontend HTTP Port:
    Frontend HTTPS Port:

  • Custom protocol handler for Server and Client

    Hi there,
    I have been reading about "A New Era for Java Protocol Handlers" from http://java.sun.com/developer/onlineTraining/protocolhandlers/ . I would like to redesign my existing codes to suit this architecture.
    The article mentioned about write client side application. I am wondering whether it will be possible to use the same architecture for server side as well ?
    If it is possible, it will be the very kind of you all to guide me to the right direction. Thank you in advance.

    Thanks for your input. Yeah, the article has been there for quite sometimes. That's why I am a bit sceptical about using it. The strange thing is that there has not been any updates about this topic since then (searched in google and not many web pages are mentioning this thing). I am wondering whether it is a good choice to change the code or not.

  • Will B2B Adapter receive operation with default triggers the SOA Composite

    Hi,
    Can any one provide me answers to this questions?
    *1. Will B2B Adapter receive operation having default protocol will trigger SOA Composite? if so how can we achieve it?*
    *2. will Listening channel with JMS protocol do EDI------XML translation? if so what are the configuration that need to be done?*
    *3. Will B2B Adapter receive operation listens messages from other protocols like File ,FTP ? if so what need to be done ?*

    1. Will B2B Adapter receive operation having default protocol will trigger SOA Composite? if so how can we achieve it?Yes, it can trigger SOA composite. First deploy the inbound B2B agreement with no channels selected under Host TP channels dropdown and then deploy your SOA composite which is referring to the deployed doc-def. Run an inbound test and you should be good to go.
    2. will Listening channel with JMS protocol do EDI------XML translation? if so what are the configuration that need to be done?Yes, you may translate native EDI to XML with JMS listening channel as well. Make sure that listening channel is not marked as internal and an inbound EDI agreement is deployed for corresponding EDI doc. Following custom JMS headers must be set so that B2B can identify the partner -
    FROM_PARTY
    TO_PARTY
    3. Will B2B Adapter receive operation listens messages from other protocols like File ,FTP ? if so what need to be done ?No. B2B adapter supports only three modes - JMS/AQ/Default (fabric), however you may use file/ftp adapter to receive files from B2B over file/ftp respectively.
    Regards,
    Anuj

  • Default fault handler

    Hello,
    I have a prospect that would like to have a generic default exception handler that will include a generic human task.
    The human task will receive the error details and allow the user to instruct the BPM engine to retry that faulty activity and resume the process from the point where it was stopped, or terminate the current process instance.
    Is there a supported way of doing so ?
    Thanks,
    Meni,

    Thank you for idea, that would solve this problem. But generally speaking, does Oracle BPEL Server support concept of default compensation handlers and default fault handlers by WS-BPEL1.1 specification or not? By my experience, it doesn't. Unluckily, you cannot use universal compensation activity (without name of the scope) either, and so you have to use in every fault handler list of compensation activities, each of them with name of specific scope. Am I wrong?

  • Help me! digester has error MalForme URL ".." unknown protocol: classloader

    I have used validator which link to digester and error occured like this..
    13-04-07 08:18:59.840 ERROR - java.lang.IllegalArgumentException: Malformed URL
    'classloader:/org/apache/commons/digester/xmlrules/digester-rules.dtd' : unknown protocol: classloader :(ValidatorOperator.java:71)[HttpRequestHandler-5984162]
    13-04-07 08:18:59.855 DEBUG - ******************************************* :(ValidatorOperator.java:72)[HttpRequestHandler-5984162]
    this line comes from new ValidatorResources(inputstream in)
    which I already checked that inputstream is not null
    Please help!!

    I just think that it's related to what an URL is and that whatever you provided there isn't a valid one because there is no such protocol as "classloader". Which the error message already said.
    From the URL API docs:
    Protocol handlers for the following protocols are guaranteed to exist on the search path :-
    http, https, ftp, file, and jar
    Further:
    Protocol handlers for additional protocols may also be available.
    In other words, if there actually is a protocol named "classloader", you will have to have some JAR in the classpath that'll provide that information. Read the Digester docs to find out which one that might be.

  • NBAR2 Protocol Pack

    Hi all,
    i'm trying to upgrade NBAR protocol pack on my cisco 1941 router, so i downloaded new NABR protocol pack  (version 4.0.0) and transferred it into router flash via tftp.
    When i try to apply new protocol pack with command :
    ip nbar protocol-pack flash:[protocol-pack-name]
    i got this error :
    % NBAR Error : Advanced Protocol Pack can not be loaded on top of Standard Protocol Pack
    The router is running IPBASE IOS with Security License, IOS image is c1900-universalk9-mz.SPA.153-1.T.bin
    Any Suggestion? Does NBAR2 packages works on IO BASE images?
    Thankyou in advance.
    Regards

    Hi,
    there's a lot of information in "NBAR2 (Next Generation NBAR) Protocol Pack FAQ" :
    http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6558/ps6616/qa_C67-723689.html
    "Q. Does a user need a license of any kind to access NBAR protocol packs?"
    "A. NBAR users having a AVC (Application Visibility and Control) feature license can load and use protocol packs on routers. Please refer to the protocol pack licensing section in this document for more details."
    "Q. Can a user load a protocol pack on any Cisco IOS/IOS-XE image?"
    "A. The minimum IOS version required to load a NBAR protocol pack on a ISR-G2 platforms is Cisco IOS Software Release15.2(4) M.
    Loading a protocol pack can be done if the engine version on the platform is the same or higher than the version required by the protocol pack.
    To view the NBAR engine version on the device, use:
    Router#sh ip nbar version | include software
    It is strongly recommended to use the protocol pack that is the exact match for the engine, and also recommended to use the latest protocol pack for the base image."
    Hope that helps,
    Best regards
    Rolf
    Supplement:
    Found in BRKNMS-3135 (Cisco Live 365):
    Standard Protocol Pack
    ‒ Available (as Default Protocol pack) in IP Base image
    Advanced Protocol Pack
    ‒ Available  (as Default protocol pack) in DATA image
    Added: BRKNMS-3135 info

  • Lost Openbox Menu to LXDE install

    I would like to know how to restore my openbox menu, or atleast edit the one LXDE uses. I installed LXDE in hopes to have a better linux experience. After all sitting there with just Openbox, Nitrogen, tint2, and Conky was all well and good but I like having a desktop with icons.
    My problem though without all the fluf is that my openbox menu became LXDE with only a few menus, which is far from my long list with just Openbox. Is there a way to restore it, or import everything over. (Like the menu.xml and the rc.xml) I know it exists since the obmenu command shows my old menu, though I can't get it to show up.

    Did you manually configure your old menu via ~/.config/openbox/menu.xml or did you use the default?
    If you configured it and now you have something different, then I'm guessing it was overwritten, in which case it would be interesting to know if that happens automatically or not when installing/running Lxde.
    If you were using the default, try renaming ~/.config/openbox/menu.xml to ~/.config/openbox/menu.xml.bak then reconfigure openbox and check if it reset your menu.

Maybe you are looking for

  • Reports to track changes on Deliveries and Sales order

    Hi All Do you perhaps know of a specific report that could possibly track changes made to a Sales order and delivery at line item level. The problem is change log only logs the deletion of the line item but not the actual material number. Do we have

  • Extremely high cpu utilization

    Hello, We are currently using Weblogic 7 SP4 /Solaris 9 for our deployment. We are currently testing a sync application where a desktop client syncs calendar/contacts with a browser PIM. We noticed that the CPU usage was consistently around 35-45% fo

  • Auto fill subject with an Email link in CS4 Bridge flash web gallery

    Is there a way to autofill the subject line of the email link in the CS4 Bridge flab web galleries? I can do it if I use the html gallery, but I prefer the look of the flash galleries. If I open the "group.xml" file I see code for me email link, exp.

  • Access on more than one computer

    redemption code will not allow me to install on two computers

  • RSS Feed issue in 5.2

    Just upgraded to 5.2 and now I am having problems with all of the RSS feeds.  Now that I need a proxy server just for these dmp's to get information. 1) Is there any workaround, like using the IP address instead of the dns name? 2) is there a really