{"action":"opened","issue":{"url":"https://api.github.com/repos/The-Compiler/qutebrowser/issues/515","labels_url":"https://api.github.com/repos/The-Compiler/qutebrowser/issues/515/labels{/name}","comments_url":"https://api.github.com/repos/The-Compiler/qutebrowser/issues/515/comments","events_url":"https://api.github.com/repos/The-Compiler/qutebrowser/issues/515/events","html_url":"https://github.com/The-Compiler/qutebrowser/issues/515","id":58047260,"number":515,"title":"Config file corruptions","user":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/The-Compiler/qutebrowser/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/The-Compiler/qutebrowser/labels/important","name":"important","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/The-Compiler/qutebrowser/milestones/2","labels_url":"https://api.github.com/repos/The-Compiler/qutebrowser/milestones/2/labels","id":886476,"number":2,"title":"v0.2","description":"","creator":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"open_issues":27,"closed_issues":31,"state":"open","created_at":"2014-12-01T19:27:55Z","updated_at":"2015-02-18T09:55:24Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-02-18T09:55:24Z","updated_at":"2015-02-18T09:55:24Z","closed_at":null,"body":"Sometimes the config file gets corrupted. There seem to be two different kinds of corruptions so far:\r\n\r\n=== Webinspector saving it's config into `qutebrowser.conf`\r\n\r\nI could reproduce this twice by opening the webinspector, opening settings, and then closing qutebrowser. Then I couldn't reproduce it anymore.\r\n\r\n```ini\r\n[General]\r\n%23%20vim%3A%20ft=dosini\r\n\r\n[Qt]\r\nQtWebKit\\QWebInspector\\inspectorAttachedHeight=1080\r\nQtWebKit\\QWebInspector\\inspectorAttachedHeight.type=QString\r\n```\r\n\r\n=== Missing section\r\n\r\nHere the data for the `tabs` section ended up under `[ui]` somehow, and the data for the `ui` section is missing. Otherwise the file is valid:\r\n\r\n```ini\r\n...\r\n[ui]\r\n# General options related to the user interface.\r\n#\r\n# zoom-levels (perc-list):\r\n#     The available zoom levels, separated by commas.\r\n#     Default:\r\n#     25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500%\r\n#\r\n# default-zoom (percentage):\r\n#     The default zoom level.\r\n#     Default: 100%\r\n#\r\n# message-timeout (int):\r\n#     Time (in ms) to show messages in the statusbar for.\r\n#     Default: 2000\r\n#\r\n# confirm-quit (string-list):\r\n#     Whether to confirm quitting the application.\r\n#         always: Always show a confirmation.\r\n#         multiple-tabs: Show a confirmation if multiple tabs are\r\n#     opened.\r\n#         downloads: Show a confirmation if downloads are running\r\n#         never: Never show a confirmation.\r\n#     Default: never\r\n#\r\n# display-statusbar-messages (bool):\r\n#     Whether to display javascript statusbar messages.\r\n#     Valid values: true, false\r\n#     Default: false\r\n#\r\n# zoom-text-only (bool):\r\n#     Whether the zoom factor on a frame applies only to the text or to\r\n#     all content.\r\n#     Valid values: true, false\r\n#     Default: false\r\n#\r\n# frame-flattening (bool):\r\n#     Whether to  expand each subframe to its contents.\r\n#     This will flatten all the frames to become one scrollable page.\r\n#     Valid values: true, false\r\n#     Default: false\r\n#\r\n# user-stylesheet (user-stylesheet):\r\n#     User stylesheet to use (absolute filename or CSS string).\r\n#     Default: ::-webkit-scrollbar { width: 0px; height: 0px; }\r\n#\r\n# css-media-type (string):\r\n#     Set the CSS media type.\r\n#     Default:\r\n#\r\n# remove-finished-downloads (bool):\r\n#     Whether to remove finished downloads automatically.\r\n#     Valid values: true, false\r\n#     Default: false\r\n#\r\n# hide-statusbar (bool):\r\n#     Whether to hide the statusbar unless a message is shown.\r\n#     Valid values: true, false\r\n#     Default: false\r\n#\r\n# window-title-format (format-string):\r\n#     The format to use for the window title. The following placeholders\r\n#     are defined:\r\n#     * `{perc}`: The percentage as a string like `[10%]`.\r\n#     * `{perc_raw}`: The raw percentage, e.g. `10`\r\n#     * `{title}`: The title of the current webpage\r\n#     * `{title_sep}`: The string ` - ` if a title is set, empty\r\n#     otherwise.\r\n#     * `{id}`: The internal window ID of this window.\r\n#     Default: {perc}{title}{title_sep}qutebrowser\r\n#\r\n# statusbar-height-padding (int):\r\n#     Additional padding for the tabbar height.\r\n#     Default: 0\r\nselect-on-remove = right\r\nnew-tab-position = right\r\nnew-tab-position-explicit = last\r\nlast-close = ignore\r\nhide-auto = false\r\nhide-always = false\r\nwrap = true\r\nmovable = true\r\nclose-mouse-button = middle\r\nposition = north\r\nshow-favicons = true\r\nwidth = 20%\r\nindicator-width = 3\r\nindicator-space = 3\r\ntabs-are-windows = false\r\ntitle-format = {index}: {title} {perc}\r\n...\r\n```\r\n"}}