{"id":23576110,"url":"https://github.com/goggle/wallsort","last_synced_at":"2025-05-16T13:10:59.339Z","repository":{"id":57582355,"uuid":"74354159","full_name":"goggle/wallsort","owner":"goggle","description":"A command line utility to sort images according to image dimension properties.","archived":false,"fork":false,"pushed_at":"2016-11-27T12:37:33.000Z","size":4426,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-17T23:39:49.090Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goggle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-21T10:50:05.000Z","updated_at":"2016-11-21T11:05:44.000Z","dependencies_parsed_at":"2022-09-04T05:12:23.657Z","dependency_job_id":null,"html_url":"https://github.com/goggle/wallsort","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goggle%2Fwallsort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goggle%2Fwallsort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goggle%2Fwallsort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goggle%2Fwallsort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goggle","download_url":"https://codeload.github.com/goggle/wallsort/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535822,"owners_count":22087399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-26T21:12:44.711Z","updated_at":"2025-05-16T13:10:59.320Z","avatar_url":"https://github.com/goggle.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wallsort\n\nWallsort is a command line utility to sort images (mostly intended to sort wallpapers)\naccording to user defined rules.\n\nIf you have a directory which contains all your wallpapers, you might want to\nsort them into subdirectories according to their sizes. Wallsort will do this\nfor you. It currently supports JPEG and PNG images.\n\n\n## Installation\n\nRun this to install wallsort:\n```\ngo get -u github.com/goggle/wallsort\n```\nYou should now have a executable file called `wallsort` in your `$GOPATH/bin` directory.\n\n\n## Configuration\n\nWallsort uses a [TOML] (https://github.com/toml-lang/toml) configuration file called\n`config.toml`. It can be stored in the directory `$HOME/.config/wallsort`,\n`$HOME/.wallsort` or the directory, where the executable is stored.\n\nWhen wallsort is executed for the first time, it can automatically create a\ndefault configuration file. It will look like this:\n```\ndirectory = \"/home/user/Pictures/wallpapers\"\n\n[[category]]\nname = \"1080p\"\nwidth = 1920\nmin_height = 1080\nmax_height = 1200\n\n[[category]]\nname = \"1440p\"\nwidth = 2560\nmin_height = 1440\nmax_height = 1600\n\n[[category]]\nname = \"QHDplus\"\nheight = 1800\nwidth = 3200\n\n[[category]]\nname = \"UHD\"\nheight = 2160\nwidth = 3840\n\n[[category]]\nname = \"lowres\"\nmax_height = 1080\nmax_width = 1920\nmax_pixels = 2073599\n\n[[category]]\nname = \"highres\"\nmin_height = 2160\nmin_width = 3840\nmin_pixels = 8294401\n\n[[category]]\nname = \"others\"\n```\nThe configuration file needs to have an entry ```directory = \"/path/to/wallpapers\"```.\nThis sets the base image directory.\nYou can now set rules to sort your images by defining a ```[[category]]``` section.\nValid fields in a ```[[category]]``` section are:\n* ```name```: Defines a name for this category (e.g. ```name = \"1920x1080\"```).\n* ```height```: Defines the image height in pixels (e.g. ```height = 1080```).\n* ```width```: Defines the image width in pixels (e.g. ```width = 1920```).\n* ```heights```: Defines a list of possible image height values (e.g. ```heights = [1080, 1440, 1800]```)\n* ```widhts```: Defines a list of possible image width values.\n* ```min_height```: Defines the minimum height of the image (e.g. ```min_height = 1080``` matches all the images, which have a height greater or equal 1080).\n* ```max_height```: Defines the maximum height of the image.\n* ```min_width```: Defines the minimum width of the image.\n* ```max_width```: Defines the maximum widht of the image.\n* ```min_pixels```: Defines the minimum amount of pixels in the image (e.g. ```min_pixels = 10000``` matches all the images, which have 10000 or more pixels).\n* ```max_pixels```: Defines the maximum amount of pixels in the image.\n\nNote: First defined categories have higher precedence. So if an image satisfies the rules\nfor the categories ```1080p``` and ```others```, it will be moved into the subdirectory\n```1080p```, because it was defined first.\n\n\n## Usage\n\nJust run\n```\nwallsort\n```\nto sort all the images in the image base directory defined in ```config.toml```.\nIt will create subdirectories if necessary and move the matching images into them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoggle%2Fwallsort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoggle%2Fwallsort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoggle%2Fwallsort/lists"}