mirror of https://github.com/JPyke3/mbp-manjaro
add cinnamon, deepin, i3
This commit is contained in:
parent
1132a347fc
commit
d3c67eda59
|
@ -0,0 +1,132 @@
|
||||||
|
######################################################
|
||||||
|
### THIS FILE WILL INCLUDE shared/Packages-Desktop ###
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
## Cinnamon
|
||||||
|
baobab
|
||||||
|
blueberry
|
||||||
|
dconf-editor
|
||||||
|
evince
|
||||||
|
poppler-data # CKJ support for pdf
|
||||||
|
ffmpegthumbnailer
|
||||||
|
gimp
|
||||||
|
gksu
|
||||||
|
manjaro-cinnamon-settings
|
||||||
|
manjaro-browser-settings
|
||||||
|
nemo-fileroller # archiver
|
||||||
|
nemo-preview
|
||||||
|
nemo-python
|
||||||
|
nemo-share
|
||||||
|
pragha # musicplayer
|
||||||
|
qt5ct
|
||||||
|
qt5-styleplugins
|
||||||
|
screenfetch
|
||||||
|
transmission-gtk
|
||||||
|
xdg-user-dirs-gtk
|
||||||
|
|
||||||
|
## java
|
||||||
|
jre8-openjdk
|
||||||
|
icedtea-web
|
||||||
|
jre8-openjdk-headless
|
||||||
|
|
||||||
|
## GNOME related stuff
|
||||||
|
gnome-system-log
|
||||||
|
eog
|
||||||
|
eog-plugins
|
||||||
|
gedit
|
||||||
|
gnome-disk-utility
|
||||||
|
gnome-keyring
|
||||||
|
gnome-screenshot
|
||||||
|
gnome-system-monitor
|
||||||
|
gnome-terminal
|
||||||
|
gnome-vfs
|
||||||
|
icon-naming-utils
|
||||||
|
mousetweaks
|
||||||
|
python2-gnomecanvas
|
||||||
|
python2-gnomevfs
|
||||||
|
python2-libgnome
|
||||||
|
|
||||||
|
# needed
|
||||||
|
python-ptyprocess
|
||||||
|
python2-ptyprocess
|
||||||
|
|
||||||
|
## Network
|
||||||
|
netctl
|
||||||
|
net-tools
|
||||||
|
networkmanager-dispatcher-ntpd
|
||||||
|
openresolv
|
||||||
|
openvpn
|
||||||
|
|
||||||
|
## Internet
|
||||||
|
firefox
|
||||||
|
thunderbird
|
||||||
|
|
||||||
|
## Extra
|
||||||
|
npapi-vlc
|
||||||
|
pidgin-libnotify
|
||||||
|
vlc-nightly
|
||||||
|
|
||||||
|
## Artwork
|
||||||
|
cinnamon-wallpapers
|
||||||
|
flattr-icon-theme
|
||||||
|
plymouth-theme-manjaro-cinnamon
|
||||||
|
xcursor-chameleon-pearl-deepin
|
||||||
|
|
||||||
|
## Other Applications
|
||||||
|
exfat-utils
|
||||||
|
fuse-exfat
|
||||||
|
galculator
|
||||||
|
gcolor2
|
||||||
|
gparted
|
||||||
|
gvfs-afc
|
||||||
|
gvfs-google
|
||||||
|
gvfs-gphoto2
|
||||||
|
gvfs-mtp
|
||||||
|
gvfs-smb
|
||||||
|
hexchat
|
||||||
|
isousb
|
||||||
|
libgsf
|
||||||
|
lightdm-gtk-greeter-settings
|
||||||
|
manjaro-documentation
|
||||||
|
manjaro-features
|
||||||
|
manjaro-settings-manager-notifier
|
||||||
|
manjaro-welcome
|
||||||
|
mugshot
|
||||||
|
nss
|
||||||
|
numlockx
|
||||||
|
openssh
|
||||||
|
p7zip
|
||||||
|
parcellite
|
||||||
|
pavucontrol
|
||||||
|
udiskie
|
||||||
|
udisks
|
||||||
|
|
||||||
|
## Package management
|
||||||
|
pamac
|
||||||
|
yaourt
|
||||||
|
|
||||||
|
## Packages for Sound and Audio
|
||||||
|
gst-libav
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-ugly
|
||||||
|
gstreamer0.10-bad-plugins
|
||||||
|
gstreamer0.10-base-plugins
|
||||||
|
gstreamer0.10-good-plugins
|
||||||
|
gstreamer0.10-ugly-plugins
|
||||||
|
libdvdcss
|
||||||
|
manjaro-alsa
|
||||||
|
manjaro-pulse
|
||||||
|
pulseaudio-bluetooth
|
||||||
|
pulseaudio-ctl
|
||||||
|
pulseaudio-gconf
|
||||||
|
pulseaudio-zeroconf
|
||||||
|
|
||||||
|
## Office
|
||||||
|
libreoffice-still
|
||||||
|
manjaro-printer
|
||||||
|
system-config-printer
|
||||||
|
|
||||||
|
## AUR Access
|
||||||
|
base-devel
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Live
|
|
@ -0,0 +1,71 @@
|
||||||
|
## Packages-Xorg minus nvidia 340xx and 304xx drivers
|
||||||
|
|
||||||
|
## Xorg Drivers
|
||||||
|
xf86-video-apm
|
||||||
|
xf86-video-ark
|
||||||
|
xf86-video-ati
|
||||||
|
xf86-video-amdgpu # only works with kernels 4.2+
|
||||||
|
xf86-video-chips
|
||||||
|
xf86-video-dummy
|
||||||
|
xf86-video-fbdev
|
||||||
|
xf86-video-glint
|
||||||
|
xf86-video-i128
|
||||||
|
xf86-video-i740
|
||||||
|
xf86-video-intel
|
||||||
|
xf86-video-mach64
|
||||||
|
xf86-video-neomagic
|
||||||
|
xf86-video-nouveau
|
||||||
|
xf86-video-nv
|
||||||
|
xf86-video-openchrome
|
||||||
|
xf86-video-r128
|
||||||
|
xf86-video-rendition
|
||||||
|
xf86-video-s3
|
||||||
|
xf86-video-s3virge
|
||||||
|
xf86-video-savage
|
||||||
|
xf86-video-siliconmotion
|
||||||
|
xf86-video-sis
|
||||||
|
xf86-video-sisusb
|
||||||
|
xf86-video-tdfx
|
||||||
|
xf86-video-trident
|
||||||
|
xf86-video-tseng
|
||||||
|
xf86-video-vesa
|
||||||
|
xf86-video-vmware
|
||||||
|
xf86-video-voodoo
|
||||||
|
|
||||||
|
## Bumblebee Support
|
||||||
|
>systemd bumblebee
|
||||||
|
>openrc bumblebee-openrc
|
||||||
|
primus
|
||||||
|
>multilib lib32-primus
|
||||||
|
KERNEL-bbswitch
|
||||||
|
|
||||||
|
## Network Support
|
||||||
|
KERNEL-broadcom-wl
|
||||||
|
KERNEL-rt3562sta
|
||||||
|
KERNEL-r8168
|
||||||
|
|
||||||
|
## Proprietary Drivers
|
||||||
|
>nonfree_default catalyst-utils
|
||||||
|
>nonfree_default KERNEL-catalyst
|
||||||
|
>nonfree_default nvidia-utils
|
||||||
|
>nonfree_default KERNEL-nvidia
|
||||||
|
>nonfree_multilib lib32-catalyst-utils
|
||||||
|
>nonfree_multilib lib32-nvidia-utils
|
||||||
|
|
||||||
|
## Virtualbox Drivers
|
||||||
|
>openrc virtualbox-guest-utils-openrc
|
||||||
|
>systemd virtualbox-guest-utils
|
||||||
|
KERNEL-virtualbox-guest-modules
|
||||||
|
|
||||||
|
## Xorg Packages
|
||||||
|
libxaw
|
||||||
|
libxpm
|
||||||
|
libxvmc
|
||||||
|
pangox-compat
|
||||||
|
|
||||||
|
## Xorg x86_64 Packages
|
||||||
|
>multilib lib32-libxvmc
|
||||||
|
|
||||||
|
## VMWare Support
|
||||||
|
open-vm-tools
|
||||||
|
xf86-input-vmmouse
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Root
|
|
@ -0,0 +1 @@
|
||||||
|
/etc/fonts/conf.avail/70-no-bitmaps.conf
|
|
@ -0,0 +1,12 @@
|
||||||
|
[greeter]
|
||||||
|
background = /usr/share/backgrounds/maia.jpg
|
||||||
|
font-name = Cantarell 11
|
||||||
|
xft-antialias = true
|
||||||
|
icon-theme-name = maia
|
||||||
|
theme-name = Vertex-Maia-Square
|
||||||
|
cursor-theme-name = Simple-and-Soft
|
||||||
|
show-clock = true
|
||||||
|
default-user-image = /usr/share/icons/manjaro-maia.png
|
||||||
|
xft-hintstyle = hintfull
|
||||||
|
position = 50%,center 50%,center
|
||||||
|
panel-position = top
|
|
@ -0,0 +1,607 @@
|
||||||
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
|
import sys
|
||||||
|
reload(sys)
|
||||||
|
sys.setdefaultencoding('utf-8')
|
||||||
|
|
||||||
|
sys.path.append('/usr/share/cinnamon/cinnamon-settings/modules')
|
||||||
|
sys.path.append('/usr/share/cinnamon/cinnamon-settings/bin')
|
||||||
|
import os
|
||||||
|
import glob
|
||||||
|
import gettext
|
||||||
|
import gi
|
||||||
|
gi.require_version('Gtk', '3.0')
|
||||||
|
from gi.repository import Gio, Gtk, GObject, GdkPixbuf, GLib, Pango, Gdk, cairo
|
||||||
|
import SettingsWidgets
|
||||||
|
import capi
|
||||||
|
import time
|
||||||
|
import traceback
|
||||||
|
import locale
|
||||||
|
import urllib2
|
||||||
|
import proxygsettings
|
||||||
|
from functools import cmp_to_key
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
|
# i18n
|
||||||
|
gettext.install("cinnamon", "/usr/share/locale")
|
||||||
|
|
||||||
|
# Standard setting pages... this can be expanded to include applet dirs maybe?
|
||||||
|
mod_files = glob.glob('/usr/share/cinnamon/cinnamon-settings/modules/*.py')
|
||||||
|
mod_files.sort()
|
||||||
|
if len(mod_files) is 0:
|
||||||
|
print "No settings modules found!!"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
mod_files = [x.split('/')[6].split('.')[0] for x in mod_files]
|
||||||
|
|
||||||
|
for mod_file in mod_files:
|
||||||
|
if mod_file[0:3] != "cs_":
|
||||||
|
raise Exception("Settings modules must have a prefix of 'cs_' !!")
|
||||||
|
|
||||||
|
modules = map(__import__, mod_files)
|
||||||
|
|
||||||
|
# i18n for menu item
|
||||||
|
menuName = _("System Settings")
|
||||||
|
menuComment = _("Control Center")
|
||||||
|
|
||||||
|
WIN_WIDTH = 800
|
||||||
|
WIN_HEIGHT = 600
|
||||||
|
WIN_H_PADDING = 20
|
||||||
|
|
||||||
|
MIN_LABEL_WIDTH = 16
|
||||||
|
MAX_LABEL_WIDTH = 25
|
||||||
|
MIN_PIX_WIDTH = 100
|
||||||
|
MAX_PIX_WIDTH = 160
|
||||||
|
|
||||||
|
MOUSE_BACK_BUTTON = 8
|
||||||
|
|
||||||
|
CATEGORIES = [
|
||||||
|
# Display name ID Show it? Always False to start Icon
|
||||||
|
{"label": _("Appearance"), "id": "appear", "show": False, "icon": "cs-cat-appearance"},
|
||||||
|
{"label": _("Preferences"), "id": "prefs", "show": False, "icon": "cs-cat-prefs"},
|
||||||
|
{"label": _("Hardware"), "id": "hardware", "show": False, "icon": "cs-cat-hardware"},
|
||||||
|
{"label": _("Administration"), "id": "admin", "show": False, "icon": "cs-cat-admin"}
|
||||||
|
]
|
||||||
|
|
||||||
|
CONTROL_CENTER_MODULES = [
|
||||||
|
# Label Module ID Icon Category Keywords for filter
|
||||||
|
[_("Networking"), "network", "cs-network", "hardware", _("network, wireless, wifi, ethernet, broadband, internet")],
|
||||||
|
[_("Display"), "display", "cs-display", "hardware", _("display, screen, monitor, layout, resolution, dual, lcd")],
|
||||||
|
[_("Color"), "color", "cs-color", "hardware", _("color, profile, display, printer, output")],
|
||||||
|
[_("Graphics Tablet"), "wacom", "cs-tablet", "hardware", _("wacom, digitize, tablet, graphics, calibrate, stylus")]
|
||||||
|
]
|
||||||
|
|
||||||
|
STANDALONE_MODULES = [
|
||||||
|
# Label Executable Icon Category Keywords for filter
|
||||||
|
[_("Printers"), "system-config-printer", "cs-printer", "hardware", _("printers, laser, inkjet")],
|
||||||
|
[_("Firewall"), "gufw", "cs-firewall", "admin", _("firewall, block, filter, programs")],
|
||||||
|
[_("Languages"), "mintlocale", "cs-language", "prefs", _("language, install, foreign")],
|
||||||
|
[_("Input Method"), "mintlocale im", "cs-input-method", "prefs", _("language, install, foreign, input, method, chinese, korean, japanese, typing")],
|
||||||
|
[_("Login Window"), "gksu /usr/sbin/mdmsetup", "cs-login", "admin", _("login, mdm, gdm, manager, user, password, startup, switch")],
|
||||||
|
[_("Driver Manager"), "mintdrivers", "cs-drivers", "admin", _("video, driver, wifi, card, hardware, proprietary, nvidia, radeon, nouveau, fglrx")],
|
||||||
|
[_("Software Sources"), "mintsources", "cs-sources", "admin", _("ppa, repository, package, source, download")],
|
||||||
|
[_("Users and Groups"), "cinnamon-settings-users", "cs-user-accounts", "admin", _("user, users, account, accounts, group, groups, password")],
|
||||||
|
[_("Bluetooth"), "blueberry", "cs-bluetooth", "hardware", _("bluetooth, dongle, transfer, mobile")]
|
||||||
|
[_("Manjaro Settings Manager"), "manjaro-settings-manager", "cs-cat-hardware", "admin", _("manjaro, settings, manager, kernel, graphics, driver, language")],
|
||||||
|
[_("Manjaro Notifier Settings"), "msm_notifier --settings", "cs-sources", "admin", _("manjaro, settings, notifier, kernel, language")]
|
||||||
|
]
|
||||||
|
|
||||||
|
def print_timing(func):
|
||||||
|
# decorate functions with @print_timing to output how long they take to run.
|
||||||
|
def wrapper(*arg):
|
||||||
|
t1 = time.time()
|
||||||
|
res = func(*arg)
|
||||||
|
t2 = time.time()
|
||||||
|
print '%s took %0.3f ms' % (func.func_name, (t2-t1)*1000.0)
|
||||||
|
return res
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
def touch(fname, times=None):
|
||||||
|
with file(fname, 'a'):
|
||||||
|
os.utime(fname, times)
|
||||||
|
|
||||||
|
class MainWindow:
|
||||||
|
|
||||||
|
# Change pages
|
||||||
|
def side_view_nav(self, side_view, path, cat):
|
||||||
|
selected_items = side_view.get_selected_items()
|
||||||
|
if len(selected_items) > 0:
|
||||||
|
self.deselect(cat)
|
||||||
|
filtered_path = side_view.get_model().convert_path_to_child_path(selected_items[0])
|
||||||
|
if filtered_path is not None:
|
||||||
|
self.go_to_sidepage(cat, filtered_path)
|
||||||
|
|
||||||
|
def _on_sidepage_hide_stack(self):
|
||||||
|
self.stack_switcher.set_opacity(0)
|
||||||
|
|
||||||
|
def _on_sidepage_show_stack(self):
|
||||||
|
self.stack_switcher.set_opacity(1)
|
||||||
|
|
||||||
|
def go_to_sidepage(self, cat, path):
|
||||||
|
iterator = self.store[cat].get_iter(path)
|
||||||
|
sidePage = self.store[cat].get_value(iterator,2)
|
||||||
|
if not sidePage.is_standalone:
|
||||||
|
self.window.set_title(sidePage.name)
|
||||||
|
sidePage.build()
|
||||||
|
if sidePage.stack:
|
||||||
|
current_page = sidePage.stack.get_visible_child_name()
|
||||||
|
self.stack_switcher.set_stack(sidePage.stack)
|
||||||
|
l = sidePage.stack.get_children()
|
||||||
|
if len(l) > 0:
|
||||||
|
sidePage.stack.set_visible_child(l[0])
|
||||||
|
if sidePage.stack.get_visible():
|
||||||
|
self.stack_switcher.set_opacity(1)
|
||||||
|
else:
|
||||||
|
self.stack_switcher.set_opacity(0)
|
||||||
|
if hasattr(sidePage, "connect_proxy"):
|
||||||
|
sidePage.connect_proxy("hide_stack", self._on_sidepage_hide_stack)
|
||||||
|
sidePage.connect_proxy("show_stack", self._on_sidepage_show_stack)
|
||||||
|
else:
|
||||||
|
self.stack_switcher.set_opacity(0)
|
||||||
|
else:
|
||||||
|
self.stack_switcher.set_opacity(0)
|
||||||
|
self.main_stack.set_visible_child_name("content_box_page")
|
||||||
|
self.header_stack.set_visible_child_name("content_box")
|
||||||
|
self.current_sidepage = sidePage
|
||||||
|
width = 0
|
||||||
|
for widget in self.top_bar:
|
||||||
|
m, n = widget.get_preferred_width()
|
||||||
|
width += n
|
||||||
|
self.top_bar.set_size_request(width + 20, -1)
|
||||||
|
self.maybe_resize(sidePage)
|
||||||
|
else:
|
||||||
|
sidePage.build()
|
||||||
|
|
||||||
|
def maybe_resize(self, sidePage):
|
||||||
|
m, n = self.content_box.get_preferred_size()
|
||||||
|
|
||||||
|
# Resize horizontally if the module is wider than the window
|
||||||
|
use_width = WIN_WIDTH
|
||||||
|
if n.width > WIN_WIDTH:
|
||||||
|
use_width = n.width
|
||||||
|
|
||||||
|
# Resize vertically depending on the height requested by the module
|
||||||
|
use_height = WIN_HEIGHT
|
||||||
|
if not sidePage.size:
|
||||||
|
# No height requested, resize vertically if the module is taller than the window
|
||||||
|
if n.height > WIN_HEIGHT:
|
||||||
|
use_height = n.height + self.bar_heights + WIN_H_PADDING
|
||||||
|
#self.window.resize(use_width, n.height + self.bar_heights + WIN_H_PADDING)
|
||||||
|
elif sidePage.size > 0:
|
||||||
|
# Height hardcoded by the module
|
||||||
|
use_height = sidePage.size + self.bar_heights + WIN_H_PADDING
|
||||||
|
elif sidePage.size == -1:
|
||||||
|
# Module requested the window to fit it (i.e. shrink the window if necessary)
|
||||||
|
use_height = n.height + self.bar_heights + WIN_H_PADDING
|
||||||
|
|
||||||
|
self.window.resize(use_width, use_height)
|
||||||
|
|
||||||
|
def deselect(self, cat):
|
||||||
|
for key in self.side_view.keys():
|
||||||
|
if key is not cat:
|
||||||
|
self.side_view[key].unselect_all()
|
||||||
|
|
||||||
|
''' Create the UI '''
|
||||||
|
def __init__(self):
|
||||||
|
self.builder = Gtk.Builder()
|
||||||
|
self.builder.add_from_file("/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.ui")
|
||||||
|
self.window = self.builder.get_object("main_window")
|
||||||
|
self.top_bar = self.builder.get_object("top_bar")
|
||||||
|
self.side_view = {}
|
||||||
|
self.main_stack = self.builder.get_object("main_stack")
|
||||||
|
self.main_stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
|
||||||
|
self.main_stack.set_transition_duration(150)
|
||||||
|
self.header_stack = self.builder.get_object("header_stack")
|
||||||
|
self.header_stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
|
||||||
|
self.header_stack.set_transition_duration(150)
|
||||||
|
self.side_view_container = self.builder.get_object("category_box")
|
||||||
|
self.side_view_sw = self.builder.get_object("side_view_sw")
|
||||||
|
context = self.side_view_sw.get_style_context()
|
||||||
|
context.add_class("cs-category-view")
|
||||||
|
context.add_class("view")
|
||||||
|
self.side_view_sw.show_all()
|
||||||
|
self.content_box = self.builder.get_object("content_box")
|
||||||
|
self.content_box_sw = self.builder.get_object("content_box_sw")
|
||||||
|
self.content_box_sw.show_all()
|
||||||
|
self.button_back = self.builder.get_object("button_back")
|
||||||
|
self.button_back.set_tooltip_text(_("Back to all settings"))
|
||||||
|
button_image = self.builder.get_object("image1")
|
||||||
|
button_image.props.icon_size = Gtk.IconSize.MENU
|
||||||
|
|
||||||
|
self.stack_switcher = self.builder.get_object("stack_switcher")
|
||||||
|
|
||||||
|
m, n = self.button_back.get_preferred_width()
|
||||||
|
self.stack_switcher.set_margin_right(n)
|
||||||
|
|
||||||
|
self.search_entry = self.builder.get_object("search_box")
|
||||||
|
self.search_entry.connect("changed", self.onSearchTextChanged)
|
||||||
|
self.search_entry.connect("icon-press", self.onClearSearchBox)
|
||||||
|
|
||||||
|
self.window.connect("destroy", self.quit)
|
||||||
|
self.window.connect("key-press-event", self.on_keypress)
|
||||||
|
self.window.connect("button-press-event", self.on_buttonpress)
|
||||||
|
self.window.show()
|
||||||
|
|
||||||
|
self.builder.connect_signals(self)
|
||||||
|
self.window.set_has_resize_grip(False)
|
||||||
|
self.unsortedSidePages = []
|
||||||
|
self.sidePages = []
|
||||||
|
self.settings = Gio.Settings.new("org.cinnamon")
|
||||||
|
self.current_cat_widget = None
|
||||||
|
|
||||||
|
self.current_sidepage = None
|
||||||
|
self.c_manager = capi.CManager()
|
||||||
|
self.content_box.c_manager = self.c_manager
|
||||||
|
self.bar_heights = 0
|
||||||
|
|
||||||
|
for module in modules:
|
||||||
|
try:
|
||||||
|
mod = module.Module(self.content_box)
|
||||||
|
if self.loadCheck(mod) and self.setParentRefs(mod):
|
||||||
|
self.unsortedSidePages.append((mod.sidePage, mod.name, mod.category))
|
||||||
|
except:
|
||||||
|
print "Failed to load module %s" % module
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
|
for item in CONTROL_CENTER_MODULES:
|
||||||
|
ccmodule = SettingsWidgets.CCModule(item[0], item[1], item[2], item[3], item[4], self.content_box)
|
||||||
|
if ccmodule.process(self.c_manager):
|
||||||
|
self.unsortedSidePages.append((ccmodule.sidePage, ccmodule.name, ccmodule.category))
|
||||||
|
|
||||||
|
for item in STANDALONE_MODULES:
|
||||||
|
samodule = SettingsWidgets.SAModule(item[0], item[1], item[2], item[3], item[4], self.content_box)
|
||||||
|
if samodule.process():
|
||||||
|
self.unsortedSidePages.append((samodule.sidePage, samodule.name, samodule.category))
|
||||||
|
|
||||||
|
# sort the modules alphabetically according to the current locale
|
||||||
|
sidePageNamesToSort = map(lambda m: m[0].name, self.unsortedSidePages)
|
||||||
|
sortedSidePageNames = sorted(sidePageNamesToSort, key=cmp_to_key(locale.strcoll))
|
||||||
|
for sidePageName in sortedSidePageNames:
|
||||||
|
nextSidePage = None
|
||||||
|
for trySidePage in self.unsortedSidePages:
|
||||||
|
if(trySidePage[0].name == sidePageName):
|
||||||
|
nextSidePage = trySidePage
|
||||||
|
|
||||||
|
self.sidePages.append(nextSidePage);
|
||||||
|
|
||||||
|
|
||||||
|
# create the backing stores for the side nav-view.
|
||||||
|
sidePagesIters = {}
|
||||||
|
self.store = {}
|
||||||
|
self.storeFilter = {}
|
||||||
|
for sidepage in self.sidePages:
|
||||||
|
sp, sp_id, sp_cat = sidepage
|
||||||
|
if not self.store.has_key(sp_cat): # Label Icon sidePage Category
|
||||||
|
self.store[sidepage[2]] = Gtk.ListStore(str, str, object, str)
|
||||||
|
for category in CATEGORIES:
|
||||||
|
if category["id"] == sp_cat:
|
||||||
|
category["show"] = True
|
||||||
|
|
||||||
|
# Don't allow item names (and their translations) to be more than 30 chars long. It looks ugly and it creates huge gaps in the icon views
|
||||||
|
name = unicode(sp.name,'utf-8')
|
||||||
|
if len(name) > 30:
|
||||||
|
name = "%s..." % name[:30]
|
||||||
|
sidePagesIters[sp_id] = (self.store[sp_cat].append([name, sp.icon, sp, sp_cat]), sp_cat)
|
||||||
|
|
||||||
|
self.min_label_length = 0
|
||||||
|
self.min_pix_length = 0
|
||||||
|
|
||||||
|
for key in self.store.keys():
|
||||||
|
char, pix = self.get_label_min_width(self.store[key])
|
||||||
|
self.min_label_length = max(char, self.min_label_length)
|
||||||
|
self.min_pix_length = max(pix, self.min_pix_length)
|
||||||
|
self.storeFilter[key] = self.store[key].filter_new()
|
||||||
|
self.storeFilter[key].set_visible_func(self.filter_visible_function)
|
||||||
|
|
||||||
|
self.min_label_length += 2
|
||||||
|
self.min_pix_length += 4
|
||||||
|
|
||||||
|
self.min_label_length = max(self.min_label_length, MIN_LABEL_WIDTH)
|
||||||
|
self.min_pix_length = max(self.min_pix_length, MIN_PIX_WIDTH)
|
||||||
|
|
||||||
|
self.min_label_length = min(self.min_label_length, MAX_LABEL_WIDTH)
|
||||||
|
self.min_pix_length = min(self.min_pix_length, MAX_PIX_WIDTH)
|
||||||
|
|
||||||
|
self.displayCategories()
|
||||||
|
|
||||||
|
# set up larger components.
|
||||||
|
self.window.set_title(_("System Settings"))
|
||||||
|
self.button_back.connect('clicked', self.back_to_icon_view)
|
||||||
|
|
||||||
|
self.calculate_bar_heights()
|
||||||
|
|
||||||
|
# Select the first sidePage
|
||||||
|
if len(sys.argv) > 1 and sys.argv[1] in sidePagesIters.keys():
|
||||||
|
(iter, cat) = sidePagesIters[sys.argv[1]]
|
||||||
|
path = self.store[cat].get_path(iter)
|
||||||
|
if path:
|
||||||
|
self.go_to_sidepage(cat, path)
|
||||||
|
else:
|
||||||
|
self.search_entry.grab_focus()
|
||||||
|
else:
|
||||||
|
self.search_entry.grab_focus()
|
||||||
|
|
||||||
|
def on_keypress(self, widget, event):
|
||||||
|
grab = False
|
||||||
|
device = Gtk.get_current_event_device()
|
||||||
|
if device.get_source() == Gdk.InputSource.KEYBOARD:
|
||||||
|
grab = Gdk.Display.get_default().device_is_grabbed(device)
|
||||||
|
if not grab and event.keyval == Gdk.KEY_BackSpace and (type(self.window.get_focus()) not in
|
||||||
|
(Gtk.TreeView, Gtk.Entry, Gtk.SpinButton, Gtk.TextView)):
|
||||||
|
self.back_to_icon_view(None)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def on_buttonpress(self, widget, event):
|
||||||
|
if event.button == MOUSE_BACK_BUTTON:
|
||||||
|
self.back_to_icon_view(None)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def calculate_bar_heights(self):
|
||||||
|
h = 0
|
||||||
|
m, n = self.top_bar.get_preferred_size()
|
||||||
|
h += n.height
|
||||||
|
self.bar_heights = h
|
||||||
|
|
||||||
|
def onSearchTextChanged(self, widget):
|
||||||
|
self.displayCategories()
|
||||||
|
|
||||||
|
def onClearSearchBox(self, widget, position, event):
|
||||||
|
if position == Gtk.EntryIconPosition.SECONDARY:
|
||||||
|
self.search_entry.set_text("")
|
||||||
|
|
||||||
|
def strip_accents(self, text):
|
||||||
|
try:
|
||||||
|
text = unicode(text, 'utf-8')
|
||||||
|
except NameError:
|
||||||
|
# unicode is default in Python 3
|
||||||
|
pass
|
||||||
|
text = unicodedata.normalize('NFD', text)
|
||||||
|
text = text.encode('ascii', 'ignore')
|
||||||
|
text = text.decode("utf-8")
|
||||||
|
return str(text)
|
||||||
|
|
||||||
|
def filter_visible_function(self, model, iter, user_data = None):
|
||||||
|
sidePage = model.get_value(iter, 2)
|
||||||
|
text = self.strip_accents(self.search_entry.get_text().lower())
|
||||||
|
if self.strip_accents(sidePage.name.lower()).find(text) > -1 or \
|
||||||
|
self.strip_accents(sidePage.keywords.lower()).find(text) > -1:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def displayCategories(self):
|
||||||
|
widgets = self.side_view_container.get_children()
|
||||||
|
for widget in widgets:
|
||||||
|
widget.destroy()
|
||||||
|
self.first_category_done = False # This is just to prevent an extra separator showing up before the first category
|
||||||
|
for category in CATEGORIES:
|
||||||
|
if category["show"] is True:
|
||||||
|
self.prepCategory(category)
|
||||||
|
self.side_view_container.show_all()
|
||||||
|
|
||||||
|
def get_label_min_width(self, model):
|
||||||
|
min_width_chars = 0
|
||||||
|
min_width_pixels = 0
|
||||||
|
icon_view = Gtk.IconView()
|
||||||
|
iter = model.get_iter_first()
|
||||||
|
while iter != None:
|
||||||
|
string = model.get_value(iter, 0)
|
||||||
|
split_by_word = string.split(" ")
|
||||||
|
for word in split_by_word:
|
||||||
|
layout = icon_view.create_pango_layout(word)
|
||||||
|
item_width, item_height = layout.get_pixel_size()
|
||||||
|
if item_width > min_width_pixels:
|
||||||
|
min_width_pixels = item_width
|
||||||
|
if len(word) > min_width_chars:
|
||||||
|
min_width_chars = len(word)
|
||||||
|
iter = model.iter_next(iter)
|
||||||
|
return min_width_chars, min_width_pixels
|
||||||
|
|
||||||
|
def pixbuf_data_func(self, column, cell, model, iter, data=None):
|
||||||
|
wrapper = model.get_value(iter, 1)
|
||||||
|
if wrapper:
|
||||||
|
cell.set_property('surface', wrapper.surface)
|
||||||
|
|
||||||
|
def prepCategory(self, category):
|
||||||
|
self.storeFilter[category["id"]].refilter()
|
||||||
|
if not self.anyVisibleInCategory(category):
|
||||||
|
return
|
||||||
|
if self.first_category_done:
|
||||||
|
widget = Gtk.Separator.new(Gtk.Orientation.HORIZONTAL)
|
||||||
|
self.side_view_container.pack_start(widget, False, False, 10)
|
||||||
|
|
||||||
|
box = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 4)
|
||||||
|
img = Gtk.Image.new_from_icon_name(category["icon"], Gtk.IconSize.BUTTON)
|
||||||
|
box.pack_start(img, False, False, 4)
|
||||||
|
|
||||||
|
widget = Gtk.Label()
|
||||||
|
widget.set_use_markup(True)
|
||||||
|
widget.set_markup('<span size="12000">%s</span>' % category["label"])
|
||||||
|
widget.set_alignment(.5, .5)
|
||||||
|
box.pack_start(widget, False, False, 1)
|
||||||
|
self.side_view_container.pack_start(box, False, False, 0)
|
||||||
|
widget = Gtk.IconView.new_with_model(self.storeFilter[category["id"]])
|
||||||
|
|
||||||
|
area = widget.get_area()
|
||||||
|
|
||||||
|
widget.set_item_width(self.min_pix_length)
|
||||||
|
widget.set_item_padding(0)
|
||||||
|
widget.set_column_spacing(18)
|
||||||
|
widget.set_row_spacing(18)
|
||||||
|
widget.set_margin(20)
|
||||||
|
|
||||||
|
pixbuf_renderer = Gtk.CellRendererPixbuf()
|
||||||
|
text_renderer = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.NONE, wrap_mode=Pango.WrapMode.WORD_CHAR, wrap_width=0, width_chars=self.min_label_length, alignment=Pango.Alignment.CENTER)
|
||||||
|
|
||||||
|
text_renderer.set_alignment(.5, 0)
|
||||||
|
area.pack_start(pixbuf_renderer, True, True, False)
|
||||||
|
area.pack_start(text_renderer, True, True, False)
|
||||||
|
area.add_attribute(pixbuf_renderer, "icon-name", 1)
|
||||||
|
pixbuf_renderer.set_property("stock-size", Gtk.IconSize.DIALOG)
|
||||||
|
pixbuf_renderer.set_property("follow-state", True)
|
||||||
|
|
||||||
|
area.add_attribute(text_renderer, "text", 0)
|
||||||
|
|
||||||
|
self.side_view[category["id"]] = widget
|
||||||
|
self.side_view_container.pack_start(self.side_view[category["id"]], False, False, 0)
|
||||||
|
self.first_category_done = True
|
||||||
|
self.side_view[category["id"]].connect("item-activated", self.side_view_nav, category["id"])
|
||||||
|
self.side_view[category["id"]].connect("button-release-event", self.button_press, category["id"])
|
||||||
|
self.side_view[category["id"]].connect("keynav-failed", self.on_keynav_failed, category["id"])
|
||||||
|
self.side_view[category["id"]].connect("selection-changed", self.on_selection_changed, category["id"])
|
||||||
|
|
||||||
|
def bring_selection_into_view(self, iconview):
|
||||||
|
sel = iconview.get_selected_items()
|
||||||
|
|
||||||
|
if sel:
|
||||||
|
path = sel[0]
|
||||||
|
found, rect = iconview.get_cell_rect(path, None)
|
||||||
|
|
||||||
|
cw = self.side_view_container.get_window()
|
||||||
|
cw_x, cw_y = cw.get_position()
|
||||||
|
|
||||||
|
ivw = iconview.get_window()
|
||||||
|
iv_x, iv_y = ivw.get_position()
|
||||||
|
|
||||||
|
final_y = rect.y + (rect.height / 2) + cw_y + iv_y
|
||||||
|
|
||||||
|
adj = self.side_view_sw.get_vadjustment()
|
||||||
|
page = adj.get_page_size()
|
||||||
|
current_pos = adj.get_value()
|
||||||
|
|
||||||
|
if final_y > current_pos + page:
|
||||||
|
adj.set_value(iv_y + rect.y)
|
||||||
|
elif final_y < current_pos:
|
||||||
|
adj.set_value(iv_y + rect.y)
|
||||||
|
|
||||||
|
def on_selection_changed(self, widget, category):
|
||||||
|
sel = widget.get_selected_items()
|
||||||
|
if len(sel) > 0:
|
||||||
|
self.current_cat_widget = widget
|
||||||
|
self.bring_selection_into_view(widget)
|
||||||
|
for iv in self.side_view:
|
||||||
|
if self.side_view[iv] == self.current_cat_widget:
|
||||||
|
continue
|
||||||
|
self.side_view[iv].unselect_all()
|
||||||
|
|
||||||
|
def get_cur_cat_index(self, category):
|
||||||
|
i = 0
|
||||||
|
for cat in CATEGORIES:
|
||||||
|
if category == cat["id"]:
|
||||||
|
return i
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
def get_cur_column(self, iconview):
|
||||||
|
s, path, cell = iconview.get_cursor()
|
||||||
|
if path:
|
||||||
|
col = iconview.get_item_column(path)
|
||||||
|
return col
|
||||||
|
|
||||||
|
def reposition_new_cat(self, sel, iconview):
|
||||||
|
iconview.set_cursor(sel, None, False)
|
||||||
|
iconview.select_path(sel)
|
||||||
|
iconview.grab_focus()
|
||||||
|
|
||||||
|
def on_keynav_failed(self, widget, direction, category):
|
||||||
|
num_cats = len(CATEGORIES)
|
||||||
|
current_idx = self.get_cur_cat_index(category)
|
||||||
|
new_cat = CATEGORIES[current_idx]
|
||||||
|
ret = False
|
||||||
|
dist = 1000
|
||||||
|
sel = None
|
||||||
|
|
||||||
|
if direction == Gtk.DirectionType.DOWN and current_idx < num_cats - 1:
|
||||||
|
new_cat = CATEGORIES[current_idx + 1]
|
||||||
|
col = self.get_cur_column(widget)
|
||||||
|
new_cat_view = self.side_view[new_cat["id"]]
|
||||||
|
model = new_cat_view.get_model()
|
||||||
|
iter = model.get_iter_first()
|
||||||
|
while iter is not None:
|
||||||
|
path = model.get_path(iter)
|
||||||
|
c = new_cat_view.get_item_column(path)
|
||||||
|
d = abs(c - col)
|
||||||
|
if d < dist:
|
||||||
|
sel = path
|
||||||
|
dist = d
|
||||||
|
iter = model.iter_next(iter)
|
||||||
|
self.reposition_new_cat(sel, new_cat_view)
|
||||||
|
ret = True
|
||||||
|
elif direction == Gtk.DirectionType.UP and current_idx > 0:
|
||||||
|
new_cat = CATEGORIES[current_idx - 1]
|
||||||
|
col = self.get_cur_column(widget)
|
||||||
|
new_cat_view = self.side_view[new_cat["id"]]
|
||||||
|
model = new_cat_view.get_model()
|
||||||
|
iter = model.get_iter_first()
|
||||||
|
while iter is not None:
|
||||||
|
path = model.get_path(iter)
|
||||||
|
c = new_cat_view.get_item_column(path)
|
||||||
|
d = abs(c - col)
|
||||||
|
if d <= dist:
|
||||||
|
sel = path
|
||||||
|
dist = d
|
||||||
|
iter = model.iter_next(iter)
|
||||||
|
self.reposition_new_cat(sel, new_cat_view)
|
||||||
|
ret = True
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def button_press(self, widget, event, category):
|
||||||
|
if event.button == 1:
|
||||||
|
self.side_view_nav(widget, None, category)
|
||||||
|
|
||||||
|
def anyVisibleInCategory(self, category):
|
||||||
|
id = category["id"]
|
||||||
|
iter = self.storeFilter[id].get_iter_first()
|
||||||
|
visible = False
|
||||||
|
while iter is not None:
|
||||||
|
cat = self.storeFilter[id].get_value(iter, 3)
|
||||||
|
visible = cat == category["id"]
|
||||||
|
iter = self.storeFilter[id].iter_next(iter)
|
||||||
|
return visible
|
||||||
|
|
||||||
|
def setParentRefs (self, mod):
|
||||||
|
try:
|
||||||
|
mod._setParentRef(self.window)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
return True
|
||||||
|
|
||||||
|
def loadCheck (self, mod):
|
||||||
|
try:
|
||||||
|
return mod._loadCheck()
|
||||||
|
except:
|
||||||
|
return True
|
||||||
|
|
||||||
|
def back_to_icon_view(self, widget):
|
||||||
|
self.window.set_title(_("System Settings"))
|
||||||
|
self.window.resize(WIN_WIDTH, WIN_HEIGHT)
|
||||||
|
children = self.content_box.get_children()
|
||||||
|
for child in children:
|
||||||
|
child.hide()
|
||||||
|
if child.get_name() == "c_box":
|
||||||
|
c_widgets = child.get_children()
|
||||||
|
for c_widget in c_widgets:
|
||||||
|
c_widget.hide()
|
||||||
|
self.main_stack.set_visible_child_name("side_view_page")
|
||||||
|
self.header_stack.set_visible_child_name("side_view")
|
||||||
|
self.search_entry.grab_focus()
|
||||||
|
self.current_sidepage = None
|
||||||
|
|
||||||
|
def quit(self, *args):
|
||||||
|
self.window.destroy()
|
||||||
|
Gtk.main_quit()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import signal
|
||||||
|
|
||||||
|
ps = proxygsettings.get_proxy_settings()
|
||||||
|
if ps:
|
||||||
|
proxy = urllib2.ProxyHandler(ps)
|
||||||
|
else:
|
||||||
|
proxy = urllib2.ProxyHandler()
|
||||||
|
urllib2.install_opener(urllib2.build_opener(proxy))
|
||||||
|
|
||||||
|
window = MainWindow()
|
||||||
|
signal.signal(signal.SIGINT, window.quit)
|
||||||
|
Gtk.main()
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Icon Theme]
|
||||||
|
Inherits=Breeze
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/manjaro/live-overlay
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/mkinitcpio.conf
|
|
@ -0,0 +1,84 @@
|
||||||
|
##########################################
|
||||||
|
###### use this file in the profile ######
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
# use multilib packages; x86_64 only
|
||||||
|
# multilib="true"
|
||||||
|
|
||||||
|
# use pxe
|
||||||
|
# pxe_boot="true"
|
||||||
|
|
||||||
|
################ torrent ################
|
||||||
|
|
||||||
|
# the torrent tracker urls, comma separated
|
||||||
|
# tracker_url='udp://mirror.strits.dk:6969'
|
||||||
|
|
||||||
|
# Piece size, 2^n
|
||||||
|
# piece_size=21
|
||||||
|
|
||||||
|
################ install ################
|
||||||
|
|
||||||
|
# default displaymanager: none
|
||||||
|
# supported; lightdm, sddm, gdm, lxdm, mdm
|
||||||
|
displaymanager="lightdm"
|
||||||
|
|
||||||
|
# Set to false to disable autologin in the livecd
|
||||||
|
# autologin="true"
|
||||||
|
|
||||||
|
# nonfree xorg drivers
|
||||||
|
# nonfree_mhwd="true"
|
||||||
|
|
||||||
|
# use plymouth
|
||||||
|
plymouth_boot="true"
|
||||||
|
|
||||||
|
# possible values: grub;systemd-boot
|
||||||
|
# efi_boot_loader="grub"
|
||||||
|
|
||||||
|
# configure calamares for netinstall
|
||||||
|
# netinstall="false"
|
||||||
|
|
||||||
|
# the default url for the netinstall.yaml
|
||||||
|
# netgroups="https://raw.githubusercontent.com/manjaro/manjaro-tools-iso-profiles/master/shared/netinstall"
|
||||||
|
|
||||||
|
# configure calamares to use chrootcfg instead of unpackfs
|
||||||
|
# unpackfs="false"
|
||||||
|
|
||||||
|
# use geoip
|
||||||
|
# geoip="true"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
plymouth_theme=manjaro-cinnamon
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# enable_systemd=('bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
|
||||||
|
# disable_systemd=()
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# enable_openrc=('acpid' 'bluetooth' 'consolekit' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
|
||||||
|
# disable_openrc=()
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# addgroups="video,power,disk,storage,optical,network,lp,scanner,wheel"
|
||||||
|
|
||||||
|
# the same workgroup name if samba is used
|
||||||
|
# smb_workgroup=""
|
||||||
|
|
||||||
|
################# live-session #################
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
hostname="manjaro-cinnamon"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
# password="manjaro"
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# services in enable_systemd array don't need to be listed here
|
||||||
|
# enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# services in enable_openrc array don't need to be listed here
|
||||||
|
# enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
|
@ -0,0 +1,122 @@
|
||||||
|
######################################################
|
||||||
|
### THIS FILE WILL INCLUDE shared/Packages-Desktop ###
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
## deepin packages
|
||||||
|
deepin-calendar
|
||||||
|
deepin-file-manager
|
||||||
|
deepin-gtk-theme
|
||||||
|
deepin-social-sharing
|
||||||
|
deepin-image-viewer
|
||||||
|
|
||||||
|
## deepin-extra packages
|
||||||
|
deepin-movie
|
||||||
|
deepin-screenshot
|
||||||
|
deepin-terminal
|
||||||
|
# workaround launcher-bug https://github.com/linuxdeepin/dde-launcher/issues/5
|
||||||
|
gnome-terminal
|
||||||
|
|
||||||
|
## other deepin Packages
|
||||||
|
baobab
|
||||||
|
chromium
|
||||||
|
dconf-editor
|
||||||
|
downgrade
|
||||||
|
evince
|
||||||
|
gedit
|
||||||
|
poppler-data # CKJ support for pdf
|
||||||
|
evolution
|
||||||
|
galculator
|
||||||
|
gimp
|
||||||
|
gksu
|
||||||
|
gnome-system-monitor
|
||||||
|
gnome-vfs
|
||||||
|
gparted
|
||||||
|
gvfs-afc
|
||||||
|
gvfs-gphoto2
|
||||||
|
gvfs-mtp # for mounting Samsung phones
|
||||||
|
gvfs-smb
|
||||||
|
hexchat
|
||||||
|
htop
|
||||||
|
isousb
|
||||||
|
libimobiledevice
|
||||||
|
libreoffice-still
|
||||||
|
manjaro-browser-settings
|
||||||
|
manjaro-deepin-settings
|
||||||
|
manjaro-documentation
|
||||||
|
manjaro-features
|
||||||
|
manjaro-settings-manager-notifier
|
||||||
|
manjaro-welcome
|
||||||
|
mlocate
|
||||||
|
polkit-gnome
|
||||||
|
qt5ct
|
||||||
|
qt5-styleplugins
|
||||||
|
screenfetch
|
||||||
|
smplayer
|
||||||
|
sushi
|
||||||
|
gufw # firewall
|
||||||
|
transmission-gtk
|
||||||
|
xarchiver
|
||||||
|
xfburn
|
||||||
|
|
||||||
|
## Network
|
||||||
|
netctl
|
||||||
|
networkmanager
|
||||||
|
networkmanager-dispatcher-ntpd
|
||||||
|
networkmanager-openconnect
|
||||||
|
networkmanager-openvpn
|
||||||
|
networkmanager-pptp
|
||||||
|
networkmanager-vpnc
|
||||||
|
openresolv
|
||||||
|
syslog-ng
|
||||||
|
|
||||||
|
## Packages for Sound and Audio
|
||||||
|
gst-libav
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-ugly
|
||||||
|
gstreamer0.10-bad-plugins
|
||||||
|
gstreamer0.10-base-plugins
|
||||||
|
gstreamer0.10-good-plugins
|
||||||
|
gstreamer0.10-ugly-plugins
|
||||||
|
libdvdcss
|
||||||
|
manjaro-alsa
|
||||||
|
manjaro-pulse
|
||||||
|
pulseaudio-bluetooth
|
||||||
|
pulseaudio-ctl
|
||||||
|
pulseaudio-zeroconf
|
||||||
|
|
||||||
|
## Package management
|
||||||
|
pamac
|
||||||
|
yaourt
|
||||||
|
|
||||||
|
## Artwork
|
||||||
|
adwaita-manjaro-themes
|
||||||
|
plymouth-theme-manjaro-deepin-circle
|
||||||
|
|
||||||
|
## Games
|
||||||
|
deepin-game
|
||||||
|
#steam-manjaro
|
||||||
|
|
||||||
|
## Java
|
||||||
|
jre8-openjdk
|
||||||
|
jre8-openjdk-headless
|
||||||
|
icedtea-web
|
||||||
|
|
||||||
|
## Printing / Scanning
|
||||||
|
manjaro-printer
|
||||||
|
xsane
|
||||||
|
xsane-gimp
|
||||||
|
|
||||||
|
## AUR Access
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
binutils
|
||||||
|
bison
|
||||||
|
fakeroot
|
||||||
|
flex
|
||||||
|
gcc
|
||||||
|
libtool
|
||||||
|
m4
|
||||||
|
make
|
||||||
|
patch
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Live
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Mhwd
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Root
|
|
@ -0,0 +1 @@
|
||||||
|
/etc/fonts/conf.avail/70-no-bitmaps.conf
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Icon Theme]
|
||||||
|
Inherits=Breeze
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/manjaro/live-overlay
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/mkinitcpio.conf
|
|
@ -0,0 +1,84 @@
|
||||||
|
##########################################
|
||||||
|
###### use this file in the profile ######
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
# use multilib packages; x86_64 only
|
||||||
|
# multilib="true"
|
||||||
|
|
||||||
|
# use pxe
|
||||||
|
# pxe_boot="true"
|
||||||
|
|
||||||
|
################ torrent ################
|
||||||
|
|
||||||
|
# the torrent tracker urls, comma separated
|
||||||
|
# tracker_url='udp://mirror.strits.dk:6969'
|
||||||
|
|
||||||
|
# Piece size, 2^n
|
||||||
|
# piece_size=21
|
||||||
|
|
||||||
|
################ install ################
|
||||||
|
|
||||||
|
# default displaymanager: none
|
||||||
|
# supported; lightdm, sddm, gdm, lxdm, mdm
|
||||||
|
displaymanager="lightdm"
|
||||||
|
|
||||||
|
# Set to false to disable autologin in the livecd
|
||||||
|
# autologin="true"
|
||||||
|
|
||||||
|
# nonfree xorg drivers
|
||||||
|
# nonfree_mhwd="true"
|
||||||
|
|
||||||
|
# use plymouth
|
||||||
|
plymouth_boot="true"
|
||||||
|
|
||||||
|
# possible values: grub;systemd-boot
|
||||||
|
# efi_boot_loader="grub"
|
||||||
|
|
||||||
|
# configure calamares for netinstall
|
||||||
|
# netinstall="false"
|
||||||
|
|
||||||
|
# the default url for the netinstall.yaml
|
||||||
|
# netgroups="https://raw.githubusercontent.com/manjaro/manjaro-tools-iso-profiles/master/shared/netinstall"
|
||||||
|
|
||||||
|
# configure calamares to use chrootcfg instead of unpackfs
|
||||||
|
# unpackfs="false"
|
||||||
|
|
||||||
|
# use geoip
|
||||||
|
# geoip="true"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
plymouth_theme=manjaro-deepin-circle
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# enable_systemd=('bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
|
||||||
|
# disable_systemd=()
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# enable_openrc=('acpid' 'bluetooth' 'consolekit' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
|
||||||
|
# disable_openrc=()
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# addgroups="video,power,disk,storage,optical,network,lp,scanner,wheel"
|
||||||
|
|
||||||
|
# the same workgroup name if samba is used
|
||||||
|
# smb_workgroup=""
|
||||||
|
|
||||||
|
################# live-session #################
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
hostname="manjaro-deepin"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
# password="manjaro"
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# services in enable_systemd array don't need to be listed here
|
||||||
|
# enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# services in enable_openrc array don't need to be listed here
|
||||||
|
# enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
|
@ -0,0 +1,135 @@
|
||||||
|
######################################################
|
||||||
|
### THIS FILE WILL INCLUDE shared/Packages-Desktop ###
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
## i3 Packages
|
||||||
|
accountsservice
|
||||||
|
artwork-i3
|
||||||
|
bmenu
|
||||||
|
downgrade
|
||||||
|
ffmpeg
|
||||||
|
ffmpegthumbnailer
|
||||||
|
flashplugin
|
||||||
|
gconf # fix qt-theme
|
||||||
|
gnome-keyring # fix wlan segfault
|
||||||
|
gufw # firewall
|
||||||
|
>openrc ufw-openrc
|
||||||
|
hexchat
|
||||||
|
htop
|
||||||
|
lightdm-gtk-greeter-settings
|
||||||
|
lm_sensors
|
||||||
|
lxappearance
|
||||||
|
manjaro-i3-settings
|
||||||
|
manjaro-settings-manager-notifier
|
||||||
|
mlocate
|
||||||
|
morc_menu
|
||||||
|
p7zip
|
||||||
|
polkit-gnome
|
||||||
|
ranger
|
||||||
|
screenfetch
|
||||||
|
>openrc timeset
|
||||||
|
>openrc ntp-openrc
|
||||||
|
qt5ct
|
||||||
|
qt5-styleplugins
|
||||||
|
tree
|
||||||
|
vi
|
||||||
|
vim
|
||||||
|
wmutils
|
||||||
|
xarchiver
|
||||||
|
xautolock
|
||||||
|
xdotool
|
||||||
|
xfce4-power-manager
|
||||||
|
xcursor-chameleon-pearl
|
||||||
|
xcursor-maia
|
||||||
|
xorg-xkill
|
||||||
|
xorg-xprop
|
||||||
|
|
||||||
|
## Applications
|
||||||
|
arandr
|
||||||
|
clipit
|
||||||
|
dfc
|
||||||
|
epdfview
|
||||||
|
gcolor2
|
||||||
|
gimp
|
||||||
|
gksu
|
||||||
|
gnome-vfs
|
||||||
|
gparted
|
||||||
|
gvfs # trash support and mounting volumes
|
||||||
|
gvfs-afc
|
||||||
|
gvfs-gphoto2
|
||||||
|
gvfs-mtp # for mounting Samsung phones
|
||||||
|
gvfs-smb
|
||||||
|
isousb
|
||||||
|
libgpod # iPhone/Pod connectivity
|
||||||
|
manjaro-browser-settings
|
||||||
|
manjaro-features
|
||||||
|
manjaro-welcome
|
||||||
|
# eventually add upower-pm-utils; it seems to depend on DE features; take what works default is upower
|
||||||
|
# >openrc upower-pm-utils
|
||||||
|
upower
|
||||||
|
moc
|
||||||
|
mousepad
|
||||||
|
ncdu
|
||||||
|
palemoon-bin
|
||||||
|
perl-file-mimeinfo
|
||||||
|
pcmanfm
|
||||||
|
poppler-data # CKJ support for pdf
|
||||||
|
open-fuse-iso
|
||||||
|
sbxkb
|
||||||
|
speedtest-cli
|
||||||
|
transmission-gtk
|
||||||
|
viewnior
|
||||||
|
vlc-nightly
|
||||||
|
w3m
|
||||||
|
xfburn
|
||||||
|
xterm
|
||||||
|
|
||||||
|
## Network
|
||||||
|
blueman
|
||||||
|
>openrc bluez-openrc
|
||||||
|
>systemd netctl
|
||||||
|
>systemd networkmanager
|
||||||
|
>openrc networkmanager-openrc
|
||||||
|
>openrc networkmanager-consolekit
|
||||||
|
network-manager-applet
|
||||||
|
networkmanager-dispatcher-ntpd
|
||||||
|
>systemd networkmanager-openconnect
|
||||||
|
networkmanager-openvpn
|
||||||
|
>systemd openssh
|
||||||
|
>openrc openssh-openrc
|
||||||
|
>openrc openvpn-openrc
|
||||||
|
>systemd networkmanager-pptp
|
||||||
|
networkmanager-vpnc
|
||||||
|
>systemd openresolv
|
||||||
|
>systemd syslog-ng
|
||||||
|
json-c # for syslog-ng
|
||||||
|
>openrc syslog-ng-openrc
|
||||||
|
|
||||||
|
## Audio Packages
|
||||||
|
>openrc alsa-utils-openrc
|
||||||
|
>systemd alsa-utils
|
||||||
|
alsa-plugins
|
||||||
|
gst-libav
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-ugly
|
||||||
|
gstreamer0.10-bad-plugins
|
||||||
|
gstreamer0.10-base-plugins
|
||||||
|
gstreamer0.10-good-plugins
|
||||||
|
gstreamer0.10-ugly-plugins
|
||||||
|
flac
|
||||||
|
libdvdcss
|
||||||
|
manjaro-alsa
|
||||||
|
volumeicon
|
||||||
|
|
||||||
|
## Package management
|
||||||
|
pamac
|
||||||
|
yaourt
|
||||||
|
|
||||||
|
## Printing
|
||||||
|
manjaro-printer
|
||||||
|
>openrc cups-openrc
|
||||||
|
|
||||||
|
## AUR Access
|
||||||
|
base-devel
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Live
|
|
@ -0,0 +1,71 @@
|
||||||
|
## Packages-Xorg minus nvidia 340xx and 304xx drivers
|
||||||
|
|
||||||
|
## Xorg Drivers
|
||||||
|
xf86-video-apm
|
||||||
|
xf86-video-ark
|
||||||
|
xf86-video-ati
|
||||||
|
xf86-video-amdgpu # only works with kernels 4.2+
|
||||||
|
xf86-video-chips
|
||||||
|
xf86-video-dummy
|
||||||
|
xf86-video-fbdev
|
||||||
|
xf86-video-glint
|
||||||
|
xf86-video-i128
|
||||||
|
xf86-video-i740
|
||||||
|
xf86-video-intel
|
||||||
|
xf86-video-mach64
|
||||||
|
xf86-video-neomagic
|
||||||
|
xf86-video-nouveau
|
||||||
|
xf86-video-nv
|
||||||
|
xf86-video-openchrome
|
||||||
|
xf86-video-r128
|
||||||
|
xf86-video-rendition
|
||||||
|
xf86-video-s3
|
||||||
|
xf86-video-s3virge
|
||||||
|
xf86-video-savage
|
||||||
|
xf86-video-siliconmotion
|
||||||
|
xf86-video-sis
|
||||||
|
xf86-video-sisusb
|
||||||
|
xf86-video-tdfx
|
||||||
|
xf86-video-trident
|
||||||
|
xf86-video-tseng
|
||||||
|
xf86-video-vesa
|
||||||
|
xf86-video-vmware
|
||||||
|
xf86-video-voodoo
|
||||||
|
|
||||||
|
## Bumblebee Support
|
||||||
|
>systemd bumblebee
|
||||||
|
>openrc bumblebee-openrc
|
||||||
|
primus
|
||||||
|
>multilib lib32-primus
|
||||||
|
KERNEL-bbswitch
|
||||||
|
|
||||||
|
## Network Support
|
||||||
|
KERNEL-broadcom-wl
|
||||||
|
KERNEL-rt3562sta
|
||||||
|
KERNEL-r8168
|
||||||
|
|
||||||
|
## Proprietary Drivers
|
||||||
|
>nonfree_default catalyst-utils
|
||||||
|
>nonfree_default KERNEL-catalyst
|
||||||
|
>nonfree_default nvidia-utils
|
||||||
|
>nonfree_default KERNEL-nvidia
|
||||||
|
>nonfree_multilib lib32-catalyst-utils
|
||||||
|
>nonfree_multilib lib32-nvidia-utils
|
||||||
|
|
||||||
|
## Virtualbox Drivers
|
||||||
|
>openrc virtualbox-guest-utils-openrc
|
||||||
|
>systemd virtualbox-guest-utils
|
||||||
|
KERNEL-virtualbox-guest-modules
|
||||||
|
|
||||||
|
## Xorg Packages
|
||||||
|
libxaw
|
||||||
|
libxpm
|
||||||
|
libxvmc
|
||||||
|
pangox-compat
|
||||||
|
|
||||||
|
## Xorg x86_64 Packages
|
||||||
|
>multilib lib32-libxvmc
|
||||||
|
|
||||||
|
## VMWare Support
|
||||||
|
open-vm-tools
|
||||||
|
xf86-input-vmmouse
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/Packages-Root
|
|
@ -0,0 +1 @@
|
||||||
|
/etc/fonts/conf.avail/70-no-bitmaps.conf
|
|
@ -0,0 +1,17 @@
|
||||||
|
[greeter]
|
||||||
|
active-monitor = cursor
|
||||||
|
|
||||||
|
# Possible options for images: "#source:", "#stretched:" Default: "#zoomed:"
|
||||||
|
background = #353836
|
||||||
|
user-background = false
|
||||||
|
position = -50%,center
|
||||||
|
default-user-image = /usr/share/pixmaps/faces/i3-maia_small.png
|
||||||
|
font-name = Noto Sans 11
|
||||||
|
xft-antialias = true
|
||||||
|
xft-hintstyle = hintfull
|
||||||
|
icon-theme-name = Breeze-Maia-Dark
|
||||||
|
theme-name = Vertex-Maia-Dark
|
||||||
|
cursor-theme-name = Breeze
|
||||||
|
panel-position = top
|
||||||
|
show-clock = true
|
||||||
|
clock-format =
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../shared/manjaro/live-overlay/etc/default
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../shared/manjaro/live-overlay/etc/fstab
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../shared/manjaro/live-overlay/etc/issue
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../shared/manjaro/live-overlay/etc/pam.d
|
|
@ -0,0 +1,387 @@
|
||||||
|
# i3 config file (v4)
|
||||||
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# set default desktop layout (default is tiling)
|
||||||
|
# workspace_layout tabbed <stacking|tabbed>
|
||||||
|
|
||||||
|
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
|
new_window pixel 1
|
||||||
|
new_float normal
|
||||||
|
|
||||||
|
# Hide borders
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
# change borders
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
bindsym $mod+n border normal
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font xft:Noto Mono 10
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start program launcher
|
||||||
|
bindsym $mod+d exec --no-startup-id dmenu_recency
|
||||||
|
|
||||||
|
# launch categorized menu
|
||||||
|
bindsym $mod+z exec --no-startup-id morc_menu
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
|
||||||
|
################################################################################################
|
||||||
|
|
||||||
|
exec --no-startup-id volumeicon
|
||||||
|
bindsym $mod+Ctrl+m exec terminal -e 'alsamixer'
|
||||||
|
#exec --no-startup-id pulseaudio
|
||||||
|
#exec --no-startup-id pa-applet
|
||||||
|
#bindsym $mod+Ctrl+m exec pavucontrol
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
|
||||||
|
# Screen brightness controls
|
||||||
|
# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
|
||||||
|
# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
|
||||||
|
|
||||||
|
# Start Applications
|
||||||
|
bindsym $mod+Ctrl+b exec terminal -e 'bmenu'
|
||||||
|
bindsym $mod+i exec exec sudo -E calamares
|
||||||
|
bindsym $mod+F2 exec palemoon
|
||||||
|
bindsym $mod+F3 exec pcmanfm
|
||||||
|
# bindsym $mod+F3 exec ranger
|
||||||
|
bindsym $mod+Shift+F3 exec gksu pcmanfm
|
||||||
|
bindsym $mod+F5 exec terminal -e 'mocp'
|
||||||
|
bindsym $mod+t exec --no-startup-id pkill compton
|
||||||
|
bindsym $mod+Ctrl+t exec --no-startup-id compton -b
|
||||||
|
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
|
||||||
|
bindsym Print exec --no-startup-id i3-scrot
|
||||||
|
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
|
||||||
|
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
|
||||||
|
bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help_live.pdf
|
||||||
|
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
|
||||||
|
|
||||||
|
# focus_follows_mouse no
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+odiaeresis focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+odiaeresis move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# workspace back and forth (with/without active container)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
# split orientation
|
||||||
|
bindsym $mod+h split h;exec notify-send 'tile horizontally'
|
||||||
|
bindsym $mod+v split v;exec notify-send 'tile vertically'
|
||||||
|
bindsym $mod+q split toggle
|
||||||
|
|
||||||
|
# toggle fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# toggle sticky
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#navigate workspaces next / previous
|
||||||
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
# Workspace names
|
||||||
|
# to display names or symbols instead of plain workspace numbers you can use
|
||||||
|
# something like: set $ws1 1:mail
|
||||||
|
# set $ws2 2:
|
||||||
|
|
||||||
|
set $ws1 1
|
||||||
|
set $ws2 2
|
||||||
|
set $ws3 3
|
||||||
|
set $ws4 4
|
||||||
|
set $ws5 5
|
||||||
|
set $ws6 6
|
||||||
|
set $ws7 7
|
||||||
|
set $ws8 8
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
|
|
||||||
|
# Move to workspace with focused container
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
|
||||||
|
|
||||||
|
# Open applications on specific workspaces
|
||||||
|
# assign [class="Thunderbird"] $ws1
|
||||||
|
# assign [class="Pale moon"] $ws2
|
||||||
|
# assign [class="Pcmanfm"] $ws3
|
||||||
|
# assign [class="Skype"] $ws5
|
||||||
|
|
||||||
|
# Open specific applications in floating mode
|
||||||
|
for_window [title="alsamixer"] floating enable border pixel 1
|
||||||
|
for_window [class="Calamares"] floating enable border normal
|
||||||
|
for_window [class="Clipgrab"] floating enable
|
||||||
|
for_window [title="File Transfer*"] floating enable
|
||||||
|
for_window [class="Galculator"] floating enable border pixel 1
|
||||||
|
for_window [class="GParted"] floating enable border normal
|
||||||
|
for_window [title="i3_help"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Lightdm-gtk-greeter-settings"] floating enable
|
||||||
|
for_window [class="Lxappearance"] floating enable border normal
|
||||||
|
for_window [class="Manjaro Settings Manager"] floating enable border normal
|
||||||
|
for_window [class="Manjaro Welcome"] floating enable
|
||||||
|
for_window [title="MuseScore: Play Panel"] floating enable
|
||||||
|
for_window [class="Nitrogen"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Oblogout"] fullscreen enable
|
||||||
|
for_window [class="octopi"] floating enable
|
||||||
|
for_window [class="Pamac-manager"] floating enable
|
||||||
|
for_window [class="Pamac-updater"] floating enable
|
||||||
|
for_window [class="Pavucontrol"] floating enable
|
||||||
|
for_window [class="Qtconfig-qt4"] floating enable border normal
|
||||||
|
for_window [class="qt5ct"] floating enable sticky enable border normal
|
||||||
|
for_window [title="sudo"] floating enable border normal
|
||||||
|
for_window [class="Simple-scan"] floating enable border normal
|
||||||
|
for_window [class="(?i)System-config-printer.py"] floating enable border normal
|
||||||
|
for_window [class="Skype"] floating enable border normal
|
||||||
|
for_window [class="Thus"] floating enable border normal
|
||||||
|
for_window [class="Timeset-gui"] floating enable border normal
|
||||||
|
for_window [class="(?i)virtualbox"] floating enable border normal
|
||||||
|
for_window [class="Xfburn"] floating enable
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# Set shut down, restart and locking features
|
||||||
|
bindsym $mod+0 mode "$mode_system"
|
||||||
|
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id i3exit lock, mode "default"
|
||||||
|
bindsym s exec --no-startup-id i3exit suspend, mode "default"
|
||||||
|
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
|
||||||
|
bindsym e exec --no-startup-id i3exit logout, mode "default"
|
||||||
|
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
|
||||||
|
bindsym r exec --no-startup-id i3exit reboot, mode "default"
|
||||||
|
bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
|
||||||
|
|
||||||
|
# exit system mode: "Enter" or "Escape"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Resize window (you can also use the mouse for that)
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym k resize grow height 5 px or 5 ppt
|
||||||
|
bindsym l resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym odiaeresis resize grow width 5 px or 5 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# exit resize mode: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Lock screen
|
||||||
|
bindsym $mod+9 exec --no-startup-id blurlock
|
||||||
|
|
||||||
|
# Autostart applications
|
||||||
|
exec --no-startup-id nitrogen --restore; sleep 1; compton -b
|
||||||
|
exec --no-startup-id start_conky_live_maia
|
||||||
|
# exec --no-startup-id blueman
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
exec --no-startup-id desktop-items
|
||||||
|
exec --no-startup-id manjaro-welcome
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
# exec_always --no-startup-id sbxkb
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
exec_always --no-startup-id setcursor
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
position bottom
|
||||||
|
|
||||||
|
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
|
||||||
|
# tray_output primary
|
||||||
|
# tray_output eDP1
|
||||||
|
|
||||||
|
bindsym button4 nop
|
||||||
|
bindsym button5 nop
|
||||||
|
font xft:Noto Sans 10.5
|
||||||
|
strip_workspace_numbers yes
|
||||||
|
|
||||||
|
colors {
|
||||||
|
# background $transparent
|
||||||
|
background #2B2C2B
|
||||||
|
statusline #F9FAF9
|
||||||
|
separator #454947
|
||||||
|
|
||||||
|
# border backgr. text
|
||||||
|
focused_workspace #F9FAF9 #16A085 #2B2C2B
|
||||||
|
active_workspace #595B5B #353836 #FDF6E3
|
||||||
|
inactive_workspace #595B5B #353836 #EEE8D5
|
||||||
|
urgent_workspace #16A085 #FDF6E3 #E5201D
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# hide/unhide i3status bar
|
||||||
|
bindsym $mod+m bar mode toggle
|
||||||
|
|
||||||
|
# Theme colors
|
||||||
|
# class border backgr. text indic. child_border
|
||||||
|
client.focused #808280 #808280 #80FFF9 #FDF6E3
|
||||||
|
client.focused_inactive #434745 #434745 #16A085 #454948
|
||||||
|
client.unfocused #434745 #434745 #16A085 #454948
|
||||||
|
client.urgent #CB4B16 #FDF6E3 #16A085 #268BD2
|
||||||
|
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
|
||||||
|
|
||||||
|
client.background #2B2C2B
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### settings for i3-gaps: ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# Set inner/outer gaps
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer -4
|
||||||
|
|
||||||
|
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
|
||||||
|
# gaps inner|outer current|all set|plus|minus <px>
|
||||||
|
# gaps inner all set 10
|
||||||
|
# gaps outer all plus 5
|
||||||
|
|
||||||
|
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||||
|
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
|
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
|
||||||
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||||
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../shared/manjaro/live-overlay/etc/sudoers.d/
|
|
@ -0,0 +1 @@
|
||||||
|
../../shared/mkinitcpio.conf
|
|
@ -0,0 +1,84 @@
|
||||||
|
##########################################
|
||||||
|
###### use this file in the profile ######
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
# use multilib packages; x86_64 only
|
||||||
|
# multilib="true"
|
||||||
|
|
||||||
|
# use pxe
|
||||||
|
# pxe_boot="true"
|
||||||
|
|
||||||
|
################ torrent ################
|
||||||
|
|
||||||
|
# the torrent tracker urls, comma separated
|
||||||
|
# tracker_url='udp://mirror.strits.dk:6969'
|
||||||
|
|
||||||
|
# Piece size, 2^n
|
||||||
|
# piece_size=21
|
||||||
|
|
||||||
|
################ install ################
|
||||||
|
|
||||||
|
# default displaymanager: none
|
||||||
|
# supported; lightdm, sddm, gdm, lxdm, mdm
|
||||||
|
displaymanager="lightdm"
|
||||||
|
|
||||||
|
# Set to false to disable autologin in the livecd
|
||||||
|
# autologin="true"
|
||||||
|
|
||||||
|
# nonfree xorg drivers
|
||||||
|
# nonfree_mhwd="true"
|
||||||
|
|
||||||
|
# use plymouth
|
||||||
|
plymouth_boot="false"
|
||||||
|
|
||||||
|
# possible values: grub;systemd-boot
|
||||||
|
# efi_boot_loader="grub"
|
||||||
|
|
||||||
|
# configure calamares for netinstall
|
||||||
|
# netinstall="false"
|
||||||
|
|
||||||
|
# the default url for the netinstall.yaml
|
||||||
|
# netgroups="https://raw.githubusercontent.com/manjaro/manjaro-tools-iso-profiles/master/shared/netinstall"
|
||||||
|
|
||||||
|
# configure calamares to use chrootcfg instead of unpackfs
|
||||||
|
# unpackfs="false"
|
||||||
|
|
||||||
|
# use geoip
|
||||||
|
# geoip="true"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
# plymouth_theme=manjaro-elegant
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# enable_systemd=('bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
|
||||||
|
# disable_systemd=()
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# enable_openrc=('acpid' 'bluetooth' 'consolekit' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
|
||||||
|
# disable_openrc=()
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# addgroups="video,power,disk,storage,optical,network,lp,scanner,wheel"
|
||||||
|
|
||||||
|
# the same workgroup name if samba is used
|
||||||
|
# smb_workgroup=""
|
||||||
|
|
||||||
|
################# live-session #################
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
hostname="manjaro-i3"
|
||||||
|
|
||||||
|
# unset defaults to given value
|
||||||
|
# password="manjaro"
|
||||||
|
|
||||||
|
# unset defaults to given values
|
||||||
|
# names must match systemd service names
|
||||||
|
# services in enable_systemd array don't need to be listed here
|
||||||
|
# enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
||||||
|
|
||||||
|
# unset defaults to given values,
|
||||||
|
# names must match openrc service names
|
||||||
|
# services in enable_openrc array don't need to be listed here
|
||||||
|
# enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
|
Loading…
Reference in New Issue