Monday, April 25, 2022

从分子轨道的角度来看半导体的原理

 

第一章 分子轨道理论与应用

第三节 分子轨道理论的应用之二 —— 金属键 能带理论

金属键是金属晶体内部的作用力,高中选修三大家学过,利用金属键可以解释金属的很多物理性质。但是,如何解释某些单质(如锑等)的半导体特性?这是电子气模型解释不了的。为阐明这些问题,化学家们在分子轨道理论的基础上,提出了能带理论。我们以金属Li为例。

按照分子轨道理论,有多少个原子轨道(只要能量接近且对称性匹配),就能形成多少个分子轨道。参与成键的Li原子越多,形成的分子轨道数量也越多。如果有n个锂原子,其分子轨道示意图会是什么样子呢?如下图所示:

2 金属锂中的能带示意图1、由1s组合成的分子轨道有n条(因为成键的锂原子有n个,提供了n个1s),相邻的分子轨道能量差很小,n个分子轨道形成了一个几乎是连成一片的、且具有一定的上、下限的能量范围,我们将这种能量范围称为能带。同理,2s组合成的分子轨道也形成了2s能带。(这里没有成键轨道、反键轨道的区分了。)怎么解释上文中“几乎是连成一片”呢?通常n是一个很大的数值,而能带宽度一般不大于2 eV,将能带宽度除以n,就得出能带中分子轨道的能量差,这当然是一个很小的数值,因此可认为能带中的分子轨道在能量上是连续的。

2、由1s组合成的分子轨道,与由2s组合成的分子轨道,在能量上有明显的间隔。这个大家很好理解,原子结构中1s原子轨道和2s原子轨道的能量也相差很大。3、锂的1s能带里面填满了电子,2s能带里面,只有一半的分子轨道填满了电子,另外一半是空的分子轨道。这个也好理解,锂原子的1s就是2个电子,2s只有一个电子,形成的能带自然也就是相似情况了。由已充满电子的原子轨道能级所形成的低能量能带,叫做“满带;如锂的1s能带。由未充满电子的原子轨道能级所形成的高能量能带,叫做“导带”;如锂的2s能带。再如,金属钠中的1s、2s、2p能带是满带,3s能带是导带。3p能带呢?没电子叫空带。补充一个名词,刚说过1s能带与2s能带之间的能量差很大,以至于1s能带中的电子向2s能带跃迁几乎不可能,所以把两类能级间的能量间隔叫做“禁带”。注意在能带内部,电子跃迁就非常容易了,毕竟都来自同一能级,能量相差很微小。如锂的2s能带中的电子,是很容易从满带向空带跃迁的。

禁带与金属晶体的结构有关。不是所有金属的1s能带与2s能带之间的禁带都一样宽。同理,2s能带与2p能带之间的禁带也有的宽,有的窄,有的甚至为0,即能带互相重叠。这听起来是不是有点能级交错(如3d>4s)的意味?我觉得可以这么联想。如铍(价电子排布为1s2 2s2)的2s满带和2p空带就发生了重叠,2s能带中的电子很容易跃迁入2p能带运动。

做了这些铺垫以后,敲黑板,重点来了:

金属能带之间的能量差和能带中电子充填的状况决定了物质是导体、绝缘体还是半导体。

如果物质的所有能带都全满,而且能带间的能量间隔很大(禁带很宽,5~7eV),这个物质将是绝缘体如金刚石的禁带宽达5.3eV。

如果一种物质的能带是部分被电子充满(如锂等碱金属),或者有空带且能够和相邻带发生重叠(如铍等碱土金属),它是导体。

半导体的特点则是满带被电子充满,没有和相邻带发生重叠,但中间的禁带的宽度很窄在1eV上下)。典型的半导体Si禁带为1.12eV;Ge为0.67eV。在一般情况下,由于满带上的电子不能进入空带,因此晶体不导电(尤其在低温下)。由于禁带宽度很窄,在合适条件下(如加热、光照等),使满带上的电子跃迁到空带上去,使原来空带也填充部分电子形成导带,同时在满带上留下空位(通常称为空穴),因此使导带与原来的满带均未充满电子,所以能导电。相应的半导体也就是热敏元件、光敏元件。

看来,导电性从结构上看,不管什么满带、空带,有导带就行!或者说,就取决于电子能否顺利进入空带而构成导带。因为向金属施以外加电场时,导带中的电子会沿着外加电场方向通过晶格产生运动,形成了电流。同时,导带中原先充满电子的分子轨道因失去电子形成带正电的空穴,沿电场的负极方向移动,也引起导电。

能带中的电子可以吸收光能,并且也能将吸收的能量又发射出来,由于发射的电磁波频率范围很宽,组合在一起往往是白光,这就解释了大多数金属有银白色光泽,以及金属是辐射能的优良反射体。而金刚石的满带与空带之间的带隙宽度为5.4 eV,很宽,可见光的能量大大低于5.4 eV,不能使满带的电子激发到空带上去,因而当一束可见光(白光)透过金刚石时不发生任何吸收,纯净的金刚石就呈无色透明。

 https://www.bilibili.com/read/cv4825881


Tuesday, April 12, 2022

SilentNotes – 尊重隐私的开源便签,支持 WebDAV 同步、加密[Win/Android]

 

SilentNotes 是一款尊重隐私的开源便签应用,支持 Windows 与 Android,并可通过 WebDAV、FTP、网盘等方式同步数据,端对端加密,WYSIWYG 编辑器,不收集个人数据,开源,可写笔记、便签、任务管理,多主题。@Appinn

SilentNotes - 尊重隐私的开源便签,支持 WebDAV 同步、加密[Win/Android]

说起来,SilentNotes 有些给青小蛙惊喜,功能丰富、操作简单、开源、安全、本地数据,全文搜索、快捷键等,基本上你能想到的功能都有了。

SilentNotes

SilentNotes 拥有 Windows 与 Android 两个客户端,数据加密保存在本地,支持 Xchacha20-Poly1305、aes256-GCM 和 Twofish256-GCM 三种数据加密方式。

数据同步

SilentNotes 可以通过以下几种方式进行设备间数据同步:

  • FTP
  • WebDAV
  • Dropbox
  • Google Drive
  • OneDrive
  • Nextcloud
  • GMX

青小蛙尝试了前几天推荐的 WebDAV小秘,以及群晖提供的 WebDAV 服务,均未同步成功,而使用 woelkli 提供的第三方 WebDAV 服务则同步成,所以…大概还是我设置的问题。

在设置了相同的 WebDAV 地址之后,SilentNotes 还需要转移码(Transfer code)来解密数据并完成同步,安全性可以得到保证。SilentNotes 也建议将 Transfer code 写下来备用,以防万一(多设备登录与备份恢复)。

安全锁

另外 SilentNotes 还支持安全锁,设置安全锁密码之后,就可以加密每一个便签了:

SilentNotes - 尊重隐私的开源便签,支持 WebDAV 同步、加密[Win/Android]
SilentNotes - 尊重隐私的开源便签,支持 WebDAV 同步、加密[Win/Android]

注意无论是否打开安全锁,SilentNotes 上的数据都会被加密,并只能在此设备上打开,想要多设备同步需要刚才提到的转移码。

WYSIWYG 编辑器

SilentNotes 提供了一个所见即所得 WYSIWYG 编辑器,用起来还是非常简单的:

SilentNotes - 尊重隐私的开源便签,支持 WebDAV 同步、加密[Win/Android]

SilentNotes 定位是便签与待办事项,非常轻量级,也提供了一个回收站找回误删除的内容,多配色主题、自动深色模式,对于 Windows 配合 Android 设备的用户来说非常友好。

SilentNotes 下载

爬虫工具之curl

 

解析页面肯定是写爬虫遇到的最常见的工作,但不要小看这个这个过程,有时它也会令你抓狂。这次写一下关于curl工具的使用,主要介绍一下平时很常用的几项。

curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用这个工具,就能在命令行发起请求,获得响应,而且其命令简单且强大,非常适合用作写爬虫时,解析页面前的模拟工作。

基础

# 发起HTTP请求,并把返回的网页内容显示在屏幕
curl "http://www.example.com"

# 发起HTTP请求,并把返回的网页内容输出到文件
curl "http://www.example.com" > test.html

# 或者用命令-o参数也可达到同样的效果
curl -o test.html "http://www.example.com"

注意:URL地址带上双引号是比较好的习惯,防止URL中带有特殊符号,导致不能解析报错情况。

伪装头信息

有时curl直接访问页面,会得到与浏览器打开不同的结果,所以此时就要伪装头信息,来模拟浏览器的行为,这样返回的数据就跟浏览器看到的一样了。

# 使用-A参数定义User-Agent,模拟浏览器行为
curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36" "http://www.example.com"

# 使用-e参数定义Referer,表示从哪个页面跳过来的,解决防盗链问题
curl -e "http://www.example.com" "http://detail.example.com"

# 或者使用-H参数自定义头信息,也可定义User-Agent、Referer、Content-Type等信息
curl -H "my-header:xxxxx" "http://www.example.com"

代理访问

或者你用程序频繁访问某个网站,结果人家把你IP封禁了,这时就可以用代理来进行访问。

# 使用-x参数使用代理访问
curl -x "123.45.67.89:8102" "http://www.example.com"

自动跳转

有时访问某个网页,这个网页会返回302状态码,表示重定向某个页面,页面地址会写在头的Location中。如果是浏览器访问,则会自动跳转到指定页面并展示,同样用curl也可以完成这个工作。

# 使用-L参数自动重定向
curl -L "http://www.example.com"

显示响应头信息

如果想详细了解上述重定向的情况,可以使用-i参数显示响应头信息,也可以使用-D参数把响应头信息写入文件,用来更方便的观察响应数据中的其他信息,进行下一步分析解析。

# 使用-i参数显示响应头信息和内容,使用-I则只显示头信息
curl -i "http://www.example.com"

# 使用-D参数把响应头信息写到文件中
curl -D "http://www.example.com"

POST访问

以上访问方式都是默认GET方式访问的,但很多页面都需要带有参数信息,所以GET方式访问只能将参数拼在URL后面,但其参数是有长度限制的,此时建议使用POST方式访问。

# GET方式访问带有参数的页面
curl "http://www.example.com?p1=a&p2=b&p3=c"

# POST方式访问
curl -d "p1=a&p2=b&p3=c" "http://www.example.com"

# POST方式访问,参数带有中文或空格,将参数编码
curl --data-urlencode "name=张三" --data-urlencode "date=April 1" 
"http://www.example.com"

以上方式就可以模拟一个表单提交了,使用最多的就是用来模拟登录。

文件上传

curl同样也支持文件上传操作,实际上也还是模拟了一个表单,等同于一个页面表单是这样的:<form method="POST" enctype='multipart/form-data'>

# 模拟表单上传文件
curl -F uploadfile=@test.txt -F title=xxx "http://example.com/upload"

有时有些网站是需要根据Cookie来进行校验身份或状态的,这时只需发送服务端需要的值即可。

# 发送Cookie,键值方式
curl -b "name=xxx" "http://example.com/index"

# 发送Cookie,读取cookie文件方式
curl -b cookie.txt "http://example.com/index"

下载文件

同样curl也支持下载文件,可根据-o-O参数来进行文件的下载,前提是URL对应的一个文件资源。

# 类似第一个例子,把文件数据输出到指定文件中
curl -o "test.jpg" "http://example.com/test.jpg"

# 使用-O参数就不用指定文件名,默认是URL里的资源名称 
curl -O "http://example.com/test.jpg"

# 批量下载
curl -O "http://example.com/test[1-10].jpg"

有了这些功能,就不用每次解析或调试页面都在代码里debug了。直接用这个工具在命令行中测试即可,基本上能模仿浏览器90%或更多。更详细的命令可参考这里

 http://kaito-kidd.com/2015/04/11/spider-curl-tool/

Saturday, April 9, 2022

燃料电池原理

 

燃料电池是一种直接将燃料的化学能转化为电能的装置。从理论上来讲,只要连续供给燃料,燃料电池便能连续发电,已被誉为是继水力、火力、核电之后的第四代发电技术。那么,为什么要研究燃料电池?燃料电池的工作原理是什么?燃料电池的主要类型有哪些?当前我国燃料电池的现状及未来研发方向是什么?下面就由小编带领大家走进燃料电池的世界。


1.为什么要研究燃料电池


氢燃料电池具有燃料能量转化率高、噪音低以及零排放等优点,可广泛应用于汽车、飞机、列车等交通工具以及固定电站等方面。从燃料电池在载人航天、水下潜艇、分布式电站获得应用以来,燃料电池一直受到各国政府和企业的关注,在未来煤电占比相对较低的情况下,由于风能、太阳能等可再生能源技术规模的增大,整个上游的电源结构会越来越清洁。与目前许多发电厂和乘用车使用的传统燃烧技术相比,燃料电池有几个优点:


第一,发电效率高达50%~60%,假如能够结合形成循环发电系统,其发电效率可以高达70%以上;


第二,相比于传统的火力发电,燃料电池对环境的污染程度更低;


第三,燃料电池因为内部构件少,在运行过程中不会产生较大的噪声,一般噪声为50dB~70dB。


2.工作原理及系统组成


2.1工作原理


燃料电池发电原理与原电池或二次电池相似,电解质隔膜两侧分别发生氢氧化反应与氧还原反应,电子通过外电路作功,反应产物为水(图 1)。但与原电池不同的是,燃料电池中的反应物并非预先存储于电池内部,而是在发生反应时通入燃料气和氧化气反应后并排出生成物,因此,燃料电池并非能量存储装置而属于转化装置,在反应过程中其电极和电解质并未直接参与到反应中。

图1 燃料电池工作原理


2.2系统组成


燃料电池发电需要有一相对复杂的系统(图2),除了燃料电池电堆外,还包括燃料供应子系统、氧化剂供应子系统、水热管理子系统及电管理与控制子系统等,其主要系统部件包括空压机、增湿器、氢气循环泵、高压氢瓶等,这些子系统与燃料电池电堆(或模块)组成了燃料电池发电系统。燃料电池系统的复杂性给运行的可靠性带来了挑战。

图2 燃料电池系统组成


燃料电池堆


燃料电池堆是燃料电池动力系统的核心。它通过燃料电池中的电化学反应产生直流电(DC)。单个燃料电池产生的电流小于1v,因此,单个的燃料电池通常被串联成一个燃料电池堆,一个典型的燃料电池堆可能由数百个燃料电池组成。燃料电池产生的能量取决于几个因素,如燃料电池类型、电池尺寸、工作温度和供应给电池的气体压力。


燃料处理器


燃料处理器将燃料转换成燃料电池可用的形式。根据燃料和燃料电池类型的不同,燃料处理器可以是一个简单的去除杂质的吸附剂床,或多个反应堆和吸附剂的组合。


功率调节器


功率调节包括控制电流(安培数)、电压、频率等电流特性,以满足应用的需要。燃料电池以直流电(DC)的形式发电。在直流电路上,电子只向一个方向流动。如果燃料电池被用来为使用交流电的设备供电,则必须将直流电转换为交流电。


空气压缩机


燃料电池性能随着反应物气体压力的增加而提高;因此,许多燃料电池系统都包括一个空气压缩机,它可以将进口空气压力提高到环境大气压力的2~4倍。对于运输应用,空压机的效率应至少达到75%。在某些情况下,还包括一个膨胀器,以从高压废气中恢复电力。扩展机效率应至少达到80%。


增湿器


PEM燃料电池的核心聚合物电解质膜在干燥时不能很好地工作,因此许多燃料电池系统都为进气口安装了加湿器。加湿器通常由一层薄膜组成,该薄膜可以由与PEM相同的材料制成。通过在加湿器的一侧流动干燥的进口空气和在另一侧流动潮湿的排气空气,燃料电池产生的水可以被循环利用,以保持PEM良好的水化。


2.3 关键材料与部件


聚合物电解质膜(PEM)燃料电池是当前燃料电池汽车应用研究的热点。PEM燃料电池由几层不同的材料制成。PEM燃料电池的主要部件如图3所示。PEM燃料电池的核心是膜电极组件(MEA),包括膜、催化剂层和气体扩散层(GDLs)。硬件组件用于一个意味着合并到燃料电池包括垫片,它提供一个密封是防止泄漏的气体,和双相钢板,用于组装个人PEM燃料电池与燃料电池堆栈和提供气体燃料和空气的通道。

图3 关键材料与部件


催化剂(catalyst)是燃料电池的关键材料之一,其作用是降低反应的活化能,促进氢、氧在电极上的氧化还原过程、提高反应速率。由于氧还原反应(ORR)交换电流密度低,是燃料电池总反应的控制步骤。目前,燃料电池中常用的商用催化剂是Pt/C,由Pt的纳米颗粒分散到碳粉(如XC-72)载体上的担载型催化剂。


质子交换膜是一种聚合物电解质膜,在燃料电池中起着传导质子、隔离阴极和阳极反应物的重要作用,在制备CCM型膜电极时也被作为催化剂支撑体,是燃料电池的核心器件,也是决定燃料电池性能、寿命及成本的关键部件。在实际应用中,要求质子交换膜具有高的质子传导率和良好的化学与机械稳定性。


膜电极组件(membrane electrode assembly MEA)是集膜、催化层、扩散层于一体的组合件,也是燃料电池的核心部件之一。目前,国际上已经发展了3代MEA技术路线(图4)。其中第一代、第二代技术已基本成熟,国内新源动力、武汉新能源等公司均可以提供膜电极产品。第三代有序化膜电极技术国内外还处于研究阶段。

图4 MEA制备技术路线


燃料电池双极板的作用是传导电子、分配反应气并协助排出生成水,从功能上要求双极板材料是电与热的良导体、具有一定的强度以及气体致密性等;从性能的稳定性方面要求双极板在燃料电池酸性(pH=2~3)、电位(~1.1 V)、湿热(气水两相流,~80℃)环境下具有耐腐蚀性且对燃料电池其他部件与材料的相容无污染性,具有一定的憎水性协助电池生成水的排出;从产品化方面要求双极板材料要易于加工、成本低廉。燃料电池常采用的双极板材料包括硬碳板、复合双极板、金属双极板3大类。


燃料电池电堆(Fuel Cell Stack)是燃料电池发电系统的核心。通常为了满足一定的功率及电压要求,电堆通常由数百节单电池串联而成,而反应气、生成水、冷剂等流体通常是并联或按特殊设计的方式(如串并联)流过每节单电池。燃料电池电堆的均一性是制约燃料电池电堆性能的重要因素。


3.燃料电池的主要类型


通常情况下,燃料电池可以分为磷酸燃料电池、固体氧化物燃料电池、碱性燃料电池、质子交换膜燃料电池、溶酶碳酸盐燃料电池等,如表1所示。近年来,随着对燃料电池研究的日益深入,逐渐诞生了直接碳燃料电池、微生物燃料电池、直接甲醇燃料电池、葡萄糖/O2酶燃料电池等等。在上述种类中,最早被开发的燃料电池为磷酸燃料电池和碱性燃料电池,也被称为第一代燃料电池,发展至今已经拥有较为成熟的技术。而第二代燃料电池为熔融碳酸盐燃料电池,第三代燃料电池为固体氧化物燃料电池。

表1 燃料电池分类


4.当前现状及未来研发方向


我国在整车、系统和电堆方面均已有所布局,但零部件方面的相关企业仍较少,特别是最基本的关键材料和部件,如质子交换膜、碳纸、催化剂、空压机、氢气循环泵等;国内虽有相关企业开始介入,但与国际先进产品相比,可靠性和耐久性仍存在较大差距,大部分关键零部件及关键材料仍依赖进口。


燃料电池汽车虽然发展迅速,但从商业化要求角度,中国车用燃料电池技术上仍然存在一定差距,未来需加强对以下几个方面的布局:


1)提高燃料电池电堆性能与比功率。目前,国内燃料电池车电堆的功率级别还普遍偏低。国内车用燃料电池堆主要以30~50 kW为主,与国际上乘用车的燃料电池功率级别100 kW左右相差甚远。


2)提高燃料电池的耐久性。提高燃料电池堆及系统的耐久性,是燃料电池商业化的前提。目前,提高系统控制策略是提高燃料电池车耐久性的有效途径之一。


3)降低燃料电池的成本。建议要发展低成本的材料与部件,例如低Pt催化剂与膜电极、低成本的双极板和系统部件,并实现量产,以降低电堆与系统成本。


4)加强关键材料与核心部件批量生产技术。这严重制约了我国氢能燃料电池产业的自主可控发展,加强上述关键材料核心部件的技术转化,加快形成具有完全自主知识产权的批量制备技术和建立产品生产线,全面实现关键材料核心部件的国产化与批量生产。

weixin.qq.com/r/yS_3r3LEXy8grTbM93rb<br> (二维码自动识别)

Friday, April 8, 2022

Joplin 笔记云同步方案之坚果云

 

本篇教程将带大家

使用坚果云的WebDAV,实现 Joplin 笔记的多端同步
Joplin 的安装以及主题配置教程,可以参考我的《Joplin 保姆级安装&主题配置教程》

坚果云介绍

坚果云是一个专业的云盘,与百度云和腾讯云功能不同的是,百度云和腾讯云仅限于上传、存储、分享和下载,而坚果云更像 Dropbox,支持 WebDAV、增量同步和历史版本等功能。坚果云免费版虽不如 Dropbox,但也还算厚道:上传流量1G/月,下载流量3G/月,支持1个月的历史版本,用来使用 KeePass、云笔记等足矣。

一、配置坚果云

进入坚果云官网,并注册一个账号
进入后台,我们先创建一个名为Joplin的同步文件夹。

然后在账户 --> 安全选项页面中,配置可以通过 WebDAV 文件传输的应用授权

此时可以访问坚果云的应用(也就是我们的 Joplin)添加完成,复制一下生成的密码。
下一步在 Joplin 中配置同步时,需要用到这个授权密码。

二、配置 Joplin 同步

通过 Ctrl+逗号 打开 Joplin 的工具 --> 选项设置后台,打开同步
同步目标的下拉框中选择 WebDAV,有点小激动,马上就好了~!

填入以下主要信息:

  1. WebDAV URL: https://dav.jianguoyun.com/dav/JoplinJoplin 也就是我们创建的同步文件夹,以后这个名字最好不要改动!
    隐藏内容,评论后阅读
    评论后,请刷新页面
  2. 最大并发链接数:由于坚果云的限制,只能设置为 1不然会遇到会因为 WebDAV 短时间内的大量请求被坚果云临时限制,坚果云提示为“Too many requests”,这个封锁会持续大约6小时。

“检查同步配置”可以测试 WebDAV 是否能连接成功,如果没问题,回到 Joplin 首页点击左下角的“同步”按钮开始同步。

待同步完成,再继续配置第二台设备同步,以此类推。
手机端和电脑端的配置基本一样,WebDAV 的 URL、用户名和密码也完全一样。

三、总结&同步前的提示

通过坚果云提供的 WebDAV 服务,可以方便的实现 Joplin 的笔记同步
因此,理论上,只要你有支持 WebDAV 的存储服务,例如群晖的NAS,都可以通过上面的方式配置同步了。

在同步之前,请将你的笔记备份(导出为 JEX),因为同步操作失误容易丢失笔记!。备份之后,还有一些需要你在同步之前决定和处理的事情。

1.如果你的笔记含有重要信息、或是对坚果云怀有戒备之心,那么你可以在 Joplin 中开启 E2EE(端到端加密)以消除后顾之忧。
2.每次只能在一台设备开启同步,待第一台设备同步完成后,再同步第二台设备,以此类推。

Wednesday, April 6, 2022

How To Edit Your Context Menu-firefox-怎样编辑firefox的右键菜单

 

A few words before you start.

  • If you break something you can always delete everything in the userChrome.css or the file itself and everything will be back to normal.
  • It is possible that a regular Firefox update will break your CSS. It's your responsibility to remember that you have made changes to the browser and that you yourself will have to fix it. Don't make bug reports because your CSS broke. That's on you.

Step by step guide on how to edit the context menu of Firefox 57+

First, get the CSS selectors of the elements you want to edit.

Here is a chart and list of most CSS selectors (see edit for more selectors) of the context menu:

right click menu

right click on selected link

List for copy/paste

If an element is missing from the list or you want to know how to get the selectors by hand:

  1. Enable Browser Toolbox if you haven't done so already. How to enable: setting-more tools-web developer tools-setting-enable addon debug-enable remote.
  2. For debugging popups, click the icon that looks like 4 squares or 4 points on the top right. This will make the context menu stay visible. "Disable popup auto hide".
  3. Switch to the browser window, right click somewhere to make the context menu show up.
  4. Switch back to the Browser Toolbox, click the icon on the top left that looks like a pointer over a rectangle. This will show you the CSS for the element you point at.
  5. Now move your pointer to the context menu item whose ID you want to find out. It should get highlighted with a red border. Click the highlighted item. you will see the menuitem id.
  6. Switch back to the Browser Toolbox. The left hand pane should have a selected entry. You can right click > copy > CSS Selector to get the right selector.

You can use this way to get the CSS selector for every element of the browser you want to style or hide.


To remove entries from the context menu you need to

  1. Create userchrome.css if you haven't already
  2. Open the userchrome.css for your current profile with a text editor.
  3. Write an entry with your CSS selectors (separated by commas) and hide them.

Like so

#context-navigation, #context-sep-navigation { 
    display: none !important 
}

To change the position of a context menu entry you have to:

Give the item you want on the very top a -moz-box-ordinal-group: 0, without doing anything for any other item.

This example will put the search of selected text on top of the context menu.

#context-searchselect {
    -moz-box-ordinal-group: 0 !important;
} 

If you want to move an item to the very bottom, use -moz-box-ordinal-group: 2 (or any number >1), again, without doing anything for any other item.

If you want to move multiple items to the very bottom, then give only these items increasing -moz-box-ordinal-group e.g. 2, 3, 20 and so on. The highest number will be at the bottom. If you give all of these the same number, then while they will stick together at the bottom, they might rearrange amongst themselves depending on when and how they are being added / removed.

You could give each menu entry a distinct ordinal number to exactly put them where you want them but I found I only really needed to move my context search to the top of the menu for maximum convenience.


Thanks and credit to u/BatDogOnBatMobile for his comment here that inspired this post


Edit:

Template of a userChrome.css file (with even more selectors!) to remove context menu entries. Modify how you see fit:

userChrome.css (Click!)


Thanks to /u/NicholasSteele for creating and sending me this file!

采用该法找到menuitem对应的代码行,右键单击目标则可出现menuitem id,然后在simplemenuwizard修改即可,

https://old.reddit.com/r/firefox/comments/7dvtw0/guide_how_to_edit_your_context_menu/

Saturday, April 2, 2022

更改打开邮件链接所用的程序

 

设置火狐的邮件客户端

  1. 点击菜单按钮 Fx89menuButton 并选择 设置

  2. 常规 面板,找到 应用 部分。
  3. 搜索文本 mailto 然后选中它。
  4. 单击 mailto 所在行的“动作”列,修改其动作。
    • 总是询问会在您每一次使用邮件功能提示要选择使用哪个程序或服务。
    • 使用 <Program> (默认) 将自动执行您操作系统自带的电子邮件程序(例如 Thunderbird, Windows Live Mail, Outlook)的邮件撰写窗口。要了解然后更改操作系统的默认邮件应用,请参看本文 下一节
    • 使用 <Webmail>(默认) 会自动打开系统默认的邮件应用(如Thunderbird、 Outlook、 Windows Live Mail等)的邮件撰写页面。关于如何更改系统默认的邮件应用,请参阅本文的下一部分
    • 使用其他... 可以让您指定要让 Firefox 启动的一个外部程序。
    • 应用程序详细信息... 可以让您查看 Firefox 可用的网络邮件服务的信息并允许您移除它们。
  5. 关闭“about:preferences”标签页。您做的所有更改都会自动保存。

Friday, April 1, 2022

文献中的位点是什么意思,还有8a、16d这些表示什么

 维科夫位置,其中前面的数字为该位置在整个晶胞的等效点个数,后面的字母则是从具有最高对称性的位置a开始一种排序,如你这里的8a的话,是说该位置有8个等效点,且是该空间群的具有最高对称性的位置。

http://muchong.com/t-3159780-1