Jump to content

xtin

Member
  • Posts

    46
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by xtin

  1. Updated to fulfill all your wishes direct reply, chat history, ... more ideas?
  2. Didn't know hipmunk, thanks for the hint =) Unfortunately they both don't offer an API to work with, which makes it difficult to create a workflow. Expedia has one, but it is difficult to obtain. It would be great though (+1 for the request ) Edit: SkyScanner has one: http://api.skyscanner.net/api/ajax/documentation.html or not, interesting definition of "API"
  3. This is an awesome workflow! And I have a bunch of ideas In increasing complexity ^^: - Allow multiple tags. - Copy all tasks that are currently displayed to clipboard. This would make it easy e.g. to aggregate tasks throughout the day and print them or email them as batch to so. - Add deadlines to tasks (maybe add a cronjob to periodically check for due items, use ! as keyword (!tomorrow !23.12.2014, ...)) - Add importance to tasks (maybe with stars? from * to *****, the good thing is that entering 5 stars takes a while, so one is not tempted to over use it , on the other hand this can be done by tags... so maybe not so necessary) - Allow people to share lists. (This could be done by creating tags whose content is saved to an extra file, which could be put on a dropbox share or mapped network drive.) - Sync with some todo app (maybe reminders, or toodledo, etc.), because my todo list needs to be portable, e.g. run on my android phone (I'm using wunderlist right now, but since version 2.0 hacking the db file is not easy anymore and there's no api up until now, so I can't suggest that at the time being =( )
  4. Just start typing after entering setup, it will search for the folder you're typing.
  5. Many scripts that rely on external sources like web services or databases need some considerable time to evaluate. As Alfred will always send the content of the currently selected Item if you press enter, it can only submit what has been entered up to the last successful evaluation of the script. Now for scripts where you input text, e.g. a chat message, where upon pressing enter you want to do something with that message, even if processing it has not finished yet, it would be super useful if you can access the content of the input line from the ScriptFilter in the Script, maybe as {input}. (My current usecase is implementing skyping via Alfred, I display the last messages between the user and the currently selected friend as items, it really does not matter which one is selected to submit the message, however it is super important that the complete input string is sent to the script so it can be sent to skype, as otherwise parts of the messages will be missing. Unfortunately the SQLite query to fetch said data takes a while (maybe 50 to 100ms), enough to consistently eat my smilies or at least their mouths, which is a horrible thing to do to smilies I think this should be relatively simple to implement and provide a huge benefit to Alfred, namely be able to chat with it fluently. (Or write E-Mails, or...) ) (This a result of this thread: http://www.alfredforum.com/topic/1416-incomplete-query/)
  6. ok great thanks! that indeed makes that problem moot Yay!
  7. For reference, I'll be talking about a Workflow like this: ScriptFilter -> Script -> Open URL/Display Message/Copy to Clipboard... There's nothing to optimize, e.g. every script that relies on replies from a server will have that problem and there's simply nothing you can do to make servers respond fast enough. (Yes, I could do what suggest in 3) but oh boy... that will be pain and still not elegantly solve the problem.) Now, my suggestion of simply having a checkbox that makes ScriptFilter send the input to the Script instead of the return value of the selected item, will solve the problem for many use cases, namely Whenever you use the items to display some kind of status or intermediate results and are not particularly interested which item is selected - say, display chat history, do some search, or if you enter a complicated equation in wolfram alpha, you want to make sure the parsing is fine, but in the end when you hit enter to go the website, you want to make sure, that you evaluate what you have entered and not what you have entered a second before hitting enter. Nevertheless, (and here I'm really thankful for your opposition as my feature request suggestion improves with every reply ) the new best (hehe) would be to send both {query} and {input} form ScriptFilter to Script. That's clean, easy to understand for users, seems easy to implement and would empower Alfred to be used for any application where it is important, that what has been put into the input field can be processed in the Script. (I can see why the workflows are implemented as they are, it's easy for users to grasp, easy to develop with and hard to break, however it's also very ugly in some aspects. Say you query some database, what you're essentially doing is opening a database connection every time you enter a script. Same for calling api's - you generate a huge overhead by opening-closing and immediately reopening the connection, sacrificing performance and thereby potential applications). It would be cleaner to have an Interface in every language that needs to be implemented by the programmer with functions such as "OnQueryEnter(), OnQueryUpdate(), OnQueryAutoComplete(), OnQuerySubmit(), OnQueryExit() and OnQueryError()" allowing the script to run all the time. Then you could open a Database connection at OnQueryEnter() update every 500ms and close it on (Exit,Submit and Error), in the mean time Alfred could call OnQueryUpdate() whenever the user presses a button and the script could just spit out the last fetched state, making interaction swift at all times. However at the cost of considerably more complex workflow development and potentially scaring away people with good ideas but less programming experience.) (I created a feature suggestion myself: http://www.alfredforum.com/topic/1470-send-the-content-of-the-input-line-from-scriptfilter-to-the-next-step-as-input/)
  8. Will Alfred forget about such random UIDs after a while? If my script is creating them by the second (i.e. 5 per evaluation), it might pretty quickly start to slow down alfred?
  9. I'm testing a version with conversations right now and that was on my list of things to fix, thanks for the hint on how to fix it!
  10. No Let me do an example: You type a message for skype, and the script continuously polls the last 5 messages in the last discussion you had with a user (this takes maybe 500ms), the action for all of these 5 entries is the same, namely it forwards what you're currently typing to a next script that actually sends the query to a user. Right now, while you write, what you write has to be included in the query of the entries (i.e. the message you are composing is part of the reply.) because that is what is sent to the next step as {query}. And since it only reevaluates every 500ms, the {query} will represent the message that you entered up to 500ms ago. There are three ways to remedy this, 2 of which need a feature change. 1.) A checkbox for scriptfilter "return current entry string as {query}", which simply forwards the content of the typing field as a {query} instead of what the currently selected item has as reply. 2.) A checkbox for scriptfilter "evaluate upon sending", which will perform an evaluation of the scriptfilter script after the user has pressed enter with the current state of the typing field. Then it returns the entry the user selected (so if the user selected the first entry it will return the answer of the first item in xml) 3.) Some caching magic to speed up everything, where you either spawn an updater process that works independently of alfred and writes its state to a file or serve static content after it has been fetched once. My original solution was 2), it has a few serious short comings (e.g. what happens if the user selected the 5th item and reevaluating the script yields only 4), where 1.) seems very clean and easy to understand to me, which is what I would suggest as a feature request. 3) Is either annoying and hacky as it will lead to all sort of potential problems if a sort of background process is spawned or a feature degradation, where new messages can no longer be polled while you write.
  11. You can give my workflow for skype a shot: http://www.alfredforum.com/topic/1377-alfred-to-skype-interaction/?hl=skype - it allows for skypecalls via scall
  12. I know, maybe move this thread to requests to add a checkbox "reevaluate query on pressing enter" (I'm aware that you can do weird stuff with this, but it also adds some exciting possibilities) to the script filter.
  13. Outputting to file is a good idea, I might simply wrap everything in a try: except: and write the corresponding error to a file... I started my own such library, since I discovered it late, but will switch once I get to it. Thereby, could you maybe pin the threads with these libraries or make a pinned thread where they're listed? I read from at least one other, who basically did the same like me...
  14. I'm writing a skype extension and whenever i press enter before the last refresh (a refresh takes maybe 100-500ms) is over it will not send whatever has been typed in the meantime, ending up in incomplete messages. Is there a way to make sure that the actual query in the typing bar and not the one from the field will be passed on? (ideally we could select the behaviour, as both have their justifications.)
  15. Ah yes, of course. That makes sense and sounds pretty awesome
  16. Hi, Cool you like it to your suggestions: 1) Alfred allows only for single line subtitle per entry, therefore it doesn't really make sense to load more. Loading the last one the chat partner sent instead of the last message that has been sent at all is just a choice I found more comfortable, but I could easily change that if you find it more intuitive. 2) Yes, that is how Skype saves its data, I could filter it out by simply stripping html-tags, so far I chose to keep it, because actually displaying the icons etc is not possible and filtering might have unintended side effects, but I will strip it in the next release as I find it ugly myself 3) ok, do you want it to actually open the skype chat or just send a message to that user? How about with alt+enter it sends the message and opens the corresponding chat?
  17. Right now, if Alfred has an Error in the XML it receives or cannot parse due to encoding problems, it will just not parse it. Could you please add a "show errors/debug" checkbox for workflows, so that these parsing errors are displayed as XML replies? It would make creating extensions and more importantly remote debugging strange problems a LOT easier! Also, a minor one: if you use python and do print u"some string containing üäöàéè", Alfred will simply ignore it, while the same as a non unicode string works.
  18. It's online again, with all you wished for Let me know what you think about it!
  19. @greg i like the idea, added it to the wish list. Can you try deleting the extension and reinstalling it? (it will clear the corrupted database) Edit: I just checked, this should solve the issue. Problem is, that my script doesn't wait for approval, gets no contacts back, writes them to file and then restoring the empty file crashes the script ... will upload an update in a sec.
  20. I almost feared it won't work from scratch Updating cache takes at most a few seconds. To troubleshoot: - was skype open? (it needs to be) - did you receive a warning from skype that a program tries to access it? - did you receive a notification that it updated the contacts?
  21. Last but not least: Skype! Send messages directly with alfred and call users. You no longer need to use your mouse to chat in skype Skype needs to be running for this to work. You should receive a warning from skype, that a programm wants to access its data - accept. Commands: s - autocompletion from skype contact list, then send message. Also displays last received message. sc - autocompletion from skype contact list, call users. snew - the 5 newest messages, simply select one for reply. sr - reply to last user. There is a Contact Action for using the alfred contacts to call skype, simply create a new Contact Action as described here http://support.alfredapp.com/workflows:config:triggers-contact-action and select "Call Skype", if you have saved skype usernames in your contacts as well, they should work too. There's also a python equivalent (PyFred) of the PHP Workflows-Script, for those who <3 python over php. Rather use this: No need to reinvent wheels http://www.alfredforum.com/topic/403-alp-a-python-workflow-module/ Requirements: Alfred, Skype, Python (preinstalled in OSX) Download: http://d.pr/f/cimZ Known Issues: - When you hit enter too fast, a few letters can be cut off. I have optimised what is possible to remedy this, to completely remove it, a feature change in Alfred is necessary. Simple fix, add a space after your message. Wishlist/TODO: (decreasing importance) - Filter empty Messages. (i.e. if they contained call information that is filtered already) - Find user image - sr without autcomplete - Display status for the users with icon (maybe, if you know a good way to compose images without using libraries that need installation let me know...) - Global user search and add - More sanity checks: Was update successful, if it fails, why? etc. - Clean XML replies from Smilies code etc. - sr - directly reply to last person. - alt opens the chat window. (can't switch current window, but bring skype to front) - Call skype # from adress book. Changelog: v0.3 (http://d.pr/f/cimZ) - sr now directly replies, without autocomplete - fetches all user images completely - shows user status on search, snew, etc. - buxfixes for encoding, snew, ... - more caching, faster response. v0.2 (http://d.pr/f/FcIO) - Display the history of a chat when replying. - New Command sr, to directly reply to a user. - If you use sc with an unknown username or directly a phone number, it suggests calling as well as updating the friends list. (must have accidentially removed this, will be back.) - Encoding works properly v2 - Open Skype with alt/enter. v0.1.1 (http://d.pr/f/RGTo) - Skype startup bug removed - More debugging - Encoding works properly - snew for newest messages - Contact Action to allow calling from contacts. v0.1 - Initial release License: CC BY-SA 3.0 Any feedback or bug reports are highly appreciated!
×
×
  • Create New...