npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sequenzia-ads-micro

v1.2.38

Published

Micro version of the Sequenzia Ambient Display System, will simply set your wallpaper to a random image from seq.moe (with login)

Downloads

26

Readme

Sequenzia Dynamic Wallpaper Service (microDWS)

Simple and Lightweight way to get random wallpapers from Sequenzia (Requires Login) New to Sequenzia? Create your own deployment https://docs.acr.moe/index.php?title=Build_Sequenzia_2_Server

M1 Mac Support

Due to issues with Puppeteer please prefix your commands with arch -x86_64 npx to launch as Intel

Authentication

You must get a static Login Key from Sequenzia Got to the user menu > Authentication > Static Login Key > Generate or Copy the key Place it in the Config file

Install

npm install -g sequenzia-ads-micro Once Installed you can run from PowerShell or Terminal ads-micro -c config.json Example Output:

ads-micro
Sequenzia uDWS for NodeJS - "Its Simple"

Logging in...
Login successful!
Registered Enabled, Every 5 Minutes
726784923150712832 - false - Cosplay/General/seq - June 28, 2020

Automation

Current best practice is to use "Unmanaged Folder Mode" and use the folder with the operating systems built in wallpaper slideshow feature Unless you are using slave display mode or care about things happening on in a specific way

Windows

Use Task Scheduler and add Task like so...

  • Program/script: PowerShell.exe
  • Add arguments: -nologo -noninteractive -WindowStyle Hidden -command "& {Start-Transcript run.txt; Get-Process -Name node | Stop-Process; npx ads-micro}"
    • Your Start in folder should be a folder that will contain your config files and will store temporary files and will store images in folder mode.
    • You can also options like -c to use an alternative config file: ...; npx ads-micro -c night.json}"
  • Start in: C:\Users\ykaza\Pictures\SeqADS

MacOS / Linux

Both MacOS and Linux users are suggested to use cron */5 0-2,9-23 * * * cd /Users/kazari/Documents/SeqADS/; pkill -f "sequenzia-ads-micro"; /usr/local/bin/npx ads-micro -d > /dev/null 2>&1 Cron Warning: You should absolute paths or append cd /folder/folder; ...

Configuration - config.json

WebKit Mode

This mode will request a micro version of the standard ADS Lite system, this will generate an image to allow for portrait images to be displayed correctly

Independent Mode

{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINKEY",
  "displayName": "Untitled",
  "webMode": true,

  "refreshTimeMin": 5,
  "query" : "folder=art%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000"
}

Master/Slave Mode

In a master / slave relationship you can set a display as the master with slave: false and this instance will be we the display that generates the actual request and will write to the history. All Slave instances will retrieve the image that has been set on the master, effectively synchronising all displays. NOTE: Just like ADS Lite if the master is offline or has failed, the slaves will not get new images. At this time there is no reelection support. Using this mode only makes sense if you have a ADS Lite display always running or is active using the time this instance is running. For example: you have ADS Lite display connected to your monitor and its used as the standby display when your computer is not awake or is disconnected from the monitor, if you run your computer as a slave the image on the standby display will be displayed on your computer. NOTE: when using slave mode, the refreshTimeMin and all other options are ignored and will get in sync with the master configuration and timer, only in cron / on-demand mode will the sync pulse be bypassed

{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINKEY",
  "displayName": "Desk Left",
  "refreshTimeMin" : 5,
  "webMode": true,
  "slave": true
}

You can use this with cron tasks, webMode: true and slave: must be outside the schedule block!****

Appearance Options

{
"appearance": {
    "padding": "bottom",
    "padding_value": "1.25em",
    "overlay": "none",
    "color": "#7d0b00",
    "info": false
  }
}
  • padding: [left, right, bottom, none]
    • Used to add extra padding for taskbar or dock
  • padding_value: [valid css measurement]
    • Manual Adjustment of the padding
  • overlay: [left, right, bottom, none]
    • Adds classic overlay gradiant from ADS Lite
  • shadow: [true, false]
    • Add/Remove Dropshadow on portrait images over the blurred background
  • blur: '10' or 'false'
    • Blur Value for Filter on Backgrounds or portrait images
  • saturate: 2
    • Saturation Value for Filter on Backgrounds or portrait images
  • brightness: 1.1
    • Brightness Value for Filter on Backgrounds or portrait images
  • contrast: 1
    • Contrast Value for Filter on Backgrounds or portrait images
  • color: [CSS Color Name, hex, rgb()]
    • Change the color of the text, will override auto coloring based on background
  • info: [true, false]
    • Removed the image location data and move the logo to the right, you can also remove this property to do the same as true

Banner Options

Allows you to add a banner to the top of all images (Useful for identifying a computer or classification) NOTE: Banner settings are sent in the the URL hash and therfore are only read by the browser, the server will never receive your settings!

{
  "banner": {
    "text": "MacBook",
    "color": "black",
    "background": "white",
    "size": "24px"
  }
}
  • text: Text that is displayed on the banner
  • color: Text Color [CSS Color Name, hex, rgb()]
  • background: Background Color [CSS Color Name, hex, rgb()]
  • size: Size of the text [px, pt, em, etc.]

Direct Mode

This will use the standard request and download the image for your wallpaper or folder

{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINKEY",
  "displayName": "Untitled",
  "refreshTimeMin": 5,
  "query" : "folder=art%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000"

}

Dynamic Wallpaper Support

There is now support for MacOS Dynamic Light/Dark Wallpaper switching. You need to install wallpapper via Brew first.

brew tap mczachurski/wallpapper
brew install wallpapper

You can define the path to the executable with wallpapper_exec: "/usr/local/bin/wallpapper"

Configuration

  "folders": [
    {
      "path": ".light-wallpapers",
      "screen": "0",
      "webMode": true,
      "count": 2,
      "query": "sort=fav&pins=true&fav_numdays=45",
      "incimentalFileNames": true
    },
    {
      "path": ".dark-wallpapers",
      "screen": "0",
      "webMode": true,
      "count": 2,
      "query": "album=10",
      "incimentalFileNames": true
    }
  ],
  "dynamic_wallpapers": [
    {
      "path": "Wallpapers",
      "light": ".light-wallpapers",
      "dark": ".dark-wallpapers"
    }
  ]
  • path: The folder the HEIF files will be stored
  • light: The folder that contains the light images
  • dark: The folder that contains the dark images
  • light_start: Time Mode: Show light images starting at this time
  • dark_start: Time Mode: Show only dark images starting at this time unless the light_start
  • dark_end: Time Mode: The lastest time a dark image should be shown until day

Time Mode: If you want to use macOS switching of images based on time (DST is accounted for automatically)

This generation process will be run after the image generations are finished. Only webMode is supported at this time. If you want to just run the generation without updating images use "-g"

Options

Sequenzia Shortcut Query (Recommended)

Use a exported text from the "Send to App" / "Export Results" Option from Sequenzia Web This URI is used for Apple Shortcuts and can be used here aswell

{
  "query" : "folder=art%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000"
} 

Manual Options (Advanced)

Location (Folder or Channel)

{
  "location": "Seq1:Art:*"
} 

or

{
  "location": "678258482266"
} 

Album

{
  "albumId": "10"
}

You can also set a album ID to only get images from an album

Search Query

{
  "searchQuery": "text:Twitter Image"
}

Favorites

Get only your favorite images

{
  "favoritesOnly": true
}

Maximum Age

Maximum Age of a image

{
  "numberOfDaysToSearch": "365"
}

Resolutions

{
  "minimumResolution": "1080"
}

or

{
  "minimumHeight": "1080"
}

or

{
  "minimumWidth": "1920"
}

You can set a minimum height and or width as well if you want strict minimum resolutions instead of the loose "minimumResolution"

Widescreen or Portrait Only

{
  "wideScreenOnly": true
}

or

{
  "portraitOnly": true
}

Ratio (Advanced)

{
  "ratioQuery": "0.01-0.9"
}

Image Brightness

{
  "onlyDarkImages": true
}

or

{
  "onlyLightImages": true
}

Color Query (Advanced)

{
  "colorQuery": "0-195:0-199:0-200"
}

You can use the new color range or color selection, use the "color=" string directly from the URL in Sequenzia Web

NSFW Filter

{
  "enableNSFW": false
}

or

{
  "enableNSFW": true
}

or

{
  "enableNSFW": "only"
}

This will only work if the results contain nsfw images

Extra Options (Advanced)

{
  "extraOptions": "options=value&option2=value"
}

Allows for additional options that have not been yet implemented

Unmanaged Folder Mode

Using "folders" options will allow you to download/generate wallpapers that are saved to a folder without any further action. This can be used with your operating systems build in slideshow options or other applications

You can use webkit or direct mode and webkit appearance options like normal, you must specify webMode inside the folder. Appearance options can be placed in a folder to be applied to all images in that folder.

{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINEY",
  "displayName": "My PC",
  
  "folders": [
    {
      "path": "Wallpapers",
      "webMode": true,
      "screen": "0",
      "query" : "folder=art%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000"
    }
  ]
}

Options

  • path: String
    • Folder Name in relation to the current directory or wallpaper path option
  • count: Interget
    • Number of Images to download / create
  • nohistory: [true, false]
    • Disables Adding Images to the Display History
  • screen: Interger
    • Screen/Monitor Number, 0 = Wallpaper/Main or 1 = Lockscreen/Secoundary
  • keepItems: [true, false]
    • Do not delete any old images after new images are added
  • incimentalFileNames: [true, false]
    • Ensured that all files names are the same and will overwrite old files
    • Mainly for OSs that are not smart about file management, cough Windows
  • incimentStart: Interger
    • Offsets the incimental filename numbers by this number
    • If you are wanting to use the same folder name for multiple requests or multiple config files

Custom Output Image Resolution

By default the resolution for the images is 16:9 4K, but to set a custom resolution you can set the following inside the config file or the specific folder

  "webWidth": "2560",
  "webHeight": "1664",

Cron Schedules

Please use Cron Guru for formatting, Incorrect cron job definitions can and will be disastrous!

From 5AM to 5PM
    Display Images From Art
From 6PM to 6AM
    Display Images from Cosplay
{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINEY",
  
  "schedule": [
    {
      "displayName": "PC Day",
      "cron": "*/15 5-17 * * *",
      "query" : "folder=art%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000&numdays=360"
    },
    {
      "displayName": "PC Night",
      "cron": "*/15 18-23,0-6 * * *",
      "query" : "folder=cosplay%3A*&nsfw=true&ratio=0.01-0.9&minwres=1000&numdays=360"
    }
  ]
}

Timed Swap

This uses the ADS Lite displaySwap system, more useful if your use webMode and master/slave but is compatible will all modes. NOTE: You must only have 2 items, Timed Swap only supports 2 display names

Until 6:30PM
    Display Images From the "Desk Right" device
Until 5AM
    Display Images From the "Desk Left" device
{
  "sequenziaHost": "seq.moe",
  "staticLoginKey": "YOURLOGINEY",
  "refreshTimeMin" : 5,
  "webMode": true,
  "slave": true,
  
  "displaySwap": [
    {
      "displayName": "Desk Right",
      "swapTime": 18.5
    },
    {
      "displayName": "Desk Left",
      "swapTime": 5
    }
  ]
}

Command Line Options

Note: use -c configfile.json to overide the default config.json and use -d to disable the automatic refresh

-c or --config

Specify a alternative config file, location is based from the current working directory

-d or --disableTimer

Run On-Demand, will use the config options and will not start the interval run. There is a 2-minute max timeout, so if it gets stuck in the background it will be killed after 2 minutes

-j (index) or --runJob (index)

Run On-Demand Cron Schedule, The (index) number is the cron job in the "schedule" that will be run.

-w path or --wallpaperStorage path

Use an alternative path for storage of wallpapers that are being set this is useful for environments where you are not given a relative path, The cookies file will also be stored there aswell.