inital sherlock commit

This commit is contained in:
s0wlz (Matthias Puchstein)
2025-12-08 22:53:19 +01:00
parent fae3b06398
commit d0652fa91f
8 changed files with 599 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
[default_apps]
teams = "teams-for-linux --enable-features=UseOzonePlatform --ozone-platform=wayland --url {meeting_url}"
calendar_client = "thunderbird"
terminal = "kitty"
browser = "/usr/lib/firefox/firefox %u"
[units]
lengths = "meters"
weights = "kg"
volumes = "l"
temperatures = "C"
currency = "eur"
[debug]
try_suppress_errors = false
try_suppress_warnings = false
app_paths = []
[appearance]
width = 900
height = 593
gsk_renderer = "cairo"
icon_paths = ["~/.config/sherlock/icons"]
icon_size = 22
use_base_css = true
use_system_theme = false
opacity = 1.0
mod_key_ascii = ["⇧", "⇧", "⌘", "⌘", "⎇", "✦", "✦", "⌘"]
num_shortcuts = 5
[behavior]
use_xdg_data_dir_icons = false
animate = true
use_lr_nav = false
[binds]
up = "control-k"
down = "control-j"
left = "control-ih"
right = "control-l"
context = "control-i"
modifier = "control"
exec_inplace = "control-return"
[files]
config = "/home/mpuchstein/.config/sherlock/config.toml"
css = "/home/mpuchstein/.config/sherlock/main.css"
fallback = "/home/mpuchstein/.config/sherlock/fallback.json"
alias = "/home/mpuchstein/.config/sherlock/sherlock_alias.json"
ignore = "/home/mpuchstein/.config/sherlock/sherlockignore"
actions = "/home/mpuchstein/.config/sherlock/sherlock_actions.json"
[runtime]
multi = false
center = false
photo_mode = false
display_raw = false
daemonize = false
[caching]
enable = true
cache = "/home/mpuchstein/.cache/sherlock/desktop_files.bin"
[expand]
enable = false
edge = "top"
margin = 0
[backdrop]
enable = false
opacity = 0.6
edge = "top"
[status_bar]
enable = true
[search_bar_icon]
enable = true
icon = "system-search-symbolic"
icon_back = "sherlock-back"
size = 22

View File

@@ -0,0 +1,256 @@
[
{
"name": "Weather",
"alias": null,
"tag_start": null,
"tag_end": null,
"display_name": null,
"on_return": null,
"next_content": null,
"type": "weather",
"priority": 1.0,
"exit": true,
"shortcut": false,
"spawn_focus": false,
"async": true,
"home": "OnlyHome",
"args": {
"location": "nospelt, luxembourg",
"update_interval": 60
},
"binds": null,
"actions": [
{
"name": "Show in Web",
"exec": "https://www.wttr.in/nospelt",
"icon": "sherlock-link",
"method": "web_launcher",
"exit": true
}
],
"add_actions": null
},
{
"name": "Spotify",
"type": "audio_sink",
"args": {},
"async": true,
"priority": 0.5,
"home": "Home",
"spawn_focus": false,
"actions": [
{
"name": "Skip",
"icon": "media-seek-forward",
"exec": "playerctl next",
"method": "command"
},
{
"name": "Previous",
"icon": "media-seek-backward",
"exec": "playerctl previous",
"method": "command"
}
],
"binds": [
{
"bind": "control+p",
"callback": "playpause",
"exit": false
},
{
"bind": "control+l",
"callback": "next",
"exit": false
},
{
"bind": "control+h",
"callback": "previous",
"exit": false
}
]
},
{
"name": "Calculator",
"alias": null,
"tag_start": null,
"tag_end": null,
"display_name": null,
"on_return": "copy",
"next_content": null,
"type": "calculation",
"priority": 1.0,
"exit": true,
"shortcut": true,
"spawn_focus": true,
"async": false,
"home": "Search",
"args": {
"capabilities": [
"calc.math",
"calc.units"
]
},
"binds": null,
"actions": null,
"add_actions": null
},
{
"name": "App Launcher",
"alias": "app",
"tag_start": null,
"tag_end": null,
"display_name": null,
"on_return": null,
"next_content": null,
"type": "app_launcher",
"priority": 3.0,
"exit": true,
"shortcut": true,
"spawn_focus": true,
"async": false,
"home": "Home",
"args": {},
"binds": null,
"actions": null,
"add_actions": null
},
{
"name": "Kill Process",
"alias": "kill",
"tag_start": null,
"tag_end": null,
"display_name": null,
"on_return": null,
"next_content": null,
"type": "process",
"priority": 0.0,
"exit": true,
"shortcut": true,
"spawn_focus": true,
"async": false,
"home": "Search",
"args": {},
"binds": null,
"actions": null,
"add_actions": null
},
{
"name": "Web Search",
"alias": "gg",
"tag_start": "{keyword}",
"tag_end": null,
"display_name": "Google Search",
"on_return": null,
"next_content": null,
"type": "web_launcher",
"priority": 100.0,
"exit": true,
"shortcut": true,
"spawn_focus": true,
"async": false,
"home": "Search",
"args": {
"icon": "google",
"search_engine": "google"
},
"binds": null,
"actions": null,
"add_actions": null
},
{
"name": "Pomodoro Timer",
"type": "pomodoro",
"args": {
"program": "~/.config/sherlock/scripts/sherlock-pomodoro",
"socket": "/tmp/sherlock-pomorodo.sock",
"style": "minimal"
},
"priority": 0,
"home": "Home",
"spawn_focus": false,
"binds": [
{
"bind": "control+r",
"callback": "reset"
}
],
"actions": [
{
"name": "Reset",
"icon": "edit-undo",
"exec": "",
"method": "inner.reset",
"exit": false
},
{
"name": "Toggle",
"icon": "media-playback-start",
"exec": "",
"method": "inner.toggle",
"exit": false
}
]
},
{
"name": "Clipboard",
"type": "clipboard",
"priority": 1.5,
"exit": true,
"shortcut": true,
"home": "Search",
"args": {
"history_length": 50,
"detect_urls": true,
"detect_colors": true,
"detect_expressions": true
}
},
{
"name": "Emoji",
"alias": "em",
"type": "emoji",
"priority": 4.0,
"exit": true,
"shortcut": false,
"home": "Search",
"args": {
"default_skin_tone": "Simpson"
}
},
{
"name": "Power Menu",
"alias": "pow",
"type": "custom",
"priority": 0.5,
"exit": true,
"shortcut": true,
"home": "Search",
"args": {
"commands": [
{
"name": "Shutdown",
"exec": "systemctl poweroff",
"icon": "system-shutdown",
"confirm": true
},
{
"name": "Reboot",
"exec": "systemctl reboot",
"icon": "system-reboot",
"confirm": true
},
{
"name": "Sleep",
"exec": "systemctl suspend",
"icon": "media-playback-pause"
},
{
"name": "Lock Screen",
"exec": "hyprlock",
"icon": "system-lock-screen"
}
]
}
}
]

View File

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1 @@
{}

View File

View File

View File

@@ -0,0 +1,260 @@
/* Rosé Pine (main) theme for Sherlock
* - condensed tiles
* - coherent dark scheme
*/
/* 1. Rosé Pine palette variables (main variant) */
:root {
--rp-base: #191724;
--rp-surface: #1f1d2e;
--rp-overlay: #26233a;
--rp-muted: #6e6a86;
--rp-subtle: #908caa;
--rp-text: #e0def4;
--rp-love: #eb6f92;
--rp-gold: #f6c177;
--rp-rose: #ebbcba;
--rp-pine: #31748f;
--rp-foam: #9ccfd8;
--rp-iris: #c4a7e7;
--rp-hl-low: #21202e;
--rp-hl-med: #403d52;
--rp-hl-high: #524f67;
--rp-radius: 10px;
--rp-radius-small: 7px;
--rp-border-width: 1px;
--rp-shadow-soft: 0 18px 45px rgba(0, 0, 0, 0.45);
--rp-transition-fast: 120ms ease-out;
--rp-transition-med: 170ms cubic-bezier(0.16, 1, 0.3, 1);
/* Tile sizing (condensed) */
--rp-tile-padding-y: 4px;
--rp-tile-padding-x: 10px;
--rp-tile-gap: 4px;
--rp-tile-min-height: 32px;
--rp-font-size-main: 13px;
--rp-font-size-sub: 11px;
}
/* 2. Global window & base layout */
window,
.main,
.root {
background-color: var(--rp-base);
color: var(--rp-text);
font-family: "JetBrainsMono Nerd Font", "FiraCode Nerd Font",
"Iosevka", system-ui, sans-serif;
}
/* Sherlock main container (centered blurred panel) */
#main,
.main-container,
.window {
background-color: var(--rp-surface);
border-radius: var(--rp-radius);
border: var(--rp-border-width) solid var(--rp-hl-high);
box-shadow: var(--rp-shadow-soft);
}
/* 3. Search entry / input bar */
entry,
.search-entry,
.search-input {
background-color: var(--rp-hl-low);
color: var(--rp-text);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-med);
padding: 6px 9px;
font-size: 13px;
}
entry:focus,
.search-entry:focus,
.search-input:focus {
border-color: var(--rp-iris);
box-shadow: 0 0 0 1px rgba(196, 167, 231, 0.35);
}
/* 4. Condensed tile list */
.list,
.list-container,
.tile-list {
background: transparent;
margin-top: 4px;
row-gap: var(--rp-tile-gap);
}
/* Base tile style (unselected) */
.tile,
.launcher-tile,
.launcher-item,
.item {
background-color: var(--rp-hl-low);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid transparent;
min-height: var(--rp-tile-min-height);
padding: var(--rp-tile-padding-y) var(--rp-tile-padding-x);
margin-bottom: var(--rp-tile-gap);
color: var(--rp-text);
font-size: var(--rp-font-size-main);
display: flex;
align-items: center;
column-gap: 6px;
transition: background-color var(--rp-transition-fast),
border-color var(--rp-transition-fast),
transform var(--rp-transition-med);
}
/* Hover / active state */
.tile:hover,
.launcher-tile:hover,
.launcher-item:hover,
.item:hover {
background-color: var(--rp-hl-med);
}
/* Selected / focused tile */
.tile:selected,
.launcher-tile:selected,
.launcher-item:selected,
.item:selected,
.tile:focus {
background-color: var(--rp-overlay);
border-color: var(--rp-iris);
transform: translateY(-1px);
}
/* 5. Icon, title, subtitle */
.tile-icon,
.item-icon,
.icon {
color: var(--rp-foam);
min-width: 18px;
min-height: 18px;
}
/* Main name/title */
.tile-label,
.tile-title,
.item-title,
.title {
color: var(--rp-text);
font-weight: 500;
font-size: var(--rp-font-size-main);
}
/* Secondary description */
.tile-description,
.item-subtitle,
.subtitle,
.description {
color: var(--rp-subtle);
font-size: var(--rp-font-size-sub);
}
/* 6. Shortcut indicator (mod+number) */
.shortcut,
.tile-shortcut,
.item-shortcut {
margin-left: auto;
font-size: 10px;
padding: 2px 6px;
border-radius: 999px;
background-color: var(--rp-hl-med);
color: var(--rp-gold);
}
/* 7. Category / section headers */
.section-header,
.category-header,
.header-label {
color: var(--rp-iris);
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 3px 0 2px 2px;
}
/* 8. Widgets (weather, music, async) */
.widget,
.weather-widget,
.music-widget,
.async-widget {
background-color: var(--rp-overlay);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-high);
padding: 6px 9px;
margin-bottom: 6px;
}
/* Weather-specific hints (you can tweak to taste) */
.weather-widget .temperature {
color: var(--rp-rose);
font-weight: 500;
}
.weather-widget .condition {
color: var(--rp-subtle);
}
/* 9. Context menu */
.context-menu,
.menu,
popover {
background-color: var(--rp-surface);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-high);
}
.context-menu row,
.menu-item {
padding: 4px 8px;
font-size: 12px;
}
.context-menu row:hover,
.menu-item:hover {
background-color: var(--rp-hl-med);
}
/* 10. Scrollbars (subtle) */
scrollbar,
scrollbar slider {
background-color: transparent;
}
scrollbar slider {
background-color: rgba(144, 140, 170, 0.6); /* subtle */
border-radius: 999px;
}
/* 11. Error / warning / info states */
.error,
.error-label {
color: var(--rp-love);
}
.warning,
.warning-label {
color: var(--rp-gold);
}
.info,
.info-label {
color: var(--rp-foam);
}