add 'src/' in cinnamon&i3 to repo

This commit is contained in:
komeil Parseh 2023-03-16 18:16:29 +03:30
parent 3c70663e1f
commit d7a881738d
No known key found for this signature in database
GPG key ID: 1928AF673B1C4255
75 changed files with 8236 additions and 0 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "parch-config-i3/src/etc/skel/.config/kitty/kitty-themes"]
path = parch-config-i3/src/etc/skel/.config/kitty/kitty-themes
url = https://github.com/dexpota/kitty-themes

1
parch-config-cinnamon/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
!src/

View file

@ -0,0 +1 @@
org.gnome.Terminal.desktop

View file

@ -0,0 +1,23 @@
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>Virtual1</connector>
<vendor>unknown</vendor>
<product>unknown</product>
<serial>unknown</serial>
</monitorspec>
<mode>
<width>1024</width>
<height>768</height>
<rate>60.003841400146484</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>

View file

@ -0,0 +1,23 @@
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>Virtual1</connector>
<vendor>unknown</vendor>
<product>unknown</product>
<serial>unknown</serial>
</monitorspec>
<mode>
<width>1440</width>
<height>900</height>
<rate>59.887443542480469</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>

View file

@ -0,0 +1,2 @@
/home/sohrab/Pictures
/usr/share/wallpapers/parch-os-wallpapers

View file

@ -0,0 +1,54 @@
{
"section1": {
"type": "section",
"description": "Display"
},
"show-events": {
"type": "switch",
"default": true,
"description": "Show calendar events",
"tooltip": "Check this to display events in the calendar.",
"value": true
},
"show-week-numbers": {
"type": "switch",
"default": false,
"description": "Show week numbers in calendar",
"tooltip": "Check this to show week numbers in the calendar.",
"value": false
},
"use-custom-format": {
"type": "switch",
"default": false,
"description": "Use a custom date format",
"tooltip": "Check this to define a custom format for the date in the calendar applet.",
"value": false
},
"custom-format": {
"type": "entry",
"default": "%A, %B %e, %H:%M",
"description": "Date format",
"dependency": "use-custom-format",
"tooltip": "Set your custom format here.",
"value": "%A, %B %e, %H:%M"
},
"format-button": {
"type": "button",
"description": "Show information on date format syntax",
"dependency": "use-custom-format",
"callback": "on_custom_format_button_pressed",
"tooltip": "Click this button to know more about the syntax for date formats."
},
"section2": {
"type": "section",
"description": "Keyboard shortcuts"
},
"keyOpen": {
"type": "keybinding",
"description": "Show calendar",
"default": "<Super>c",
"tooltip": "Set keybinding(s) to show the calendar.",
"value": "<Super>c"
},
"__md5__": "5ea063337a9b776b6c19825f31b2a320"
}

View file

@ -0,0 +1,71 @@
{
"head": {
"type": "header",
"description": "Settings"
},
"click-action": {
"type": "combobox",
"description": "Click action",
"default": "show_desktop",
"options": {
"Show the desktop": "show_desktop",
"Show the desklets": "show_desklets",
"Show the workspace selector (Expo)": "show_expo",
"Show the window selector (Scale)": "show_scale"
},
"value": "show_desktop"
},
"middle-click-action": {
"type": "combobox",
"description": "Middle click action",
"default": "show_desklets",
"options": {
"Show the desktop": "show_desktop",
"Show the desklets": "show_desklets",
"Show the workspace selector (Expo)": "show_expo",
"Show the window selector (Scale)": "show_scale"
},
"value": "show_desklets"
},
"peek-at-desktop": {
"type": "switch",
"default": false,
"description": "Peek at the desktop on hover",
"tooltip": "Peek at the desktop when hovering the applet",
"value": false
},
"peek-blur": {
"type": "switch",
"default": false,
"dependency": "peek-at-desktop",
"description": "Blur effect",
"tooltip": "Blur windows when peeking at the desktop",
"value": false
},
"peek-delay": {
"type": "spinbutton",
"default": 400,
"min": 0,
"max": 1000,
"step": 50,
"units": "milliseconds",
"dependency": "peek-at-desktop",
"description": "Hover delay",
"tooltip": "Delay before Peek shows desktop",
"value": 400
},
"peek-opacity": {
"type": "scale",
"default": 5,
"units": "%",
"digits": 0,
"min": 0,
"max": 100,
"step": 5,
"dependency": "peek-at-desktop",
"description": "Window opacity",
"tooltip": "Change the opacity of windows when peeking at the desktop",
"value": 5
},
"__md5__": "c9d80feef5e24b1ccab9b6a03c1a5717"
}

View file

@ -0,0 +1,13 @@
{
"head": {
"type": "header",
"description": "Settings"
},
"show-full-uri": {
"type": "switch",
"default": false,
"description": "Display full paths in the list",
"value": false
},
"__md5__": "47cfb84ecf716b6b4756ccdac7f369e4"
}

View file

@ -0,0 +1,356 @@
{
"layout": {
"type": "layout",
"pages": [
"generalPage",
"panelPage",
"thumbnailsPage",
"contextMenuPage"
],
"generalPage": {
"type": "page",
"title": "General",
"sections": [
"generalSection",
"hotKeysSection"
]
},
"panelPage": {
"type": "page",
"title": "Panel",
"sections": [
"appButtonsSection"
]
},
"thumbnailsPage": {
"type": "page",
"title": "Thumbnails",
"sections": [
"thumbnailsSection",
"hoverPeekSection"
]
},
"contextMenuPage": {
"type": "page",
"title": "Context Menu",
"sections": [
"contextMenuSection"
]
},
"generalSection": {
"type": "section",
"title": "Behavior",
"keys": [
"group-apps",
"scroll-behavior",
"left-click-action",
"middle-click-action",
"show-all-workspaces"
]
},
"appButtonsSection": {
"type": "section",
"title": "Application Buttons",
"keys": [
"title-display",
"launcher-animation-effect",
"number-display",
"pinned-apps",
"enable-app-button-dragging"
]
},
"hotKeysSection": {
"type": "section",
"title": "Hot Keys",
"keys": [
"cycleMenusHotkey",
"show-apps-order-hotkey",
"show-apps-order-timeout",
"super-num-hotkeys"
]
},
"thumbnailsSection": {
"type": "section",
"title": "Thumbnails",
"keys": [
"thumbnail-scroll-behavior",
"show-thumbnails",
"animate-thumbnails",
"vertical-thumbnails",
"sort-thumbnails",
"highlight-last-focused-thumbnail",
"onclick-thumbnails",
"thumbnail-timeout",
"thumbnail-size"
]
},
"hoverPeekSection": {
"type": "section",
"title": "Hover Peek",
"keys": [
"enable-hover-peek",
"hover-peek-time-in",
"hover-peek-time-out",
"hover-peek-opacity"
]
},
"contextMenuSection": {
"type": "section",
"title": "",
"keys": [
"show-recent",
"autostart-menu-item",
"monitor-move-all-windows"
]
}
},
"number-display": {
"type": "checkbox",
"default": true,
"description": "Show window count numbers",
"value": true
},
"title-display": {
"type": "combobox",
"default": 1,
"description": "Button label",
"options": {
"None": 1,
"Application name": 2,
"Window title": 3,
"Window title (only for the focused window)": 4
},
"value": 1
},
"scroll-behavior": {
"type": "combobox",
"default": 1,
"description": "Mouse wheel scroll action",
"options": {
"None": 1,
"Cycle apps": 2,
"Cycle windows": 3
},
"value": 1
},
"left-click-action": {
"type": "combobox",
"default": 2,
"description": "Left click action",
"options": {
"None": 1,
"Toggle activation of last focused window": 2,
"Cycle windows": 3
},
"value": 2
},
"middle-click-action": {
"type": "combobox",
"default": 3,
"description": "Middle click action",
"options": {
"None": 1,
"Launch new app instance": 2,
"Close last focused window in group": 3
},
"value": 3
},
"pinned-apps": {
"type": "generic",
"default": [
"nemo.desktop",
"firefox.desktop",
"org.gnome.Terminal.desktop"
],
"value": [
"nemo.desktop",
"org.gnome.Terminal.desktop",
"cinnamon-settings.desktop"
]
},
"group-apps": {
"type": "checkbox",
"default": true,
"description": "Group windows by application",
"value": true
},
"show-all-workspaces": {
"type": "checkbox",
"default": false,
"description": "Show windows from all workspaces",
"value": false
},
"enable-app-button-dragging": {
"type": "checkbox",
"default": true,
"description": "Enable app button dragging",
"value": true
},
"launcher-animation-effect": {
"type": "combobox",
"default": 3,
"description": "Launcher animation",
"options": {
"None": 1,
"Fade": 2,
"Scale": 3
},
"value": 3
},
"cycleMenusHotkey": {
"type": "keybinding",
"default": "",
"description": "Global hotkey for cycling through thumbnail menus",
"value": ""
},
"show-apps-order-hotkey": {
"type": "keybinding",
"default": "<Super>grave",
"description": "Global hotkey to show the order of apps",
"value": "<Super>grave"
},
"show-apps-order-timeout": {
"type": "spinbutton",
"default": 2500,
"min": 100,
"max": 10000,
"step": 10,
"units": "milliseconds",
"description": "Duration of the apps order display on hotkey press",
"value": 2500
},
"super-num-hotkeys": {
"type": "checkbox",
"default": true,
"description": "Enable Super+<number> shortcut to switch/open apps",
"value": true
},
"thumbnail-timeout": {
"dependency": "!onclick-thumbnails",
"type": "combobox",
"default": 250,
"description": "Delay before showing thumbnails",
"options": {
"50 ms": 50,
"250 ms": 250,
"500 ms": 500
},
"value": 250
},
"thumbnail-size": {
"type": "combobox",
"default": 6,
"description": "Thumbnail size",
"options": {
"Small": 3,
"Medium": 6,
"Large": 9,
"Largest": 12
},
"value": 6
},
"thumbnail-scroll-behavior": {
"type": "checkbox",
"default": false,
"description": "Cycle windows on mouse wheel scroll",
"value": false
},
"show-thumbnails": {
"type": "checkbox",
"default": true,
"description": "Show thumbnails",
"value": true
},
"animate-thumbnails": {
"type": "checkbox",
"default": false,
"description": "Animate thumbnails",
"value": false
},
"vertical-thumbnails": {
"type": "checkbox",
"default": false,
"description": "Enable vertical thumbnails",
"value": false
},
"sort-thumbnails": {
"type": "checkbox",
"default": false,
"description": "Sort thumbnails according to the last focused windows",
"value": false
},
"highlight-last-focused-thumbnail": {
"type": "checkbox",
"default": true,
"description": "Highlight the thumbnail of the last focused window",
"value": true
},
"onclick-thumbnails": {
"type": "checkbox",
"default": false,
"description": "Click to show thumbnails",
"value": false
},
"show-recent": {
"type": "checkbox",
"default": true,
"description": "Show recent items",
"value": true
},
"autostart-menu-item": {
"type": "checkbox",
"default": false,
"description": "Show autostart option",
"value": false
},
"monitor-move-all-windows": {
"type": "checkbox",
"default": true,
"description": "Apply the monitor move option to all windows",
"tooltip": "When clicking \"Move to monitor\" in the context menu, this option will move all of an app's windows instead of just the last focused window from the app.",
"value": true
},
"enable-hover-peek": {
"type": "checkbox",
"default": true,
"description": "Show the window when hovering its thumbnail",
"value": true
},
"hover-peek-time-in": {
"dependency": "enable-hover-peek",
"type": "combobox",
"default": 300,
"description": "Window fade-in time",
"options": {
"150 ms": 150,
"300 ms": 300,
"450 ms": 450
},
"value": 300
},
"hover-peek-time-out": {
"dependency": "enable-hover-peek",
"type": "combobox",
"default": 0,
"description": "Window fade-out time",
"options": {
"None": 0,
"150 ms": 150,
"300 ms": 300,
"450 ms": 450
},
"value": 0
},
"hover-peek-opacity": {
"dependency": "enable-hover-peek",
"type": "spinbutton",
"default": 100,
"min": 0,
"max": 100,
"step": 1,
"units": "percent",
"description": "Window opacity",
"value": 100
},
"__md5__": "6f73ea938aeb5481595a809eb6cbe8e3"
}

View file

@ -0,0 +1,267 @@
{
"layout": {
"type": "layout",
"pages": [
"panel",
"menu"
],
"panel": {
"type": "page",
"title": "Panel",
"sections": [
"panel-appear",
"panel-behave"
]
},
"menu": {
"type": "page",
"title": "Menu",
"sections": [
"menu-layout",
"menu-behave"
]
},
"panel-appear": {
"type": "section",
"title": "Appearance",
"keys": [
"menu-custom",
"menu-icon",
"menu-icon-size",
"menu-label"
]
},
"panel-behave": {
"type": "section",
"title": "Behavior",
"keys": [
"overlay-key",
"activate-on-hover",
"hover-delay",
"force-show-panel",
"enable-animation"
]
},
"menu-layout": {
"type": "section",
"title": "Layout and content",
"keys": [
"restrict-menu-height",
"menu-height",
"show-category-icons",
"category-icon-size",
"show-application-icons",
"application-icon-size",
"favbox-show",
"fav-icon-size",
"show-places",
"show-recents",
"menu-editor-button"
]
},
"menu-behave": {
"type": "section",
"title": "Behavior",
"keys": [
"category-hover",
"enable-autoscroll",
"search-filesystem"
]
}
},
"overlay-key": {
"type": "keybinding",
"description": "Keyboard shortcut to open and close the menu",
"default": "Super_L::Super_R",
"value": "Super_L::Super_R"
},
"menu-custom": {
"type": "switch",
"default": false,
"description": "Use a custom icon and label",
"tooltip": "Check this to specify a custom icon and label",
"value": true
},
"menu-icon": {
"type": "iconfilechooser",
"default": "cinnamon-symbolic",
"description": "Icon",
"tooltip": "Select an icon to show in the panel.",
"default_icon": "cinnamon-symbolic",
"dependency": "menu-custom",
"value": "/usr/share/pixmaps/parch-logo.png"
},
"menu-icon-size": {
"type": "spinbutton",
"default": 32,
"min": 16,
"max": 96,
"step": 1,
"units": "px",
"description": "Icon size",
"dependency": "menu-custom",
"value": 32
},
"menu-label": {
"type": "entry",
"default": "Menu",
"description": "Text",
"tooltip": "Enter custom text to show in the panel.",
"dependency": "menu-custom",
"value": ""
},
"restrict-menu-height": {
"type": "switch",
"default": false,
"description": "Use a fixed menu height",
"tooltip": "Keep the size of the menu the same no matter how many favorites or categories there are.",
"value": true
},
"menu-height": {
"type": "spinbutton",
"default": 550,
"min": 300,
"max": 2000,
"step": 10,
"units": "px",
"description": "Menu height",
"dependency": "restrict-menu-height",
"value": 450.0
},
"show-category-icons": {
"type": "switch",
"default": true,
"description": "Show category icons",
"tooltip": "Choose whether or not to show icons on categories.",
"value": true
},
"category-icon-size": {
"type": "spinbutton",
"default": 22,
"min": 16,
"max": 48,
"step": 1,
"units": "px",
"description": "Categories icon size",
"dependency": "show-category-icons",
"value": 22
},
"show-application-icons": {
"type": "switch",
"default": true,
"description": "Show application icons",
"tooltip": "Choose whether or not to show icons on applications.",
"value": true
},
"application-icon-size": {
"type": "spinbutton",
"default": 22,
"min": 16,
"max": 48,
"step": 1,
"units": "px",
"description": "Applications icon size",
"dependency": "show-application-icons",
"value": 22
},
"favbox-show": {
"type": "switch",
"default": true,
"description": "Show favorites and session buttons",
"tooltip": "Choose whether or not to show the left pane of the menu.",
"value": true
},
"fav-icon-size": {
"type": "spinbutton",
"default": 32,
"min": 16,
"max": 64,
"step": 1,
"units": "px",
"description": "Favorites icon size",
"dependency": "favbox-show",
"value": 32
},
"show-favorites": {
"type": "switch",
"default": true,
"description": "Show favorites",
"tooltip": "Choose whether or not to show favorite files in the menu.",
"value": true
},
"show-places": {
"type": "switch",
"default": true,
"description": "Show bookmarks and places",
"tooltip": "Choose whether or not to show bookmarks and places in the menu.",
"value": false
},
"show-recents": {
"type": "switch",
"default": true,
"description": "Show recents",
"tooltip": "Choose whether or not to show recents in the menu.",
"value": false
},
"category-hover": {
"type": "switch",
"default": true,
"description": "Change categories on hover",
"tooltip": "Choose whether or not to change categories by hovering.",
"value": true
},
"enable-autoscroll": {
"type": "switch",
"default": true,
"description": "Enable autoscrolling in application list",
"tooltip": "Choose whether or not to enable smooth autoscrolling in the application list.",
"value": true
},
"search-filesystem": {
"type": "switch",
"default": false,
"description": "Enable filesystem path entry in search box",
"tooltip": "Allows path entry in the menu search box.",
"value": false
},
"force-show-panel": {
"type": "switch",
"default": true,
"description": "Force the panel to be visible when opening the menu",
"tooltip": "Opening the menu will also show the main panel (which may be auto-hidden).",
"value": true
},
"activate-on-hover": {
"type": "switch",
"default": false,
"description": "Open the menu when I move my mouse over it",
"tooltip": "Enable opening the menu when the mouse enters the applet",
"value": false
},
"hover-delay": {
"type": "spinbutton",
"default": 0,
"min": 0,
"max": 1000,
"step": 50,
"units": "milliseconds",
"dependency": "activate-on-hover",
"description": "Menu hover delay",
"tooltip": "Delay before the menu opens when hovered",
"value": 0
},
"enable-animation": {
"type": "switch",
"default": false,
"description": "Use menu animations",
"tooltip": "Allow the menu to animate on open and close",
"value": false
},
"menu-editor-button": {
"type": "button",
"description": "Open the menu editor",
"callback": "_launch_editor",
"tooltip": "Press this button to customize your menu entries."
},
"__md5__": "38c9122e36f6267fae12706a694ac35f"
}

View file

@ -0,0 +1,14 @@
{
"section1": {
"type": "section",
"description": "Menu"
},
"keyOpen": {
"type": "keybinding",
"description": "Show menu",
"default": "<Shift><Super>n",
"tooltip": "Set keybinding(s) to show the network applet menu.",
"value": "<Shift><Super>n"
},
"__md5__": "976b46e8430522899e7fe34f2abfee76"
}

View file

@ -0,0 +1,58 @@
{
"section1": {
"type": "section",
"description": "Behavior"
},
"ignoreTransientNotifications": {
"type": "switch",
"default": true,
"description": "Ignore transient notifications",
"tooltip": "Check this to ignore transient notifications.",
"value": true
},
"section2": {
"type": "section",
"description": "Display"
},
"showEmptyTray": {
"type": "switch",
"default": false,
"description": "Show empty tray",
"tooltip": "Check this to show the tray even when there are no new notifications.",
"value": false
},
"showNotificationCount": {
"type": "switch",
"default": true,
"description": "Show the number of notifications",
"value": true
},
"section3": {
"type": "section",
"description": "Keyboard shortcuts"
},
"keyOpen": {
"type": "keybinding",
"description": "Show notifications",
"default": "<Super>n",
"tooltip": "Set keybinding(s) to show the notification popup menu.",
"value": "<Super>n"
},
"keyClear": {
"type": "keybinding",
"description": "Clear notifications",
"default": "<Shift><Super>c",
"tooltip": "Set keybinding(s) to clear all notifications.",
"value": "<Shift><Super>c"
},
"section4": {
"type": "section",
"description": ""
},
"btnSystemSettings": {
"type": "button",
"description": "Open notification settings",
"callback": "on_btn_open_system_settings_clicked"
},
"__md5__": "cb9ad336b2e360509f8ba388e1d19b8f"
}

View file

@ -0,0 +1,22 @@
{
"labelinfo": {
"type": "combobox",
"description": "Display",
"default": "nothing",
"options": {
"Show percentage": "percentage",
"Show time remaining": "time",
"Show percentage and time remaining": "percentage_time",
"Hide label": "nothing"
},
"value": "nothing"
},
"showmulti": {
"type": "switch",
"default": false,
"description": "Always show all batteries",
"tooltip": "Check this to always show multiple batteries in the panel, regardless of whether one of them is marked primary.",
"value": false
},
"__md5__": "db29025b0930e93063f745d0adcc675a"
}

View file

@ -0,0 +1,116 @@
{
"section1": {
"type": "section",
"description": "Menu"
},
"playerControl": {
"type": "switch",
"default": true,
"description": "Control Players",
"value": true
},
"extendedPlayerControl": {
"type": "switch",
"default": false,
"description": "Show Loop and Shuffle controls",
"dependency": "playerControl",
"value": false
},
"keyOpen": {
"type": "keybinding",
"description": "Show menu",
"default": "<Shift><Super>s",
"tooltip": "Set keybinding(s) to show the sound applet menu.",
"value": "<Shift><Super>s"
},
"_knownPlayers": {
"type": "generic",
"default": [
"banshee",
"vlc",
"rhythmbox"
],
"value": [
"banshee",
"vlc",
"rhythmbox"
]
},
"section2": {
"type": "section",
"description": "Panel"
},
"showtrack": {
"type": "switch",
"default": false,
"description": "Show song information on the panel",
"dependency": "playerControl",
"value": false
},
"truncatetext": {
"type": "spinbutton",
"default": 30,
"min": 5,
"max": 512,
"units": "characters",
"step": 1,
"description": "Limit song information to",
"dependency": "showtrack",
"value": 30
},
"middleClickAction": {
"type": "combobox",
"default": "mute",
"options": {
"Toggle Mute": "mute",
"Toggle Mute output": "out_mute",
"Toggle Mute input": "in_mute",
"Toggle Play / Pause": "player"
},
"description": "Action on middle click",
"value": "mute"
},
"horizontalScroll": {
"type": "switch",
"default": false,
"description": "Use horizontal scrolling to move between tracks",
"dependency": "playerControl",
"value": false
},
"showalbum": {
"type": "switch",
"default": false,
"description": "Show album art as icon",
"dependency": "playerControl",
"value": false
},
"hideSystray": {
"type": "switch",
"description": "Hide system tray icons for compatible players",
"default": true,
"value": true
},
"section3": {
"type": "section",
"description": "Tooltip"
},
"tooltipShowVolume": {
"type": "switch",
"default": true,
"description": "Show volume in tooltip",
"value": true
},
"tooltipShowPlayer": {
"type": "switch",
"default": false,
"description": "Show player in tooltip",
"value": false
},
"tooltipShowArtistTitle": {
"type": "switch",
"default": false,
"description": "Show song artist and title in tooltip",
"value": false
},
"__md5__": "cd7a99af6fce1f04852ac27d13a3bf55"
}

Binary file not shown.

View file

@ -0,0 +1,13 @@
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<!-- Do not edit manually - generated and managed by xdg-desktop-menu -->
<Menu>
<Name>Applications</Name>
<Menu>
<Name>chrome-apps</Name>
<Directory>chrome-apps.directory</Directory>
<Include>
<Filename>brave-ikbignecamhoilfohdmldjfgbkoaoiei-Default.desktop</Filename>
</Include>
</Menu>
</Menu>

View file

@ -0,0 +1,20 @@
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<Menu>
<Name>wine-wine</Name>
<Directory>wine-wine.directory</Directory>
<Menu>
<Name>wine-Programs</Name>
<Directory>wine-Programs.directory</Directory>
<Menu>
<Name>wine-Programs-Bazi Ba Kalamat</Name>
<Directory>wine-Programs-Bazi Ba Kalamat.directory</Directory>
<Include>
<Filename>wine-Programs-Bazi Ba Kalamat-Bazi Ba Kalamat.desktop</Filename>
</Include>
</Menu>
</Menu>
</Menu>
</Menu>

View file

@ -0,0 +1,20 @@
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<Menu>
<Name>wine-wine</Name>
<Directory>wine-wine.directory</Directory>
<Menu>
<Name>wine-Programs</Name>
<Directory>wine-Programs.directory</Directory>
<Menu>
<Name>wine-Programs-Bazi Ba Kalamat</Name>
<Directory>wine-Programs-Bazi Ba Kalamat.directory</Directory>
<Include>
<Filename>wine-Programs-Bazi Ba Kalamat-Readme.desktop</Filename>
</Include>
</Menu>
</Menu>
</Menu>
</Menu>

View file

@ -0,0 +1,20 @@
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<Menu>
<Name>wine-wine</Name>
<Directory>wine-wine.directory</Directory>
<Menu>
<Name>wine-Programs</Name>
<Directory>wine-Programs.directory</Directory>
<Menu>
<Name>wine-Programs-Bazi Ba Kalamat</Name>
<Directory>wine-Programs-Bazi Ba Kalamat.directory</Directory>
<Include>
<Filename>wine-Programs-Bazi Ba Kalamat-Remove Bazi Ba Kalamat.desktop</Filename>
</Include>
</Menu>
</Menu>
</Menu>
</Menu>

View file

@ -0,0 +1,3 @@
[settings]
last-window-width=710
last-window-height=514

View file

@ -0,0 +1,4 @@
[desktop-monitor-0]
nemo-icon-view-keep-aligned=true
nemo-icon-view-auto-layout=true
nemo-icon-view-layout-timestamp=1675412816

View file

@ -0,0 +1 @@
>°ÆA<1B>öšcÉrÔz?LT6"Ö'&M¦Bë®+›ùˆÇÈhHÒÀÅvÚ8vE¡lš,<2C><>æ ã…‘”ÛæĉŸóVmä¼™8ç×Op=‡+Q±Øk¼ýü犫†Üë.o æý3 þktúßÔ€.Zçù¦9ÕN¤èO> ßsWŠŒTGc¤m?WPXÈÔR/i<1F>)¶±Šû˜•© z¿lu„åúNíi›Ã"w khpD<70>N'™gB}úQ‡úÓÒ<C393>AZÕ`3 _¨Zcõ2sîë\9ïºRä)I®@=åþ’&nÌB|,bx¡Û«öW«Ä

View file

@ -0,0 +1 @@
org.gnome.Terminal.desktop

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbel version="1.0"
xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
>
<bookmark href="file:///usr/share/pixmaps/parch-logo.png" added="2023-02-02T20:44:19.522169Z" modified="2023-02-02T20:44:19.522202Z" visited="2023-02-02T20:44:19.522188Z">
<info>
<metadata owner="http://freedesktop.org">
<mime:mime-type type="image/png"/>
<bookmark:applications>
<bookmark:application name="xlet-settings.py" exec="&apos;xlet-settings.py %u&apos;" modified="2023-02-02T20:44:19.522194Z" count="1"/>
</bookmark:applications>
</metadata>
</info>
</bookmark>
<bookmark href="file:///usr/share/wallpapers/parch-os-wallpapers" added="2023-02-02T20:55:45.781120Z" modified="2023-02-02T20:55:45.781128Z" visited="2023-02-02T20:55:45.781121Z">
<info>
<metadata owner="http://freedesktop.org">
<mime:mime-type type="inode/directory"/>
<bookmark:applications>
<bookmark:application name="cinnamon-settings.py" exec="&apos;cinnamon-settings.py %u&apos;" modified="2023-02-02T20:55:45.781123Z" count="1"/>
</bookmark:applications>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/sohrab/parchconfig.zip" added="2023-02-03T08:30:58.515464Z" modified="2023-02-03T08:30:58.515479Z" visited="2023-02-03T08:30:58.515466Z">
<info>
<metadata owner="http://freedesktop.org">
<mime:mime-type type="application/zip"/>
<bookmark:applications>
<bookmark:application name="Engrampa" exec="&apos;engrampa %u&apos;" modified="2023-02-03T08:30:58.515475Z" count="1"/>
</bookmark:applications>
</metadata>
</info>
</bookmark>
</xbel>

View file

@ -0,0 +1 @@
Zì¯Ð™y

View file

@ -0,0 +1 @@
.less-history-file:

View file

@ -0,0 +1,5 @@
[default-routes]
alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:channelMap=FL;FR;
alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:channelVolumes=1.0;1.0;
alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:latencyOffsetNsec=0
alsa_card.pci-0000_00_05.0:profile:output:analog-stereo+input:analog-stereo=analog-output\\;output-amplifier-on;

View file

@ -0,0 +1,5 @@
[restore-stream]
Audio/Sink:node.name:auto_null:channelMap=FL;FR;
Audio/Sink:node.name:auto_null:channelVolumes=1.0;1.0;
Audio/Sink:node.name:auto_null:mute=false
Audio/Sink:node.name:auto_null:volume=1.0

1
parch-config-i3/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
!src/

View file

@ -0,0 +1,138 @@
# set modifier
set $super Mod4
set $alt Mod1
# set font
font pango: Noto Sans 8
# Use Mouse+$super to drag floating windows to their wanted position
floating_modifier $super
#autostart
exec --no-startup-id hsetroot -center ~/.config/i3/walp.jpg
exec --no-startup-id nitrogen --restore &
exec --no-startup-id volumeicon &
exec --no-startup-id nm-applet &
exec --no-startup-id fa-key &
exec --no-startup-id xsettingsd &
exec --no-startup-id lxpolkit &
exec --no-startup-id flameshot &
exec --no-startup-id picom -b
# start a terminal
bindsym $super+Return exec kitty
# start dmenu (a program launcher)
bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'"
bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8'
# common apps keybinds
bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f'
bindsym $super+l exec i3lock -i ~/.wallpaper.png
bindsym $super+Shift+w exec firefox
bindsym $super+Shift+b exec brave
bindsym $super+Shift+f exec pcmanfm
bindsym $super+Shift+g exec geany
#change volume
bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+
bindsym XF86AudioLowerVolume exec amixer -q set Master 5%-
bindsym XF86AudioMute exec amixer set Master toggle
# music control
bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPrev exec mpc prev
bindsym XF86AudioPlay exec mpc toggle
bindsym XF86AudioStop exec mpc stop
# kill focused window
bindsym $super+c kill
bindsym $alt+F4 kill
# change focus
bindsym $super+Left focus left
bindsym $super+Down focus down
bindsym $super+Up focus up
bindsym $super+Right focus right
# move focused window
bindsym $super+Shift+Left move left
bindsym $super+Shift+Down move down
bindsym $super+Shift+Up move up
bindsym $super+Shift+Right move right
# split in horizontal orientation
bindsym $super+h split h
# split in vertical orientation
bindsym $super+v split v
# enter fullscreen mode for the focused container
bindsym $super+f fullscreen toggle
# change container layout split
bindsym $super+s layout toggle split
# toggle tiling / floating
bindsym $super+space floating toggle
# change focus between tiling / floating windows
bindsym $super+Shift+space focus mode_toggle
# switch to workspace
bindsym $alt+Control+Right workspace next
bindsym $alt+Control+Left workspace prev
bindsym $super+1 workspace 1
bindsym $super+2 workspace 2
bindsym $super+3 workspace 3
bindsym $super+4 workspace 4
bindsym $super+5 workspace 5
bindsym $super+6 workspace 6
# move focused container to workspace
bindsym $super+Shift+1 move container to workspace 1
bindsym $super+Shift+2 move container to workspace 2
bindsym $super+Shift+3 move container to workspace 3
bindsym $super+Shift+4 move container to workspace 4
bindsym $super+Shift+5 move container to workspace 5
bindsym $super+Shift+6 move container to workspace 6
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $super+Shift+r restart
# exit i3
#bindsym $super+q exec "i3-nagbar -t warning -m 'Really, exit?' -b 'Yes' 'i3-msg exit'"
bindsym $super+q exec archlinux-logout
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym Left resize shrink width 5 px or 5 ppt
bindsym Down resize grow height 5 px or 5 ppt
bindsym Up resize shrink height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
bindsym Return mode "default"
}
bindsym $super+r mode "resize"
exec_always --no-startup-id ~/.config/polybar/launch.sh
# window rules, you can find the window class using xprop
for_window [class=".*"] border pixel 1
assign [class=URxvt] 1
assign [class=Firefox|Transmission-gtk] 2
assign [class=Thunar|File-roller] 3
assign [class=Geany|Evince|Gucharmap|Soffice|libreoffice*] 4
assign [class=Audacity|Vlc|mpv|Ghb|Xfburn|Gimp*|Inkscape] 5
assign [class=Lxappearance|System-config-printer.py|Lxtask|GParted|Pavucontrol|Exo-helper*|Lxrandr|Arandr] 6
for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol] floating enable
for_window [class=URxvt|Firefox|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity] focus
for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|Arandr] focus
# colour of border, background, text, indicator, and child_border
client.focused #bf616a #2f343f #d8dee8 #bf616a #d8dee8
client.focused_inactive #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.unfocused #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background #2f343f

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 KiB

View file

@ -0,0 +1,22 @@
# Color theme: Tokyo Night Storm
# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)
color0 #414868
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #c0caf5
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5
background #24283b
foreground #c0caf5
cursor #c0caf5

View file

@ -0,0 +1,23 @@
background #002b36
foreground #93a1a1
cursor #93a1a1
selection_background #93a1a1
color0 #073642
color1 #dc322f
color2 #859900
color3 #b58900
color4 #268bd2
color5 #d33682
color6 #2aa198
color7 #eee8d5
color8 #002b36
color9 #cb4b16
color10 #586e75
color11 #657b83
color12 #839496
color13 #6c71c4
color14 #93a1a1
color15 #fdf6e3
selection_foreground #002b36

@ -0,0 +1 @@
Subproject commit b1abdd54ba655ef34f75a568d78625981bf1722c

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,100 @@
import datetime
import json
import subprocess
from collections import defaultdict
from kitty.boss import get_boss
from kitty.fast_data_types import Screen, add_timer
from kitty.tab_bar import (
DrawData,
ExtraData,
Formatter,
TabBarData,
as_rgb,
draw_attributed_string,
draw_tab_with_powerline,
)
timer_id = None
def draw_tab(
draw_data: DrawData,
screen: Screen,
tab: TabBarData,
before: int,
max_title_length: int,
index: int,
is_last: bool,
extra_data: ExtraData,
) -> int:
global timer_id
# if timer_id is None:
# timer_id = add_timer(_redraw_tab_bar, 2.0, True)
draw_tab_with_powerline(
draw_data, screen, tab, before, max_title_length, index, is_last, extra_data
)
if is_last:
draw_right_status(draw_data, screen)
return screen.cursor.x
def draw_right_status(draw_data: DrawData, screen: Screen) -> None:
# The tabs may have left some formats enabled. Disable them now.
draw_attributed_string(Formatter.reset, screen)
cells = create_cells()
# Drop cells that wont fit
while True:
if not cells:
return
padding = screen.columns - screen.cursor.x - sum(len(c) + 3 for c in cells)
if padding >= 0:
break
cells = cells[1:]
if padding:
screen.draw(" " * padding)
tab_bg = as_rgb(int(draw_data.inactive_bg))
tab_fg = as_rgb(int(draw_data.inactive_fg))
default_bg = as_rgb(int(draw_data.default_bg))
for cell in cells:
# Draw the separator
if cell == cells[0]:
screen.cursor.fg = tab_bg
screen.draw("")
else:
screen.cursor.fg = default_bg
screen.cursor.bg = tab_bg
screen.draw("")
screen.cursor.fg = tab_fg
screen.cursor.bg = tab_bg
screen.draw(f" {cell} ")
def create_cells() -> list[str]:
now = datetime.datetime.now()
return [
currently_playing(),
now.strftime("%d %b"),
now.strftime("%H:%M"),
]
STATE = defaultdict(lambda: "", {"Paused": "", "Playing": ""})
def currently_playing():
# TODO: Work out how to add python libraries so that I can query dbus directly
# For now, implemented in a separate python project: dbus-player-status
try:
data = json.loads(subprocess.getoutput("get_song"))
return f"{data['artist']} {data['title']}"
except ValueError:
return ""
def _redraw_tab_bar(timer_id):
for tm in get_boss().all_tab_managers:
tm.mark_tab_bar_dirty()

View file

@ -0,0 +1 @@
kitty-themes/themes/Tomorrow_Night.conf

View file

@ -0,0 +1,57 @@
## shadow
shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
shadow-radius = 12;
shadow-offset-x = -12;
shadow-offset-y = -12;
shadow-opacity = 0.95;
shadow-red = 0.18;
shadow-green = 0.20;
shadow-blue = 0.25;
shadow-exclude = [ "class_g = 'Cairo-clock'" ,
"class_g = 'CoverGloobus'",
"class_g = 'Tilda'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Firefox'",
"class_g = 'Firefox-esr'",
"class_g = 'Dmenu'",
"name = 'Notification'",
"_GTK_FRAME_EXTENTS@:c"
];
## fading
fading = true;
fade-delta = 0.25;
fade-in-step = 0.02;
fade-out-step = 0.02;
fade-exclude = [
];
## other
backend = "xrender";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = "none";
dbe = false;
paint-on-overlay = true;
focus-exclude = [ "class_g = 'Cairo-clock'" ,
"class_g = 'CoverGloobus'",
"class_g = 'Tilda'",
"class_g = 'Firefox'",
"class_g = 'Firefox-esr'"
];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
glx-copy-from-front = false;
glx-swap-method = "undefined";
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
};

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,245 @@
#!/usr/bin/env sh
# More info : https://github.com/jaagr/polybar/wiki
# Install the following applications for polybar and icons in polybar if you are on ArcoLinuxD
# awesome-terminal-fonts
# Tip : There are other interesting fonts that provide icons like nerd-fonts-complete
# --log=error
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar > /dev/null; do sleep 1; done
desktop=$(echo $DESKTOP_SESSION)
count=$(xrandr --query | grep " connected" | cut -d" " -f1 | wc -l)
case $desktop in
i3|/usr/share/xsessions/i3)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-i3 -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-i3 -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-i3-extra -c ~/.config/polybar/config &
# done
# else
#polybar --reload mainbar-i3-extra -c ~/.config/polybar/config &
# fi
;;
openbox|/usr/share/xsessions/openbox)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-openbox -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-openbox -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-openbox-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-openbox-extra -c ~/.config/polybar/config &
# fi
;;
bspwm|/usr/share/xsessions/bspwm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-bspwm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-bspwm -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-bspwm-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-bspwm-extra -c ~/.config/polybar/config &
# fi
;;
herbstluftwm|/usr/share/xsessions/herbstluftwm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-herbstluftwm-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-herbstluftwm-extra -c ~/.config/polybar/config &
# fi
;;
worm|/usr/share/xsessions/worm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-worm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-worm -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-worm-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-worm-extra -c ~/.config/polybar/config &
# fi
;;
berry|/usr/share/xsessions/berry)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-berry -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-berry -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-berry-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-berry-extra -c ~/.config/polybar/config &
# fi
;;
xmonad|/usr/share/xsessions/xmonad)
if [ $count = 1 ]; then
m=$(xrandr --query | grep " connected" | cut -d" " -f1)
MONITOR=$m polybar --reload mainbar-xmonad -c ~/.config/polybar/config &
else
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-xmonad -c ~/.config/polybar/config &
done
fi
# second polybar at bottom
# if [ $count = 1 ]; then
# m=$(xrandr --query | grep " connected" | cut -d" " -f1)
# MONITOR=$m polybar --reload mainbar-xmonad-extra -c ~/.config/polybar/config &
# else
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-xmonad-extra -c ~/.config/polybar/config &
# done
# fi
;;
spectrwm|/usr/share/xsessions/spectrwm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-spectrwm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-spectrwm -c ~/.config/polybar/config &
fi
;;
cwm|/usr/share/xsessions/cwm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-cwm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-cwm -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-cwm-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-cwm-extra -c ~/.config/polybar/config &
# fi
;;
fvwm3|/usr/share/xsessions/fvwm3)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-fvwm3 -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-fvwm3 -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-fvwm3-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-fvwm3-extra -c ~/.config/polybar/config &
# fi
;;
wmderland|/usr/share/xsessions/wmderland)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-wmderland -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-wmderland -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-wmderland-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-wmderland-extra -c ~/.config/polybar/config &
# fi
;;
leftwm|/usr/share/xsessions/leftwm)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-leftwm -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-leftwm -c ~/.config/polybar/config &
fi
# second polybar at bottom
# if type "xrandr" > /dev/null; then
# for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
# MONITOR=$m polybar --reload mainbar-leftwm-extra -c ~/.config/polybar/config &
# done
# else
# polybar --reload mainbar-leftwm-extra -c ~/.config/polybar/config &
# fi
;;
qtile|/usr/share/xsessions/qtile)
if type "xrandr" > /dev/null; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload mainbar-qtile -c ~/.config/polybar/config &
#MONITOR=$m polybar --reload mainbar-bar2 -c ~/.config/polybar/config &
done
else
polybar --reload mainbar-qtile -c ~/.config/polybar/config &
#polybar --reload mainbar-bar2 -c ~/.config/polybar/config &
fi
;;
esac

View file

@ -0,0 +1,13 @@
#!/bin/sh
#source https://github.com/x70b1/polybar-scripts
#source https://github.com/polybar/polybar-scripts
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
if [ $updates_arch -gt 0 ]; then
echo $updates_arch
else
echo "0"
fi

View file

@ -0,0 +1,13 @@
#!/bin/sh
#source https://github.com/x70b1/polybar-scripts
#source https://github.com/polybar/polybar-scripts
if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l ); then
updates_aur=0
fi
if [ $updates_aur -gt 0 ]; then
echo $updates_aur
else
echo "0"
fi

View file

@ -0,0 +1,45 @@
#!/bin/bash
# The name of polybar bar which houses the main spotify module and the control modules.
PARENT_BAR="mainbar-i3"
# Set the source audio player here.
# Players supporting the MPRIS spec are supported.
# Examples: spotify, vlc, chrome, mpv and others.
# Use `playerctld` to always detect the latest player.
# See more here: https://github.com/altdesktop/playerctl/#selecting-players-to-control
PLAYER="spotify"
# Format of the information displayed
# Eg. {{ artist }} - {{ album }} - {{ title }}
# See more attributes here: https://github.com/altdesktop/playerctl/#printing-properties-and-metadata
FORMAT="{{ title }} - {{ artist }}"
PLAYERCTL_STATUS=$(playerctl --player=$PLAYER status 2>/dev/null)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
STATUS=$PLAYERCTL_STATUS
else
STATUS="No player is running"
fi
if [ "$1" == "--status" ]; then
echo "$STATUS"
else
if [ "$STATUS" = "Stopped" ]; then
echo "No music is playing"
# A note on hooks:
# In the polybar config, they are supposed to be zero-indexed.
# When making IPC calls, 1-based index numbers are to be used.
# So don't get confused with hook value as 2.
elif [ "$STATUS" = "Paused" ]; then
polybar-msg -p "$(pgrep -f "polybar $PARENT_BAR")" hook spotify-play-pause 2 1>/dev/null 2>&1
playerctl --player=$PLAYER metadata --format "$FORMAT"
elif [ "$STATUS" = "No player is running" ]; then
echo $STATUS
else
polybar-msg -p "$(pgrep -f "polybar $PARENT_BAR")" hook spotify-play-pause 1 1>/dev/null 2>&1
playerctl --player=$PLAYER metadata --format "$FORMAT"
fi
fi

View file

@ -0,0 +1,194 @@
#!/usr/bin/env bash
# finds the active sink for pulse audio and increments the volume. useful when you have multiple audio outputs and have a key bound to vol-up and down
osd='no'
inc='2'
capvol='no'
maxvol='200'
autosync='yes'
# Muted status
# yes: muted
# no : not muted
curStatus="no"
active_sink=""
limit=$((100 - inc))
maxlimit=$((maxvol - inc))
reloadSink() {
active_sink=$(pacmd list-sinks | awk '/* index:/{print $3}')
}
function volUp {
getCurVol
if [ "$capvol" = 'yes' ]
then
if [ "$curVol" -le 100 ] && [ "$curVol" -ge "$limit" ]
then
pactl set-sink-volume "$active_sink" -- 100%
elif [ "$curVol" -lt "$limit" ]
then
pactl set-sink-volume "$active_sink" -- "+$inc%"
fi
elif [ "$curVol" -le "$maxvol" ] && [ "$curVol" -ge "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "$maxvol%"
elif [ "$curVol" -lt "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "+$inc%"
fi
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function volDown {
pactl set-sink-volume "$active_sink" "-$inc%"
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function getSinkInputs {
input_array=$(pacmd list-sink-inputs | grep -B 4 "sink: $1 " | awk '/index:/{print $2}')
}
function volSync {
getSinkInputs "$active_sink"
getCurVol
for each in $input_array
do
pactl set-sink-input-volume "$each" "$curVol%"
done
}
function getCurVol {
curVol=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | grep 'volume:' | grep -E -v 'base volume:' | awk -F : '{print $3}' | grep -o -P '.{0,3}%'| sed s/.$// | tr -d ' ')
}
function volMute {
case "$1" in
mute)
pactl set-sink-mute "$active_sink" 1
curVol=0
status=1
;;
unmute)
pactl set-sink-mute "$active_sink" 0
getCurVol
status=0
;;
esac
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume ${curVol} ${status}
fi
}
function volMuteStatus {
curStatus=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | awk '/muted/{ print $2}')
}
# Prints output for bar
# Listens for events for fast update speed
function listen {
firstrun=0
pactl subscribe 2>/dev/null | {
while true; do
{
# If this is the first time just continue
# and print the current state
# Otherwise wait for events
# This is to prevent the module being empty until
# an event occurs
if [ $firstrun -eq 0 ]
then
firstrun=1
else
read -r event || break
if ! echo "$event" | grep -e "on card" -e "on sink"
then
# Avoid double events
continue
fi
fi
} &>/dev/null
output
done
}
}
function output() {
reloadSink
getCurVol
volMuteStatus
if [ "${curStatus}" = 'yes' ]
then
echo "$curVol%"
else
echo "$curVol%"
fi
} #}}}
reloadSink
case "$1" in
--up)
volUp
;;
--down)
volDown
;;
--togmute)
volMuteStatus
if [ "$curStatus" = 'yes' ]
then
volMute unmute
else
volMute mute
fi
;;
--mute)
volMute mute
;;
--unmute)
volMute unmute
;;
--sync)
volSync
;;
--listen)
# Listen for changes and immediately create new output for the bar
# This is faster than having the script on an interval
listen
;;
*)
# By default print output for bar
output
;;
esac

View file

@ -0,0 +1,12 @@
#!/bin/sh
# credits
# https://linuxconfig.org/polybar-a-better-wm-panel-for-your-linux-system
IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
if pgrep -x openvpn > /dev/null; then
echo VPN: $IP
else
echo $IP
fi

View file

@ -0,0 +1,12 @@
#!/bin/bash
# see man zscroll for documentation of the following parameters
zscroll -l 80 \
--delay 0.1 \
--scroll-padding "  " \
--match-command "$HOME/.config/polybar/scripts/get_spotify_status.sh --status" \
--match-text "Playing" "--scroll 1" \
--match-text "Paused" "--scroll 0" \
--update-check true "$HOME/.config/polybar/scripts/get_spotify_status.sh" &
wait

View file

@ -0,0 +1,25 @@
#!/bin/sh
# credits
# https://github.com/NicholasFeldman/dotfiles/blob/master/polybar/.config/polybar/spotify.sh
main() {
if ! pgrep -x spotify >/dev/null; then
echo ""; exit
fi
cmd="org.freedesktop.DBus.Properties.Get"
domain="org.mpris.MediaPlayer2"
path="/org/mpris/MediaPlayer2"
meta=$(dbus-send --print-reply --dest=${domain}.spotify \
/org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata)
artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed "s/\&/+/g")
album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1)
title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed "s/\&/+/g")
echo "${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed 's/&/\\&/g'
}
main "$@"

View file

@ -0,0 +1,43 @@
#!/bin/bash
# fork from Per-core temperatures :
# https://github.com/jaagr/polybar/wiki/User-contributed-modules#per-core-temperatures
# Get information from cores temp thanks to sensors
rawData=$( sensors | grep -m 1 Core | awk '{print substr($3, 2, length($3)-5)}' )
tempCore=($rawData)
# Define constants :
degree="°C"
temperaturesValues=(40 50 60 70 80 90)
temperaturesColors=("#6bff49" "#f4cb24" "#ff8819" "#ff3205" "#f40202" "#ef02db")
temperaturesIcons=(     )
for iCore in ${!tempCore[*]}
do
for iTemp in ${!temperaturesValues[*]}
do
if (( "${tempCore[$iCore]}" < "${temperaturesValues[$iTemp]}" )); then
tmpEcho="%{F${temperaturesColors[$iTemp]}}${tempCore[$iCore]}$degree%{F-}"
finalEcho="$finalEcho $tmpEcho"
break
fi
done
total=$(( ${tempCore[$iCore]} + total ));
done
sum=$(( $total/${#tempCore[*]} ))
for iTemp in ${!temperaturesValues[*]}
do
if (( "$sum" < "${temperaturesValues[$iTemp]}" )); then
## This line will color the icon too
tmpEcho="%{F${temperaturesColors[$iTemp]}}${temperaturesIcons[$iTemp]}%{F-}"
## This line will NOT color the icon
#tmpEcho="${temperaturesIcons[$iTemp]}"
finalEcho=" $finalEcho $tmpEcho"
break
fi
done
echo $finalEcho

View file

@ -0,0 +1,37 @@
#!/bin/python
# -*- coding: utf-8 -*-
# Procedure
# Surf to https://openweathermap.org/city
# Fill in your CITY
# e.g. Antwerp Belgium
# Check url
# https://openweathermap.org/city/2803138
# you will the city code at the end
# create an account on this website
# create an api key (free)
# LANG included thanks to krive001 on discord
import requests
CITY = "2803138"
API_KEY = "756edce7e9d4c385ef9499a53492678c"
UNITS = "Metric"
UNIT_KEY = "C"
#UNIT_KEY = "F"
LANG = "en"
#LANG = "nl"
#LANG = "hu"
REQ = requests.get("http://api.openweathermap.org/data/2.5/weather?id={}&lang={}&appid={}&units={}".format(CITY, LANG, API_KEY, UNITS))
try:
# HTTP CODE = OK
if REQ.status_code == 200:
CURRENT = REQ.json()["weather"][0]["description"].capitalize()
TEMP = int(float(REQ.json()["main"]["temp"]))
print("{}, {} °{}".format(CURRENT, TEMP, UNIT_KEY))
else:
print("Error: BAD HTTP STATUS CODE " + str(REQ.status_code))
except (ValueError, IOError):
print("Error: Unable print the data")

View file

@ -0,0 +1,192 @@
os="Linux"
players=(
"amarok"
"audacious"
"banshee"
"bluemindo"
"clementine"
"cmus"
"deadbeef"
"deepin-music"
"dragon"
"elisa"
"exaile"
"gnome-music"
"gmusicbrowser"
"gogglesmm"
"guayadeque"
"io.elementary.music"
"iTunes"
"juk"
"lollypop"
"mocp"
"mopidy"
"mpd"
"muine"
"netease-cloud-music"
"olivia"
"plasma-browser-integration"
"playerctl"
"pogo"
"pragha"
"qmmp"
"quodlibet"
"rhythmbox"
"sayonara"
"smplayer"
"spotify"
"Spotify"
"strawberry"
"tauonmb"
"tomahawk"
"vlc"
"xmms2d"
"xnoise"
"yarock"
)
printf -v players "|%s" "${players[@]}"
player="$(ps aux | awk -v pattern="(${players:1})" \
'!/ awk / && !/iTunesHelper/ && match($0,pattern){print substr($0,RSTART,RLENGTH); exit}')"
[[ "$music_player" && "$music_player" != "auto" ]] && player="$music_player"
get_song_dbus() {
# Multiple players use an almost identical dbus command to get the information.
# This function saves us using the same command throughout the function.
song="$(\
dbus-send --print-reply --dest=org.mpris.MediaPlayer2."${1}" /org/mpris/MediaPlayer2 \
org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' \
string:'Metadata' |\
awk -F '"' 'BEGIN {RS=" entry"}; /"xesam:artist"/ {a = $4} /"xesam:album"/ {b = $4}
/"xesam:title"/ {t = $4} END {print a " \n" b " \n" t}'
)"
}
case ${player/*\/} in
"mocp"*) song="$(mocp -Q '%artist \n%album \n%song')" ;;
"deadbeef"*) song="$(deadbeef --nowplaying-tf '%artist% \\n%album% \\n%title%')" ;;
"qmmp"*) song="$(qmmp --nowplaying '%p \n%a \n%t')" ;;
"gnome-music"*) get_song_dbus "GnomeMusic" ;;
"lollypop"*) get_song_dbus "Lollypop" ;;
"clementine"*) get_song_dbus "clementine" ;;
"juk"*) get_song_dbus "juk" ;;
"bluemindo"*) get_song_dbus "Bluemindo" ;;
"guayadeque"*) get_song_dbus "guayadeque" ;;
"yarock"*) get_song_dbus "yarock" ;;
"deepin-music"*) get_song_dbus "DeepinMusic" ;;
"tomahawk"*) get_song_dbus "tomahawk" ;;
"elisa"*) get_song_dbus "elisa" ;;
"sayonara"*) get_song_dbus "sayonara" ;;
"audacious"*) get_song_dbus "audacious" ;;
"vlc"*) get_song_dbus "vlc" ;;
"gmusicbrowser"*) get_song_dbus "gmusicbrowser" ;;
"pragha"*) get_song_dbus "pragha" ;;
"amarok"*) get_song_dbus "amarok" ;;
"dragon"*) get_song_dbus "dragonplayer" ;;
"smplayer"*) get_song_dbus "smplayer" ;;
"rhythmbox"*) get_song_dbus "rhythmbox" ;;
"strawberry"*) get_song_dbus "strawberry" ;;
"gogglesmm"*) get_song_dbus "gogglesmm" ;;
"xnoise"*) get_song_dbus "xnoise" ;;
"tauonmb"*) get_song_dbus "tauon" ;;
"olivia"*) get_song_dbus "olivia" ;;
"netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;;
"plasma-browser-integration"*) get_song_dbus "plasma-browser-integration" ;;
"io.elementary.music"*) get_song_dbus "Music" ;;
"mpd"* | "mopidy"*)
song="$(mpc -f '%artist% \n%album% \n%title%' current "${mpc_args[@]}")"
;;
"xmms2d"*)
song="$(xmms2 current -f "\${artist}"$' \n'"\${album}"$' \n'"\${title}")"
;;
"cmus"*)
# NOTE: cmus >= 2.8.0 supports mpris2
song="$(cmus-remote -Q | awk '/tag artist/ {$1=$2=""; a=$0}
/tag album / {$1=$2=""; b=$0}
/tag title/ {$1=$2=""; t=$0}
END {print a " \n" b " \n" t}')"
;;
"spotify"*)
case $os in
"Linux") get_song_dbus "spotify" ;;
"Mac OS X"|"macOS")
song="$(osascript -e 'tell application "Spotify" to artist of current track as¬
string & "\n" & album of current track as¬
string & "\n" & name of current track as string')"
;;
esac
;;
"itunes"*)
song="$(osascript -e 'tell application "iTunes" to artist of current track as¬
string & "\n" & album of current track as¬
string & "\n" & name of current track as string')"
;;
"banshee"*)
song="$(banshee --query-artist --query-album --query-title |\
awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2}
END {print a " \n" b " \n"t}')"
;;
"exaile"*)
# NOTE: Exaile >= 4.0.0 will support mpris2.
song="$(dbus-send --print-reply --dest=org.exaile.Exaile \
/org/exaile/Exaile org.exaile.Exaile.Query |
awk -F ':' '{sub(",[^,]*$", "", $3); t=$3;
sub(",[^,]*$", "", $4); a=$4;
sub(",[^,]*$", "", $5); b=$5}
END {print a " \n" b " \n" t}')"
;;
"muine"*)
song="$(dbus-send --print-reply --dest=org.gnome.Muine /org/gnome/Muine/Player \
org.gnome.Muine.Player.GetCurrentSong |
awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2}
END {print a " \n" b " \n" t}')"
;;
"quodlibet"*)
song="$(dbus-send --print-reply --dest=net.sacredchao.QuodLibet \
/net/sacredchao/QuodLibet net.sacredchao.QuodLibet.CurrentSong |\
awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4}
/"title"/ {t=$4} END {print a " \n" b " \n" t}')"
;;
"pogo"*)
song="$(dbus-send --print-reply --dest=org.mpris.pogo /Player \
org.freedesktop.MediaPlayer.GetMetadata |
awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4}
/"title"/ {t=$4} END {print a " \n" b " \n" t}')"
;;
"playerctl"*)
song="$(playerctl metadata --format '{{ artist }} \n{{ album }} \n{{ title }}')"
;;
*) mpc &>/dev/null && song="$(mpc -f '%artist% \n%album% \n%title%' current)" || return ;;
esac
IFS=$'\n' read -d "" -r artist album title <<< "${song//'\n'/$'\n'}"
# Set default values if no tags were found.
: "${artist:=Unknown Artist}" "${album:=Unknown Album}" "${title:=Unknown Song}"
# Display Artist, Album and Title on separate lines.
if [[ "$song_shorthand" == "on" ]]; then
prin "Artist" "$artist"
prin "Album" "$album"
prin "Song" "$title"
else
song="${song_format/\%artist\%/$artist}"
song="${song/\%album\%/$album}"
song="${song/\%title\%/$title}"
fi
printf '{ "artist" : "%s", "title" : "%s", "album" : "%s" }' "$artist" "$title" "$album"