From faa28f3eb59a681a17b067319d46141e3d5d809e Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Thu, 26 Oct 2023 06:06:01 +0300 Subject: Revert "Remove qtile" This reverts commit 1b061efdbb3fca2bd02a634cfce89673965e7fa9. --- .config/autstart/autostart.sh | 4 + .config/qtile/colors.py | 59 ++++++ .config/qtile/config.py | 433 ++++++++++++++++++++++++++++++++++++++++++ .config/qtile/cpu1.png | Bin 0 -> 35464 bytes .config/qtile/ram2.png | Bin 0 -> 14821 bytes .config/qtile/rms.png | Bin 0 -> 54631 bytes .config/qtile/spotify2.png | Bin 0 -> 29204 bytes .config/qtile/volume1.png | Bin 0 -> 24439 bytes 8 files changed, 496 insertions(+) create mode 100644 .config/autstart/autostart.sh create mode 100755 .config/qtile/colors.py create mode 100644 .config/qtile/config.py create mode 100755 .config/qtile/cpu1.png create mode 100755 .config/qtile/ram2.png create mode 100755 .config/qtile/rms.png create mode 100755 .config/qtile/spotify2.png create mode 100755 .config/qtile/volume1.png (limited to '.config') diff --git a/.config/autstart/autostart.sh b/.config/autstart/autostart.sh new file mode 100644 index 0000000..aac6e22 --- /dev/null +++ b/.config/autstart/autostart.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +picom & +feh --bg-scale ~/wallpapers/cyberpunk-red.png diff --git a/.config/qtile/colors.py b/.config/qtile/colors.py new file mode 100755 index 0000000..9b691b5 --- /dev/null +++ b/.config/qtile/colors.py @@ -0,0 +1,59 @@ +""" +My Favorite Color Themes For Qtile | + +Feel free to change them as you like +""" + +# Dracula theme +dracula = { + "bg": "#282a36", + "fg": "#f8f8f2", + "curr": "#44475a", + "cyan": "#8be9fd", + "green": "#50fa7b", + "orange": "#ffb86c", + "purple": "#bd93f9", + "red": "#ff5555", +} + +# Gruvbox theme +gruvbox = { + 'bg': '#282828', + 'fg': '#d4be98', + 'dark-red': '#ea6962', + 'red': '#ea6962', + 'dark-green': '#a9b665', + 'green': '#a9b665', + 'dark-yellow': '#e78a4e', + 'yellow': '#d8a657', + 'dark-blue': '#7daea3', + 'blue': '#7daea3', + 'dark-magenta': '#d3869b', + 'magenta': '#d3869b', + 'dark-cyan': '#89b482', + 'cyan': '#89b482', + 'dark-gray': '#665c54', + 'gray': '#928374', + + 'fg4': '#766f64', + 'fg3': '#665c54', + 'fg2': '#504945', + 'fg1': '#3c3836', + 'bg0': '#32302f', + 'fg0': '#1d2021', + 'fg9': '#ebdbb2' +} + +# Custom version of arcolinux theme +my_colors = { + "black": "#000000", + "black2": "#2F343F", + "blue": "#3384d0", + "red": "#ff0000", + "grey": "#a9a9a9", + "grey2": "#C0C5CE", + "cyan": "#6790EB", + "green": "#62FF00", + "white": "#F3F4F5", + "orange": "#FBA922", +} diff --git a/.config/qtile/config.py b/.config/qtile/config.py new file mode 100644 index 0000000..b99c035 --- /dev/null +++ b/.config/qtile/config.py @@ -0,0 +1,433 @@ +from libqtile.config import Key +from libqtile.command import lazy +from libqtile.config import Click, Drag + + +mod = "mod4" +mod = "mod4" +browser = "firefox" +term = "emacsclient -c" +editor = "emacsclient -c -a 'emacs'" + +keys = [ + Key([mod], "Return", + lazy.spawn(term), + ), + Key([mod, "shift"], "a", + lazy.spawn('anki'), + ), + Key([mod, "shift"], "m", + lazy.spawn("spotify"), + ), + Key([mod], "Tab", + lazy.spawn("rofi -show drun"), + ), + Key([mod], "r", + lazy.spawn("rofi -show run"), + ), + Key([mod], "w", + lazy.spawn("rofi -show window"), + ), + Key([mod], "p", + lazy.spawn("passmenu -p 'Password for: '"), + ), + Key([mod], "b", + lazy.spawn(browser), + ), + Key([mod, "shift"], "c", + lazy.next_layout(), + ), + Key([mod], "q", + lazy.window.kill(), + ), + Key([mod, "shift"], "r", + lazy.restart(), + ), + Key([mod, "shift"], "0", + lazy.shutdown(), + ), + Key([mod, "shift"], "e", + lazy.spawn(editor), + ), + # Switch focus of monitors + Key([mod], "period", + lazy.next_screen(), + ), + # Treetab controls + Key([mod, "shift"], "h", + lazy.layout.move_left(), + ), + Key([mod, "shift"], "l", + lazy.layout.move_right(), + ), + # Window controls + Key([mod], "n", + lazy.layout.down(), + ), + Key([mod], "p", + lazy.layout.up(), + ), + Key([mod, "shift"], "n", + lazy.layout.shuffle_down(), + lazy.layout.section_down(), + ), + Key([mod, "shift"], "p", + lazy.layout.shuffle_up(), + lazy.layout.section_up(), + ), + Key([mod], "s", + lazy.layout.shrink(), + lazy.layout.decrease_nmaster(), + ), + Key([mod], "l", + lazy.layout.grow(), + lazy.layout.increase_nmaster(), + ), + Key([mod], "o", + lazy.layout.normalize(), + ), + Key([mod], "m", + lazy.layout.maximize(), + ), + Key([mod, "shift"], "f", + lazy.window.toggle_floating(), + ), + Key([mod], "f", + lazy.window.toggle_fullscreen(), + ), + # Stack controls + Key([mod, "shift"], "Tab", + lazy.layout.rotate(), + lazy.layout.flip(), + ), + Key([mod, "shift"], "space", + lazy.layout.toggle_split(), + ), + # Volume controls + Key([], "XF86AudioLowerVolume", + lazy.spawn('amixer sset Master 5%-'), + ), + Key([], "XF86AudioRaiseVolume", + lazy.spawn('amixer sset Master 5%+'), + ), + # I use mod+F[key] to change volume in my thinkpad, + # as I dislike using "fn" key in laptops + Key([mod], "F11", + lazy.spawn('amixer sset Master 5%-'), + ), + Key([mod], "F12", + lazy.spawn('amixer sset Master 5%+'), + ), + # Music controls | MOC + Key([mod], "u", + lazy.spawn("mocp -G "), + ), + Key([mod], "o", + lazy.spawn("mocp -f"), + ), + Key([mod], "i", + lazy.spawn("mocp -r"), + ), + # Change languages + Key([], "F1", + lazy.spawn("setxkbmap us -option ctrl:swapcaps"), + ), + Key([], "F2", + lazy.spawn("setxkbmap gr"), + ), +] + + +mouse = [ + Drag([mod], "Button1", lazy.window.set_position_floating(), + start=lazy.window.get_position()), + Drag([mod], "Button3", lazy.window.set_size_floating(), + start=lazy.window.get_size()), + Click([mod], "Button2", + lazy.window.bring_to_front()), + ] + +import os +import subprocess +from libqtile import layout, bar, widget, hook +from libqtile.config import Group, Screen +from libqtile.dgroups import simple_key_binder +from colors import dracula + +@hook.subscribe.startup_once +def start_once(): + """Set your autostart script.""" + autostart_path = os.path.expanduser('~/.config/autostart/autostart.sh') + subprocess.run([autostart_path]) + + + + +# Use this to change between workspaces +dgroups_key_binder = simple_key_binder("mod4") + + + +# Groups and layouts +groups = [] +group_names = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ] +group_labels = ["Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ", "Ⅹ", ] +group_layouts = ["monadtall", "monadtall", "monadtall", "monadtall", + "monadtall", "monadtall", "monadtall", "monadtall", + "monadtall", "monadtall", ] + +for i in range(len(group_names)): + groups.append( + Group( + name=group_names[i], + layout=group_layouts[i].lower(), + label=group_labels[i], + )) + + +def init_layout_theme(): + """Layout default theme.""" + return {"margin": 5, + "border_width": 2, + "border_focus": dracula["cyan"], + "border_normal": dracula["bg"], + } + + +layout_theme = init_layout_theme() + + +layouts = [ + layout.MonadTall(**layout_theme), + # layout.MonadWide(**layout_theme), + # layout.Matrix(**layout_theme), + # layout.Bsp(**layout_theme), + layout.Floating(**layout_theme), + # layout.RatioTile(**layout_theme), + # layout.Max(**layout_theme), + # layout.Spiral(**layout_theme), + layout.TreeTab(bg_color=dracula["bg"], + active_bg=dracula["purple"], + active_fg=dracula["fg"], + inactive_fg=dracula["fg"], + inactive_bg=dracula["bg"], + font="JetBrains Mono", + fontshadow=None, + section_fontsize=14, + panel_width=135,), + # layout.Zoomy(**layout_theme), +] + +# Widgets + + +def init_widgets_defaults(): + """Set widget default settings.""" + return dict(font="JetBrains Mono", + fontsize=12, + padding=2, + foreground=dracula["fg"], + background=dracula["bg"] + ) + + +widget_defaults = init_widgets_defaults() + + +def init_widgets_list(): + """My widget list.""" + widgets_list = [ + widget.Spacer( + length=7, + ), + widget.Image( + filename="~/.config/qtile/rms.png", + scale="True", + margin=2, + ), + widget.Spacer( + length=7, + ), + widget.GroupBox( + font="FontAwesome", + fontsize=20, + padding=3, + margin=4, + borderwidth=1, + active=dracula["cyan"], + inactive=dracula["curr"], + rounded=False, + highlight_method="line", + this_current_screen_border=dracula["red"], + other_current_screen_border=dracula["curr"], + ), + widget.CurrentLayout( + font="Noto Sans Bold", + foreground=dracula["fg"], + background="#5B4B8A", + ), + widget.Spacer( + length=5 + ), + widget.WindowName( + font="JetBrains Mono Bold", + fontsize=12, + foreground=dracula["green"], + background=dracula["bg"], + ), + # widget.Image( + # filename = "~/.config/qtile/spotify2.png", + # scale = True, + # ), + # Spotify( + # fontsize = 12, + # background = dracula["bg"], + # color = dracula["green"], + # fmt = '{}', + # font = "JetBrains Mono Bold" + # ), + # widget.Moc( + # font = "JetBrains Mono", + # fontsize= 13, + # play_color=dracula["green"], + # paddig = 10, + # ), + widget.Pomodoro( + color_active=dracula["cyan"], + color_break=dracula["orange"], + color_inactive=dracula["curr"], + lenghth_pomodori=30, + fontsize=17, + ), + widget.Spacer( + length=10, + ), + widget.Image( + filename="~/.config/qtile/volume1.png", + scale=True, + ), + widget.Spacer( + length=7, + padding=10, + ), + widget.Volume( + fontsize=15, + fmt='{} ', + background=dracula["bg"], + foreground=dracula['orange'], + font="JetBrains Mono", + margin=10, + ), + # widget.Mpris2( + # fontsize= 16, + # background = my_colors["red"], + # objname="org.mpris.MediaPlayer2.spotify" + # ), + widget.Spacer( + length=7, + padding=10, + ), + widget.Image( + filename="~/.config/qtile/ram2.png", + scale=True, + ), + widget.Memory( + measure_mem="G", + fontsize=15, + foreground=dracula["cyan"], + background=dracula["bg"], + font='JetBrains Mono Bold', + ), + widget.MemoryGraph( + type='box', + graph_color=dracula["cyan"], + foreground=dracula["fg"], + background=dracula["bg"], + ), + widget.Spacer( + length=7 + ), + widget.Image( + filename="~/.config/qtile/cpu1.png", + scale=True, + ), + widget.ThermalSensor( + threshold=50, + fontsize=15, + font='JetBrains Mono Bold', + foreground=dracula["cyan"], + background=dracula["bg"], + ), + widget.CPUGraph( + type='box', + graph_color=dracula["cyan"], + background=dracula["bg"], + ), + widget.Spacer( + length=5 + ), + widget.TextBox( + font="FontAwesome", + text="  ", + foreground=dracula["orange"], + background=dracula["bg"], + padding=2, + fontsize=18 + ), + widget.Clock( + font='JetBrains Mono Bold', + foreground=dracula["cyan"], + background=dracula["bg"], + fontsize=18, + format="%d-%m-%Y | %H:%M" + ), + widget.Spacer( + length=6 + ), + widget.Systray( + background=dracula["bg"], + icon_size=20, + padding=10, + margin=10, + ), + widget.Spacer( + length=5 + ), + ] + return widgets_list + + +widgets_list = init_widgets_list() + + +def init_widgets_screen1(): + """Init every widget for primary screen.""" + widgets_screen1 = init_widgets_list() + return widgets_screen1 + + +def init_widgets_screen2(): + """Remove systray and spacer for second screen.""" + widgets_screen2 = init_widgets_list() + return widgets_screen2[:-2] + + +widgets_screen1 = init_widgets_screen1() +widgets_screen2 = init_widgets_screen2() + + +def init_screens(): + """Panel settings.""" + return [Screen(top=bar.Bar(widgets=init_widgets_screen1(), size=33, + margin=11),), + Screen(top=bar.Bar(widgets=init_widgets_screen2(), size=28, + margin=7))] + + +screens = init_screens() +follow_mouse_focus = True +bring_front_click = False +cursor_warp = True +auto_fullscreen = True +focus_on_window_activation = "smart" # or focus +wmname = "Qtile-Apo11o" diff --git a/.config/qtile/cpu1.png b/.config/qtile/cpu1.png new file mode 100755 index 0000000..18df7d7 Binary files /dev/null and b/.config/qtile/cpu1.png differ diff --git a/.config/qtile/ram2.png b/.config/qtile/ram2.png new file mode 100755 index 0000000..b1206ed Binary files /dev/null and b/.config/qtile/ram2.png differ diff --git a/.config/qtile/rms.png b/.config/qtile/rms.png new file mode 100755 index 0000000..e8d146e Binary files /dev/null and b/.config/qtile/rms.png differ diff --git a/.config/qtile/spotify2.png b/.config/qtile/spotify2.png new file mode 100755 index 0000000..a7f88f7 Binary files /dev/null and b/.config/qtile/spotify2.png differ diff --git a/.config/qtile/volume1.png b/.config/qtile/volume1.png new file mode 100755 index 0000000..9f11ad6 Binary files /dev/null and b/.config/qtile/volume1.png differ -- cgit v1.2.3