#you can still access tags by clicking them on posts but i miss the shortcuts ;n ;
Explore tagged Tumblr posts
Text
ah man im really hating the new tumblr mobile changes ;n ;
#i mostly use the mobile ver. and it sucks so much atmā¦#what actually does make me mad is they moved the tags from the search area to just āyour tagsā on the main page#āyour tagsā water things down a lot#and it feels so boringā¦like Iām sorting mail#my fav thing about this hellsite was exploring individual tags!!#so just being able to click them of search was super useful!!#and it usually featured artists work as the covers (i got to see my art on a couple)#you can still access tags by clicking them on posts but i miss the shortcuts ;n ;#the fact they replaced the user icon for the store one is so dumb#tumblr i donāt want to buy things from u!!#piku rambles āļø
3 notes
Ā·
View notes
Text
Download facebook video iphone
DOWNLOAD FACEBOOK VIDEO IPHONE UPDATE
You can also block users or delete friends from theĀ app. Decide if you want to hide your friends' list, the pages you follow, or your posts and profile information. Privacy and security: You can easily get access to your privacy settings and modify them on the fly.Languages: Facebook supports over 100 languages.You can change it at any time by clicking on the same top-right arrow and selecting the mode you prefer. Just click on that top right arrow again and select āSwitch to New Facebookā, a prompt may appear to let you choose between the Light and the Dark mode. UI dark mode: Enable the stylish dark mode.You will also get access to tabs like Home, Watch, Marketplace, and FacebookĀ Gaming, as well as shortcuts, saved links, and you will have the ability to manage multiple profiles. Intuitive interface: TheĀ app is similar to the web version, so you will feel familiar with the interface.Live streaming: Easily create live videos using your computerās integrated or external camera, streaming software, or any other encoding device.Facebook will automatically create a group where you will be able to share the event-related information, share messages in the chat, and everything else you need. Organize events: You can organize an event and invite your friends to participate.Messenger integration: You can instantly access your Messenger conversations in your desktop application.You'll probably miss the possibility to chat privately with friends or groups of friends, but now the instant messaging functions have been dissociated from the application to become exclusive to Messenger, another app that's a big must on any worthy smartphone or tablet. Take part in contests organized by different brands on their social networks.Have a go at games optimized for mobile phones and flood your contacts with requests for Candy Crush and Clash of Clans.Express other feelings by means of the reaction buttons: Love, Haha, Wow, Sad or Angry.Like whatever post you want with the corresponding button.Comment on your contact's publications or posts by any user with an open wall.Explore your timeline to find out what your friends have published, said, or done.Receive notifications about any publication in which you've been mentioned.Upload photos, share links, and tag friends.Share live videos by means of streaming from your iPhone's camera in order to broadcast important events.
DOWNLOAD FACEBOOK VIDEO IPHONE UPDATE
Update your status and say where you are by means of the Check-in function.Access your account, change your profile and cover photos and modify your personal details.What can I do with this version of Facebook for iPhone and iPad?ÄŖs we said earlier, you can carry on doing all the usual things you'd carry out on the ordinary version, but now from a much smaller screen: But if you still think it consumes too many resources you can always turn to the Lite version. With this app downloaded and installed on your iPhone, you'll obviously be able to access all the usual functions of the web version, but with the added value of mobility and being able to check your account and all the movements on your timeline when and wherever you want, as well as receiving activity notifications on your phone's home screen.Ä®ssential to keep up with everything going on in your friends' lives.Ä«ut beware, the mobile version of this social network isn't perfect: it takes up a lot of space on our smartphone and usually eats up all our battery, but its advantages beat the disadvantages. In this case, we want to introduce you to the official FB client for iOS devices. Before we usually accessed Facebook from our PC's browser, but now it's almost unthinkable not to do so from a mobile application. Technology has come a long way since the arrival of Mark Zuckerberg's social network around 2005.
0 notes
Text
Block Links: The Search for a Perfect Solution
I was reading this article by Chris where he talks about block links ā you know, like wrapping an entire card element inside an anchor ā being a bad idea. Itās bad accessibility because of how it affects screen readers. And itās bad UX because it prevents simple user tasks, like selecting text.
But maybe thereās something else at play. Maybe itās less an issue with the pattern than the implementation of it. That led me to believe that this is the time to write follow-up article to see if we can address some of the problems Chris pointed out.
Throughout this post, Iāll use the term ācardā to describe a component using the block link pattern. Hereās what we mean by that.
CodePen Embed Fallback
Letās see how we want our Card Components to work:
The whole thing should be linked and clickable.
It should be able to contain more than one link.
Content should be semantic so assistive tech can understand it.
The text should be selectable, like regular links.
Things like right-click and keyboard shortcuts should work with it
Its elements should be focusable when tabbing.
Thatās a long list! And since we donāt have any standard card widget provided by the browser, we donāt have any standard guidelines to build it.Ā
Like most things on the web, thereās more than one way to make a card component. However, I havenāt found something that checks all the requirements we just covered. In this article, we will try to hit all of them. Thatās what weāre going to do now!
Method 1: Wrap everything an <a>
This is the most common and the easiest way to make a linked card. Take the HTML for the card and wrap the entire thing in an anchor tag.
<a href="/"> <!-- Card markup --> </a>
CodePen Embed Fallback
Hereās what that gives us:
Itās clickable.
It works with right-click and keyboard shortcuts.
Well, not great. We still canāt:
Put another link inside the card because the entire thing is a single link
Use it with a screen reader ā the content is not semantic, so assistive technology will announce everything inside the card, starting from the time stamp
Select text
Thatās enough
that we probably shouldnāt use it. Letās move onto the next technique.
Method 2: Just link what needs linking
This is a nice compromise that sacrifices a little UX for improved accessibility.
CodePen Embed Fallback
With this pattern we achieve most of our goals:
We can put as many links as we want.Ā
Content is semantic.
We can select the text from Card.
Right Click and keyboard shortcuts work.
The focus is in proper order when tabbing.
But it is missing the main feature we want in a card: the whole thing should be clickable! Looks like we need to try some other way.
Method 3: The good olā Ā ::before pseudo element
In this one, we add a ::before or ::after element, place it above the card with absolute positioning and stretch it over the entire width and height of the card so itās clickable.
CodePen Embed Fallback
But now:
We still canāt add more than one link because anything else thatās linked is under the pseudo element layer. We can try to put all the text above the pseudo element, but card link itself wonāt work when clicking on top of the text.
We still canāt select the text. Again, we could swap layers, but then weāre back to the clickable link issue all over again.
Letās try to actually check all the boxes here in our final technique.
Method 4: Sprinkle JavaScript on the second method
Letās build off the second method. Recall thatās what where we link up everything we want to be a link:
<article class="card"> <time datetime="2020-03-20">Mar 20, 2020</time> <h2><a href="https://css-tricks.com/a-complete-guide-to-calc-in-css/" class="main-link">A Complete Guide to calc() in CSS</a></h2> <p> In this guide, letās cover just about everything there is to know about this very useful function. </p> <a class="author-name" href="https://css-tricks.com/author/chriscoyier/" target="_blank">Chris Coyier</a> <div class="tags"> <a class="tag" href="https://css-tricks.com/tag/calc/" >calc</a> </div> </article>
So how do we make the whole card clickable? We could use JavaScript as a progressive enhancement to do that. Weāll start by adding a click event listener to the card and trigger the click on the main link when it is triggered.
const card = document.querySelector(".card") const mainLink = document.querySelector('.main-link') āØ card.addEventListener("click", handleClick) āØ function handleClick(event){ Ā mainLink.click(); }
Temporarily, this introduces the problem that we canāt select the text, which weāve been trying to fix this whole time. Hereās the trick: weāll use the relatively less-known web API window.getSelection. From MDN:
The Window.getSelection() method returns a Selection object representing the range of text selected by the user or the current position of the caret.
Although, this method returns an Object, we can convert it to a string with toString().
const isTextSelected = window.getSelection().toString()
With one line and no complicated kung-fu tricks with event listeners, we know if the user has selected text. Letās use that in our handleClick function.
const card = document.querySelector(".card") const mainLink = document.querySelector('.main-link') āØ card.addEventListener("click", handleClick) āØ function handleClick(event){ const isTextSelected = window.getSelection().toString(); if (!isTextSelected) { mainLink.click(); } }
This way, the main link can be clicked when no text selected, and all it took was a few lines of JavaScript. This satisfies our requirements:
The whole thing is linked and clickable.
It is able to contain more than one link.
This content is semantic so assistive tech can understand it.
The text should be selectable, like regular links.
Things like right-click and keyboard shortcuts should work with it
Its elements should be focusable when tabbing.
Hereās the final demo with all the JavaScript code we have added:
CodePen Embed Fallback
I think weāve done it! Now you know how to make a perfect clickable card component.
What about other patterns? For example, what if the card contains the excerpt of a blog post followed by a āRead Moreā link? Where should that go? Does that become the āmainā link? What about image?
For those questions and more, hereās some further reading on the topic:
Cards by Heydon Pickering
Block Links, Cards, Clickable Regions, Rows, Etc. by Adrian Roselli
Block Links Are a Pain (and Maybe Just a Bad Idea) by Chris Coyier
Pitfalls of Card UIs by Dave Rupert
The post Block Links: The Search for a Perfect Solution appeared first on CSS-Tricks.
source https://css-tricks.com/block-links-the-search-for-a-perfect-solution/
from WordPress https://ift.tt/3d2SsqG via IFTTT
0 notes
Text
ES Spectre 2.0 Chapter 7-4
2 notes
Ā·
View notes
Text
Lightning Sunset (Desktop 12)
Edit: much thanks to Lifehacker. š Featured Desktop: Lightning at Sunset How To: Roll Your Own Lightning at Sunset Desktop
This is a minor update to my previous desktop. As before, every bit of software in the shot is freeware, sans only the copy of Photoshop used to put it together.
Mouseover the icons on the left for a description of the new additions, D-Color and Xentient Thumbnails. The rest, as listed before:
Theme: ā SlanXP 2.0. Requires patched uxtheme.dll ā patcher here. ā Wallpaper: "lightning in sunset" by ddoi.
Startups: ā Autohotkey. See the note in the upper-right corner. ā Launchy. My beloved. ā Yodām 3D 1.4. Last free version before it became Deskspaces. Probably the closest thing to Compiz Fusion you can get for Windows. ā Taskbar Shuffle. I swear, itās worth it just for middle-clicking to close windows. ā Start Killer.
Programs usually running: ā Samurize. I made the config myself, which youāre welcome to download here in a few different resolutions. ā Google Desktop. Solely for the gadgets.
Iāve added a few other details as notes. And Iād be happy to answer any questions. I love talking about this stuff.
ā ā ā ā ā ā ā
UPDATE: Much thanks to Lifehacker for the featured article. š As requested by some of the commenters over there, here follows a brief tutorial on getting this setup for your PC.
Theme. Download the above Uxtheme.dll Patcher. Youāll have to restart your computer; do so. Then, download "SlanXP2.msstyles", and run it; Windows will know what to do. Customize it however you want (I use the third color scheme). Hit Apply. You may want to keep the ".msstyles" file in a safe place; I placed a copy with my other themes in "C:WindowsResourcesThemes".
Iām sure most of you know how to move the taskbar to the top of the screen.
Launchy. I love Launchy so very much. Download, install and run it. The default hotkey to access it is Alt+Space, but I use Win+Z. Right-click to access options. From here, there are so many ways to go that Iām just going to refer you to Lifehackerās numerous articles on customizing Launchy. But the gist is this: use the hotkey to bring it up. Start typing what youāre looking for, until Launchy finds it, then hit Enter to run it. The more you use it, the more Launchy will learn what you use most often, and youāll have to type less and less. By default, it will index your Start Menu, Control Panel, and bookmarks, so feel free to get rid of those application icons on your desktop. Just go for it. Go!
Yodām3D. This is actually a portable application, meaning you donāt have to install it. Extract the folder from the ZIP you downloaded to somewhere safe, like "C:Program Files". Manually add a shortcut to "Yodm3d.exe" in your Start Menu. Run it, and right-click the tray icon to open options.
I kept most of the defaults. I enabled "Auto turn cube when window move out of screen." I also disabled the tray icon (you can access options without it just by launching the shortcut again). In the Mouse tab, I enabled the bottom two corners for activation, with a delay of 250ms. In Zoom, I have the following numbers down the side: 0.00, 1.00, 1.00, 0.00, 0.12, 0.10.
To use it, just move your mouse to either bottom corner of the screen, which should suddenly become a translucent cube. To rotate it, click and drag, or just use the arrow keys. To select the face youāre centered on, middle-click or press Enter. Using the numbers I gave you, it wonāt zoom at all by default, but if you want to zoom out a bit and visualize the whole cube, press the Up arrow. Yodām can remember a different wallpaper for each desktop, but you have to set it through the Display dialogue.
D-Color. This oneās pretty self-explanatory. Download, install, run. Right-click the tray icon to select the icon style you want (tiles, in my case). Click "Configure" to customize the text color; I just have white text and a transparent background. (No shadows, annoyingly, which means this works best with a darkish background.)
Taskbar Shuffle. Another easy one. Download, install, run. As noted above, I donāt even really care about moving the window tabs around; I keep this around because it lets me middle-click to close windows. You will be amazed at how much you miss it on other computers. I disabled the tray icon with this one; as with Yodām, you can just run the program shortcut again to bring it back.
StartKiller. Even easier. Download, install, run. Start button is gone. Done. (You can still access the start menu using the windows key button, or Ctrl-Esc.)
Google Desktop. Download, install, run. If I recall, it will open a browser window for you to start setting options. With Launchy, I have no need for GDās primary function, desktop search, so I went through and disabled every option I could find related to indexing. When youāre done with this, right-click the tray icon and select "Sidebar." Said object should promptly appear on the side of your desktop, if it hadnāt already. On the top, click the middle of the three corner buttons, with the triangle. Select "Auto-hide," then "Add gadgets" to browse Googleās immense library of widgets. Once theyāre added to your sidebar, you can click and drag to pull them onto the desktop in whatever arrangement you like. Now, you can just tap the "Shift" key twice to hide or reveal them, ala Dashboard.
Samurize. Samurize is the one program here with a bit of a learning curve, particularly because my config doesnāt fit all resolutions by default. Samurizeās website has a good comprehensive tutorial. For more information, see Lifehackerās How To article on this desktop.
Basic instructions for this config are included in the download. I provided for a few different resolutions, mainly on request; Iām working on a way to make it auto-conform to any resolution, so keep an eye on this post.
Autohotkey. Download, install. You can run the program if you want to look at a sample script, but all you really have to do is create a new ".ahk" file somewhere safe (mineās in My Documents). You can create a start menu shortcut to the "whatever.ahk" file itself; it will launch Autohotkey with that file, or "script," and to edit it, you can right-click the tray icon. When youāre done editing, save the file, right-click the tray icon again, and click "Reload script."
As for what you actually put into your script, you have free reign. Autohotkeyās website has a tutorial to get you familiar with the format. Iāll give you a few examples that I use regularly ā in fact, you can copy and paste these if you want.
#f:: Run firefox.exe ; Win+F launches Firefox.
#+n:: Run notepad++ ; Win+Shift+N launches Notepad++.
^!d:: Run C:ā¦Todo.txt ; Opens my to-do list; Samurize reads from the same file.
#1:: WinSet, Transparent, 255, A #2:: WinSet, Transparent, 217, A ; Win + 1-2 sets transparency of active window to 0%/15%. (255 is opaque.)] #3:: WinSet, Transparent, 255, ahk_class Shell_TrayWnd #4:: WinSet, Transparent, 217, ahk_class Shell_TrayWnd ; Win + 3-4 sets taskbar transparency.]
!F2:: WinMinimize, A ; Alt+F2 minimizes active window.
!F3:: WinGet MX, MinMax, A If MX WinRestore A Else WinMaximize A return ; Alt+F3 maximizes/restores active window.
For more information, see Lifehackerās How To article on this desktop.
Posted by Kaelri on 2008-08-20 03:36:11
Tagged: , lifehacker , desktop , customization , deskspace , yodām , transparency , slanxp , samurize , launchy , google , autohotkey , d-color , xentient
The post Lightning Sunset (Desktop 12) appeared first on Good Info.
0 notes
Text
Block Links: The Search for a Perfect Solution
I was reading this article by Chris where he talks about block links ā you know, like wrapping an entire card element inside an anchor ā being a bad idea. Itās bad accessibility because of how it affects screen readers. And itās bad UX because it prevents simple user tasks, like selecting text.
But maybe thereās something else at play. Maybe itās less an issue with the pattern than the implementation of it. That led me to believe that this is the time to write follow-up article to see if we can address some of the problems Chris pointed out.
Throughout this post, Iāll use the term ācardā to describe a component using the block link pattern. Hereās what we mean by that.
CodePen Embed Fallback
Letās see how we want our Card Components to work:
The whole thing should be linked and clickable.
It should be able to contain more than one link.
Content should be semantic so assistive tech can understand it.
The text should be selectable, like regular links.
Things like right-click and keyboard shortcuts should work with it
Its elements should be focusable when tabbing.
Thatās a long list! And since we donāt have any standard card widget provided by the browser, we donāt have any standard guidelines to build it.Ā
Like most things on the web, thereās more than one way to make a card component. However, I havenāt found something that checks all the requirements we just covered. In this article, we will try to hit all of them. Thatās what weāre going to do now!
Method 1: Wrap everything an <a>
This is the most common and the easiest way to make a linked card. Take the HTML for the card and wrap the entire thing in an anchor tag.
<a href="/"> <!-- Card markup --> </a>
CodePen Embed Fallback
Hereās what that gives us:
Itās clickable.
It works with right-click and keyboard shortcuts.
Well, not great. We still canāt:
Put another link inside the card because the entire thing is a single link
Use it with a screen reader ā the content is not semantic, so assistive technology will announce everything inside the card, starting from the time stamp
Select text
Thatās enough š that we probably shouldnāt use it. Letās move onto the next technique.
Method 2: Just link what needs linking
This is a nice compromise that sacrifices a little UX for improved accessibility.
CodePen Embed Fallback
With this pattern we achieve most of our goals:
We can put as many links as we want.Ā
Content is semantic.
We can select the text from Card.
Right Click and keyboard shortcuts work.
The focus is in proper order when tabbing.
But it is missing the main feature we want in a card: the whole thing should be clickable! Looks like we need to try some other way.
Method 3: The good olā Ā ::before pseudo element
In this one, we add a ::before or ::after element, place it above the card with absolute positioning and stretch it over the entire width and height of the card so itās clickable.
CodePen Embed Fallback
But now:
We still canāt add more than one link because anything else thatās linked is under the pseudo element layer. We can try to put all the text above the pseudo element, but card link itself wonāt work when clicking on top of the text.
We still canāt select the text. Again, we could swap layers, but then weāre back to the clickable link issue all over again.
Letās try to actually check all the boxes here in our final technique.
Method 4: Sprinkle JavaScript on the second method
Letās build off the second method. Recall thatās what where we link up everything we want to be a link:
<article class="card"> <time datetime="2020-03-20">Mar 20, 2020</time> <h2><a href="https://css-tricks.com/a-complete-guide-to-calc-in-css/" class="main-link">A Complete Guide to calc() in CSS</a></h2> <p> In this guide, letās cover just about everything there is to know about this very useful function. </p> <a class="author-name" href="https://css-tricks.com/author/chriscoyier/" target="_blank">Chris Coyier</a> <div class="tags"> <a class="tag" href="https://css-tricks.com/tag/calc/" >calc</a> </div> </article>
So how do we make the whole card clickable? We could use JavaScript as a progressive enhancement to do that. Weāll start by adding a click event listener to the card and trigger the click on the main link when it is triggered.
const card = document.querySelector(".card") const mainLink = document.querySelector('.main-link') āØ card.addEventListener("click", handleClick) āØ function handleClick(event) { Ā mainLink.click(); }
Temporarily, this introduces the problem that we canāt select the text, which weāve been trying to fix this whole time. Hereās the trick: weāll use the relatively less-known web API window.getSelection. From MDN:
The Window.getSelection() method returns a Selection object representing the range of text selected by the user or the current position of the caret.
Although, this method returns an Object, we can convert it to a string with toString().
const isTextSelected = window.getSelection().toString()
With one line and no complicated kung-fu tricks with event listeners, we know if the user has selected text. Letās use that in our handleClick function.
const card = document.querySelector(".card") const mainLink = document.querySelector('.main-link') āØ card.addEventListener("click", handleClick) āØ function handleClick(event) { const isTextSelected = window.getSelection().toString(); if (!isTextSelected) { mainLink.click(); } }
This way, the main link can be clicked when no text selected, and all it took was a few lines of JavaScript. This satisfies our requirements:
The whole thing is linked and clickable.
It is able to contain more than one link.
This content is semantic so assistive tech can understand it.
The text should be selectable, like regular links.
Things like right-click and keyboard shortcuts should work with it
Its elements should be focusable when tabbing.
Hereās the final demo with all the JavaScript code we have added:
CodePen Embed Fallback
I think weāve done it! Now you know how to make a perfect clickable card component.
What about other patterns? For example, what if the card contains the excerpt of a blog post followed by a āRead Moreā link? Where should that go? Does that become the āmainā link? What about image?
For those questions and more, hereās some further reading on the topic:
Cards by Heydon Pickering
Block Links, Cards, Clickable Regions, Rows, Etc. by Adrian Roselli
Block Links Are a Pain (and Maybe Just a Bad Idea) by Chris Coyier
Pitfalls of Card UIs by Dave Rupert
The post Block Links: The Search for a Perfect Solution appeared first on CSS-Tricks.
Block Links: The Search for a Perfect Solution published first on https://deskbysnafu.tumblr.com/
0 notes
Text
Version 392
youtube
windows
zip
exe
macOS
app
linux
tar.gz
source
tar.gz
I had a mixed week, but I am happy with my work. Some large database jobs are faster and tag autocomplete results have better sibling support.
tag sibling database cache
I was not able to get as much done here as I had hoped, but I was able to finish the first step and fix some sibling bugs. The client now keeps a cache for fast sibling lookups, which will be a great tool going forward.
The tag autocomplete system now uses this new cache. When you type in the start of a tag, possible matches' siblings are added to the results list, even if they do not strictly match what you typed. These siblings used to be computed on the fly, but now it is looked up using fast pre-generated data. I have also improved the accuracy of the search and added 'pending' siblings in.
As I was working here, I also fixed some sibling presentation and search bugs. If you discovered that a 'series:blah' search was delivering some unexpected 'cosplay:blah' results, this should now be fixed. There is still more to do here, which I hope to naturally fix as I replace more old systems with nice new caches.
There are two next steps here: first to write a 'what file tags should look like with siblings collapsed' cache, which will speed up tag search and file load and also eliminate many of the uncertain counts you get with autocomplete results like 'character:samus aran (500-700)'. Second is to write a full-featured 'which siblings apply to this service?' options system, so you can say 'ignore the ptr's siblings, use mine instead' and other clever combinations, rather than the current 'always apply all to all, or one to one'.
the rest
e621 and sankaku get revised default downloaders, fixed for getting 'rating' and 'genre' tags respectively.
The system tray icon got some bug fixes. It is also more stable under non-Windows, but doesn't seem to hide reliably yet.
The hydrus server and the client's API and booru now try to host their services on IPv6 as well as IPv4. This is new stuff to me, so let me know if you come across any problems!
full list
db-level tag sibling cache:
the hydrus client db now maintains a fast cache of current+pending tag-to-ideal-tag sibling relationships. it works for specific services and 'all known tags'. this is a nice tool and the first step in having a proper hard-baked siblings mappings cache
the new sibling cache can be regenerated under _database->regenerate_. the 'autocomplete cache' entry under that menu is also renamed to the now more appropriate 'tag mappings cache'
the db repair system can regenerate this new cache if any part is missing on boot
the lookup that finds tag sibling matches for autocomplete uses this and is now faster, specific to the searched service, more accurate about status, and now includes pending siblings
wrote a new unified object to manage a collection of tag siblings, it is now in use at the db level
as I continue to develop this new fast tech, the old 'apply all sibs to all services' option, which was always buggy, may sometimes not apply in it. I will ultimately replace it with a fuller per-service choice system that will work quickly and properly and in the same unified way
fixed a bug where only one local tag service's siblings would be matched at the ui level when looking at 'all known tags'
fixed a bug in the file search code where searching for a tag that had an unnamespaced sibling going to it would result in searching for all possible namespaces of that sibling (e.g. searching for 'character:samus aran' when 'samus aran'->'character:samus aran' sibling existed would result in effectively 'anything:samus aran')
when tag services are deleted, they are now better about cleaning up their siblings and parents quickly
optimised some tag and hash id->value database cache population routines to improve performance for large queries (e.g. when fetching all the tag parents/siblings on boot). also these caches are now larger, 100k instead of 25k
all cache regen code now forces an immediate analyze of the new tables to speed up imminent access
.
the rest:
updated the default e621 file page parser to get rating tags again (looks like their markup just changed again)
updated the default sankaku file page parser to get their recently redefined 'genre' tags
in edit subscriptions, the 'overwrite tag import options/check options' actions now initialise their dialogs with the current value for the first subscription, rather than the global program default
in the edit subscription panel, the checker options button is moved down to the file/tag import options
when not in advanced mode, the edit tag import options panel now has some red-text at the top to reinforce to new users that they should generally use the defaults
the tag import options blacklist now secondarily checks against all known siblings of the parsed tags, rather than just the 'collapsed' ideal siblings
subscriptions are now more aggressive about clearing out old urls from their file import caches--instead of clearing the 251st url after it has aged twice the death period, now they use just one DP. also, checkers with static checker timings will use five times that check period as DP if that is smaller. static checkers, or those that never die, will use a flat value of six months as DP if that is smaller
moved a bunch of the debug 'data actions' to a new 'memory actions' menu
significantly reduced how often the system tray regenerates its menu, which seems to improve stability
fixed an issue where guis that were maximised before a minimise were restoring from a system tray icon click to normal view
double-clicking the system tray when the ui is hidden should no longer do a fast show/hide
fixed an issue where if the gui was minimised, the main animation timer would not run for other windows (e.g. a separate media viewer)
improved ui shown/hidden tracking logic for the new system tray icon for different OSes
fixed the 'refresh_page_of_pages_pages' shortcut action, which had faulty old wx code in it
fixed a wx->Qt bug where modal popups that cannot be cancelled, and thus pop up a 'sorry, you can't dismiss this' text when you try to close them, were nonetheless still closing afterwards
the hydrus client and server now attempt to listen their servers on both IPv4 and IPv6, failing gracefully if IPv6 is not available
the 'is this a localhost request?' check now understands IPv6 localhost (::1 or ::ffff:127.0.0.1)
may have solved a 100% cpu repaint issue with the a/c dropdown in some qt environments
added info to installing help about Windows N and clean installs
misc media viewer wx->Qt code cleanup
misc code cleanup
.
experimental hellzone, be wary ye scabs:
added an experimental 'sub-gallery url' url content type to the parsing and downloading system. this url is queued into the gallery log even if the primary gallery page found no file/post urls, and is meant for galleries that link to galleries. not yet ready for primetime, but feedback would be appreciated
added an experimental ui-hang relief mode, activated under _help->debug->data actions->db ui-hang relief mode_, which _should_ stop the ui hanging in unusual long-time ui-synchronous db jobs. it may cause other problems, so it is default off. it also prints begin/end statements to log for additional info. users who experience ui hang due to db job processing time are invited to play with this mode and report back results
next week
Next week is a small jobs week. I fell behind on messages this week, so my main job is to catch up on those and then to clear out my bugs queue.
0 notes
Text
Version 388
youtube
windows
zip
exe
macOS
app
linux
tar.gz
source
tar.gz
I had a great week. The client can now save and load searches.
favourite searches
Every tag autocomplete input text box that searches for files--the most obvious being the one on normal search pages--now has a star icon button beside it. Click this, and you get a menu to save your current search, manage your saved searches, or load up one that is saved!
Currently, the saved information is the list of search terms (the tags and system predicates), the current file and tag domains (e.g. my files/all known tags), whether the system is 'searching immediately' or waiting, and optionally the current sort and collect.
Each saved search has a name and optionally a folder, for easy grouping. I have started all clients with an example inbox processing search, just as an example.
If you, like me, keep ten or fifteen empty search pages open (for me it is mostly different creator+inbox searches), I hope this system lets you collapse it down, making for a lighter and simpler session. It should also help for more unusual workflows like duplicate filtering and even file maintenance jobs.
There may be a couple of bugs in the system, something like a collect-by not being saved or updated correctly. Let me know how you get on!
the rest
A note from the users managing Hydrus Companion: The Chrome Web Store release of Hydrus Companion is no longer available due to publishing issues. If you have been using it in the past, please install the extension manually as outlined here instead: https://gitgud.io/prkc/hydrus-companion
e621 changed their site format, breaking hydrus's default downloaders. This is now updated, thanks to a user's contribution. The URL format has changed, so unfortunately your subscriptions will take longer (but will not redownload files) and note they have hit their periodic limits on their next cycle, which you can ignore. If you use an e621 login with hydrus, you may also want to check your account-based tag blacklist on the site, as I have heard this has also changed.
Hydrus's default mpv configuration file now has some normalisation that seems to work well.
If your subscriptions are paused, or if all network traffic is paused, this is now noted in the status bar.
full list
favourite searches:
hydrus can now save, load, and edit favourite searches. this first system stores searches with a name and an optional folder name, and contains search predicates, file and tag domain, whether the search is live or not, and optionally sort-by and collect-by
this is program-wide and all accessed through the new 'star' icon menu button beside any 'read' tag autocomplete input on search pages, duplicate pages, export folder ui, and file maintenance selection
wrote a favourite searches manager
wrote a dialog to manage favourite searches
wrote a dialog to edit a single favourite search
wrote load and save search functionality
autocomplete dropdowns that have buttons beside them now stretch their floating dropdown windows across the button width also
cleaned a variety of search code, simplifying objects and responsibility
cleaned up some collect-by ui code
refactored sort and collect controls to better location
refactored search constants
numerous small search code fixes and cleanup
renamed clientguipredicates to clientguisearch
.
the rest:
a note from the users managing Hydrus Companion: The Chrome Web Store release of Hydrus Companion is no longer available due to publishing issues. If you have been using it in the past, please install the extension manually as outlined here instead: https://gitgud.io/prkc/hydrus-companion
the default e621 downloader is updated to their new system, thanks to a user's submission. if you log in to e621 with hydrus or the hydrus companion and discover some tags are now blacklisted, please check your blacklist settings on your account on the site
an old test e-hentai login script from 2018 that is no longer in the client defaults will be deleted from clients that still have it today. if the user has no other login script for e-hentai, the domain entry will be deleted as well. this removes potential technical barriers for users that wish to use hydrus companion to access e-hentai, which is now the recommended method
hydrus mpv now has an appropriate stream title, which propagates up to the os-level sound mixer. it was previously the ugly hydrus filename
improved error handling when mpv is passed an invalid conf
the default mpv conf now has audio normalisation that seems to work ok
fixed an issue with the 'delete/move out missing/corrupt file' file maintenance job where record deletes were not processing correctly. it now deletes the file record correctly and also clears that deletion record, to make re-import of the correct file, if found, easier
all hydrus menu labels are now "middle...elided" when they are greater than 64 characters
all new hdd, url, and simple download pages should now obey the 'remove files when trashed' rule. pages in existing sessions will not
updated the user-created CutieDuck darkmode qss file to the latest version, which alters the recent hydrus qss styling colours like green/red button labels
did a full pass of all service fetching--all file and tag services should now present in lists and tabs in service_type, alphabetical order, e.g. for manage tag siblings, the tabs will always be local_tags, tag_repositories, both in alphabetical order
fixed an issue where a 'get darker or lighter comparison colour' calculation was not working well for black or very dark colours
if subscriptions or general network traffic is paused, the bandwidth section of the main gui statusbar now says it
the status bar now tooltips each section
clarified some labels on the edit url class panel
moved all delayed focus-shifting code to a more stable system
cleaned up how the global icon cache is initialised and referenced
updated the hydrus project gitignore to hide all db, log, server, recovery, and media files that could be under the db directory
updated the endchan links in the help to have a .org secondary link
more general code refactoring
next week
Next week is a 'small jobs' week, so I will be back to catching up on small things and general mpv/shortcuts/cleanup work. Also Deviant Art are perhaps going through some more layout changes of their own, so I will be looking at that.
As the virus hits, I expect to keep working on hydrus as normal. I am supplied, low social contact, and healthy. I hope you are as well. If we all end up locked down for a month, I hope hydrus can offer a distraction. I will post if I have to stop for a couple of weeks.
0 notes